Maison > Périphériques technologiques > IA > Est-il nécessaire de « participer » ? Andrej Karpathy : Il est temps de jeter ce bagage historique

Est-il nécessaire de « participer » ? Andrej Karpathy : Il est temps de jeter ce bagage historique

王林
Libérer: 2023-05-20 12:52:06
avant
1351 Les gens l'ont consulté

L'émergence de l'IA conversationnelle telle que ChatGPT a habitué les gens à ce genre de choses : saisissez un texte, un code ou une image, et le robot conversationnel vous donnera la réponse que vous souhaitez. Mais derrière cette méthode d'interaction simple, le modèle d'IA doit effectuer un traitement de données et des calculs très complexes, et la tokenisation est courante.

Dans le domaine du traitement du langage naturel, la tokenisation fait référence à la division du texte saisi en unités plus petites, appelées « jetons ». Ces jetons peuvent être des mots, des sous-mots ou des caractères, en fonction de la stratégie spécifique de segmentation des mots et des exigences de la tâche. Par exemple, si nous effectuons une tokenisation sur la phrase « J'aime manger des pommes », nous obtiendrons une séquence de tokens : ["I", "Like", "Eat", "Apple"]. Certaines personnes traduisent la tokenisation par « segmentation de mots », mais d'autres pensent que cette traduction est trompeuse. Après tout, le jeton segmenté n'est peut-être pas le « mot » que nous comprenons tous les jours.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Source de l'image : https://towardsdatascience.com/dynamic-word-tokenization-with-regex-tokenizer-801ae839d1cd

Le but de la tokenisation est de convertir les données d'entrée en quelque chose que l'ordinateur peut traiter la forme et fournir une représentation structurée pour la formation et l'analyse ultérieures du modèle. Cette méthode apporte de la commodité à la recherche sur l’apprentissage profond, mais elle pose également beaucoup de problèmes. Andrej Karpathy, qui vient de rejoindre OpenAI il y a quelque temps, en a souligné plusieurs.

Tout d'abord, Karpathy estime que la tokenisation introduit de la complexité : en utilisant la tokenisation, le modèle de langage n'est pas un modèle complet de bout en bout. Cela nécessite une étape distincte pour la tokenisation, qui possède son propre processus de formation et d'inférence et nécessite des bibliothèques supplémentaires. Cela augmente la complexité de l’introduction de données provenant d’autres modalités.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

De plus, la tokenisation rendra également le modèle sujet aux erreurs dans certains scénarios. Par exemple, lors de l'utilisation de l'API de complétion de texte, si votre invite se termine par un espace, les résultats que vous obtenez peuvent être très. différent. .

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Source de l'image : https://blog.scottlogic.com/2021/08/31/a-primer-on-the-openai-api-1.html

encore Par exemple, en raison de l'existence de la tokenisation, le puissant ChatGPT n'écrira pas les mots à l'envers (les résultats des tests suivants proviennent de GPT 3.5).

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Il peut y avoir beaucoup d'autres exemples comme celui-ci. Karpathy estime que pour résoudre ces problèmes, nous devons d'abord abandonner la tokenisation.

Un nouvel article publié par Meta AI explore cette question. Plus précisément, ils ont proposé une architecture de décodeur multi-échelle appelée « MEGABYTE » capable d'effectuer une modélisation différentiable de bout en bout de séquences dépassant un million d'octets.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Lien papier : https://arxiv.org/pdf/2305.07185.pdf

Il est important de noter que cet article montre la faisabilité de l'abandon de la tokenisation et a été évalué par Karpathy comme « prometteur ». ".

Voici les détails du document.

Présentation du papier

Comme mentionné dans l'article sur l'apprentissage automatique, la raison pour laquelle l'apprentissage automatique semble être capable de résoudre de nombreux problèmes complexes est qu'il transforme ces problèmes en problèmes mathématiques.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Et la PNL a la même idée. Les textes sont tous des "données non structurées". Nous devons d'abord convertir ces données en "données structurées". Ensuite, les données structurées peuvent être converties en problèmes mathématiques. la première étape de la transformation.

En raison du coût élevé des mécanismes d'auto-attention et des grands réseaux de rétroaction, les grands décodeurs de transformateurs (LLM) n'utilisent généralement que des milliers de jetons de contexte. Cela limite considérablement l'ensemble des tâches auxquelles le LLM peut être appliqué.

Sur cette base, les chercheurs de Meta AI ont proposé une nouvelle méthode de modélisation de séquences d'octets longs - MEGABYTE. Cette méthode divise la séquence d'octets en patchs de taille fixe, similaires au jeton. Le modèle

MEGABYTE se compose de trois parties :

  1. l'intégrateur de patchs, qui encode simplement les patchs en concaténant sans perte les intégrations de chaque octet ;
  2.  module global - avec entrées et sorties Grand transformateur autorégressif représenté par le patch ;
  3. module local - un petit modèle autorégressif qui peut prédire les octets dans le patch.

L'étude a révélé que pour de nombreuses tâches, la plupart des octets sont relativement faciles à prédire (par exemple, compléter un mot à partir des premiers caractères), ce qui signifie qu'il n'est pas nécessaire qu'un octet utilise de grands réseaux de neurones, mais peut utiliser des modèles beaucoup plus petits pour la modélisation intra-patch.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

L'architecture MEGABYTE a apporté trois améliorations majeures à Transformer pour la modélisation de séquences longues :

auto-attention sous-quadratique. La plupart des travaux sur les modèles à séquence longue se concentrent sur la réduction du coût quadratique de l’attention personnelle. En décomposant une longue séquence en deux séquences plus courtes et en taille de patch optimale, MEGABYTE réduit le coût du mécanisme d'auto-attention à 一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了, rendant même les séquences longues faciles à traiter.

couche de rétroaction par patch. Dans les très grands modèles tels que GPT-3, plus de 98 % des FLOPS sont utilisés pour calculer des couches de rétroaction en fonction de la position. MEGABYTE permet des modèles plus grands et plus expressifs au même coût en utilisant de grandes couches de rétroaction par patch (au lieu de par position). Avec une taille de patch P, le transformateur de base utilisera la même couche de rétroaction avec m paramètres P fois, tandis que MEGABYTE n'aura besoin d'utiliser la couche avec les paramètres mP qu'une seule fois au même coût.

3. Décodage parallèle. Le transformateur doit effectuer tous les calculs en série pendant la génération car l'entrée de chaque pas de temps est la sortie du pas de temps précédent. En générant des représentations de correctifs en parallèle, MEGABYTE obtient un plus grand parallélisme dans le processus de génération. Par exemple, un modèle MEGABYTE avec 1,5 Mo de paramètres génère des séquences 40 % plus rapidement qu'un transformateur de paramètres standard de 350 Mo, tout en améliorant également la perplexité lors de l'entraînement à l'aide du même calcul.

Dans l'ensemble, MEGABYTE nous permet de former des modèles plus grands et plus performants avec le même budget de calcul, sera capable de gérer des séquences très longues et d'augmenter la vitesse de construction lors du déploiement.

MEGABYTE contraste également avec les modèles autorégressifs existants, qui utilisent généralement une certaine forme de tokenisation dans laquelle des séquences d'octets sont mappées en jetons discrets plus grands (Sennrich et al., 2015 ; Ramesh et al., 2021 ; Hsu et al., 2021). La tokenisation complique le prétraitement, la modélisation multimodale et le transfert vers de nouveaux domaines, tout en cachant la structure utile dans le modèle. Cela signifie que la plupart des modèles SOTA ne sont pas véritablement des modèles de bout en bout. Les méthodes de tokenisation les plus largement utilisées nécessitent l’utilisation d’heuristiques spécifiques au langage (Radford et al., 2019) ou la perte d’informations (Ramesh et al., 2021). Par conséquent, remplacer la tokenisation par un modèle d’octets efficace et performant présentera de nombreux avantages.

L'étude a mené des expériences sur MEGABYTE et certains modèles de base puissants. Les résultats expérimentaux montrent que MEGABYTE fonctionne de manière comparable aux modèles de sous-mots sur la modélisation de langage à contexte long, atteint une perplexité d'estimation de densité de pointe sur ImageNet et permet la modélisation audio à partir de fichiers audio bruts. Ces résultats expérimentaux démontrent la faisabilité d’une modélisation de séquences autorégressives sans tokenisation à grande échelle. #🎜🎜 ##### 🎜🎜#Le composant principal de Megabyte de#🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜#patch intégrer

L'intégrateur de patch de taille P peut octeter une séquence 一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

# 🎜🎜## 🎜🎜#

est mappé sur une longueur de

#🎜 🎜#, séquence d'intégration de patch avec dimensions

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Tout d'abord, chaque octet est intégré à une table de recherche

#🎜 🎜#

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了, formant un intégration de taille D_G avec l'intégration de position ajoutée. Ensuite, l'incorporation d'octets est Remodelez-le en une séquence d'intégrations de patch K avec les dimensions

. Pour permettre la modélisation autorégressive, la séquence de patchs est complétée par des intégrations de remplissage à partir de la taille du patch pouvant être entraîné ( #), puis supprime le dernier patch de l'entrée. Cette séquence est l'entrée du modèle global, représentée par

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

#🎜 🎜#

module global

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Le module global est un modèle de transformateur dimensionnel P・D_G à architecture uniquement décodeur qui fonctionne sur k séquences de patchs. Le module global combine un mécanisme d'auto-attention et un masque causal pour capturer les dépendances entre les correctifs. Le module global saisit les représentations de k séquences de correctifs

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

et génère des mises à jour en effectuant une auto-attention sur les correctifs précédents. L'expression de

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

# 🎜🎜#

La sortie du module global final

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

K patchs contenant les dimensions P・D_G express . Pour chacun d'eux, nous les avons remodelés en une séquence de longueur P et de dimension D_G, où la position p utilise la dimension p·D_G à (p + 1)·D_G. Chaque position est ensuite mappée à la dimension du module local avec la matrice

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

, où D_L est la dimension du module local. Ceux-ci sont ensuite combinés avec une intégration d'octets de taille D_L pour le jeton suivant.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

L'intégration d'octets locaux est décalée de 1, cela permet une modélisation autorégressive dans le chemin. Obtenez enfin le tenseur 🎜#

module local

module local est une architecture plus petite, réservée uniquement au décodeur, d'un modèle de transformateur dimensionnel D_L qui fonctionne sur un seul patch k contenant P éléments, chaque élément étant la somme d'une sortie globale du module et l'incorporation de l'octet précédent dans la séquence. K copies du module local sont exécutées indépendamment sur chaque patch et exécutées en parallèle pendant la formation, calculant ainsi la représentation #一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了


Enfin, le chercheur peut calculer la distribution de probabilité des mots pour chaque position. Le p-ème élément du k-ème patch correspond à l'élément t de la séquence complète, où t = k·P + p.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

analyse d'efficacité

#🎜🎜 # Efficacité de la formation

Les chercheurs ont analysé les coûts de différentes architectures lors de la mise à l'échelle de la longueur des séquences et de la taille du modèle. Comme le montre la figure 3 ci-dessous, l'architecture MEGABYTE utilise moins de FLOPS que des transformateurs et des transformateurs linéaires de taille comparable sur une variété de tailles de modèle et de longueurs de séquence, permettant l'utilisation de modèles plus grands pour le même coût de calcul.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Efficacité de la génération

Considérez un tel modèle MEGABYTE, qui a la couche L_global dans le modèle global, la couche L_local dans le module local, la taille du patch est P et a L_local + Le transformateur L'architecture de la couche L_global est comparée. La génération de chaque patch avec MEGABYTE nécessite une séquence O (L_global + P·L_local) d'opérations en série. Lorsque L_global ≥ L_local (les modules globaux ont plus de couches que les modules locaux), MEGABYTE peut réduire le coût d'inférence de près de P fois.

Résultats expérimentaux

Modélisation du langage

Les chercheurs ont évalué la fonction de modélisation du langage de MEGABYTE sur 5 ensembles de données différents qui mettent l'accent sur les dépendances à long terme, à savoir le projet Gutenberg (PG-19), les livres, les histoires, arXiv et Code. Les résultats sont présentés dans le tableau 7 ci-dessous, MEGABYTE surpasse systématiquement le transformateur de base et PerceiverAR sur tous les ensembles de données.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Les chercheurs ont également élargi les données de formation sur PG-19. Les résultats présentés dans le tableau 8 ci-dessous sont nettement meilleurs que les autres modèles d'octets et peuvent être comparés aux données de formation sur les sous-mots comparables. aux modèles SOTA.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Modélisation d'image

Les chercheurs ont formé un grand modèle MEGABYTE sur l'ensemble de données ImageNet 64x64, dans lequel les paramètres des modules globaux et locaux sont respectivement de 2,7 Mo et 350 Mo, et ont 1,4 Jeton T. Ils estiment que la formation du modèle prend moins de la moitié du nombre d'heures GPU nécessaires pour reproduire le meilleur modèle PerceiverAR dans l'article de Hawthorne et al., 2022. Comme le montre le tableau 8 ci-dessus, MEGABYTE a des performances comparables à celles du SOTA de PerceiverAR, tout en n'utilisant que la moitié des calculs de ce dernier.

Les chercheurs ont comparé trois variantes de transformateur, à savoir vanilla, PerceiverAR et MEGABYTE, pour tester l'évolutivité de longues séquences à des résolutions d'image de plus en plus grandes. Les résultats sont présentés dans le tableau 5 ci-dessous. Dans ce paramètre de contrôle informatique, MEGABYTE surpasse le modèle de base à toutes les résolutions.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Le tableau 14 ci-dessous résume les paramètres exacts utilisés par chaque modèle de base, y compris la longueur du contexte et le nombre de latents.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Modélisation audio

L'audio possède à la fois la structure séquentielle du texte et les propriétés continues des images, ce qui est une application intéressante pour MEGABYTE. Le modèle de cet article a obtenu un bpb de 3,477, ce qui est nettement inférieur au modèle percepterAR (3,543) et au transformateur vanille (3,567). Des résultats d'ablation supplémentaires sont détaillés dans le tableau 10 ci-dessous.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Veuillez vous référer à l'article original pour plus de détails techniques et de résultats expérimentaux.

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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal