BART (Bidirectional and Auto-Regressive Transformer)
BART, acronyme de Bidirectional and Auto-Regressive Transformer, est un modèle de langage neuronal pré-entraîné basé sur l’architecture Transformer standard séquence-à-séquence. Il se distingue par la combinaison d’un encodeur bidirectionnel, similaire à celui de BERT, qui peut traiter le contexte gauche et droit d’un mot, et d’un décodeur auto-régressif, similaire à celui de GPT, qui génère du texte de manière séquentielle, un token à la fois. BART est spécifiquement conçu pour être performant sur un large éventail de tâches de traitement du langage naturel, en particulier celles impliquant la génération de texte, tout en étant efficace pour les tâches de compréhension.
Les concepts fondamentaux de BART reposent sur son architecture encodeur-décodeur et sa méthode de pré-entraînement unique. L’architecture Transformer sous-jacente utilise des mécanismes d’attention pour pondérer l’importance des différents mots dans une séquence. L’encodeur de BART traite l’intégralité de la séquence d’entrée en une seule fois, permettant à chaque token d’intégrer des informations contextuelles provenant de toute la phrase, d’où le terme « bidirectionnel ». Le décodeur, quant à lui, génère la séquence de sortie token par token, de gauche à droite. À chaque étape de génération, le décodeur prend en compte les tokens précédemment générés ainsi que la représentation complète de l’entrée fournie par l’encodeur.
Le principe essentiel du pré-entraînement de BART est celui d’un « denoising autoencoder ». Contrairement à d’autres modèles qui masquent simplement des tokens ou prédisent la phrase suivante, BART est entraîné à reconstruire un document original à partir d’une version corrompue de celui-ci. Plusieurs transformations de « bruit » (noising transformations) sophistiquées peuvent être appliquées au texte original pour créer cette version corrompue. Parmi les plus courantes, on trouve : le masquage de tokens (Token Masking), où des tokens aléatoires sont remplacés par un token [MASK] ; la suppression de tokens (Token Deletion), où des tokens aléatoires sont supprimés ; le remplissage de texte (Text Infilling), où plusieurs spans de texte sont remplacés chacun par un unique token [MASK], et le modèle doit prédire le contenu des spans manquants ; la permutation de phrases (Sentence Permutation), où l’ordre des phrases dans un document est mélangé ; et la rotation de document (Document Rotation), où un token est choisi au hasard et le document est pivoté de manière à ce que ce token devienne le début. Ces diverses stratégies de corruption forcent le modèle à apprendre des représentations linguistiques riches et une compréhension profonde de la structure du texte. Une fois ce pré-entraînement générique effectué sur de vastes corpus de texte non étiqueté, BART peut être affiné (fine-tuned) sur des jeux de données plus petits et spécifiques à une tâche pour atteindre des performances de pointe.
L’importance de BART dans le domaine du traitement du langage naturel (NLP) est considérable. Il représente une avancée significative en unifiant les forces des modèles d’encodage bidirectionnel (comme BERT, excellents pour la compréhension) et des modèles de décodage auto-régressif (comme GPT, puissants pour la génération). Cette flexibilité lui permet d’aborder une gamme étendue de tâches NLP avec une seule architecture. BART a démontré des performances remarquables, souvent à l’état de l’art, sur de nombreux benchmarks, notamment pour le résumé de texte, la traduction automatique et la réponse à des questions génératives. Son introduction a également stimulé la recherche vers des modèles séquence-à-séquence pré-entraînés plus polyvalents et a influencé la conception de nouveaux schémas de pré-entraînement. En comblant le fossé entre les approches purement basées sur l’encodeur et celles purement basées sur le décodeur, BART a offert une nouvelle perspective sur la manière de construire des modèles de langage généralistes.
Les applications pratiques de BART sont nombreuses et variées, illustrant sa polyvalence. L’une de ses applications phares est le résumé de texte abstractif, où le modèle génère un résumé concis et cohérent qui capture les idées principales d’un document plus long, sans se contenter de copier des phrases existantes. Par exemple, BART peut résumer des articles de presse, des rapports de recherche ou des chapitres de livres. En traduction automatique, BART peut être affiné pour traduire du texte d’une langue à une autre, bénéficiant de sa capacité à comprendre le contexte source et à générer une traduction fluide. Dans le domaine de la génération de dialogue, il peut alimenter des chatbots capables de conversations plus naturelles et contextuellement pertinentes. Pour la réponse à des questions de type génératif, au lieu d’extraire une réponse d’un texte source, BART peut formuler une réponse complète en langage naturel. D’autres utilisations incluent la correction grammaticale, où il identifie et corrige les erreurs dans un texte ; la paraphrase, générant différentes formulations d’une même phrase ou idée ; le remplissage de texte, où il peut compléter des portions manquantes d’un texte de manière cohérente ; et même la génération de données synthétiques pour augmenter les ensembles de données d’entraînement dans des scénarios à faibles ressources.
Il existe différentes nuances et variations du concept BART. La version originale de BART a été proposée avec plusieurs tailles (BART-base, BART-large) pour s’adapter à différents besoins computationnels. Une variation notable est mBART (Multilingual BART), qui a été pré-entraîné sur un corpus multilingue massif, lui permettant d’effectuer des tâches de traduction et de génération dans de nombreuses langues, y compris celles avec peu de ressources. D’autres recherches ont exploré des stratégies de pré-entraînement alternatives ou des modifications architecturales pour améliorer des aspects spécifiques comme la robustesse ou l’efficacité. En comparaison avec d’autres modèles séquence-à-séquence comme T5 (Text-to-Text Transfer Transformer), BART se distingue par son décodeur auto-régressif plus classique et ses fonctions de bruit spécifiques. T5, par exemple, encadre toutes les tâches NLP comme des problèmes de « texte-à-texte » et utilise une stratégie de masquage de spans corrompus différente. Le choix et la combinaison des fonctions de bruit pendant le pré-entraînement de BART sont cruciaux pour ses performances et sa capacité à généraliser.
Pour une compréhension holistique de BART, il est utile de connaître les concepts étroitement liés. L’architecture Transformer est la pierre angulaire de BART. BERT (Bidirectional Encoder Representations from Transformers) est un modèle précurseur dont BART s’inspire pour son encodeur bidirectionnel, mais BERT est principalement un modèle d’encodage utilisé pour des tâches de compréhension. GPT (Generative Pre-trained Transformer) est un autre précurseur dont BART s’inspire pour son décodeur auto-régressif, mais GPT est principalement un modèle de décodage utilisé pour la génération. BART combine ces deux approches. Les modèles séquence-à-séquence (Seq2Seq) forment la catégorie générale à laquelle BART appartient. Le paradigme de pré-entraînement suivi d’un affinage (fine-tuning) est central à l’utilisation de BART. Le concept de Denoising Autoencoder décrit sa stratégie de pré-entraînement. Plus largement, BART s’inscrit dans les domaines du Traitement du Langage Naturel (NLP), de la Génération de Langage Naturel (NLG) et de la Compréhension du Langage Naturel (NLU). T5 est un autre modèle encodeur-décodeur influent souvent comparé à BART.
BART a été introduit par Mike Lewis et ses collègues de Facebook AI Research (FAIR) dans leur article de 2019 intitulé « BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension ». Sa création s’inscrit dans une période d’avancées rapides dans le domaine du NLP, marquée par l’émergence de grands modèles de langage pré-entraînés comme ELMo, GPT et BERT à partir de 2018. BART a été conçu pour capitaliser sur les succès de l’encodage bidirectionnel (popularisé par BERT) et du décodage auto-régressif (caractéristique de GPT), en les intégrant de manière synergique au sein d’une unique architecture encodeur-décodeur. L’innovation clé de BART réside dans la flexibilité et la diversité de ses fonctions de « bruit » utilisées durant la phase de pré-entraînement, permettant au modèle d’apprendre des représentations plus robustes et polyvalentes, particulièrement adaptées aux tâches de génération de texte.
Les avantages de BART sont nombreux. Il excelle dans les tâches de génération de texte grâce à son décodeur auto-régressif et à son pré-entraînement axé sur la reconstruction. Sa flexibilité, due à l’architecture encodeur-décodeur et aux diverses stratégies de corruption, lui permet de s’adapter à un large éventail de tâches. L’encodeur bidirectionnel assure une capture fine du contexte d’entrée, tandis que le décodeur auto-régressif est intrinsèquement adapté à la génération séquentielle. Cependant, BART présente aussi des inconvénients et des défis. Son pré-entraînement et son inférence sont coûteux en termes de ressources computationnelles en raison de sa taille et du nombre élevé de paramètres. Comme d’autres grands modèles de langage, BART peut générer du texte qui semble plausible mais est factuellement incorrect (un phénomène appelé « hallucination ») ou peut reproduire et amplifier les biais présents dans ses vastes données d’entraînement. Sa capacité à traiter de très longues séquences de texte est limitée par la nature des mécanismes d’attention du Transformer, bien que des variantes comme Longformer-BART cherchent à pallier cette limitation. Les défis actuels incluent l’amélioration de son efficacité, la réduction des biais et des hallucinations, l’obtention d’un meilleur contrôle sur le style et le contenu généré, et l’amélioration de l’interprétabilité de ses décisions. Malgré ces limitations, BART reste un modèle fondamental et influent dans le paysage du NLP.