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

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

王林
王林original
2024-06-13 15:47:02587parcourir

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.

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

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.

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

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".

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

Présentation d'un nouvel algorithme d'accélération d'inférence

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 :

  • Premièrement, davantage de jetons seront générés lors de la réécriture directe, permettant ainsi davantage de passes avant pour déterminer la bonne solution.
  • Deuxièmement, la plupart des données d'entraînement du modèle sont des codes complets et sont relativement peu familiers avec les modifications locales.
  • De plus, les mauvais calculs des grands modèles ne garantissent pas que les numéros de ligne seront traités correctement lors de la sortie des différences.

(Cependant, l'auteur estime qu'il s'agit encore d'une direction de recherche future potentielle.)

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

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.

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

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 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

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.

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

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é.

One More Thing

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.

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

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!

Déclaration:
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