Guida per principianti di AutoML Translation
AutoML Translation ti consente di creare modelli personalizzati (senza scrivere codice) su misura per i tuoi contenuti specifici del dominio rispetto al modello di traduzione automatica neurale (NMT) di Google predefinito.
Immagina di gestire un servizio di report finanziari che ha l'opportunità di espandersi in nuovi paesi. Questi mercati richiedono che i documenti finanziari urgenti vengano tradotti in tempo reale. Anziché assumere personale finanziario bilingue o stipulare un contratto con un traduttore specializzato, entrambi a un prezzo elevato a causa della loro esperienza nel dominio e della necessità di tempi di risposta rapidi, un modello personalizzato può aiutarti ad automatizzare i job di traduzione in modo scalabile.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Translation in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Cloud Translation gratuitamentePerché il machine learning (ML) è lo strumento giusto per questo problema?
La programmazione classica richiede al programmatore di specificare istruzioni passo passo da seguire per il computer. Tuttavia, questo approccio basato su regole diventa rapidamente non fattibile per la traduzione. Il linguaggio naturale è complesso e anche la sua traduzione è complessa. La traduzione automatica viene eseguita quasi interamente con un approccio statistico, con enormi corpora paralleli che sostituiscono gli esperti linguistici che perfezionano manualmente insiemi specializzati di regole.
Hai bisogno di un sistema che possa generalizzarsi a una vasta gamma di scenari di traduzione, ma che sia estremamente focalizzato sul tuo caso d'uso e sul dominio linguistico specifico delle attività nelle coppie di lingue che ti interessano. In uno scenario in cui una sequenza di regole specifiche è destinata a espandersi in modo esponenziale, è necessario un sistema in grado di imparare dagli esempi. Fortunatamente, i sistemi di machine learning sono ben posizionati per risolvere questo problema.
Il modello NMT predefinito o un modello personalizzato è lo strumento giusto per me?
Il modello di traduzione automatica neurale (NMT) copre un numero elevato di coppie di lingue e funziona bene con il testo generico. Un modello personalizzato è davvero eccellente per l'ultimo tratto tra le attività di traduzione generiche e i vocabolari specifici e di nicchia. AutoML Translation parte dal modello generico di NMT e poi lo ottimizza in base ai dati di addestramento per ottenere la traduzione corretta per i contenuti specifici del dominio che ti interessano.
Che cosa comporta il machine learning?
Il machine learning prevede l'utilizzo dei dati per addestrare gli algoritmi al fine di ottenere un risultato auspicato. I dettagli dell'algoritmo e dei metodi di addestramento cambiano in base allo spazio dei problemi. Esistono molte sottocategorie diverse di machine learning, che risolvono problemi diversi e funzionano con vincoli diversi. AutoML Translation ti consente di eseguire il apprendimento supervisionato, che prevede l'addestramento di un computer a riconoscere pattern da coppie di segmenti tradotti. Con l'apprendimento supervisionato, possiamo addestrare un modello personalizzato per tradurre i contenuti specifici del dominio che ti interessano.
Preparazione dati
Per addestrare un modello personalizzato, fornisci coppie di segmenti corrispondenti nelle lingue di origine e di destinazione, ovvero coppie di segmenti che significano la stessa cosa nella lingua di partenza e nella lingua di destinazione. Più le coppie di segmenti sono simili per significato, migliore sarà il funzionamento del modello.
Valuta il tuo caso d'uso
Quando crei il set di dati, inizia sempre dal caso d'uso. Puoi iniziare con le seguenti domande:
- Qual è il risultato che stai cercando di ottenere?
- Quali tipi di segmenti devi tradurre per ottenere questo risultato? Si tratta di un'attività che il modello NMT può svolgere immediatamente?
- È possibile che persone fisiche traducano questi segmenti in modo da soddisfare le tue esigenze? Se il compito di traduzione è intrinsecamente ambiguo, al punto che una persona che parla entrambe le lingue avrebbe difficoltà a svolgere un lavoro soddisfacente, potresti riscontrare che il modello NMT e il tuo modello personalizzato hanno un rendimento simile.
- Quali tipi di esempi riflettono meglio il tipo e l'intervallo di dati che il tuo sistema dovrà tradurre?
Un principio fondamentale alla base dei prodotti di ML di Google è il machine learning incentrato sulle persone, un approccio che mette in primo piano le pratiche di IA responsabile, inclusa l'equità. L'obiettivo dell'equità nell'IA è comprendere e prevenire un trattamento ingiusto o prevenuto delle persone in base a etnia, reddito, orientamento sessuale, religione, genere e altre caratteristiche storicamente associate a discriminazione ed emarginazione, quando e dove si manifestano in sistemi algoritmici o nel processo decisionale supportato dall'algoritmo. Scopri di più nella nostra guida e consulta le note relative all'equità ✽ nelle linee guida di seguito. Mentre esamini le linee guida per la creazione del tuo set di dati, ti invitiamo a prendere in considerazione l'equità nel machine learning, se pertinente al tuo caso d'uso.
Ottieni i dati da un'origine
Dopo aver stabilito quali dati ti servono, devi trovare un modo per ottenerli. Puoi iniziare tenendo conto di tutti i dati raccolti dalla tua organizzazione. Potresti scoprire di raccogliere già i dati di cui hai bisogno per addestrare un modello di traduzione. Se non disponi dei dati di cui hai bisogno, puoi ottenerli manualmente o esternalizzarli a un fornitore di terze parti.
Abbinare i dati al dominio del problema
Stavi addestrando un modello di traduzione personalizzato perché hai bisogno di un modello adatto a un determinato dominio linguistico. Assicurati che le coppie di segmenti coprano al meglio il vocabolario, l'utilizzo e le peculiarità grammaticali del tuo settore o della tua area di interesse. Trova i documenti che contengono gli usi tipici che potresti trovare nelle attività di traduzione che vuoi svolgere e assicurati che le frasi parallele corrispondano il più possibile al significato. Naturalmente, a volte le lingue non corrispondono perfettamente a livello di vocabolario o sintassi, ma se possibile cerca di acquisire tutta la diversità di semantica che prevedi di trovare in uso. Stai creando un modello che funziona già abbastanza bene con la traduzione generica. I tuoi esempi sono l'ultimo passaggio speciale che consente ai modelli personalizzati di funzionare in particolare per il tuo caso d'uso, quindi assicurati che siano pertinenti e rappresentativi dell'utilizzo che prevedi di riscontrare.
Mostra la diversità del tuo spazio linguistico
È facile presumere che il modo in cui le persone scrivono su un dominio specifico sia sufficientemente uniforme da far sì che un numero ridotto di esempi di testo tradotti da un numero ridotto di traduttori sia sufficiente per addestrare un modello che funzioni bene per chiunque altro scriva su quel dominio. Ma siamo tutti individui e ognuno di noi apporta la propria personalità alle parole che scrive. Un set di dati di addestramento con coppie di segmenti provenienti da un'ampia selezione di autori e traduttori ha maggiori probabilità di fornirti un modello utile per tradurre testi di un'organizzazione diversificata. Inoltre, tieni presente la varietà di lunghezze e strutture dei segmenti. Un set di dati in cui tutti i segmenti sono della stessa dimensione o condividono una struttura grammaticale simile non fornirà a Cloud Translation informazioni sufficienti per creare un buon modello che catturi tutte le possibilità.
Mantieni l'approccio "human-in-the-loop"
Se è possibile, assicurati che una persona che comprende bene entrambe le lingue abbia convalidato la corrispondenza corretta delle coppie di segmenti e che rappresentino traduzioni comprensibili e accurate. Un errore semplice come il disallineamento delle righe del foglio di lavoro dei dati di addestramento può produrre traduzioni che sembrano senza senso. I dati di alta qualità sono la cosa più importante che puoi fornire a Traduzione AutoML per ottenere un modello utilizzabile per la tua attività.
Pulire i dati disordinati
È facile commettere errori durante la preelaborazione dei dati e alcuni di questi errori possono davvero confondere un modello personalizzato. In particolare, cerca i seguenti problemi relativi ai dati che puoi risolvere:
- Rimuovi i segmenti di origine duplicati, in particolare se hanno traduzioni diverse per il pubblico di destinazione. AutoML Translation utilizza solo il primo esempio visualizzato e elimina tutte le altre coppie al momento dell'importazione. Rimuovendo i duplicati, assicuri che AutoML Translation utilizzi la traduzione che preferisci.
- Allinea i segmenti di origine ai segmenti target corretti.
- Abbina i segmenti alla lingua specificata; ad esempio, includi solo i segmenti in cinese in un set di dati in cinese.
- Per i segmenti di destinazione che includono lingue miste, verifica che le parole non tradotte non siano state tradotte intenzionalmente, ad esempio i nomi di prodotti o organizzazioni. I segmenti di destinazione che includono erroneamente parole non tradotte aggiungono rumore ai dati di addestramento, il che può comportare un modello di qualità inferiore.
- Correggi i segmenti con errori ortografici o grammaticali in modo che il tuo modello non li apprenda.
- Rimuovi i contenuti non traducibili, come i tag segnaposto e i tag HTML. I contenuti non traducibili possono causare errori di punteggiatura.
- Non includere traduzioni che sostituiscono entità generali con sostantivi specifici. Ad esempio, potresti avere un esempio che sostituisce "presidente" con il nome di un presidente specifico, come "JFK" o "John F. Kennedy". Il modello potrebbe imparare a sostituire tutte le istanze di "presidente" con "JFK". Rimuovi queste traduzioni o cambia i nomi specifici con uno comune.
- Rimuovi i segmenti duplicati nei set di addestramento e test. (scopri di più sugli insiemi di addestramento e di test).
- Suddividi più segmenti in coppie di segmenti diverse. L'addestramento su un set di dati in cui molti elementi contengono più di circa 50 token (parole) genera modelli di qualità inferiore. Se possibile, suddividi gli elementi in singole frasi.
- Utilizza lettere maiuscole e minuscole coerenti. Le maiuscole influiscono sul modo in cui un modello apprende, ad esempio, a distinguere un titolo dal testo del corpo.
- Rimuovi i tag TMX quando importi i dati da un file TSV. In alcuni casi, potresti esportare la memoria di traduzione esistente in un file TSV, che potrebbe includere i tag TMX. Tuttavia, AutoML Translation pulisce i tag unità di traduzione solo quando importi da un file TMX (non per i file TSV).
In che modo AutoML Translation esegue la preelaborazione dei dati
La funzionalità di traduzione con AutoML interrompe l'analisi del file di input dei dati quando:
- La formattazione non è valida
- Esiste una coppia di segmenti eccessivamente lunga (10 MB)
- Il file utilizza una codifica diversa da UTF-8
AutoML Translation ignora gli errori relativi ai problemi che non è in grado di rilevare, ad esempio:
- Un elemento <tu> in un file TMX non ha la lingua di origine o la lingua di destinazione.
- Una delle coppie di segmenti di input è vuota.
Per la suddivisione automatica dei dati, AutoML Translation esegue un'elaborazione aggiuntiva:
- Dopo il caricamento del set di dati, vengono rimosse le coppie di segmenti con segmenti di origine identici.
- Suddivide i dati in modo casuale in tre set con un rapporto di 8:1:1 (addestramento:convalida:test) prima dell'addestramento.
Considera in che modo AutoML Translation utilizza il tuo set di dati per creare un modello personalizzato
Il set di dati contiene set di addestramento, convalida e test. Se non specifichi le suddivisioni (consulta Preparare i dati di addestramento e il tuo set di dati contiene meno di 100.000 coppie di segmenti, AutoML Translation utilizza automaticamente l'80% dei documenti di contenuti per l'addestramento, il 10% per la convalida e il 10% per i test. Se i dati sono più grandi, dovrai eseguire la suddivisione autonomamente.
Set di addestramento
La maggior parte dei dati dovrebbe essere presente nel set di addestramento. Questi sono i dati che il modello "vede" durante l'addestramento: vengono utilizzati per apprendere i parametri del modello, ossia i pesi delle connessioni tra i nodi della rete neurale.
Set di convalida
Il set di convalida, a volte chiamato anche set "dev", viene utilizzato anche durante il processo di addestramento. Durante l'apprendimento del modello, il framework utilizza il set di addestramento per addestrare una suite di modelli candidati e poi utilizza le prestazioni del modello sul set di convalida per scegliere il modello migliore generato. Utilizza le prestazioni del modello sul set di convalida per ottimizzarne gli iperparametri, che sono variabili che specificano la struttura del modello. Se hai utilizzato il set di addestramento per ottimizzare gli iperparametri, il modello finirebbe per concentrarsi eccessivamente sui dati di addestramento. L'utilizzo di un set di dati nuovo per ottimizzare la struttura del modello consente una migliore generalizzazione da parte del modello.
Set di test
Il set di test non è coinvolto in nessun modo nel processo di addestramento. Al termine dell'addestramento del modello, utilizziamo il set di test come risorsa di verifica completamente nuova per il modello. Le prestazioni del modello in base al set di test hanno lo scopo di dare un'idea abbastanza precisa di come il modello si comporterà utilizzando dati reali.
Suddivisione manuale
AutoML Translation può suddividere automaticamente i dati in set di addestramento, convalida e test oppure puoi farlo autonomamente se vuoi esercitare un maggiore controllo sul processo, se preferisci una suddivisione percentuale diversa o se esistono esempi specifici che vuoi includere in una determinata parte del ciclo di vita dell'addestramento del modello.
Prepara i dati per l'importazione
Dopo aver deciso se una suddivisione manuale o automatica dei dati è adatta per te, esistono due modi per aggiungere i dati:
- Puoi importare i dati come file con valori separati da tabulazioni (TSV) contenente segmenti di origine e di destinazione, una coppia di segmenti per riga.
- Puoi importare i dati come file TMX, un formato standard per fornire coppie di segmenti agli strumenti di modelli di traduzione automatica (scopri di più sul formato TMX supportato). Se il file TMX contiene tag XML non validi,
AutoML li ignora. Se il file TMX non è conforme al corretto formato XML e TMX, ad esempio se manca un tag finale o un elemento
<tmx>
, AutoML non lo elaborerà. Anche Cloud Translation interrompe l'elaborazione e restituisce un errore se salta più di 1024 elementi<tu>
non validi.
Valuta
Una volta addestrato il modello, riceverai un riepilogo delle relative prestazioni. Fai clic sulla scheda Addestramento per visualizzare un'analisi dettagliata.
Cosa devo tenere presente prima di valutare il mio modello?
Il debug di un modello riguarda più i dati che il modello stesso. Se il tuo modello inizia a comportarsi in modo imprevisto durante la valutazione delle sue prestazioni prima e dopo l'invio in produzione, devi tornare indietro e controllare i dati per vedere dove possono essere migliorati.
Punteggio BLEU
Il punteggio BLEU è un modo standard per misurare la qualità di un sistema di traduzione automatica. AutoML Translation utilizza un punteggio BLEU calcolato sui dati di test che hai fornito come metrica di valutazione principale. (Scopri di più sui punteggi BLEU.)
Il modello NMT di Google, che è alla base dell'API Cloud Translation, è progettato per un uso generale. Potrebbe non essere la soluzione migliore se stai cercando una traduzione specializzata nei tuoi settori. In genere, il modello personalizzato addestrato funziona meglio del modello NMT nei campi correlati al tuo set di addestramento.
Dopo aver addestrato il modello personalizzato con il tuo set di dati, il punteggio BLEU del modello personalizzato e del modello NMT di Google vengono mostrati nella scheda Addestra. Inoltre, il modello personalizzato nella scheda Addestramento offre un miglioramento del rendimento del punteggio BLEU. Più alto è il punteggio BLEU, migliori saranno le traduzioni che il modello può fornirti per i segmenti simili ai dati di addestramento. Se il punteggio BLEU rientra nell'intervallo 30-40, il modello è considerato in grado di fornire buone traduzioni.
Tieni presente che i punteggi BLEU non sono consigliati per il confronto tra corpora e lingue diversi. Ad esempio, un punteggio BLEU dall'inglese al tedesco pari a 50 non è paragonabile a un punteggio BLEU dal giapponese all'inglese pari a 50. Molti esperti di traduzione hanno adottato approcci metrici basati su modelli, che hanno una correlazione più elevata con le valutazioni umane e sono più granulari nell'identificazione degli scenari di errore.
AutoML Translation supporta solo i punteggi BLEU. Per valutare il modello di traduzione utilizzando metriche basate su modelli, consulta il servizio di valutazione dell'IA generativa in Vertex AI.
Test del modello
Anche se il punteggio BLEU sembra buono, è buona norma controllare personalmente il modello per assicurarti che le sue prestazioni corrispondano alle tue aspettative. Se i dati di addestramento e di test provengono dallo stesso insieme errato di esempi, i punteggi potrebbero essere eccellenti anche se la traduzione non ha senso. Aggiungi alcuni esempi come input nella scheda Predizione e confronta i risultati del modello personalizzato con il modello di base NMT di Google. Potresti notare che il tuo modello genera le stesse previsioni del modello di base, in particolare su segmenti brevi o se hai un set di addestramento più piccolo. Non è una sorpresa: il modello di base è già abbastanza buono per una vasta gamma di casi d'uso. Prova alcuni segmenti più lunghi o più complessi. Tuttavia, se tutti i segmenti risultano identici alle predizioni del modello di base, potrebbe indicare un problema con i dati.
Se temi che il tuo modello possa commettere un errore in particolare (ad esempio una funzionalità confusa della coppia di lingue che spesso confonde i traduttori umani o un errore di traduzione che potrebbe essere particolarmente costoso in termini di denaro o reputazione), assicurati che il set di test o la procedura copra adeguatamente questo caso in modo da poter utilizzare il modello in sicurezza nelle attività quotidiane.
Passaggi successivi
- Per creare il tuo set di dati e il tuo modello personalizzato, consulta Preparare i dati di addestramento per istruzioni su come preparare i dati.