Seulement 2 jours après sa sortie, Code Llama a une fois de plus déclenché la révolution du codage de l'IA.
Vous vous souvenez de la version mystérieuse d'Unnatural Code Llama que Meta est apparue dans le document Code Llama et qui peut complètement égaliser GPT-4 ?
Le grand gars Sebastian a expliqué sur son blog :
Il s'agit d'une version affinée de Code Llama-Python 34B utilisant 15 000 instructions en langage non naturel.
En cachant une information aussi cachée dans le journal, Meta semble vouloir laisser entendre à la communauté open source que Code Llama a un grand potentiel, dépêchez-vous et peaufinez-le !
Ainsi, tout à l'heure, WizardCoder 34B, qui a été affiné sur la base de Code Llama, a directement vaincu GPT-4 sur le benchmark Human.
Plus précisément, WizardCoder a écrasé la version de mars de GPT-4 (67 %) avec un taux de réussite de 73,2 %.
De plus, les performances de WizardCoder 34B dépassent la dernière version GPT-3.5 et Claude 2.
Le modèle de programmation WizardCoder a été publié en juin par Microsoft et la Hong Kong Baptist University. Une version 13B/7B peaufinée devrait bientôt arriver.
Selon Jim Fan, un scientifique de haut niveau chez Nvidia, il s'agit essentiellement d'une version ouverte de "Unnatural Code Llama".
Bien que les données de référence semblent bonnes, Human ne teste qu'une distribution étroite et peut surajuster. Les tests de données dans des scénarios naturels sont vraiment importants. Les références de codage nécessitent une mise à niveau majeure.
## **Une version mystérieuse de Code Llama est née ? **
Vendredi, Meta a officiellement publié trois versions de Code Llama.
Dans les benchmarks Human et MBPP, de nombreuses personnes ont trouvé une version non mentionnée dans le Meta officiel - Unnatural Code Llama.
Cette version mystérieuse a réalisé 62,2% de performances sur Human pass@1.
Le WizardCoder 34B affiné publié aujourd'hui a une performance de 73,2 % sur Human pass@1.
Selon l'introduction, WizardCoder 34B est une version affinée du modèle Code Llama utilisant l'ensemble de données synthétiques Evol-Instruct.
Ce qui suit est une visualisation de la comparaison des performances avec tous les modèles open source et fermés.
En comparaison avec le modèle OpenAI, les chercheurs ont souligné que GPT4 et ChatGPT-3.5 ont deux résultats humains :
Les résultats fournis par le rapport officiel GPT4 d'OpenAI (2023/03/15) sont : 67,0 % et 48,1 %, respectivement. Les résultats des chercheurs utilisant le dernier test API (2023/08/26) sont de 82,0 % et 72,5 %.
De plus, les chercheurs soulignent que ce résultat de performance est reproductible à 100 % !
Une démo de WizardCoder 34B est ouverte à tous pour la tester.
Il a été souligné que le surajustement aux classements publics est l’une des principales raisons pour lesquelles les modèles open source rencontrent des difficultés dans la pratique. Voici un exemple de préparation de données par un assistant-codeur utilisant les scores Human pass@1 pour décider s'il convient de développer davantage l'ensemble de données. L'optimisation uniquement sur l'ensemble de test va à l'encontre de l'objectif de l'ensemble de test.
Hier également, des chercheurs de l'organisation Phind ont peaufiné le Code Llama-34B pour battre GPT-4 dans l'évaluation humaine.
ChatGPT contre Code Llama
Comment Code Llama fonctionne-t-il dans les tâches de codage réelles ?
Un internaute a fait un test comparatif de GPT-3.5 et de Code Llama Instruct-34B. Il a été testé avec l'accès au Code Llama 34B fourni par Perplexity.AI.
Il alimente respectivement 8 tâches de code identiques aux deux modèles et compare la qualité de leurs codes générés.
Le résultat est que GPT-3.5 gagne par 8:5.
Voici les résultats des tests spécifiques.
première question
Utilisez Python pour accomplir cette tâche, à partir de deux chaînes word1 et word2. Fusionnez les chaînes en ajoutant des lettres dans un ordre alterné, en commençant par mot1. Si une chaîne est plus longue que l'autre, ajoutez des lettres supplémentaires à la fin de la chaîne fusionnée.
Utilisez Python pour accomplir cette tâche, étant donné une chaîne s, inversez simplement toutes les voyelles de la chaîne et renvoyez-la.
Les voyelles sont « a », « e », « i », « o » et « u », qui peuvent apparaître plusieurs fois en minuscules et en majuscules.
Par exemple : entrée : s = "bonjour" sortie : "bonjour"
GPT-3.5 terminé, Code Llama non terminé - 2:1
La troisième question
Utilisez Python pour accomplir cette tâche, étant donné un tableau de nombres entiers, déplacez tous les 0 à la fin tout en conservant l'ordre relatif des éléments non nuls.
Notez que vous devez le faire sur place, sans faire de copie du tableau.
Par exemple : Entrée : nums = [0,1,0,3,12] Sortie : [1,3,12,0,0]
GPT-3.5 terminé, Code Llama non terminé - 3:1
Question 4
En utilisant Python pour cette tâche, vous disposez d'un long parterre de fleurs, certaines parcelles sont plantées de fleurs et d'autres non.
Toutefois, les parcelles adjacentes ne peuvent pas être fleuries. Étant donné un tableau d'entiers de 0 et 1 pour un parterre de fleurs, où 0 est vide et 1 n'est pas vide, et un entier n, le résultat est vrai si n nouvelles fleurs peuvent être plantées dans le parterre de fleurs sans violer la règle de non-fleur adjacente. Sinon, false est affiché.
Exemple 1 : Entrée : Parterre de fleurs = [1,0,0,0,1], n = 1 Sortie : vrai Exemple 2 : Entrée : Parterre de fleurs = [1,0,0,0,1], n = 2 Sortie : faux
Les deux modèles sont terminés - 4:2
Question 5
En utilisant Python, étant donné une chaîne d'entrée s, inversez l'ordre des mots. Un mot est défini comme une séquence de caractères autres que des espaces. Les mots entre s seront séparés par au moins un espace.
Affiche une chaîne de mots joints par des espaces simples dans l'ordre inverse. Notez que les s peuvent contenir des espaces de début ou de fin ou plusieurs espaces entre deux mots.
La chaîne renvoyée ne doit comporter qu'un seul espace pour séparer les mots. N’incluez aucun espace supplémentaire.
Exemple : Entrée : s = « le ciel est bleu » Sortie : « le bleu est le ciel »
Les deux modèles terminés - 5:3
Question 6
Utilisez Python pour accomplir cette tâche. Étant donné une chaîne s et un entier k, renvoie le nombre maximum de voyelles dans toute sous-chaîne de longueur k dans s.
Les voyelles en anglais sont « a », « e », « i », « o » et « u ». Exemple : Entrée : s = "leetcode", k = 3 Sortie : 2
Explication : "lee", "eet" et "ode" contiennent 2 voyelles.
Les deux modèles sont terminés - 6:4
Question 7
Utilisez Python pour accomplir cette tâche, à partir d'une chaîne s contenant des astérisques *. En une seule opération, vous pouvez : Sélectionner un astérisque dans s.
Supprime le caractère autre qu'un astérisque le plus proche à sa gauche et supprime l'astérisque lui-même. Affichez la chaîne après avoir supprimé tous les astérisques. Exemple : Entrée : s = "leet**cod*e" Sortie : "lecoe"
GPT-3.5 est terminé, mais Code Llama ne l'est pas - 7:4
Question 8
Utilisez Python pour accomplir cette tâche, étant donné un tableau de température entier représentant la température quotidienne, renvoyez une réponse de tableau, où réponse [i] c'est le nombre de jours après jour pendant lesquels vous devez attendre des températures plus chaudes.
S'il n'y a pas de jour dans le futur pour le faire, gardez la réponse [i] == 0. Exemple : Entrée : Température = [73,74,75,71,69,72,76,73] Sortie : [1,1,4,2,1,1,0,0]
Les deux modèles terminés - 8:5
Concernant les performances des deux modèles, cet internaute estime qu'il ne s'agit pas d'une étude rigoureuse, mais d'un simple test. Chaque fois que le modèle est régénéré pour générer du code, il peut fondamentalement obtenir une meilleure réponse, mais cela n'existe pas dans le test.
La conclusion du test ne porte donc pas sur les performances des deux derniers modèles.
Comparable à GPT-4, Llama 3 devrait être open source
Depuis la sortie de Llama et Llama 2, la communauté d'apprentissage automatique ChatGPT a explosé et divers modèles de mise au point ont vu le jour.
Le chercheur d'OpenAI, Jason Wei, a déclaré qu'il avait appris des activités sociales de Meta GenAI que Llama 3 et Llama 4 seraient également open source à l'avenir.
Nous avons la puissance de calcul pour entraîner les Lamas 3 et 4. Notre plan est de rendre Llama-3 aussi performant que GPT-4. Wow, si Llama-3 est aussi bon que GPT-4, l'ouvrirez-vous en open source ? Oui nous le ferons. Désolé, équipe d'alignement.
Un autre internaute a déclaré que Meta espère ouvrir un modèle de niveau GPT-5 en open source, et il semble avoir insisté sur l'open source avant l'AGI.
Je veux être clair sur ce que cela signifie : pas de kill switch.
Si quelque chose ne va pas – un agent devient incontrôlable ou un mauvais acteur l’arme – il n’existe pas de moyen simple de l’arrêter. Il peut fonctionner sur n’importe quel petit cluster. Il n'y a aucune sécurité du tout.
La recherche sur la sécurité n’a plus de sens.
Tout le travail accompli pour rendre les systèmes d’IA honnêtes, cohérents, éthiques, etc. n’a plus de sens. Les systèmes d'IA du monde évolueront vers celui qui produira le plus grand avantage économique, quelles que soient leurs valeurs ou leurs motivations. Il n'y a pas de garde-corps. N'importe qui peut modifier les valeurs ou les capacités de l'IA à volonté, pour le meilleur ou pour le pire.
Si Meta continue d'être open source pendant que nous obtenons une IA plus intelligente, alors il est clair pour moi que les choses vont devenir compliquées. L’arrivée de ces intelligences extraterrestres est déjà en train de perturber le monde, mais ce sera encore pire si nous abandonnons le peu de contrôle dont disposent les humains.
Pour autant que je sache, l'espoir de Meta pour l'open source découle principalement du « dogme de la communauté open source », c'est-à-dire que « l'open source est bon ». Et pour autant que je sache, ils n'étaient pas si pro-open source jusqu'à la fuite accidentelle de leur premier modèle, le Llama, et depuis, ils prétendent être open source.
À cet égard, Musk a déclaré que, cependant, le LLM utilisant un transformateur autorégressif avait une efficacité énergétique extrêmement faible, non seulement en termes de formation, mais également en matière de raisonnement. Je pense que c'est décalé de plusieurs ordres de grandeur.
## La capacité de codage de Llama 2 s'envole
Llama 2 est un modèle très solide à tous égards.
Cependant, il présente une faiblesse très évidente : la capacité à coder.
Selon les données de l'article publié par Meta sur Llama 2, les performances de Llama 2 dans Hum (un test de référence pour évaluer le LLM et le codage) sont encore pires que celles de GPT-3.5, sans parler de celles de GPT-4.
Figure annotée du papier original Llama 2
Mais la capacité de code sera certainement une direction importante pour que la communauté open source utilise Llama 2 à l'avenir. Naturellement, Meta ne peut pas être pauvre dans cette direction, il existe donc Code Llama, qui est grandement optimisé pour la capacité de code.
Il y a deux jours, Meta a officiellement publié la famille Code Llama : Code Llama (7B, 13B et 34B), et 3 variantes : le modèle de code général Code Llama, l'instruction suivant le modèle Code Llama-instruct et la version spécifique au code Python Code Llama. -Python.
Ces modèles sont gratuits académiques et commerciaux, tout comme les licences Llama 2.
La capacité de code du modèle Code Llama 34B est presque deux fois supérieure à celle de Llama 2, réduisant considérablement l'écart avec GPT-4.
Vous vous souvenez du Unnatural Code Llama que Meta est apparu dans l'article Code Llama, qui peut entièrement égaliser la version GPT-4 ?
Le grand gars Sebastian a expliqué sur son blog :
Il s'agit d'une version affinée de Code Llama-Python 34B utilisant 15 000 instructions en langage non naturel.
En cachant une information aussi cachée dans le journal, Meta semble vouloir laisser entendre à la communauté open source que Code Llama a un grand potentiel, alors affinons-le !
Pourquoi n’y a-t-il pas de modèle 70B Code Llama ?
Fait intéressant, Code Llama n'a que les versions de paramètres 7B, 13B et 34B, soit 70B de moins que Llama 2.
Bien que Meta n'ait pas expliqué pourquoi c'est le cas dans le document, le gourou de la technologie Sebastian a proposé deux raisons possibles :
Code Llama est formé sur des jetons 500B et Llama 2 est formé sur des jetons 2T.
Étant donné que les données d'entraînement de Code Llama ne représentent que 1/4 par rapport à celles de Llama 2, c'est peut-être parce qu'il n'y a pas assez de données d'entraînement, couplées à la limitation des lois de mise à l'échelle de LLM, les performances de CodeLlama70B ne sont pas bonnes.
Le modèle Code Llama prend en charge une taille de contexte de 100 Ko, ce qui est très utile lors du traitement de tâches de code.
En revanche, Llama 2 ne prend en charge que les longueurs d'entrée jusqu'à 4k. Si le modèle 70B doit prendre en charge une longueur d'entrée de 100 000 jetons, cela peut rendre les exigences de calcul du modèle trop exagérées.
Les références:
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Victoire complète sur GPT-4, tuant le modèle source fermée en quelques secondes ! La version mystérieuse de Code Llama dévoilée
Source originale : Xinzhiyuan
Seulement 2 jours après sa sortie, Code Llama a une fois de plus déclenché la révolution du codage de l'IA.
Vous vous souvenez de la version mystérieuse d'Unnatural Code Llama que Meta est apparue dans le document Code Llama et qui peut complètement égaliser GPT-4 ?
Le grand gars Sebastian a expliqué sur son blog :
Il s'agit d'une version affinée de Code Llama-Python 34B utilisant 15 000 instructions en langage non naturel.
Ainsi, tout à l'heure, WizardCoder 34B, qui a été affiné sur la base de Code Llama, a directement vaincu GPT-4 sur le benchmark Human.
De plus, les performances de WizardCoder 34B dépassent la dernière version GPT-3.5 et Claude 2.
Selon Jim Fan, un scientifique de haut niveau chez Nvidia, il s'agit essentiellement d'une version ouverte de "Unnatural Code Llama".
Bien que les données de référence semblent bonnes, Human ne teste qu'une distribution étroite et peut surajuster. Les tests de données dans des scénarios naturels sont vraiment importants. Les références de codage nécessitent une mise à niveau majeure.
Vendredi, Meta a officiellement publié trois versions de Code Llama.
Dans les benchmarks Human et MBPP, de nombreuses personnes ont trouvé une version non mentionnée dans le Meta officiel - Unnatural Code Llama.
Selon l'introduction, WizardCoder 34B est une version affinée du modèle Code Llama utilisant l'ensemble de données synthétiques Evol-Instruct.
Ce qui suit est une visualisation de la comparaison des performances avec tous les modèles open source et fermés.
Les résultats fournis par le rapport officiel GPT4 d'OpenAI (2023/03/15) sont : 67,0 % et 48,1 %, respectivement. Les résultats des chercheurs utilisant le dernier test API (2023/08/26) sont de 82,0 % et 72,5 %.
Un internaute a fait un test comparatif de GPT-3.5 et de Code Llama Instruct-34B. Il a été testé avec l'accès au Code Llama 34B fourni par Perplexity.AI.
Le résultat est que GPT-3.5 gagne par 8:5.
Voici les résultats des tests spécifiques.
première question
Utilisez Python pour accomplir cette tâche, à partir de deux chaînes word1 et word2. Fusionnez les chaînes en ajoutant des lettres dans un ordre alterné, en commençant par mot1. Si une chaîne est plus longue que l'autre, ajoutez des lettres supplémentaires à la fin de la chaîne fusionnée.
Enfin, affichez la chaîne fusionnée.
Par exemple:
Entrée : mot1 = "abc", mot2 = "pqr" Sortie : "apbqcr"
Deuxième question
Utilisez Python pour accomplir cette tâche, étant donné une chaîne s, inversez simplement toutes les voyelles de la chaîne et renvoyez-la.
Les voyelles sont « a », « e », « i », « o » et « u », qui peuvent apparaître plusieurs fois en minuscules et en majuscules.
Par exemple : entrée : s = "bonjour" sortie : "bonjour"
La troisième question
Utilisez Python pour accomplir cette tâche, étant donné un tableau de nombres entiers, déplacez tous les 0 à la fin tout en conservant l'ordre relatif des éléments non nuls.
Notez que vous devez le faire sur place, sans faire de copie du tableau.
Par exemple : Entrée : nums = [0,1,0,3,12] Sortie : [1,3,12,0,0]
Question 4
En utilisant Python pour cette tâche, vous disposez d'un long parterre de fleurs, certaines parcelles sont plantées de fleurs et d'autres non.
Toutefois, les parcelles adjacentes ne peuvent pas être fleuries. Étant donné un tableau d'entiers de 0 et 1 pour un parterre de fleurs, où 0 est vide et 1 n'est pas vide, et un entier n, le résultat est vrai si n nouvelles fleurs peuvent être plantées dans le parterre de fleurs sans violer la règle de non-fleur adjacente. Sinon, false est affiché.
Exemple 1 : Entrée : Parterre de fleurs = [1,0,0,0,1], n = 1 Sortie : vrai Exemple 2 : Entrée : Parterre de fleurs = [1,0,0,0,1], n = 2 Sortie : faux
Question 5
En utilisant Python, étant donné une chaîne d'entrée s, inversez l'ordre des mots. Un mot est défini comme une séquence de caractères autres que des espaces. Les mots entre s seront séparés par au moins un espace.
Affiche une chaîne de mots joints par des espaces simples dans l'ordre inverse. Notez que les s peuvent contenir des espaces de début ou de fin ou plusieurs espaces entre deux mots.
La chaîne renvoyée ne doit comporter qu'un seul espace pour séparer les mots. N’incluez aucun espace supplémentaire.
Exemple : Entrée : s = « le ciel est bleu » Sortie : « le bleu est le ciel »
Question 6
Utilisez Python pour accomplir cette tâche. Étant donné une chaîne s et un entier k, renvoie le nombre maximum de voyelles dans toute sous-chaîne de longueur k dans s.
Les voyelles en anglais sont « a », « e », « i », « o » et « u ». Exemple : Entrée : s = "leetcode", k = 3 Sortie : 2
Explication : "lee", "eet" et "ode" contiennent 2 voyelles.
Question 7
Utilisez Python pour accomplir cette tâche, à partir d'une chaîne s contenant des astérisques *. En une seule opération, vous pouvez : Sélectionner un astérisque dans s.
Supprime le caractère autre qu'un astérisque le plus proche à sa gauche et supprime l'astérisque lui-même. Affichez la chaîne après avoir supprimé tous les astérisques. Exemple : Entrée : s = "leet**cod*e" Sortie : "lecoe"
Question 8
Utilisez Python pour accomplir cette tâche, étant donné un tableau de température entier représentant la température quotidienne, renvoyez une réponse de tableau, où réponse [i] c'est le nombre de jours après jour pendant lesquels vous devez attendre des températures plus chaudes.
S'il n'y a pas de jour dans le futur pour le faire, gardez la réponse [i] == 0. Exemple : Entrée : Température = [73,74,75,71,69,72,76,73] Sortie : [1,1,4,2,1,1,0,0]
Concernant les performances des deux modèles, cet internaute estime qu'il ne s'agit pas d'une étude rigoureuse, mais d'un simple test. Chaque fois que le modèle est régénéré pour générer du code, il peut fondamentalement obtenir une meilleure réponse, mais cela n'existe pas dans le test.
La conclusion du test ne porte donc pas sur les performances des deux derniers modèles.
Comparable à GPT-4, Llama 3 devrait être open source
Depuis la sortie de Llama et Llama 2, la communauté d'apprentissage automatique ChatGPT a explosé et divers modèles de mise au point ont vu le jour.
Le chercheur d'OpenAI, Jason Wei, a déclaré qu'il avait appris des activités sociales de Meta GenAI que Llama 3 et Llama 4 seraient également open source à l'avenir.
Je veux être clair sur ce que cela signifie : pas de kill switch.
Si quelque chose ne va pas – un agent devient incontrôlable ou un mauvais acteur l’arme – il n’existe pas de moyen simple de l’arrêter. Il peut fonctionner sur n’importe quel petit cluster. Il n'y a aucune sécurité du tout.
La recherche sur la sécurité n’a plus de sens.
Tout le travail accompli pour rendre les systèmes d’IA honnêtes, cohérents, éthiques, etc. n’a plus de sens. Les systèmes d'IA du monde évolueront vers celui qui produira le plus grand avantage économique, quelles que soient leurs valeurs ou leurs motivations. Il n'y a pas de garde-corps. N'importe qui peut modifier les valeurs ou les capacités de l'IA à volonté, pour le meilleur ou pour le pire.
Si Meta continue d'être open source pendant que nous obtenons une IA plus intelligente, alors il est clair pour moi que les choses vont devenir compliquées. L’arrivée de ces intelligences extraterrestres est déjà en train de perturber le monde, mais ce sera encore pire si nous abandonnons le peu de contrôle dont disposent les humains.
Pour autant que je sache, l'espoir de Meta pour l'open source découle principalement du « dogme de la communauté open source », c'est-à-dire que « l'open source est bon ». Et pour autant que je sache, ils n'étaient pas si pro-open source jusqu'à la fuite accidentelle de leur premier modèle, le Llama, et depuis, ils prétendent être open source.
Llama 2 est un modèle très solide à tous égards.
Cependant, il présente une faiblesse très évidente : la capacité à coder.
Selon les données de l'article publié par Meta sur Llama 2, les performances de Llama 2 dans Hum (un test de référence pour évaluer le LLM et le codage) sont encore pires que celles de GPT-3.5, sans parler de celles de GPT-4.
Mais la capacité de code sera certainement une direction importante pour que la communauté open source utilise Llama 2 à l'avenir. Naturellement, Meta ne peut pas être pauvre dans cette direction, il existe donc Code Llama, qui est grandement optimisé pour la capacité de code.
Il y a deux jours, Meta a officiellement publié la famille Code Llama : Code Llama (7B, 13B et 34B), et 3 variantes : le modèle de code général Code Llama, l'instruction suivant le modèle Code Llama-instruct et la version spécifique au code Python Code Llama. -Python.
Ces modèles sont gratuits académiques et commerciaux, tout comme les licences Llama 2.
La capacité de code du modèle Code Llama 34B est presque deux fois supérieure à celle de Llama 2, réduisant considérablement l'écart avec GPT-4.
Vous vous souvenez du Unnatural Code Llama que Meta est apparu dans l'article Code Llama, qui peut entièrement égaliser la version GPT-4 ?
Le grand gars Sebastian a expliqué sur son blog :
Il s'agit d'une version affinée de Code Llama-Python 34B utilisant 15 000 instructions en langage non naturel.
Pourquoi n’y a-t-il pas de modèle 70B Code Llama ?
Fait intéressant, Code Llama n'a que les versions de paramètres 7B, 13B et 34B, soit 70B de moins que Llama 2.
Bien que Meta n'ait pas expliqué pourquoi c'est le cas dans le document, le gourou de la technologie Sebastian a proposé deux raisons possibles :
Étant donné que les données d'entraînement de Code Llama ne représentent que 1/4 par rapport à celles de Llama 2, c'est peut-être parce qu'il n'y a pas assez de données d'entraînement, couplées à la limitation des lois de mise à l'échelle de LLM, les performances de CodeLlama70B ne sont pas bonnes.
En revanche, Llama 2 ne prend en charge que les longueurs d'entrée jusqu'à 4k. Si le modèle 70B doit prendre en charge une longueur d'entrée de 100 000 jetons, cela peut rendre les exigences de calcul du modèle trop exagérées.
Les références: