IBM Granite embedding 278m multilingual model card
Scheda modello Granite Embedding 278m multilingue
Ultimo aggiornamento: 16 gen 2025
Scheda modello Granite Embedding 278m multilingue
Il modello granite-embedding-278m-multilingual è un modello 278M parametri della suite Granite Embeddings che può essere usato per generare incorporazioni di testo di alta qualità. Questo modello produce vettori di incorporamento di dimensione 768 ed è stato addestrato utilizzando una combinazione di dataset di coppie di rilevanza open source con licenza permissiva e di tipo enterprise-friendly e dataset raccolti e generati IBM. Questo modello è stato sviluppato utilizzando la messa a punto contrastiva, la distillazione della conoscenza e la fusione dei modelli per migliorare le prestazioni.
Inglese, tedesco, spagnolo, francese, giapponese, portoghese, arabo, ceco, italiano, coreano, olandese e cinese. Gli utenti possono regolare Granite-Embedding-278M-Multilingual per lingue diverse da queste 12 lingue.
Uso previsto
Copy link to section
Il modello è progettato per produrre rappresentazioni vettoriali a lunghezza fissa per un dato testo, che possono essere utilizzate per applicazioni di similarità testuale, recupero e ricerca.
Uso con i trasformatori di frasi
Copy link to section
Il modello è compatibile con la libreria SentenceTransformer ed è molto facile da usare.
Per prima cosa, installare la libreria dei trasformatori di frasi.
pip install sentence_transformers
Il modello può quindi essere utilizzato per codificare coppie di testi e trovare la somiglianza tra le loro rappresentazioni.
from sentence_transformers import SentenceTransformer, util
model_path = "ibm-granite/granite-embedding-278m-multilingual"# Load the Sentence Transformer model
model = SentenceTransformer(model_path)
input_queries = [
' Who made the song My achy breaky heart? ',
'summit define'
]
input_passages = [
"Achy Breaky Heart is a country song written by Don Von Tress. Originally titled Don't Tell My Heart and performed by The Marcy Brothers in 1991. ",
"Definition of summit for English Language Learners. : 1 the highest point of a mountain : the top of a mountain. : 2 the highest level. : 3 a meeting or series of meetings between the leaders of two or more governments."
]
# encode queries and passages
query_embeddings = model.encode(input_queries)
passage_embeddings = model.encode(input_passages)
# calculate cosine similarityprint(util.cos_sim(query_embeddings, passage_embeddings))
Show more
Utilizzo con i trasformatori Huggingface
Copy link to section
Questo è un semplice esempio di utilizzo del modello granite-embedding-278m-multilingual con la libreria Transformers e PyTorch.
Per prima cosa, installare le librerie necessarie.
pip install transformers torch
Il modello può quindi essere utilizzato per codificare coppie di testi.
import torch
from transformers import AutoModel, AutoTokenizer
model_path = "ibm-granite/granite-embedding-278m-multilingual"# Load the model and tokenizer
model = AutoModel.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path)
model.eval()
input_queries = [
' Who made the song My achy breaky heart? ',
'summit define'
]
# tokenize inputs
tokenized_queries = tokenizer(input_queries, padding=True, truncation=True, return_tensors='pt')
# encode querieswith torch.no_grad():
# Queries
model_output = model(**tokenized_queries)
# Perform pooling. granite-embedding-278m-multilingual uses CLS Pooling
query_embeddings = model_output[0][:, 0]
# normalize the embeddings
query_embeddings = torch.nn.functional.normalize(query_embeddings, dim=1)
Show more
Valutazione
Copy link to section
Le prestazioni medie di Granite-Embedding-278M-Multilingual su Multilingual Miracl (in 18 lingue), Mintaka Retrieval (in 8 lingue) e MTEB Retrieval per l'inglese (in 15 compiti), il tedesco (in 4 compiti), lo spagnolo (in 2 compiti), il francese (in 5 compiti), il giapponese (in 2 compiti), l'arabo (in 1 compito), il coreano (in 1 compito) e il cinese (in 8 compiti) sono riportate di seguito.
Tabella 1. Punteggi di benchmark per il modello granite-embedding-278m-multilingual
Modello
Parametri (M)
Dimensione di incorporazione
Miracl (18)
Recupero di Mintaka (8)
MTEB Inglese (15)
MTEB Tedesco (4)
MTEB Spagnolo (2)
MTEB Francese (5)
MTEB Giapponese (2)
MTEB Arabo (1)
MTEB Coreano (1)
MTEB Cinese (8)
granite-embedding-278M-multilingual
278
768
58.3
23.2
48.2
71.2
52.6
54.1
61.7
64.2
71.8
45.2
Modello di architettura
Copy link to section
Il modello granite-embedding-278m-multilingual si basa su un'architettura di trasformatori XLM-RoBERTa di sola codifica, addestrata internamente all' IBM Research.
Tabella 2. Dettagli dell'architettura del modello di incorporazione del Granite
Modello
granite-embedding-30m-english
granite-embedding-125m-english
granite-embedding-107M-multilingual
granite-embedding-278m-multilingual
Dimensione dell'incorporazione
384
768
384
768
Numero di livelli
6
12
6
12
Numero di teste di attenzione
12
12
12
12
Dimensione intermedia
1536
3072
1536
3072
Funzione di attivazione
GeLU
GeLU
GeLU
GeLU
Dimensione del vocabolario
50265
50265
250002
250002
Max. Lunghezza della sequenza
512
512
512
512
Numero di parametri
30M
125M
107M
278M
Dati di formazione
Copy link to section
In generale, i dati di addestramento sono costituiti da quattro fonti chiave: (1) dati accoppiati titolo-corpo non supervisionati, raccolti dal web, (2) dati accoppiati disponibili pubblicamente con licenza permissiva e di tipo enterprise, (3) dati accoppiati IBM e relativi a domini tecnici specifici e (4) dati sintetici IBM. I dati sono elencati di seguito:
Tabella 3. Dati di addestramento per il modello granite-embedding-278m-multilingual
Dataset
Num. Coppie
Multilingua MC4
52,823,484
Webhose multilingue
12,369,322
Wikipedia inglese
20,745,403
Wikimedia multilingue
2,911,090
Corpus Miracl (Titolo-Corpo)
10,120,398
Stack Exchange Domande duplicate (titoli)
304,525
Stack Exchange Domande duplicate (titoli)
304,525
Stack Exchange Domande duplicate (corpi)
250,519
Traduzioni automatiche delle domande duplicate di Stack Exchange (titoli)
187,195
Scambio di coppie (Titolo, Risposta)
4,067,139
Coppie di scambio (titolo, corpo)
23,978,013
Coppie di scambio (titolo, corpo)
23,978,013
Traduzioni automatiche di coppie di Stack Exchange (Titolo+Corpo, Risposta)
1,827,15
SearchQA
582,261
S2ORC (Titolo, abstract)
41,769,185
WikiAnswers Coppie di domande duplicate
77,427,422
CCNews
614,664
XSum
226,711
SimpleWiki
102,225
Corpora paralleli interlinguistici a traduzione automatica
28,376,115
Tripletta di citazioni SPECTER
684,100
Traduzioni automatiche di terzine di citazioni SPECTER
4,104,600
Domande naturali (NQ)
100,231
SQuAD2.0
87,599
HotpotQA
85,000
Febbre
109,810
PubMed
20,000,000
Tripli Miracl multilingue
81,409
Trio MrTydi multilingue
48,715
Domanda di Sadeeem Asnwering
4,037
Coppie titolo-corpo DBPedia
4,635,922
Sintetico: Quesito inglese-Passaggio su Wikipedia
1,879,093
Sintetico: Verifica dei fatti in inglese
9,888
Sintetico: Passaggio Query-Wikipedia multilingue
300,266
Sintetico: Riassunti di notizie multilingue
37,489
Triplicazione interna IBM
40,290
Coppie titolo-corpo interne IBM
1,524,586
In particolare, nel nostro corpus di addestramento non utilizziamo il popolare dataset MS-MARCO a causa della sua licenza non commerciale, mentre altri modelli open-source si addestrano su questo dataset a causa della sua alta qualità.
infrastruttura
Copy link to section
Addestriamo i modelli di Granite Embedding utilizzando il cluster di calcolo di IBM, Cognitive Compute Cluster, dotato di GPU NVIDIA A100 80gb. Questo cluster fornisce un'infrastruttura scalabile ed efficiente per l'addestramento dei nostri modelli su più GPU.
Considerazioni etiche e limitazioni
Copy link to section
I dati in inglese utilizzati per addestrare il modello linguistico di base sono stati filtrati per rimuovere i testi contenenti odio, abusi e bestemmie.