Choisir le bon co-équipier pour la génération coopérative de texte (Choosing The Right Teammate For Cooperative Text Generation) (2022)

Abstract: Les modèles de langue génèrent des textes en prédisant successivement des distributions de probabilité pour les prochains tokens en fonction des tokens précédents. Pour générer des textes avec des propriétés souhaitées (par ex. être plus naturels, non toxiques ou avoir un style d’écriture spécifique), une solution — le décodage coopératif — consiste à utiliser un classifieur lors de la génération pour guider l’échantillonnage de la distribution du modèle de langue vers des textes ayant la propriété attendue. Dans cet article, nous examinons trois familles de discriminateurs (basés sur des transformers) pour cette tâche de décodage coopératif : les discriminateurs bidirectionnels, unidirectionnels (de gauche à droite) et génératifs. Nous évaluons leurs avantages et inconvénients, en explorant leur précision respective sur des tâches de classification, ainsi que leur impact sur la génération coopérative et leur coût de calcul, dans le cadre d’une stratégie de décodage état de l’art, basée sur une recherche arborescente de Monte-Carlo (MCTS). Nous fournissons également l’implémentation (batchée) utilisée pour nos expériences.

## introduction les architectures à base de transformers @xcite permettent aux modèles de langue (lm pour language models) actuels de générer des textes très plausibles dans certaines situations (pour une discussion approfondie de ces capacités, voir @xcite ). pendant le décodage, étant donnée une séquence initiale de tokens (l'amorce ou prompt), le lm calcule une distribution de probabilité sur le vocabulaire du prochain token. un token en est ensuite échantillonné et ajouté à la séquence initiale pour générer le token suivant, etc. le choix du token suivant selon la distribution est généralement effectué par recherche gloutonne (greedy search), recherche par faisceau (beam search) @xcite ou par échantillonnage top-k/p (top p/k sampling) @xcite ; ces méthodes sélectionnent le token suivant uniquement selon la vraisemblance (selon le lm) de la séquence résultante, ce qui n'offre qu'un contrôle limité sur le texte finalement généré à la fin du processus de décodage. cependant, des discriminateurs (des classifieurs) peuvent être entraînés pour identifier une propriété spécifique d'un texte et donc fournir des informations utiles pour guider le modèle de langue vers une propriété désirée, soit lors de l'apprentissage, soit lors du décodage. plusieurs études utilisent ainsi des discriminateurs pour distinguer les contenus réels des contenus générés @xcite , visant par la même occasion à améliorer le réalisme des textes générés @xcite . d'autres cherchent à modéliser des propriétés sémantiques, par exemple la polarité du texte pour générer sur demande des textes de polarité positive ou négative @xcite @xcite . en pratique, l'utilisation du discriminateur peut être faite lors de l'apprentissage du lm, à la manière des generative adversarial networks @xcite . cependant, pour pallier les limites de ces approches adversariales sur le texte @xcite , certains travaux utilisent plutôt les discriminateurs pour guider le décodage au moment de la génération de manière coopérative @xcite @xcite . c'est dans ce cadre dit de décodage coopératif que ce situe notre travail. actuellement, les discriminateurs les plus performants reposent sur des architectures à base de transformers avec attention bidirectionnelle @xcite . mais cela ne convient pas à la nature itérative du processus de génération qui nécessite de recalculer chaque état caché de la séquence entière pour chaque token supplémentaire, empêchant l'utilisation des états cachés de l'itération précédente, et entraînant un coût quadratique fonction de la longueur de la séquence. au contraire, les transformers unidirectionnels, qui utilisent des masques de gauche à droite pour ne dépendre que des tokens passés pour l'encodage/décodage du texte @xcite , permettent la ré-utilisation des états cachés pour les étapes suivantes, impliquant donc une complexité de calcul linéaire. ces deux types de discriminateurs n'évaluent cependant qu'une seule séquence à la fois, donnée en entrée du modèle. cela limite le nombre de tokens qu'il est possible de tester à chaque étape de décodage, sous peine de coûts de calcul prohibitifs. pour résoudre ce problème, les discriminateurs génératifs (gedi) @xcite récemment introduits donnent un score pour tous les tokens du vocabulaire en une seule fois, ce qui réduit considérablement le coût de l'exploration en largeur (tous les tokens peuvent être testés au temps t). dans cet article, nous étudions les avantages et inconvénients de ces trois types de discriminateurs pour le décodage coopératif : les discriminateurs avec attention bidirectionnelle @xcite , ceux avec attention unidirectionnelle @xcite , et les discriminateurs génératifs @xcite . pour les évaluer dans ce cadre de génération coopérative, nous utilisons une approche de décodage état-de-l'art inspiré du monte carlo tree search (mcts) @xcite . le mcts permet en effet de proposer une startégie de décodage non-myope, obtenant des résultats état-de-l'art dans différents cadres applicatifs @xcite @xcite . nous en rappelons brièvement le principe ci-après. nous fournissons enfin une implémentation du mcts capable de générations par lot (batch) pour chaque type de discriminateur, basée sur la bibliothèque transformers d'huggingface @xcite . ## étude empirique en terme de précision, les modèles bidirectionnels devraient être supérieurs aux unidirectionnels @xcite , eux-mêmes supérieurs aux générateurs discriminatifs @xcite . pour évaluer de manière approfondie les avantages et les inconvénients de ces modèles, avec les architectures transformers les plus récentes, il est crucial que la seule différence soit la propriété étudiée (uni-vs. bidirectionnalité, discriminatif vs. génératif). ainsi, nous utiliserons la même architecture transformer, avec une simple couche de sortie entièrement connectée au-dessus de l'embedding contextuel du token final, pour produire les scores de discrimination. en partant de bert @xcite comme discriminateur bidirectionnel, un masque d'attention triangulaire est appliqué pour le rendre unidirectionnel, en suivant @xcite . le discriminateur génératif (gedi) est le même que ce dernier, la seule différence étant la taille de la couche de sortie qui passe de (hidden_size, |c|) à (hidden_size, |v|). les expériences sont réalisées sur deux jeux de données en anglais @xcite : chaque modèle est entraîné pendant 20 epochs en utilisant adamw @xcite avec les paramètres par défaut du trainer d'huggingface : scheduler linéaire, sans warmup, β 1 = 0, 9, β 2 = 0, 999, = 1e -8. la taille des batchs est fixée au maximum tenant en mémoire d'une quadro rtx 6000 pendant l'entraînement de gedi : 4 pour ag_news, 8 pour amazon_polarity. l'accumulation de gradient émule une taille de batch de 128. pour l'apprentissage de gedi, nous avons suivi les auteurs en fixant λ = 0, 6 (et nous n'avons pas observé de différence significative en fixant λ = 0 pour renforcer la capacité de discrimination). ## conclusion la génération coopérative s'avère être un moyen efficace d'améliorer la génération de texte traditionnelle avec des informations externes provenant d'un discriminateur. alors que les transformers à attention bidirectionnelle sont généralement préférés pour les tâches discriminatives, ils ne sont pas auto-régressifs et sont donc beaucoup plus coûteux lorsqu'ils sont utilisés pour guider la génération. bien qu'un peu moins précis qu'avec l'attention bidirectionelle, les transformers unidirectionnels permettent quant à eux d'obtenir des résultats très similaires pour un coût bien plus faible dans ce contexte d'utilisation. notre étude montre ainsi que les discriminateurs unidirectionnels sont un meilleur choix pour la génération coopérative, pour laquelle de légères baisses de précision peuvent être compensées par le réinvestissement d'une partie du gain computationnel dans l'exploration de plus de solutions. compte tenu de la taille des vocabulaires usuels, les discriminateurs génératifs semblaient a priori très intéressants pour permettre une recherche plus large. cependant, les parcours d'arborescence effectués par le mcts ne permettent pas de profiter de ces meilleures capacités d'exploration en