Maison > Article > Périphériques technologiques > Le modèle 70B génère 1 000 jetons en quelques secondes, la réécriture du code dépasse GPT-4o, de l'équipe Cursor, un artefact de code investi par OpenAI
Modèle 70B, 1000 tokens peuvent être générés en quelques secondes, ce qui se traduit par près de 4000 caractères !
Les chercheurs ont peaufiné Llama3 et introduit un algorithme d'accélération. Par rapport à la version native, la vitesse est 13 fois plus rapide !
Non seulement il est rapide, mais ses performances sur les tâches de réécriture de code dépassent même GPT-4o.
Cette réalisation vient d'anysphere, l'équipe derrière le populaire artefact de programmation d'IA Cursor, et OpenAI a également participé à l'investissement.
Vous devez savoir que sur Groq, un framework d'accélération d'inférence rapide bien connu, la vitesse d'inférence de 70B Llama3 n'est que de plus de 300 jetons par seconde.
On peut dire que la vitesse du curseur permet une édition complète et quasi instantanée des fichiers de code.
Certaines personnes m'ont demandé, si vous mettez Llama3 modifié par Cursor sur Groq, des dizaines de milliers de jetons peuvent être générés par seconde.
Certains sont encore plus enthousiastes à l'idée de dire que dans le domaine des grands modèles, nous éliminons la notion de "délai".
La méthode d'accélération conçue par l'auteur cette fois est principalement utilisée pour résoudre une tâche appelée "Fast Apply", qui consiste à modifier et appliquer rapidement le contenu du code.
La première chose à noter est que bien que l'effet final de la tâche soit une modification partielle du code, lors de l'opération réelle, le résultat n'est pas seulement le contenu modifié, mais réécriture globale directe.
La raison en est un choix fait par l'équipe après des pré-tests : ils ont constaté que, à l'exception de Claude-3-Opus, la plupart des modèles ne fonctionnaient pas de manière satisfaisante lors de la véritable tâche de modification locale.
Il y a trois raisons principales à cela :
(Cependant, l'auteur estime qu'il s'agit encore d'une direction de recherche future potentielle.)
Après avoir déterminé la solution de réécriture globale, l'équipe Cursor a utilisé des données liées aux tâches pour affiner Llama3.
Les données utilisées proviennent de deux sources : des données réelles éditées et des données synthétiques, qui sont mélangées dans un rapport de 1:4.
Les données synthétiques font référence à l'utilisation de GPT-4 pour générer des suggestions d'édition de code, puis à l'utilisation d'autres modèles pour « appliquer » ces suggestions au code d'origine.
Afin d'améliorer la qualité de l'ensemble de données, l'auteur a également sous-échantillonné de petits fichiers, des fichiers en double et des échantillons inchangés.
Pour évaluer les performances de ces modèles, les auteurs les ont exécutés à travers 450 tâches d'édition de code (chacune de 400 lignes maximum) et ont noté la sortie avec Claude3-Opus.
Au final, le modèle 70B Llama3 affiné par l'auteur a presque égalé Claude3-Opus-diff en termes de performances, et était meilleur que GPT-4-Turbo et GPT-4o.
Le réglage fin jusqu'à présent a résolu le problème de performances, mais il n'est pas difficile de voir que Llama3 est encore très lent en ce moment et ne peut produire que moins de 300 caractères par seconde (notez qu'il est caractères, pas des mots ou des jetons) .
Et ce qui rend la réécriture si rapide est une autre arme secrète.
Pour la tâche de réécriture de code, l'équipe Cursor a spécialement introduit un algorithme appelé édition prédictive (éditions spéculatives).
Cette méthode utilise un algorithme a priori pour prédire plusieurs jetons ultérieurs, puis utilise un grand modèle d'ontologie pour la vérification, ce qui réduit le nombre d'appels au grand modèle, réduisant ainsi la quantité de calculs.
Cet algorithme a priori provient d'une caractéristique de la tâche de codage : par rapport à d'autres textes, son vocabulaire est plus petit et sa structure grammaticale, ses règles d'indentation, etc. ont une plus grande certitude. L'utilisation de connaissances a priori peut faire des prédictions plus précises du jeton futur.
Cette approche a également quelque chose en commun avec GPT-4 et Meta -
La raison pour laquelle le raisonnement du modèle de langage traditionnel est lent est principalement parce que le processus de prédiction du prochain jeton est généralement autorégressif, c'est-à-dire que le modèle génère pour chaque token, tous les tokens générés précédemment sont pris en compte.
Afin de réduire la quantité de calculs, les grands modèles représentés par GPT-4 utilisent un algorithme d'accélération appelé Décodage prédictif (décodage spéculatif) pour prédire à l'avance grâce à un petit modèle approximatif, puis laisser le grand modèle d'ontologie Vérifiez les résultats de la prédiction.
La différence entre Cursor et GPT-4 est que le petit « modèle » du premier est un algorithme plus déterministe, tandis que le second ne fait que réduire la taille du modèle et reste essentiellement une prédiction probabiliste.
Meta a introduit un algorithme pour prédire plusieurs jetons suivants à la fois, en utilisant n têtes de sortie indépendantes pour prédire n futurs jetons en parallèle. Il s'avère que fonctionne particulièrement bien sur les tâches de programmation, car La structure logique de la programmation. le langage est plus rigoureux et la connexion interne des connaissances est plus étroite.
Bien sûr, Cursor utilise pleinement cette fonctionnalité au lieu d'utiliser des têtes d'attention, il utilise directement un algorithme plus certain pour faire des prédictions multi-jetons.
Le résultat final est que l'algorithme de prédiction multiplie par près de 13 la vitesse du 70B Llama3 sans aucune perte de performances d'évaluation.
En outre, l'auteur a également coopéré avec la plate-forme d'infrastructure de modèles d'IA d'entreprise fireworks.ai, en utilisant son moteur d'inférence optimisé et son environnement matériel personnalisé pour améliorer encore l'efficacité opérationnelle du modèle.
À l'avenir, l'équipe prévoit également de distiller les connaissances et de migrer l'algorithme d'édition prédictive vers le plus petit 8B Llama3, et de l'étendre à davantage de langages et de tâches de programmation.
Dans le même temps, l'auteur prévoit également d'améliorer l'algorithme de véritable modification partielle (Diff) que l'équipe Cursor a étudié mais non adopté.
Dans l'expérience, l'auteur a non seulement accéléré Llama3 à l'aide de l'algorithme de prédiction, mais a également accéléré GPT4-Turbo.
Cependant, l'auteur n'a pas présenté comment l'implémenter dans GPT, mais a laissé quelques questions de réflexion et a même organisé une « devinette gagnante ».
Ceux qui peuvent répondre correctement recevront un abonnement Cursor d'un mois ; s'ils parviennent à accélérer les prédictions dans vllm et TensorRT-LLM, ils obtiendront respectivement un abonnement d'un semestre et d'un an.
Si vous sentez que vous avez une idée, autant tenter le défi (tête de chien manuelle).
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!