Maison > Article > Périphériques technologiques > Application du codage positionnel dans Transformer : explorer les possibilités infinies de l'extrapolation de longueur
Dans le domaine du traitement du langage naturel, le modèle Transformer a attiré beaucoup d'attention en raison de ses excellentes performances de modélisation de séquences. Cependant, en raison de la longueur limitée du contexte lors de sa formation, ni lui ni son grand modèle de langage basé sur celui-ci ne peuvent gérer efficacement les séquences dépassant cette limite de longueur. C'est ce qu'on appelle le manque de capacité « d'extrapolation de longueur effective ». Cela se traduit par des modèles de langage volumineux qui fonctionnent mal lors du traitement de textes longs, voire sont incapables de les gérer. Afin de résoudre ce problème, les chercheurs ont proposé une série de méthodes, telles que la méthode de troncature, la méthode segmentée et la méthode hiérarchique. Ces méthodes visent à améliorer les capacités d'extrapolation de longueur effective du modèle grâce à quelques astuces, afin qu'il puisse mieux gérer des séquences très longues. Bien que ces méthodes atténuent ce problème dans une certaine mesure, des recherches supplémentaires sont encore nécessaires pour améliorer davantage la capacité d'extrapolation de longueur effective du modèle afin de mieux s'adapter aux besoins des scénarios d'application pratiques.
La continuation du texte et l'extension du langage sont l'un des aspects importants de la capacité linguistique humaine. À l’ère des grands modèles, l’extrapolation de longueur est devenue une méthode importante pour appliquer efficacement les capacités du modèle aux données de séquences longues. La recherche sur cette question a une valeur théorique et pratique, c'est pourquoi des travaux connexes continuent d'émerger. Dans le même temps, une revue systématique est également nécessaire pour fournir une vue d’ensemble de ce domaine et repousser continuellement les limites des modèles linguistiques.
Des chercheurs de l'Institut de technologie de Harbin ont systématiquement examiné les progrès de la recherche sur le modèle Transformer en extrapolation de longueur du point de vue du codage de position. Les chercheurs se concentrent principalement sur les codes de position extrapolables et les méthodes d'extension basées sur ces codes pour améliorer la capacité d'extrapolation de longueur du modèle Transformer.
Lien papier : https://arxiv.org/abs/2312.17044
Étant donné que le modèle Transformer lui-même ne peut pas capturer les informations de position de chaque mot dans la séquence, par conséquent le codage positionnel est devenu un ajout courant. Le codage de position peut être divisé en deux types : le codage de position absolue et le codage de position relative. Le codage de position absolue ajoute un vecteur de position à chaque mot de la séquence d'entrée pour représenter les informations de position absolue du mot dans la séquence. Le codage de position relative code la distance relative entre chaque paire de mots dans des positions différentes. Les deux méthodes de codage peuvent intégrer les informations sur l'ordre des éléments dans la séquence dans le modèle Transformer pour améliorer les performances du modèle.
Étant donné que les recherches existantes montrent que cette classification est essentielle à la capacité d'extrapolation du modèle, nous diviserons cette section en fonction de cette classification.
Codage de position absolue
Dans l'article original de Transformer, le codage de position a été généré par les fonctions sinus et cosinus. Cette méthode, bien qu'elle ne soit pas bien extrapolée, a servi de premier Transformer A PE, sinus APE. a eu un impact profond sur l’EP ultérieure.
Pour améliorer les capacités d'extrapolation des modèles Transformer, les chercheurs intègrent l'invariance de déplacement dans l'APE sinusoïdale via des déplacements aléatoires, ou génèrent des intégrations de position qui varient en douceur avec la position et s'attendent à ce que le modèle apprenne à déduire cette fonction variable. Les méthodes basées sur ces idées présentent des capacités d’extrapolation plus fortes que l’APE sinusoïdale, mais ne peuvent toujours pas atteindre le niveau du RPE. L'une des raisons est que l'APE mappe différentes positions à différentes intégrations de positions, et l'extrapolation signifie que le modèle doit déduire des intégrations de positions invisibles. Il s’agit cependant d’une tâche difficile pour le modèle. Étant donné qu'il existe un nombre limité d'intégrations de positions récurrentes au cours d'une pré-formation approfondie, en particulier dans le cas du LLM, le modèle est très susceptible d'être surajusté à ces codages de position. Encodage de position relative . Ces dernières années, le RPE est devenu la méthode dominante pour coder les informations de position.
Les premiers RPE provenaient de simples modifications des codages de position sinusoïdale, souvent combinées à des stratégies d'élagage ou de regroupement pour éviter les intégrations de positions hors distribution, considérées comme bénéfiques pour l'extrapolation. De plus, étant donné que RPE dissocie la correspondance biunivoque entre la position et la représentation de position, l'ajout du terme de biais directement à la formule d'attention devient un moyen réalisable, voire meilleur, d'intégrer les informations de position dans Transformer. Cette approche est beaucoup plus simple et démêle naturellement le vecteur de valeur et les informations de position. Cependant, bien que ces méthodes de biais aient de fortes propriétés d’extrapolation, elles ne peuvent pas représenter des fonctions de distance complexes comme dans RoPE (Rotary Position Embedding). Par conséquent, bien que RoPE ait une extrapolation médiocre, il est récemment devenu le codage de position le plus courant pour les LLM en raison de ses excellentes performances globales. Tous les PE extrapolables introduits dans l'article sont présentés dans le tableau 1.
Afin d'améliorer les capacités d'extrapolation de longueur des LLM, les chercheurs ont proposé une variété de méthodes basées sur le codage de position existant, principalement divisées en interpolation de position (Position Interpolation) ) et codage de position aléatoire (Randomized Position Encoding) deux catégories.
Méthode d'interpolation de position
La méthode d'interpolation de position met à l'échelle les codes de position pendant l'inférence, de sorte que les codes de position qui dépassent à l'origine la longueur d'entraînement du modèle tombent dans l'intervalle de position entraîné après interpolation. Les méthodes d'interpolation positionnelle ont suscité un large intérêt de la part de la communauté des chercheurs en raison de leurs excellentes performances d'extrapolation et de leur surcharge extrêmement faible. De plus, contrairement à d’autres méthodes d’extrapolation, les méthodes d’interpolation positionnelle ont été largement utilisées dans les modèles open source tels que Code Llama, Qwen-7B et Llama2. Cependant, les méthodes d'interpolation actuelles se concentrent uniquement sur RoPE, et il reste encore à explorer comment faire en sorte que le LLM utilisant d'autres PE ait de meilleures capacités d'extrapolation grâce à l'interpolation.
Encodage positionnel aléatoire
En termes simples, le PE aléatoire découple simplement les fenêtres contextuelles pré-entraînées des longueurs d'inférence plus longues en introduisant des positions aléatoires pendant l'entraînement, améliorant ainsi les performances à long terme de toutes les positions dans le. fenêtre contextuelle. Il est à noter que l'idée de l'EP randomisée est très différente de la méthode d'interpolation de positions. La première vise à faire observer au modèle toutes les positions possibles pendant l'entraînement, tandis que la seconde essaie d'interpoler les positions lors de l'inférence afin qu'elles tombent dans. un emplacement prédéterminé. Pour la même raison, les méthodes d'interpolation positionnelle sont pour la plupart plug-and-play, tandis que l'EP aléatoire nécessite souvent un réglage plus fin, ce qui rend l'interpolation positionnelle plus attrayante. Cependant, ces deux catégories de méthodes ne s’excluent pas mutuellement et peuvent donc être combinées pour améliorer encore les capacités d’extrapolation du modèle.
Ensembles de données d'évaluation et de référence : Dans les premières recherches, l'évaluation des capacités d'extrapolation de Transformer provenait des indicateurs d'évaluation des performances de diverses tâches en aval, telles que le BLEU de la traduction automatique ; À mesure que les modèles de langage tels que T5 et GPT2 unifient progressivement les tâches de traitement du langage naturel, la perplexité utilisée dans la modélisation du langage est devenue un indice d'évaluation pour l'extrapolation. Cependant, les dernières recherches ont montré que la perplexité ne peut pas révéler la performance des tâches en aval. Il existe donc un besoin urgent de jeux de données de référence et de mesures d'évaluation dédiés pour promouvoir le développement ultérieur dans le domaine de l'extrapolation de longueur.
Explication théorique : Les travaux actuels liés à l'extrapolation de longueur sont principalement empiriques. Bien qu'il existe quelques tentatives préliminaires pour expliquer l'extrapolation réussie du modèle, une base théorique solide n'a pas encore été établie. Et dans quelle mesure les performances d'extrapolation en longueur sont affectées reste une question ouverte.
Autres méthodes : Comme mentionné dans cet article, la plupart des travaux d'extrapolation de longueur existants se concentrent sur la perspective de codage positionnel, mais il n'est pas difficile de comprendre que l'extrapolation de longueur nécessite une conception systématique. Le codage positionnel est un élément clé, mais en aucun cas le seul, et une vision plus large stimulera davantage le problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!