A tradução automática neural (NMT, do inglês Neural machine translation) é uma abordagem para a tradução automática que usa uma rede neural artificial para prever a probabilidade de uma sequência de palavras, tipicamente modelando frases inteiras num único modelo integrado.
É a abordagem dominante hoje e pode produzir traduções que rivalizam com as traduções humanas ao traduzir entre idiomas de altos recursos sob condições específicas. No entanto, ainda permanecem desafios, especialmente com idiomas que têm menos dados de alta qualidade disponíveis, e com a mudança de domínio entre os dados nos quais um sistema foi treinado e os textos que se supõe que ele traduza. Os sistemas NMT também tendem a produzir traduções bastante literais.
Visão geral
Na tarefa de tradução, uma frase (consistindo de tokens ) no idioma de origem deve ser traduzida para uma frase (consistindo de tokens ) no idioma de destino. Os tokens de origem e de destino (que, no caso simples, são usados uns para os outros em ordem para um jogo particular ] vetores, para que possam ser processados matematicamente.
Os modelos NMT atribuem uma probabilidade a traduções potenciais y e, em seguida, pesquisam um subconjunto de traduções potenciais em busca daquela com a maior probabilidade. A maioria dos modelos NMT são autorregressivos: eles modelam a probabilidade de cada token de destino como uma função da frase de origem e dos tokens de destino previstos anteriormente. A probabilidade de toda a tradução é, então, o produto das probabilidades dos tokens individuais previstos:
Os modelos NMT diferem na exata forma como modelam essa função , mas a maioria usa alguma variação da arquitetura codificador-decodificador (encoder-decoder): primeiro, usam uma rede codificadora para processar e codificá-la numa representação de vetor ou matriz da frase de origem. A seguir, usam uma rede decodificadora que geralmente produz uma palavra de destino de cada vez, levando em consideração a representação de origem e os tokens que produziu anteriormente. Assim que o decodificador produz um token especial de fim de frase, o processo de decodificação é concluído. Como o decodificador se refere às suas próprias saídas anteriores durante o processo, essa forma de decodificação é chamada de autorregressiva.
História
Abordagens iniciais Em 1987, Robert B. Allen demonstrou o uso de redes neurais feed-forward para traduzir frases em inglês geradas automaticamente com um vocabulário limitado de 31 palavras para o espanhol. Neste experimento, o tamanho das camadas de entrada e saída da rede foi escolhido para ser grande o suficiente apenas para as frases mais longas no idioma de origem e de destino, respetivamente, porque a rede não possuía nenhum mecanismo para codificar sequências de comprimento arbitrário numa representação de tamanho fixo. No seu resumo, Allen também já insinuava a possibilidade de usar modelos autoassociativos, um para codificar a origem e outro para decodificar o destino.
Lonnie Chrisman baseou-se no trabalho de Allen em 1991 ao treinar redes de memória autoassociativa recursiva (RAAM) separadas (desenvolvidas por Jordan B. Pollack) para o idioma de origem e de destino. Cada uma das redes RAAM é treinada para codificar uma frase de comprimento arbitrário numa representação oculta de tamanho fixo e para decodificar a frase original novamente a partir dessa representação. Adicionalmente, as duas redes também são treinadas para compartilhar a sua representação oculta; desta forma, o codificador de origem pode produzir uma representação que o decodificador de destino pode decodificar. Forcada e Ñeco simplificaram este procedimento em 1997 para treinar diretamente um codificador de origem e um decodificador de destino no que eles chamaram de memória heteroassociativa recursiva.
Também em 1997, Castaño e Casacuberta empregaram uma rede neural recorrente de Elman noutra tarefa de tradução automática com vocabulário e complexidade muito limitados.
Embora essas abordagens iniciais já fossem semelhantes à NMT moderna, os recursos computacionais da época não eram suficientes para processar conjuntos de dados grandes o suficiente para a complexidade computacional do problema de tradução automática em textos do mundo real. Em vez disso, outros métodos como a tradução automática estatística ascenderam para se tornarem o estado da arte das décadas de 1990 e 2000.
Abordagens híbridas
Durante o período em que a tradução automática estatística era predominante, alguns trabalhos usaram métodos neurais para substituir várias partes na tradução automática estatística, enquanto ainda usavam a abordagem log-linear para uni-los. Por exemplo, em vários trabalhos juntamente com outros pesquisadores, Holger Schwenk substituiu o usual modelo de linguagem n-gram por um modelo neural e estimou as probabilidades de tradução de frases usando uma rede feed-forward.
seq2seq
Em 2013 e 2014, a tradução automática neural de ponta a ponta (end-to-end) teve o seu avanço com Kalchbrenner & Blunsom usando uma rede neural convolucional (CNN) para codificar a origem, e tanto Cho et al. quanto Sutskever et al. usando uma rede neural recorrente (RNN) em vez disso. Todos os três usaram uma RNN condicionada a uma codificação fixa da origem como o seu decodificador para produzir a tradução. No entanto, estes modelos tiveram um fraco desempenho em frases mais longas. Este problema foi abordado quando Bahdanau et al. introduziram o mecanismo de atenção na sua arquitetura de codificador-decodificador: Em cada passo de decodificação, o estado do decodificador é usado para calcular uma representação de origem que se foca em diferentes partes da origem e usa essa representação no cálculo das probabilidades para o próximo token. Com base nestas arquiteturas baseadas em RNN, a Baidu lançou o "primeiro sistema NMT em larga escala" em 2015, seguido pelo Google Neural Machine Translation em 2016. A partir desse ano, os modelos neurais também se tornaram a escolha predominante na principal conferência de tradução automática, o Workshop on Statistical Machine Translation.
Gehring et al. combinaram um codificador CNN com um mecanismo de atenção em 2017, o que lidou com dependências de longo alcance na origem melhor do que as abordagens anteriores e também aumentou a velocidade de tradução, porque um codificador CNN é paralelizável, enquanto um codificador RNN tem de codificar um token de cada vez devido à sua natureza recorrente. No mesmo ano, "o Microsoft Translator lançou a tradução automática neural (NMT) online alimentada por IA". O DeepL Translator, que na época era baseado num codificador CNN, também foi lançado no mesmo ano e foi julgado por vários meios de comunicação como superior aos seus concorrentes. Também se observou que o GPT-3 da OpenAI, lançado em 2020, pode funcionar como um sistema de tradução automática neural. Alguns outros sistemas de tradução automática, como o Microsoft Translator e o SYSTRAN, também podem ser vistos a integrar redes neurais nas suas operações.
Transformer
Outra arquitetura de rede que se presta à paralelização é o transformer, que foi introduzido por Vaswani et al. também em 2017. À semelhança dos modelos anteriores, o transformer ainda utiliza o mecanismo de atenção para ponderar a saída do codificador para os passos de decodificação. No entanto, as próprias redes do codificador e decodificador do transformer também se baseiam na atenção em vez da recorrência ou da convolução: Cada camada pondera e transforma a saída da camada anterior num processo chamado autoatenção. Uma vez que o mecanismo de atenção não tem qualquer noção da ordem dos tokens, mas a ordem das palavras numa frase é obviamente relevante, os embeddings dos tokens são combinados com uma codificação explícita da sua posição na frase. Como tanto o codificador quanto o decodificador do transformer estão livres de elementos recorrentes, ambos podem ser paralelizados durante o treinamento. No entanto, o decodificador do transformer original continua a ser autorregressivo, o que significa que a decodificação ainda tem de ser feita um token de cada vez durante a inferência.
O modelo transformer rapidamente se tornou a escolha dominante para os sistemas de tradução automática e continuava a ser, de longe, a arquitetura mais usada no Workshop on Statistical Machine Translation em 2022 e 2023.
Normalmente, os pesos dos modelos NMT são inicializados aleatoriamente e, a seguir, aprendidos por treinamento em conjuntos de dados paralelos. No entanto, uma vez que a utilização de grandes modelos de linguagem (LLMs), tais como o BERT, pré-treinados em grandes quantidades de dados monolíngues como ponto de partida para a aprendizagem de outras tarefas revelou ser muito bem-sucedida de forma mais ampla no PLN, este paradigma também se está a tornar mais prevalente na NMT. Isto é especialmente útil para idiomas de poucos recursos, onde não existem grandes conjuntos de dados paralelos. Um exemplo disto é o modelo mBART, que primeiro treina um transformer num conjunto de dados multilíngue para recuperar tokens mascarados em frases e, de seguida, faz o ajuste fino do autocodificador resultante na tarefa de tradução.
LLMs Generativos
Em vez de fazer o ajuste fino de um modelo de linguagem pré-treinado na tarefa de tradução, modelos generativos suficientemente grandes também podem ser diretamente instruídos (prompted) a traduzir uma frase para o idioma desejado. Esta abordagem foi primeiramente testada e avaliada de forma abrangente para o GPT-3.5 em 2023 por Hendy et al. Eles descobriram que "os sistemas GPT podem produzir saídas de tradução altamente fluentes e competitivas, mesmo no cenário de zero-shot, especialmente para as traduções de idiomas de altos recursos".
A Conferência de Tradução Automática de 2023 testou uma variedade de LLMs quanto às suas capacidades de tradução e descobriu que as traduções automáticas estavam quase todas ao mesmo nível da tradução manual.
Comparação com a tradução automática estatística
A NMT superou vários desafios que estavam presentes na tradução automática estatística (SMT):
A total dependência da NMT na representação contínua de tokens superou os problemas de esparsidade causados por palavras ou frases raras. Os modelos foram capazes de generalizar de forma mais eficaz. O comprimento limitado de n-grams usado nos modelos de linguagem n-gram da SMT causava uma perda de contexto. Os sistemas NMT superam isto por não terem um corte rígido após um número fixo de tokens e através do uso de atenção para escolher em quais tokens se focar ao gerar o token seguinte. O treinamento ponta a ponta de um único modelo melhorou o desempenho da tradução e também simplificou todo o processo. Os enormes modelos de n-gram (até 7-gram) usados na SMT exigiam grandes quantidades de memória, enquanto a NMT exige menos.
Procedimento de treinamento
Perda de entropia cruzada Os modelos NMT são normalmente treinados para maximizar a probabilidade de observar os dados de treinamento. Ou seja, para um conjunto de dados de frases de origem e as respetivas frases de destino , o objetivo é encontrar os parâmetros do modelo que maximizam a soma da probabilidade de cada frase de destino nos dados de treinamento, dada a frase de origem correspondente:
A expansão para o nível de token produz:
Como estamos apenas interessados no máximo, podemos também procurar o máximo do logaritmo (que tem a vantagem de evitar o underflow de ponto flutuante que poderia ocorrer com o produto de probabilidades baixas).
Usando o facto de que o logaritmo de um produto é a soma dos logaritmos dos fatores e invertendo o sinal, obtém-se a clássica perda de entropia cruzada (cross-entropy loss):
Na prática, esta minimização é feita iterativamente em pequenos subconjuntos (mini-lotes ou mini-batches) do conjunto de treinamento usando a descida de gradiente estocástica.
Teacher forcing