nouvelles

Où est passé le célèbre BERT ?La réponse à cette question signale un changement de paradigme en LLM

2024-07-22

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Où est passé le modèle d’encodeur ? Si BERT fonctionne bien, pourquoi ne pas le prolonger ? Qu’en est-il des modèles avec encodeur-décodeur ou avec encodeur uniquement ?



Dans le domaine des grands modèles de langage (LLM), nous vivons désormais une époque où seuls les modèles de décodeur (tels que la série de modèles GPT) dominent. Qu’en est-il du développement de modèles codeur-décodeur ou codeur uniquement ? Pourquoi BERT, autrefois si célèbre, de moins en moins de gens y prêtent-ils attention ?

Récemment, Yi Tay, scientifique en chef et co-fondateur de la startup d'IA Reka, a publié un article de blog pour partager son point de vue. Yi Tay a travaillé chez Google Research et Google Brain pendant plus de trois ans avant de co-fonder Reka et a participé au développement de célèbres LLM tels que PaLM, UL2, Flan-2 et Bard, ainsi que de modèles multimodaux tels que PaLI-X et ViT-22B fonctionnent. Voici le contenu de son article de blog.



Introduction de base

D'une manière générale, l'architecture du modèle LLM au cours des dernières années est principalement divisée en trois paradigmes principaux : le modèle codeur uniquement (tel que BERT), le modèle codeur-décodeur (tel que T5) et le modèle décodeur uniquement (tel que la série GPT). des modèles). Les gens sont souvent confus et comprennent mal ces méthodes et structures de classification.

La première chose à comprendre est que le modèle codeur-décodeur est en réalité un modèle autorégressif. Dans le modèle codeur-décodeur, le décodeur est encore essentiellement un décodeur causal. Au lieu de pré-remplir le modèle de décodeur, il décharge du texte vers l'encodeur, puis l'envoie au décodeur via une attention croisée. Oui, le modèle T5 est aussi un modèle de langage !

Une variante de ce type de modèle est le Prefix Language Model, ou PrefixLM en abrégé, qui fonctionne presque de la même manière mais sans attention croisée (et d'autres petits détails tels que les poids partagés entre l'encodeur/décodeur et l'absence de goulot d'étranglement de l'encodeur). PrefixLM est parfois appelé décodeur non causal. En termes simples, il n'y a pas beaucoup de différence globale entre les modèles à encodeur-décodeur, les modèles à décodeur uniquement et PrefixLM !

Dans l'excellente conférence récente de Hyung Won, il explique de manière experte la relation entre ces modèles. Pour plus de détails, veuillez vous référer au rapport de Machine Heart : « Quelle sera la principale force motrice de la recherche sur l'IA ? » Chercheur de l’équipe ChatGPT : les coûts informatiques diminuent》

Dans le même temps, la méthode de débruitage des modèles à encodeur uniquement comme BERT est différente (c'est-à-dire sur place) et, dans une certaine mesure, pour que le modèle à encodeur uniquement joue réellement un rôle après la pré-formation, il doit de s'appuyer sur l'en-tête de classification "tâche". Plus tard, des modèles tels que le T5 ont adopté une version « modifiée » de la cible de débruitage, qui utilisait un format séquence à séquence.

À cette fin, il est important de souligner : le débruitage dans T5 n'est pas une nouvelle fonction objectif (au sens de l'apprentissage automatique), mais une transformation de données à travers les entrées, c'est-à-dire que vous pouvez également utiliser un décodeur causal formé à travers des objectifs corrompus (span corruption objectif).

Les gens supposent toujours que les modèles codeur-décodeur doivent être des modèles de débruitage, en partie parce que T5 est très représentatif. Mais ce n'est pas toujours le cas. Vous pouvez entraîner l'encodeur-décodeur à l'aide de tâches de modélisation de langage classiques (telles que la modélisation de langage causale). À leur tour, les décodeurs causals peuvent également être formés à l’aide de tâches de corruption d’étendue. Comme je l'ai déjà dit, il s'agit essentiellement d'une transformation de données.

Un autre point à noter : en général, un codeur-décodeur avec 2N paramètres est informatiquement identique à un modèle de décodeur uniquement avec N paramètres, donc leur rapport entre les FLOP et le nombre de paramètres est différent. C'est comme distribuer la « parcimonie du modèle » entre l'entrée et la cible.

Ce n’est pas nouveau et je ne l’ai pas inventé moi-même. C'était dans l'article T5 en 2019, et l'article UL2 a également souligné à nouveau ce point.

Pour l’instant, je suis heureux de pouvoir clarifier cela. Passons maintenant aux objectifs.

Concernant les objectifs de débruitage (ça ne marche pas ? Est-ce que ça n'évolue pas ? Ou est-ce tout simplement trop facile ?)

La cible de débruitage fait ici référence à toute variante de la tâche « endommagement de la portée ». C'est ce qu'on appelle parfois « remplir » ou « remplir les blancs ». Il existe de nombreuses façons de l'exprimer, telles que la longueur de la durée, le caractère aléatoire, le jeton sentinelle, etc. Vous devez avoir compris la clé.

Bien que l'objectif de débruitage des modèles de style BERT soit fondamentalement en place (par exemple, la tête de classification se trouve sur le jeton de masque), le « style T5 » est plus moderne, c'est-à-dire via un encodeur-décodeur ou un décodeur uniquement. modèle pour gérer la transformation des données. Dans une telle transformation de données, les jetons masqués sont simplement « replacés » afin que le modèle puisse faire des prédictions.

L'objectif principal de la pré-formation est de construire des représentations internes alignées sur la tâche en aval de la manière la plus efficace et efficiente possible. Plus cette représentation interne est bonne, plus il est facile d’utiliser ces représentations apprises pour des tâches ultérieures. Nous savons tous que la simple prédiction du mot suivant fonctionne extrêmement bien pour l'objectif de « modélisation causale du langage » et est devenue le cœur de la révolution LLM. La question est maintenant de savoir si l’objectif de débruitage est tout aussi bon.

D'après les informations publiques, nous savons que le T5-11B fonctionne plutôt bien, même après alignement et réglage fin supervisé (le score MMLU du Flan-T5 XXL est de 55+, ce qui était plutôt bon pour un modèle de cette taille à l'époque). . Nous pouvons donc conclure que le processus de transfert des cibles de débruitage (préentraînement → alignement) fonctionne relativement bien à cette échelle.

Mon opinion est que la cible de débruitage fonctionne bien, mais pas assez pour être une cible à elle seule. Un énorme inconvénient découle de ce que l'on appelle moins « l'exposition aux pertes ». Dans la cible de débruitage, seul un petit nombre de jetons est masqué et appris (c'est-à-dire pris en compte dans la perte). À l’inverse, dans la modélisation d’un langage classique, ce chiffre est proche de 100 %. Cela rend les échantillons par FLOP très inefficaces, ce qui désavantage considérablement la cible de débruitage dans les comparaisons sur une base de flop.

Un autre inconvénient des objectifs de débruitage est qu'ils sont moins naturels que la modélisation de langage classique, car ils reformatent les entrées/sorties d'une manière étrange, ce qui les rend moins adaptés à un apprentissage en quelques étapes. (Mais il est toujours possible d'ajuster ces modèles pour qu'ils fonctionnent raisonnablement bien sur des tâches en quelques étapes.) Par conséquent, je pense que les objectifs de débruitage ne devraient être utilisés que comme objectifs complémentaires pour la modélisation de langage classique.

Les premiers jours de l'unité et la raison pour laquelle les modèles de type BERT ont disparu

Des modèles comme BERT ont progressivement disparu, et on n’en parle plus beaucoup. Cela peut également expliquer pourquoi nous ne pouvons pas voir de modèles BERT à très grande échelle actuellement. quelle est la raison? Cela est dû en grande partie à l’unification et au changement des paradigmes de tâches/modélisation. Les modèles de style BERT sont encombrants, mais la véritable raison pour laquelle les modèles BERT ont été obsolètes est que les gens voulaient tout faire en même temps, c'est pourquoi une meilleure façon de débruiter a été adoptée : en utilisant des modèles autorégressifs.

Au cours de la période 2018-2021, il y a eu un changement de paradigme implicite : du réglage fin d’une tâche unique à des modèles multitâches à grande échelle. Cela nous a lentement conduit au modèle SFT unifié, qui est le modèle universel que nous voyons aujourd’hui. C'est difficile à faire avec BERT. Je ne pense pas que cela ait grand chose à voir avec le "débruitage". Pour les personnes qui souhaitent toujours utiliser un tel modèle (c'est-à-dire T5), ils ont trouvé un moyen de reformuler la tâche de pré-entraînement de débruitage, ce qui rend les modèles de style BERT fondamentalement obsolètes de nos jours car nous en avons de meilleurs.

Plus précisément, les modèles d'encodeur-décodeur et de décodeur uniquement peuvent être utilisés pour une variété de tâches sans avoir besoin d'en-têtes de classification spécifiques à la tâche. Pour l'encodeur-décodeur, les chercheurs et les ingénieurs ont commencé à découvrir que l'effet de l'abandon de l'encodeur était similaire à celui de l'encodeur BERT. De plus, cela préserve les avantages de l’attention bidirectionnelle – un avantage qui rend BERT compétitif par rapport à GPT à petite échelle (souvent à des échelles de production).

La valeur de la cible de débruitage

La cible de pré-entraînement au débruitage apprend également à prédire le mot suivant d'une manière similaire à la modélisation linguistique classique. Cependant, contrairement à la modélisation conventionnelle du langage causal, cela nécessite d'utiliser une transformation de données sur la séquence afin que le modèle puisse apprendre à « remplir les blancs » plutôt que de simplement prédire le texte naturel de gauche à droite.

Il convient de noter que les cibles de débruitage sont parfois appelées « tâches de remplissage » et sont parfois mélangées à des tâches régulières de modélisation du langage dans le processus de pré-formation.

Bien que les détails exacts de la configuration et de l'implémentation puissent varier, les LLM modernes d'aujourd'hui peuvent utiliser une combinaison de modélisation et de remplissage du langage. Il est intéressant de noter que cet hybride « modèle de langage + remplissage » s'est en fait répandu à peu près à la même période (comme UL2, FIM, GLM, CM3), et de nombreuses équipes ont apporté leurs propres solutions hybrides uniques. À propos, le plus grand modèle connu formé de cette manière est probablement PaLM-2.

Il convient également de noter que la combinaison de tâches de pré-entraînement peut également être empilée dans l'ordre et ne doit pas nécessairement être mélangée en même temps. Par exemple, Flan-T5 a été initialement formé sur des jetons endommagés d'une durée de 1T, puis commuté. à 100 B de jetons pour la cible de modélisation du langage feedforward. Ensuite, affinez la commande flan. Dans une certaine mesure, cela convient aux modèles hybrides de débruitage/cible LM. Pour être clair, l'objectif de la modélisation du langage préfixe (à ne pas confondre avec l'architecture) est une modélisation du langage purement causale, avec un point de partage déterminé aléatoirement et envoyé à l'entrée (sans perte ni masquage non causal).

Par ailleurs, le remplissage peut provenir du domaine du code LLM, où « remplir les blancs » était davantage une fonction requise pour l'écriture du code. Pendant ce temps, la motivation de UL2 est davantage d'unifier l'objectif de débruitage et les catégories de tâches dans lesquelles LLM bidirectionnel excelle avec des tâches intrinsèquement génératives telles que la synthèse ou la génération ouverte. L'avantage de ce « décalage vers l'arrière » du décodage autorégressif est qu'il permet non seulement au modèle d'apprendre des dépendances à plus longue portée, mais lui permet également de bénéficier implicitement d'une attention bidirectionnelle non explicite (car pour remplir les blancs, vous j'ai vu l'avenir).

Il existe une expérience légendaire : les représentations apprises en débruitant les cibles fonctionnent mieux sur des catégories de tâches spécifiques et ont parfois une efficacité d'échantillonnage plus élevée. Dans l'article U-PaLM, nous montrons comment une petite quantité de formation ascendante endommagée modifie le comportement et les phénomènes émergents sur un ensemble de tâches BIG-Bench. Sur cette base, l’ajustement fin d’un modèle formé avec cet objectif aboutit souvent à un modèle affiné mieux supervisé, surtout lorsque l’échelle est petite.

En termes de réglage fin d'une seule tâche, on peut constater que le modèle PaLM-1 62B est vaincu par le modèle T5, beaucoup plus petit. À une échelle relativement petite, « attention bidirectionnelle + cible de débruitage » est une belle combinaison ! Je pense que de nombreux praticiens ont également remarqué cette situation, notamment dans les applications de production.

Qu’en est-il de l’attention bidirectionnelle ?

L’attention bidirectionnelle est un « biais inductif » intéressant pour les modèles de langage – un biais que les gens confondent souvent avec les objectifs et les piliers du modèle. Le biais inductif est utilisé différemment selon les domaines informatiques et peut avoir des effets différents sur la courbe d'expansion. Cela dit, l’attention bidirectionnelle peut être moins importante à des échelles plus grandes qu’à des échelles plus petites, ou peut avoir des effets différents sur différentes tâches ou modalités. Par exemple, PaliGemma utilise l'architecture PrefixLM.

Hyung Won a également souligné dans son exposé : les modèles PrefixLM (modèles à décodeur uniquement utilisant une attention bidirectionnelle) ont également des problèmes de mise en cache, ce qui est un défaut inhérent à ce type d'architecture. Cependant, je pense qu'il existe de nombreuses façons de remédier à cette faille, mais cela dépasse le cadre de cet article.

Avantages et inconvénients de l'architecture codeur-décodeur

L'architecture codeur-décodeur présente des avantages et des inconvénients par rapport au modèle avec décodeur uniquement. Le premier cas est que le côté codeur n’est pas limité par le masque causal. Dans une certaine mesure, vous pouvez lâcher prise sur la couche d'attention et effectuer une mise en commun ou toute forme d'attention linéaire de manière agressive sans vous soucier des limites de conception de l'autorégression. C'est un excellent moyen de décharger le "contexte" moins important vers l'encodeur. Vous pouvez également réduire la taille de l'encodeur, ce qui constitue également un avantage.

Un exemple d'architecture d'encodeur-décodeur requise est Charformer, qui utilise audacieusement les encodeurs et atténue le désavantage de vitesse des modèles au niveau de l'octet. Innover du côté des codeurs peut générer des bénéfices rapides sans se soucier des pièges importants du masquage causal.

Dans le même temps, par rapport à PrefixLM, un inconvénient du codeur-décodeur est que l'entrée et la cible doivent se voir attribuer un budget fixe. Par exemple, si le budget d'entrée est de 1 024 jetons, le côté encodeur doit alors atteindre cette valeur, ce qui peut gaspiller beaucoup de calcul. En revanche, dans PrefixLM, les entrées et les cibles peuvent être connectées directement, atténuant ainsi ce problème.

Pertinence par rapport aux modèles actuels et points clés à retenir

À l'ère d'aujourd'hui, une capacité clé pour être un chercheur et un praticien LLM qualifié est d'être capable de déduire des biais inductifs à la fois du point de vue architectural et du côté pré-formation. Comprendre les différences subtiles peut aider les gens à extrapoler et à continuer d’innover.

Voici mes principaux points à retenir :

Les modèles codeur-décodeur et décodeur uniquement sont tous deux des modèles autorégressifs, ils diffèrent au niveau de la mise en œuvre et ont leurs propres avantages et inconvénients. Ce sont des biais inductifs légèrement différents. Le choix à utiliser dépend des cas d'utilisation en aval et des contraintes de l'application. Dans le même temps, les modèles d'encodeurs de style BERT peuvent être considérés comme obsolètes pour la plupart des cas d'utilisation LLM et des cas d'utilisation de niche.

La cible de débruitage peut principalement être utilisée en complément du modèle de langage causal. Ils ont été utilisés avec succès comme « cibles de soutien » pendant la phase de formation. La formation de modèles de langage causal à l'aide de cibles de débruitage est souvent utile dans une certaine mesure. Bien que cela soit très courant dans le monde des modèles de code (c'est-à-dire le bourrage de code), il est également courant que les modèles à usage général utilisent aujourd'hui un modèle de langage causal ainsi qu'une cible de débruitage pour la pré-formation.

L’attention bidirectionnelle peut grandement aider les petits modèles, mais n’est pas nécessaire pour les modèles plus grands. Ce sont surtout des rumeurs. Je pense que l'attention bidirectionnelle a un biais inductif, similaire à de nombreux autres types de modifications du modèle Transformer.

Enfin, un résumé. Il n'existe actuellement aucune version à grande échelle du modèle BERT en fonctionnement : le modèle BERT a été obsolète et remplacé par le modèle T5 à débruitage (autorégressif) plus flexible. Cela est principalement dû à l’unification du paradigme, c’est-à-dire que les gens préfèrent utiliser un modèle général pour effectuer diverses tâches (plutôt que d’utiliser un modèle spécifique à une tâche). Dans le même temps, le débruitage autorégressif peut parfois être utilisé comme objectif secondaire des modèles de langage causal.

Lien d'origine : https://www.yitay.net/blog/model-architecture-blogpost-encoders-prefixlm-denoising