XLNet é um modelo Transformer (architecture) autorregressivo projetado para processamento de linguagem natural, introduzido como uma melhoria em relação ao BERT. Foi lançado em 19 de junho de 2019 sob a licença Apache 2.0, com 340 milhões de parâmetros e treinado em 33 bilhões de palavras. O modelo alcançou resultados de última geração em tarefas como modelagem de linguagem, resposta a perguntas e inferência de linguagem natural, sendo um exemplo notável de arquitetura de Large language model em pesquisa de Deep learning.
Ao contrário do BERT, que utiliza modelagem de linguagem mascarada, o XLNet emprega modelagem de linguagem por permutação. Essa abordagem fatora a probabilidade conjunta de uma sequência em todas as ordens possíveis, permitindo que o modelo capture contexto bidirecional sem depender de mascaramento. Esse design foi criado para resolver uma limitação do BERT, onde tokens mascarados não são vistos durante o pré-treinamento, criando uma discrepância entre o pré-treinamento e o ajuste fino.
Modelagem de Linguagem por Permutação
Na modelagem autorregressiva padrão, a probabilidade de uma sequência é fatorada em uma ordem fixa, da esquerda para a direita. Por exemplo, a frase "Meu cachorro é fofo" é modelada como o produto das probabilidades condicionais: Pr(Meu) Pr(cachorro|Meu) Pr(é|Meu, cachorro) * Pr(fofo|Meu, cachorro, é). O XLNet, em vez disso, amostra uma permutação aleatória das posições dos tokens e fatora a probabilidade de acordo com essa ordem. Por exemplo, com a permutação 3-2-4-1, o modelo prevê "é" primeiro, depois "cachorro", depois "fofo" e, por fim, "Meu", cada um condicionado aos tokens previamente previstos. Ao treinar com todas as permutações possíveis, o modelo aprende a usar o contexto de ambas as direções, melhorando sua capacidade de capturar dependências de longo alcance.
Atenção Dupla
Para implementar a modelagem de linguagem por permutação, o XLNet utiliza um mecanismo de atenção dupla. O primeiro fluxo, chamado de fluxo de conteúdo, codifica o conteúdo de cada token usando atenção causal padrão. O segundo fluxo, chamado de fluxo de consulta, codifica o conteúdo de cada token no contexto dos tokens previamente previstos, usando uma atenção cruzada mascarada onde as consultas vêm do fluxo de consulta e os pares chave-valor vêm do fluxo de conteúdo. Esse design permite que o modelo preveja um token sem ver seu próprio conteúdo, enquanto ainda utiliza o conteúdo de outros tokens na ordem permutada.
Treinamento e Desempenho
O XLNet foi treinado em um grande corpus de 33 bilhões de palavras, usando um modelo com 340 milhões de parâmetros. O processo de treinamento envolveu tanto a modelagem de linguagem por permutação quanto um objetivo de reordenação de segmentos, que ajudou o modelo a aprender relações entre frases. No lançamento, o XLNet superou o BERT em uma série de benchmarks, incluindo o Stanford Question Answering Dataset (SQuAD), o benchmark General Language Understanding Evaluation (GLUE) e várias tarefas de compreensão de leitura. Seu sucesso demonstrou a eficácia do pré-treinamento baseado em permutação e influenciou trabalhos subsequentes em Generative AI e Machine learning.
Impacto e Legado
O XLNet contribuiu para a evolução dos modelos de linguagem pré-treinados ao destacar as vantagens e desvantagens das abordagens autorregressivas e autoencodificadoras. Enquanto a estratégia de mascaramento do BERT permitia contexto bidirecional, ela introduzia uma discrepância entre o pré-treinamento e o ajuste fino; a abordagem de permutação do XLNet ofereceu uma maneira de alcançar contexto bidirecional mantendo a propriedade autorregressiva. Essa ideia foi incorporada em modelos posteriores, como o Transformer-XL e outras variantes. Embora arquiteturas mais recentes tenham superado o XLNet em desempenho, ele permanece um marco significativo na história da pesquisa em Artificial intelligence e Neural network.
Ver Também
- BERT (não listado nos slugs fornecidos, mas pode ser vinculado como Transformer (architecture))
- Large language model
- Deep learning
- Machine learning