Nei modelli multilingue, una delle sfide principali è il "language gap" — un fenomeno in cui frasi con lo stesso significato in lingue diverse non sono allineate o raggruppate così strettamente come dovrebbero essere. Idealmente, un testo in una lingua e il suo equivalente in un'altra dovrebbero avere rappresentazioni simili — ovvero embedding molto vicini tra loro — permettendo alle applicazioni multilingue di operare in modo identico su testi in lingue diverse. Tuttavia, i modelli spesso rappresentano sottilmente la lingua di un testo, creando un "language gap" che porta a prestazioni subottimali tra le lingue.
In questo post, esploreremo questo language gap e come influenza le prestazioni nei modelli di text embedding. Abbiamo condotto esperimenti per valutare l'allineamento semantico per parafrasi nella stessa lingua e per traduzioni tra diverse coppie di lingue, utilizzando il nostro modello jina-xlm-roberta e il più recente jina-embeddings-v3. Questi esperimenti rivelano quanto bene le frasi con significati simili o identici si raggruppano insieme in diverse condizioni di training.
Abbiamo anche sperimentato tecniche di training per migliorare l'allineamento semantico tra le lingue, in particolare l'introduzione di dati multilingue paralleli durante l'apprendimento contrastivo. In questo articolo, condivideremo le nostre intuizioni e risultati.
tagIl Training dei Modelli Multilingue Crea e Riduce il Language Gap
Il training dei modelli di text embedding tipicamente coinvolge un processo multi-fase con due parti principali:
- Masked Language Modeling (MLM): Il pre-training tipicamente coinvolge grandi quantità di testo in cui alcuni token sono mascherati casualmente. Il modello viene addestrato a predire questi token mascherati. Questa procedura insegna al modello i pattern della lingua o delle lingue nei dati di training, incluse le dipendenze di selezione tra token che potrebbero derivare dalla sintassi, dalla semantica lessicale e dai vincoli pragmatici del mondo reale.
- Contrastive Learning: Dopo il pre-training, il modello viene ulteriormente addestrato con dati curati o semi-curati per avvicinare gli embedding di testi semanticamente simili e (opzionalmente) allontanare quelli dissimili. Questo training può utilizzare coppie, triplette o anche gruppi di testi la cui similarità semantica è già nota o almeno stimata in modo affidabile. Può avere diverse sottofasi e ci sono varie strategie di training per questa parte del processo, con nuove ricerche pubblicate frequentemente e nessun chiaro consenso sull'approccio ottimale.
Per capire come si crea il language gap e come può essere chiuso, dobbiamo esaminare il ruolo di entrambe le fasi.
tagMasked Language Pretraining
Parte della capacità multilingue dei modelli di text embedding viene acquisita durante il pre-training.
Le parole cognate e i prestiti linguistici rendono possibile per il modello apprendere un certo allineamento semantico tra le lingue da grandi quantità di dati testuali. Per esempio, la parola inglese banana e la parola francese banane (e il tedesco Banane) sono frequenti e abbastanza simili nell'ortografia da permettere a un modello di embedding di apprendere che le parole che assomigliano a "banan-" hanno pattern distributivi simili tra le lingue. Può sfruttare questa informazione per apprendere, in una certa misura, che anche altre parole che non si assomigliano tra le lingue hanno significati simili, e persino capire come vengono tradotte alcune strutture grammaticali.
Tuttavia, questo accade senza un training esplicito.
Abbiamo testato il modello jina-xlm-roberta, la base pre-addestrata di jina-embeddings-v3, per vedere quanto bene ha appreso le equivalenze tra lingue dal pre-training con masked language. Abbiamo tracciato le rappresentazioni bidimensionali UMAP delle frasi di un insieme di frasi inglesi tradotte in tedesco, olandese, cinese semplificato e giapponese. I risultati sono nella figura seguente:

Queste frasi tendono fortemente a formare cluster specifici per lingua nello spazio di embedding di
jina-xlm-roberta, sebbene si possano vedere alcuni outlier in questa proiezione che potrebbero essere un effetto collaterale della proiezione bidimensionale.Si può vedere che il pre-training ha raggruppato molto fortemente gli embedding delle frasi nella stessa lingua. Questa è una proiezione in due dimensioni di una distribuzione in uno spazio di dimensioni molto più elevate, quindi è ancora possibile che, per esempio, una frase tedesca che è una buona traduzione di una inglese possa ancora essere la frase tedesca il cui embedding è più vicino all'embedding della sua fonte inglese. Ma mostra che un embedding di una frase inglese è probabilmente più vicino a un'altra frase inglese che a una semanticamente identica o quasi identica in tedesco.
Nota anche come il tedesco e l'olandese formino cluster molto più vicini rispetto ad altre coppie di lingue. Questo non è sorprendente per due lingue relativamente strettamente imparentate. Il tedesco e l'olandese sono abbastanza simili da essere talvolta parzialmente comprensibili reciprocamente.
Anche il giapponese e il cinese sembrano più vicini tra loro rispetto alle altre lingue. Sebbene non siano imparentati nello stesso modo, il giapponese scritto tipicamente usa i kanji (漢字), o hànzì in cinese. Il giapponese condivide la maggior parte di questi caratteri scritti con il cinese, e le due lingue condividono molte parole scritte con uno o più kanji/hànzì insieme. Dal punto di vista del MLM, questo è lo stesso tipo di similarità visibile che c'è tra olandese e tedesco.
Possiamo vedere questo "language gap" in modo più semplice guardando solo due lingue con due frasi ciascuna:

Poiché MLM sembra naturalmente raggruppare i testi per lingua, "my dog is blue" e "my cat is red" sono raggruppati insieme, lontani dai loro equivalenti tedeschi. A differenza del "modality gap" discusso in un post precedente, crediamo che questo derivi da similarità e dissimilarità superficiali tra le lingue: ortografie simili, uso delle stesse sequenze di caratteri nella scrittura e possibilmente similarità nella morfologia e nella struttura sintattica — ordini delle parole comuni e modi comuni di costruire le parole.
In breve, in qualunque misura un modello stia apprendendo equivalenze tra lingue nel pre-training MLM, non è sufficiente per superare una forte tendenza a raggruppare i testi per lingua. Lascia un ampio language gap.
tagContrastive Learning
Idealmente, vogliamo che un modello di embedding sia indifferente alla lingua e codifichi solo significati generali nei suoi embedding. In un modello del genere, non vedremmo raggruppamenti per lingua e non avremmo language gap. Le frasi in una lingua dovrebbero essere molto vicine a buone traduzioni e lontane da altre frasi che significano qualcosa di diverso, anche nella stessa lingua, come nella figura seguente:

Il pre-training MLM non raggiunge questo obiettivo, quindi utilizziamo tecniche aggiuntive di contrastive learning per migliorare la rappresentazione semantica dei testi negli embedding.
Il contrastive learning implica l'uso di coppie di testi che si sa essere simili o diversi nel significato, e triplette dove si sa che una coppia è più simile dell'altra. I pesi vengono aggiustati durante il training per riflettere questa relazione nota tra coppie e triplette di testi.
Ci sono 30 lingue rappresentate nel nostro dataset di contrastive learning, ma il 97% delle coppie e triplette sono in una sola lingua, con solo il 3% che coinvolge coppie o triplette tra lingue diverse. Ma questo 3% è sufficiente a produrre un risultato drammatico: Gli embedding mostrano pochissimo raggruppamento per lingua e i testi semanticamente simili producono embedding vicini indipendentemente dalla loro lingua, come mostrato nella proiezione UMAP degli embedding da jina-embeddings-v3.

Per confermare questo, abbiamo misurato la Correlazione di Spearman delle rappresentazioni generate da jina-xlm-roberta e jina-embeddings-v3 sul dataset STS17.
La tabella seguente mostra la Correlazione di Spearman tra le classifiche di similarità semantica per i testi tradotti in diverse lingue. Prendiamo un insieme di frasi in inglese e poi misuriamo la loro similarità di embedding rispetto all'embedding di una specifica frase di riferimento e le ordiniamo dalla più simile alla meno simile. Poi traduciamo tutte queste frasi in un'altra lingua e ripetiamo il processo di classificazione. In un modello di embedding multilingue ideale, le due liste ordinate sarebbero identiche, e la Correlazione di Spearman sarebbe 1.0.
Il grafico e la tabella seguenti mostrano i nostri risultati confrontando l'inglese con le altre sei lingue nel benchmark STS17, utilizzando sia jina-xlm-roberta che jina-embeddings-v3.

| Task | jina-xlm-roberta |
jina-embeddings-v3 |
|---|---|---|
| English ↔ Arabic | 0.1581 | 0.7977 |
| English ↔ German | 0.2136 | 0.8366 |
| English ↔ Spanish | 0.1049 | 0.8509 |
| English ↔ French | 0.1659 | 0.8378 |
| English ↔ Italian | 0.2293 | 0.8674 |
| English ↔ Dutch | 0.2387 | 0.8398 |
Qui si può vedere l'enorme differenza che fa l'apprendimento contrastivo rispetto al pre-training originale. Nonostante abbia solo il 3% di dati multilingue nel suo mix di training, il modello jina-embeddings-v3 ha imparato abbastanza semantica multilingue da eliminare quasi completamente il divario linguistico acquisito durante il pre-training.
tagInglese vs. Il Mondo: Le Altre Lingue Possono Tenere il Passo nell'Allineamento?
Abbiamo addestrato jina-embeddings-v3 su 89 lingue, con particolare attenzione a 30 lingue scritte molto utilizzate. Nonostante i nostri sforzi per costruire un corpus di training multilingue su larga scala, l'inglese rappresenta ancora quasi la metà dei dati che abbiamo utilizzato nell'addestramento contrastivo. Altre lingue, incluse lingue globali ampiamente utilizzate per le quali è disponibile abbondante materiale testuale, sono ancora relativamente sottorappresentate rispetto all'enorme quantità di dati in inglese nel set di training.
Data questa predominanza dell'inglese, le rappresentazioni in inglese sono più allineate rispetto a quelle di altre lingue? Per esplorare questo, abbiamo condotto un esperimento di follow-up.
Abbiamo costruito un dataset, parallel-sentences, composto da 1.000 coppie di testi in inglese, un "ancora" e un "positivo", dove il testo positivo è logicamente implicato dal testo ancora.

Per esempio, la prima riga della tabella seguente. Queste frasi non sono identiche nel significato, ma hanno significati compatibili. Descrivono informativamente la stessa situazione.
Abbiamo poi tradotto queste coppie in cinque lingue usando GPT-4: tedesco, olandese, cinese (semplificato), cinese (tradizionale) e giapponese. Infine, le abbiamo ispezionate manualmente per garantire la qualità.
| Language | Anchor | Positive |
|---|---|---|
| English | Two young girls are playing outside in a non-urban environment. | Two girls are playing outside. |
| German | Zwei junge Mädchen spielen draußen in einer nicht urbanen Umgebung. | Zwei Mädchen spielen draußen. |
| Dutch | Twee jonge meisjes spelen buiten in een niet-stedelijke omgeving. | Twee meisjes spelen buiten. |
| Chinese (Simplified) | 两个年轻女孩在非城市环境中玩耍。 | 两个女孩在外面玩。 |
| Chinese (Traditional) | 兩個年輕女孩在非城市環境中玩耍。 | 兩個女孩在外面玩。 |
| Japanese | 2人の若い女の子が都市環境ではない場所で遊んでいます。 | 二人の少女が外で遊んでいます。 |
Abbiamo poi codificato ogni coppia di testi con jina-embeddings-v3 e calcolato la similarità del coseno tra loro. La figura e la tabella seguenti mostrano la distribuzione dei punteggi di similarità del coseno per ogni lingua e la similarità media:

| Language | Average Cosine Similarity |
|---|---|
| English | 0.9078 |
| German | 0.8949 |
| Dutch | 0.8844 |
| Chinese (Simplified) | 0.8876 |
| Chinese (Traditional) | 0.8933 |
| Japanese | 0.8895 |
Nonostante la predominanza dell'inglese nei dati di training, jina-embeddings-v3 riconosce la similarità semantica in tedesco, olandese, giapponese e in entrambe le forme di cinese quasi altrettanto bene quanto in inglese.
tagAbbattere le Barriere Linguistiche: Allineamento Multilingue Oltre l'Inglese
Gli studi sull'allineamento delle rappresentazioni tra lingue tipicamente esaminano coppie linguistiche che includono l'inglese. Questo focus potrebbe, in teoria, nascondere ciò che sta realmente accadendo. Un modello potrebbe semplicemente ottimizzare per rappresentare tutto il più vicino possibile al suo equivalente inglese, senza esaminare se altre coppie di lingue sono supportate correttamente.
Per esplorare questo aspetto, abbiamo condotto alcuni esperimenti utilizzando il dataset parallel-sentences, concentrandoci sull'allineamento tra lingue oltre alle sole coppie bilingue con l'inglese.
La tabella seguente mostra la distribuzione delle similarità del coseno tra testi equivalenti in diverse coppie di lingue — testi che sono traduzioni di una fonte comune in inglese. Idealmente, tutte le coppie dovrebbero avere un coseno di 1 — cioè embedding semantici identici. In pratica, questo non potrebbe mai accadere, ma ci aspetteremmo che un buon modello abbia valori del coseno molto alti per le coppie di traduzioni.

| Language Pair | Average Cosine Similarity |
|---|---|
| German ↔ Dutch | 0.8779 |
| German ↔ Japanese | 0.8664 |
| Chinese (Simplified) ↔ Japanese | 0.8534 |
| Dutch ↔ Chinese (Simplified) | 0.8479 |
| Chinese (Simplified) ↔ Chinese (Traditional) | 0.8758 |
Sebbene i punteggi di similarità tra lingue diverse siano leggermente inferiori rispetto ai testi compatibili nella stessa lingua, sono comunque molto alti. La similarità del coseno delle traduzioni olandese/tedesco è quasi alta quanto quella tra testi compatibili in tedesco.
Questo potrebbe non sorprendere perché il tedesco e l'olandese sono lingue molto simili. Analogamente, le due varietà di cinese testate qui non sono realmente due lingue diverse, ma solo forme stilisticamente differenti della stessa lingua. Ma si può notare che anche coppie di lingue molto dissimili come olandese e cinese o tedesco e giapponese mostrano ancora una forte similarità tra testi semanticamente equivalenti.
Abbiamo considerato la possibilità che questi valori di similarità molto alti potessero essere un effetto collaterale dell'uso di ChatGPT come traduttore. Per verificarlo, abbiamo scaricato trascrizioni di TED Talks tradotte da umani in inglese e tedesco e verificato se le frasi tradotte allineate avrebbero avuto la stessa alta correlazione.
Il risultato è stato ancora più forte rispetto ai nostri dati tradotti automaticamente, come si può vedere dalla figura seguente.

tagQuanto Contribuiscono i Dati Multilingue all'Allineamento tra Lingue?
Il divario linguistico quasi nullo e l'alto livello di prestazioni tra lingue sembrano sproporzionati rispetto alla piccolissima parte dei dati di training che era esplicitamente multilingue. Solo il 3% dei dati di training contrastivi insegna specificamente al modello come fare allineamenti tra lingue.
Quindi abbiamo fatto un test per vedere se i dati multilingue stessero dando un contributo.
Riqualificare completamente jina-embeddings-v3 senza alcun dato multilingue sarebbe stato eccessivamente costoso per un piccolo esperimento, quindi abbiamo scaricato il modello xlm-roberta-base da Hugging Face e lo abbiamo ulteriormente addestrato con apprendimento contrastivo, utilizzando un sottoinsieme dei dati usati per addestrare jina-embeddings-v3. Abbiamo specificamente regolato la quantità di dati multilingue per testare due casi: uno senza dati multilingue e uno dove il 20% delle coppie erano multilingue. Puoi vedere i meta-parametri di training nella tabella seguente:
| Backbone | % Cross-Language | Learning Rate | Loss Function | Temperature |
xlm-roberta-base without X-language data | 0% | 5e-4 | InfoNCE | 0.05 |
xlm-roberta-base with X-language data | 20% | 5e-4 | InfoNCE | 0.05 |
Abbiamo quindi valutato le prestazioni multilingue di entrambi i modelli utilizzando i benchmark STS17 e STS22 da MTEB e la Correlazione di Spearman. Presentiamo i risultati di seguito:
tagSTS17

| Language Pair | With parallel corpora | Without parallel corpora |
| English ↔ Arabic | 0.6418 | 0.5875 |
| English ↔ German | 0.7364 | 0.7390 |
| English ↔ Spanish | 0.6968 | 0.6799 |
| English ↔ French | 0.7066 | 0.6944 |
| English ↔ Italian | 0.7232 | 0.7070 |
| English ↔ Dutch | 0.7597 | 0.7468 |
| English ↔ Turkish | 0.6933 | 0.6050 |
tagSTS22

| Coppia di lingue | Con corpora paralleli | Senza corpora paralleli |
| Inglese ↔ Spagnolo | 0.7710 | 0.7675 |
| Cinese semplificato ↔ Inglese | 0.6885 | 0.6860 |
| Spagnolo ↔ Italiano | 0.6829 | 0.6814 |
| Tedesco ↔ Francese | 0.5763 | 0.5496 |
| Tedesco ↔ Inglese | 0.5439 | 0.5566 |
| Polacco ↔ Inglese | 0.6966 | 0.7156 |
| Tedesco ↔ Inglese | 0.5832 | 0.5478 |
| Francese ↔ Polacco | 0.8451 | 0.8451 |
Siamo rimasti sorpresi nel vedere che per la maggior parte delle coppie di lingue testate, i dati di addestramento multilingue non hanno portato quasi nessun miglioramento. È difficile essere certi che questo rimarrebbe vero per modelli completamente addestrati con dataset più grandi, ma certamente offre prove che l'addestramento esplicito tra lingue non aggiunge molto.
Tuttavia, nota che STS17 include coppie Inglese/Arabo e Inglese/Turco. Queste sono entrambe lingue molto meno rappresentate nei nostri dati di addestramento. Il modello XML-RoBERTa che abbiamo utilizzato è stato pre-addestrato con dati che erano al 2,25% in Arabo e al 2,32% in Turco, molto meno rispetto alle altre lingue testate. Il piccolo dataset di apprendimento contrastivo che abbiamo utilizzato in questo esperimento conteneva solo l'1,7% di Arabo e l'1,8% di Turco.
Queste due coppie di lingue sono le uniche testate in cui l'addestramento con dati multilingue ha fatto una chiara differenza. Pensiamo che i dati esplicitamente multilingue siano più efficaci per le lingue che sono meno rappresentate nei dati di addestramento, ma dobbiamo esplorare ulteriormente quest'area prima di trarre conclusioni. Il ruolo e l'efficacia dei dati multilingue nell'addestramento contrastivo è un'area in cui Jina AI sta conducendo ricerche attive.
tagConclusione
I metodi convenzionali di pre-addestramento linguistico, come il Masked Language Modeling, lasciano un "gap linguistico", dove testi semanticamente simili in lingue diverse non si allineano così strettamente come dovrebbero. Abbiamo dimostrato che il regime di apprendimento contrastivo di Jina Embeddings è molto efficace nel ridurre o addirittura eliminare questo gap.
Le ragioni per cui questo funziona non sono del tutto chiare. Utilizziamo esplicitamente coppie di testi multilingue nell'addestramento contrastivo, ma solo in quantità molto piccole, e non è chiaro quanto ruolo giochino effettivamente nell'assicurare risultati multilingue di alta qualità. I nostri tentativi di mostrare un effetto chiaro utilizzando condizioni più controllate non hanno prodotto un risultato inequivocabile.
Tuttavia, è chiaro che jina-embeddings-v3 ha superato il gap linguistico del pre-addestramento, rendendolo uno strumento potente per applicazioni multilingue. È pronto per essere utilizzato per qualsiasi attività che richieda prestazioni forti e identiche in più lingue.
Puoi utilizzare jina-embeddings-v3 tramite la nostra Embeddings API (con un milione di token gratuiti) o tramite AWS o Azure. Se vuoi utilizzarlo al di fuori di queste piattaforme o on-premises nella tua azienda, tieni presente che è concesso in licenza sotto CC BY-NC 4.0. Contattaci se sei interessato all'uso commerciale.








