Décodage guidé par un discriminateur avec le M onte C arlo Tree Search pour la génération de texte contrainte (Discriminator-guided decoding with M onte C arlo Tree Search for constrained text generation ) (2022)

Abstract: Dans cet article, nous explorons comment contrôler la génération de texte au moment du décodage pour satisfaire certaines contraintes (e.g. être non toxique, transmettre certaines émotions...), sans nécessiter de ré-entrainer le modèle de langue. Pour cela, nous formalisons la génération sous contrainte comme un processus d’exploration d’arbre guidé par un discriminateur qui indique dans quelle mesure la séquence associée respecte la contrainte. Nous proposons plusieurs méthodes originales pour explorer cet arbre de génération, notamment le Monte Carlo Tree Search (MCTS) qui fournit des garanties théoriques sur l’efficacité de la recherche. Au travers d’expériences sur 3 jeux de données et 2 langues, nous montrons que le décodage par MCTS guidé par les discriminateurs permet d’obtenir des résultats à l’état-de-l’art. Nous démontrons également que d’autres méthodes de décodage que nous proposons, basées sur le re-ordonnancement, peuvent être réellement efficaces lorsque la diversité parmi les propositions générées est encouragée.

## introduction et état de l'art les modèles de langue génératifs (lm pour language models) existent depuis longtemps, mais avec l'avènement de l'architecture des transformers @xcite et l'augmentation des capacités de calcul, ils sont maintenant capables de générer des textes longs et bien écrits dans beaucoup de situations. ces lm, tels gpt-2 et 3 @xcite , ont été utilisés avec succès pour diverses applications : aide à la rédaction, résumé, augmentation de données, génération de fausses nouvelles @xcite @xcite . pourtant, à part l'amorce (prompt) initiant la génération, il existe peu d'options pour contrôler le processus de génération pour, par exemple, adopter un certain style, transmettre une émotion spécifique, prévenir la toxicité ou les stéréotypes. formellement, la génération avec une contrainte c vise à trouver la séquence de tokens x 1:t du vocabulaire v maximisant p(x 1:t | c). la plupart des méthodes existantes nécessitent un ré-apprentissage (fine-tuning) du lm, afin qu'il apprenne spécifiquement à modéliser cette contrainte qui est alors inhérente au lm. un lm doit alors être entraîné spécifiquement pour chaque contrainte (qui doit être définie au préalable), ce qui est coûteux voire impossible compte tenu de la taille des lm actuels. une autre famille d'approches utilise un discriminateur (classifieur) d pour guider la génération au moment du décodage. toute contrainte supplémentaire peut alors être définie a posteriori sans avoir à ré-entraîner le lm, seulement en entraînant un autre discriminateur, ce qui est moins coûteux. les discriminateurs ont été utilisés de différentes manières pour explorer l'espace de recherche (des séquences possibles) lors de la génération. ces méthodes existantes ont plusieurs limites. certaines n'exploitent le discriminateur qu'en fin de génération, ce qui filtre plus que ne guide la génération et peut donc manquer des solutions intéressantes. à l'inverse, les méthodes exploitant d au cours de la génération souffrent d'un manque de vision à long terme de la génération. en effet, les sorties du discriminateur d peuvent n'être fiables pour guider la recherche que lorsque la séquence est (presque) terminée. dans une stratégie de décodage myope, les erreurs de classification au début des séquences feront dévier le processus de génération. dans cet article, nous proposons de nouvelles approches exploitant un discriminateur pour guider le décodage vers des textes respectant une contrainte voulue. elles ne nécessitent que d'accéder aux logits du lm, ce qui les rend utilisables avec n'importe quel lm, y compris ceux n'offrant qu'un accès limité à leurs sorties (par exemple, fournies par l'api de gpt-3). précisément, nos principales contributions sont les suivantes : ## travaux connexes peu de travaux traitent de la génération textuelle sous contrainte. son but est de trouver la séquence de tokens x 1:t qui maximise p(x 1:t | c), étant donné une contrainte c. ## conclusion contrôler la génération à l'aide d'un discriminateur est flexible et très utile lors de l'utilisation de très grands modèles de langage, tels que gpt-3, dont les coûts de calcul pour le fine-tuning sont prohibitifs. en revanche, l'apprentissage d'un discriminateur est plus facile et moins coûteux. les méthodes de contrôle de génération que nous proposons, ajoutant la contrainte du discriminateur durant la génération, donnent des performances équivalentes aux meilleures approches basées sur le ré-entraînement de lm. le mcts permet de définir précisément le meilleur compromis entre coût et qualité à travers le nombre d'itérations et la taille du roll-out, tout en assurant théoriquement l'efficacité de la recherche. dans un souci de reproductibilité, notre implémentation est mise à disposition sur https://github.com/nohtow/ppl-mcts . en considérant la génération de texte comme un processus d'exploration d'arbre, l'approche gedi réduit le coût de l'exploration en largeur mais l'exploration en profondeur reste un problème. son utilisation pour la génération sous contrainte reste donc similaire à une recherche standard du maximum de vraisemblance, pour lequel on ne dispose pas d'une méthode optimale. à l'inverse, le mcts offre un moyen efficace d'explorer l'arbre de recherche en déterminant le meilleur choix local à long terme, ce qui réduit le coût de l'exploration en profondeur. ainsi, ces deux méthodes résolvent différentes facettes de la génération sous contrainte, et la combinaison des deux est une perspective prometteuse. plusieurs pistes de recherche sont ouvertes par ce travail. ainsi, une taille de roll-out adaptative, par exemple jusqu'à ce que le score du discriminateur soit supérieur ou inférieur à un seuil comme dans @xcite , semblerait particulièrement adaptée aux textes.