[ad_1]
Immagina di scoprire che il tuo nuovo amico Roblox, una persona con cui hai chiacchierato e scherzato in una nuova esperienza, è in realtà in Corea – e ha scritto in coreano per tutto il tempo, mentre tu hai scritto in inglese, senza nessuno dei due te ne accorgi. Grazie alle nostre nuove traduzioni di chat AI in tempo reale, abbiamo reso possibile su Roblox qualcosa che non è nemmeno possibile nel mondo fisico: consentire alle persone che parlano lingue diverse di comunicare perfettamente tra loro nelle nostre coinvolgenti esperienze 3D. Ciò è possibile grazie al nostro modello multilingue personalizzato, che ora consente la traduzione diretta tra qualsiasi combinazione delle 16 lingue attualmente supportate (queste 15 lingueoltre all’inglese).
In ogni esperienza che ha consentito al ns chat di testo in esperienza servizio, persone provenienti da paesi diversi possono ora essere comprese da persone che non parlano la loro lingua. La finestra della chat mostrerà automaticamente il coreano tradotto in inglese, o il turco tradotto in tedesco, e viceversa, in modo che ogni persona veda la conversazione nella propria lingua. Queste traduzioni vengono visualizzate in tempo reale, con una latenza di circa 100 millisecondi, quindi la traduzione che avviene dietro le quinte è quasi invisibile. L’uso dell’intelligenza artificiale per automatizzare le traduzioni in tempo reale nelle chat di testo rimuove le barriere linguistiche e unisce più persone, indipendentemente da dove vivono nel mondo.
Costruire un modello di traduzione unificato
La traduzione AI non è una novità, la maggior parte dei nostri contenuti in-esperienza è già tradotta automaticamente. Volevamo andare oltre la traduzione di contenuti statici in esperienze. Volevamo tradurre automaticamente le interazioni e volevamo farlo per tutte le 16 lingue supportate sulla piattaforma. Si trattava di un obiettivo audace per due ragioni: in primo luogo, non stavamo semplicemente traducendo da una lingua principale (ad esempio, l’inglese) a un’altra, volevamo un sistema in grado di tradurre tra qualsiasi combinazione delle 16 lingue supportate. In secondo luogo, doveva esserlo veloce. Abbastanza veloce da supportare conversazioni in chat reali, il che per noi significava ridurre la latenza a circa 100 millisecondi.
Roblox conta oltre 70 milioni di utenti attivi ogni giorno in tutto il mondo e è in crescita. Le persone comunicano e creano sulla nostra piattaforma, ciascuna nella propria lingua madre, 24 ore al giorno. Ovviamente non è possibile tradurre manualmente ogni conversazione che avviene in oltre 15 milioni di esperienze attive, tutte in tempo reale. Estendere queste traduzioni dal vivo a milioni di persone, tutte con conversazioni diverse in esperienze diverse contemporaneamente, richiede un LLM con velocità e precisione straordinarie. Abbiamo bisogno di un modello sensibile al contesto che riconosca il linguaggio specifico di Roblox, inclusi lo slang e le abbreviazioni (pensa a obby, afk o lol). Oltre a tutto ciò, il nostro modello deve supportare qualsiasi combinazione delle 16 lingue attualmente supportate da Roblox.
Per raggiungere questo obiettivo, avremmo potuto creare un modello unico per ciascuna coppia linguistica (ad esempio, giapponese e spagnolo), ma ciò avrebbe richiesto 16×16, ovvero 256 modelli diversi. Abbiamo invece creato un LLM di traduzione unificato e basato su trasformatore per gestire tutte le coppie linguistiche in un unico modello. È come avere più app di traduzione, ciascuna specializzata in un gruppo di lingue simili, tutte disponibili con un’unica interfaccia. Data una frase di partenza e una lingua di destinazione, possiamo attivare il relativo “esperto” per generare le traduzioni.
Questa architettura consente un migliore utilizzo delle risorse, poiché ogni esperto ha una specialità diversa, il che porta a una formazione e un’inferenza più efficienti, senza sacrificare la qualità della traduzione.
Questa architettura rende molto più efficiente l’addestramento e la manutenzione del nostro modello per alcuni motivi. Innanzitutto, il nostro modello è in grado di sfruttare le somiglianze linguistiche tra le lingue. Quando tutte le lingue vengono formate insieme, le lingue simili, come lo spagnolo e il portoghese, traggono vantaggio dal contributo reciproco durante la formazione, il che aiuta a migliorare la qualità della traduzione per entrambe le lingue. Possiamo anche testare e integrare molto più facilmente nuove ricerche e progressi nei LLM nel nostro sistema non appena vengono rilasciati, per beneficiare delle più recenti e migliori tecniche disponibili. Vediamo un altro vantaggio di questo modello unificato nei casi in cui la lingua di origine non è impostata o è impostata in modo errato, dove il modello è sufficientemente accurato da essere in grado di rilevare la lingua di origine corretta e tradurre nella lingua di destinazione. Infatti, anche se l’input ha un mix di lingue, il sistema è comunque in grado di rilevare e tradurre nella lingua di destinazione. In questi casi, la precisione potrebbe non essere altrettanto elevata, ma il messaggio finale sarà ragionevolmente comprensibile.
Per addestrare questo modello unificato, abbiamo iniziato con un preaddestramento sui dati open source disponibili, nonché sui nostri dati di traduzione in esperienza, sui risultati di traduzione della chat etichettati da esseri umani e su frasi e frasi comuni della chat. Abbiamo anche creato la nostra metrica e il nostro modello di valutazione della traduzione per misurare la qualità della traduzione. La maggior parte dei parametri di qualità della traduzione standard confrontano il risultato della traduzione dell’intelligenza artificiale con qualche verità fondamentale o traduzione di riferimento e si concentrano principalmente sulla comprensibilità della traduzione. Volevamo valutare il qualità della traduzione – senza una traduzione fondata sulla verità.
Lo esaminiamo da molteplici aspetti, tra cui l’accuratezza (se ci sono aggiunte, omissioni o traduzioni errate), la fluidità (punteggiatura, ortografia e grammatica) e i riferimenti errati (discrepanze con il resto del testo). Classifichiamo questi errori in livelli di gravità: è un errore critico, grave o minore? Per valutare la qualità, abbiamo creato un modello ML e lo abbiamo addestrato sui tipi e sui punteggi di errore etichettati dall’uomo. Abbiamo quindi messo a punto un modello linguistico multilingue per prevedere errori e tipi a livello di parola e calcolare un punteggio utilizzando i nostri criteri multidimensionali. Questo ci dà una comprensione completa della qualità e dei tipi di errori che si verificano. In questo modo possiamo stimare la qualità della traduzione e rilevare gli errori utilizzando il testo di partenza e le traduzioni automatiche, senza richiedere una traduzione veritiera. Utilizzando i risultati di questa misurazione della qualità, possiamo migliorare ulteriormente la qualità del nostro modello di traduzione.
Le coppie di traduzione meno comuni (ad esempio, dal francese al tailandese) rappresentano una sfida a causa della mancanza di dati di alta qualità. Per colmare questa lacuna, abbiamo applicato la retrotraduzione, in cui il contenuto viene tradotto nuovamente nella lingua originale, quindi confrontato con il testo di origine per verificarne la precisione. Durante il processo di formazione, abbiamo utilizzato la traduzione all’indietro iterativa, in cui utilizziamo un mix strategico di dati tradotti all’indietro e dati supervisionati (etichettati) per espandere la quantità di dati di traduzione su cui il modello può apprendere.
Per aiutare il modello a comprendere lo slang moderno, abbiamo chiesto a valutatori umani di tradurre termini popolari e di tendenza per ciascuna lingua e abbiamo incluso tali traduzioni nei nostri dati di addestramento. Continueremo a ripetere questo processo regolarmente per mantenere il sistema aggiornato sullo slang più recente.
Il modello di traduzione della chat risultante ha circa 1 miliardo di parametri. Eseguire una traduzione attraverso un modello così grande richiede un dispendio di risorse proibitivo per essere pubblicata su larga scala e richiederebbe troppo tempo per una conversazione in tempo reale, dove una bassa latenza è fondamentale per supportare più di 5.000 chat al secondo. Quindi abbiamo utilizzato questo modello di traduzione di grandi dimensioni in un approccio studente-insegnante per costruire un modello più piccolo e leggero. Abbiamo applicato la distillazione, la quantizzazione, la compilazione del modello e altre ottimizzazioni del servizio per ridurre le dimensioni del modello a meno di 650 milioni di parametri e migliorare l’efficienza del servizio. Inoltre, abbiamo modificato l’API dietro la chat di testo in esperienza per inviare sia i messaggi originali che quelli tradotti al dispositivo della persona. Ciò consente al destinatario di vedere il messaggio nella propria lingua madre o di passare rapidamente alla visualizzazione del messaggio originale, non tradotto, del mittente.
Una volta pronto il LLM finale, abbiamo implementato un back-end per connetterci con i server modello. Questo backend è il luogo in cui applichiamo ulteriore logica di traduzione della chat e integriamo il sistema con i nostri consueti sistemi di fiducia e sicurezza. Ciò garantisce che il testo tradotto riceva lo stesso livello di controllo degli altri testi, al fine di rilevare e bloccare parole o frasi che violano le nostre norme. La sicurezza e la civiltà sono in prima linea in tutto ciò che facciamo in Roblox, quindi questo era un pezzo molto importante del puzzle.
Miglioramento continuo della precisione
Durante i test, abbiamo visto che questo nuovo sistema di traduzione aumenta il coinvolgimento e la qualità delle sessioni per le persone sulla nostra piattaforma. In base ai nostri parametri, il nostro modello supera le API di traduzione commerciale sui contenuti Roblox, indicando che abbiamo ottimizzato con successo il modo in cui le persone comunicano su Roblox. Siamo entusiasti di vedere come questo migliorerà l’esperienza delle persone sulla piattaforma, consentendo loro di giocare, fare acquisti, collaborare o semplicemente incontrare amici che parlano una lingua diversa.
La possibilità per le persone di avere conversazioni fluide e naturali nella loro lingua madre ci avvicina al nostro obiettivo di connettere un miliardo di persone con ottimismo e civiltà.
Per migliorare ulteriormente la precisione delle nostre traduzioni e fornire al nostro modello dati di addestramento migliori, prevediamo di implementare uno strumento per consentire alle persone sulla piattaforma di fornire feedback sulle loro traduzioni e aiutare il sistema a migliorare ancora più velocemente. Ciò consentirebbe a qualcuno di dirci quando vede qualcosa che è stato tradotto male e persino di suggerire una traduzione migliore che possiamo aggiungere ai dati di addestramento per migliorare ulteriormente il modello.
Queste traduzioni sono oggi disponibili per tutte le 16 lingue che supportiamo, ma non abbiamo ancora finito. Abbiamo intenzione di continuare ad aggiornare i nostri modelli con gli ultimi esempi di traduzione provenienti dalle nostre esperienze, nonché le frasi di chat più popolari e le ultime frasi gergali in ogni lingua che supportiamo. Inoltre, questa architettura consentirà di addestrare il modello su nuove lingue con uno sforzo relativamente basso, non appena saranno disponibili dati di addestramento sufficienti per quelle lingue. Inoltre, stiamo esplorando modi per tradurre automaticamente tutto in più dimensioni: testo su immagini, texture, modelli 3D, ecc.
E stiamo già esplorando nuove entusiasmanti frontiere, compresa quella automatica voce traduzioni di chat. Immagina che un parlante francese su Roblox sia in grado di chattare vocale con qualcuno che parla solo russo. Entrambi potevano parlarsi e capirsi, fino al tono, al ritmo e all’emozione della loro voce, nella loro lingua e a bassa latenza. Sebbene oggi ciò possa sembrare fantascienza e ci vorrà del tempo per realizzarlo, continueremo a portare avanti la traduzione. In un futuro non troppo lontano, Roblox sarà un luogo in cui persone provenienti da tutto il mondo potranno comunicare senza problemi e senza sforzo non solo tramite chat di testo, ma in ogni modalità possibile!
[ad_2]
Source link