Présentation de l'optimisation de préférence de token final

L'optimisation de préférence de token final (FTPO) est une méthode conçue pour réduire les boucles de dégénérescence dans les modèles de langage. Cette approche vise à identifier les tokens qui débutent une boucle et à former le modèle pour préférer des alternatives cohérentes à ces positions spécifiques.

Fonctionnement de l'optimisation de préférence de token final

Le processus commence par la génération de complétions sur un mélange de prompts conçus pour provoquer des boucles à basse température. Les échecs sont ensuite exploités pour construire un ensemble de formation ciblé. Une boucle est détectée dans un échantillon si une section se répète au moins quatre fois sur au moins 60 caractères. La première token de la première répétition est ciblée, et les alternatives plausibles sont sélectionnées parmi les tokens les plus probables du modèle de base.

count    part  token
   2277  11.39%  ' the'
    902   4.51%  ' So'
    644   3.22%  'Alternatively'
    511   2.56%  'Wait'
    493   2.46%  ' But'

Implémentation et résultats de l'optimisation de préférence de token final

La formation de l'algorithme FTPO se déroule sur un epoch avec LoRA, et les meilleurs résultats sont obtenus avec des rangs LoRA élevés (128-256). La formation est effectuée sur toutes les projections d'attention et de MLP, ainsi que sur lm_head, avec des taux d'apprentissage optimaux autour de 4e-6 à 2e-5. L'arrêt précoce est déclenché conditionnellement sur chosen_win (proportion d'échantillons où les tokens choisis sont gagnants par rapport aux tokens rejetés). L'arrêt à chosen_win=0,35 réduit généralement les taux de boucle de dégénérescence de 20-30% à 1-2% avec une dégradation minimale.

Implications et limites de l'optimisation de préférence de token final

Les résultats montrent que l'optimisation de préférence de token final peut efficacement réduire les boucles de dégénérescence dans les modèles de langage. Cependant, il est important de noter que la formation peut survenir facilement, et une attention particulière doit être portée à l'arrêt précoce pour éviter la dégradation du modèle. De plus, la méthode nécessite une génération ciblée de prompts pour provoquer des boucles, ce qui peut nécessiter des ressources computacionales importantes.