BART (Bidirectional and Auto-Regressive Transformer) é um autoencoder de remoção de ruído projetado para o pré-treinamento de modelos sequência-a-sequência em processamento de linguagem natural. Introduzido por pesquisadores da Facebook AI em 2019, o BART corrompe o texto com uma função de ruído arbitrária e aprende um modelo para reconstruir o texto original. Ele é notável por unificar vários objetivos de pré-treinamento, incluindo aqueles usados em modelos como BERT e GPT, em uma única estrutura que se destaca tanto em tarefas de compreensão quanto de geração.
A arquitetura do BART é um transformer sequência-a-sequência padrão, com um codificador bidirecional semelhante ao BERT e um decodificador autoregressivo semelhante ao GPT. Esse design permite que o codificador capture contexto tanto da esquerda quanto da direita, enquanto o decodificador gera a saída token por token. O objetivo do pré-treinamento envolve corromper o texto de entrada e treinar o modelo para minimizar a perda de entropia cruzada entre a saída do decodificador e o texto original não corrompido. A flexibilidade do BART em lidar com várias estratégias de ruído, como mascaramento de tokens, exclusão de tokens, preenchimento de texto, permutação de sentenças e rotação de documentos, torna-o um modelo de propósito geral poderoso.
Desenvolvimento e Lançamento
O BART foi desenvolvido por uma equipe da Facebook AI, agora parte da Meta AI, e foi apresentado no artigo "BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension" na Reunião Anual da Association for Computational Linguistics (ACL) de 2020. O modelo foi lançado como software de código aberto, com implementações disponíveis na biblioteca Fairseq. O lançamento inicial incluiu modelos pré-treinados para inglês, com variantes base e grande, e foi posteriormente estendido para versões multilíngues, como mBART.
O desenvolvimento do BART foi motivado pela observação de que os métodos de pré-treinamento existentes eram frequentemente especializados para tarefas de compreensão (como BERT) ou tarefas de geração (como GPT). O BART visava combinar os pontos fortes de ambos usando uma arquitetura sequência-a-sequência que pudesse ser ajustada para uma ampla gama de aplicações. As funções de ruído usadas durante o pré-treinamento foram projetadas para imitar vários tipos de corrupção que ocorrem em texto do mundo real, tornando o modelo robusto a entradas ruidosas.
Aplicações e Desempenho
O BART alcançou resultados de ponta em vários benchmarks na época de seu lançamento. Ele teve desempenho particularmente bom em diálogo abstrativo, resposta a perguntas e tarefas de sumarização. Por exemplo, no conjunto de dados de sumarização CNN/DailyMail, o BART-large alcançou uma pontuação ROUGE-1 de 47,6, superando modelos anteriores. No conjunto de dados de resposta a perguntas SQuAD, ele alcançou uma pontuação F1 de 94,6, igualando ou superando o desempenho de modelos especializados. O BART também mostrou forte desempenho em tarefas de geração de linguagem natural, como geração de respostas em sistemas de diálogo.
Uma das principais vantagens do BART é sua capacidade de ser ajustado para tarefas de compreensão e geração com modificações mínimas específicas da tarefa. Para tarefas de classificação, a mesma representação do decodificador é usada, enquanto para tarefas de geração, o decodificador é usado para produzir sequências de saída. Essa versatilidade tornou o BART uma escolha popular para profissionais nas áreas de inteligência artificial e aprendizado de máquina.
Influência e Legado
O BART teve uma influência significativa em pesquisas subsequentes em pré-treinamento para processamento de linguagem natural. Sua abordagem de autoencoder de remoção de ruído inspirou modelos posteriores, como T5, que também usa uma estrutura texto-a-texto, e vários outros métodos de pré-treinamento baseados em remoção de ruído. O conceito de corromper texto de entrada e reconstruí-lo tornou-se uma técnica padrão no desenvolvimento de modelos de linguagem de grande escala. A arquitetura e a metodologia de treinamento do BART também são usadas em muitas aplicações específicas de domínio, como sumarização de texto biomédico e processamento de documentos jurídicos.
O sucesso do modelo contribuiu para a tendência mais ampla de uso de modelos baseados em transformer em pesquisas de aprendizado profundo e redes neurais. Ele demonstrou que arquiteturas sequência-a-sequência poderiam ser efetivamente pré-treinadas em grandes corpora e depois adaptadas a uma ampla variedade de tarefas, abrindo caminho para modelos mais unificados no campo. O lançamento de código aberto do BART também facilitou sua adoção em ambientes acadêmicos e industriais, com muitas empresas o integrando em seus pipelines de processamento de linguagem natural.
Detalhes Técnicos
O BART usa uma arquitetura transformer padrão com um codificador bidirecional e um decodificador autoregressivo. O modelo base tem 6 camadas tanto no codificador quanto no decodificador, com tamanho oculto de 768 e 12 cabeças de atenção, totalizando cerca de 140 milhões de parâmetros. O modelo grande tem 12 camadas, tamanho oculto de 1024 e 16 cabeças de atenção, totalizando cerca de 400 milhões de parâmetros. Os dados de pré-treinamento consistiam em texto da Wikipedia em inglês e livros, semelhantes aos dados usados para o BERT.
As funções de ruído usadas no BART incluem mascaramento de tokens, onde tokens aleatórios são substituídos por um token de máscara; exclusão de tokens, onde tokens aleatórios são removidos; preenchimento de texto, onde trechos de texto são substituídos por um único token de máscara; permutação de sentenças, onde as sentenças são embaralhadas; e rotação de documentos, onde o documento é rotacionado para começar em um token aleatório. O modelo é treinado para reconstruir o texto original a partir da versão corrompida, o que o força a aprender dependências locais e globais no texto.