Aujourd'hui, la famille de modèles open source Llama de Meta a inauguré un nouveau membre : Code Llama, un modèle de base spécialisé dans la génération de code.
En tant que version spécifique au code de Llama 2, Code Llama est affiné et formé sur un ensemble de données de code spécifique.
Meta a déclaré que l'accord open source de Code Llama, comme Llama 2, est gratuit à des fins de recherche et commerciales.
L'article connexe "Code Llama: Open Foundation Models for Code" a été publié, avec 47 pages et 25 auteurs.
Adresse papier :
Adresse GitHub :
Il existe trois versions de la série de modèles Code Llama avec des quantités de paramètres de 7B, 13B et 34B. Et il prend en charge plusieurs langages de programmation, notamment Python, C++, Java, PHP, Type (Java), C# et Bash.
Code Llama prend en charge de manière stable la génération de contexte jusqu'à 100 000 jetons. La figure 2 ci-dessous montre le processus de réglage fin de Code Llama.
En termes d'effet, le taux de réussite (pass@1) des différentes versions de Code Llama sur les ensembles de données Human et MBPP peut dépasser GPT-3.5.
De plus, le pass@1 de la version "Unnatural" 34B de Code Llama sur l'ensemble de données Human est proche de GPT-4 (62,2 % contre 67,0 %). Meta n'a pas publié cette version, mais a obtenu des améliorations significatives des performances en s'entraînant sur une petite quantité de données codées de haute qualité.
Cette édition spéciale a attiré l'attention de nombreuses personnes, dont Andrej Karpathy, ancien directeur de l'IA chez Tesla et de retour chez OpenAI.
Bien qu'il soit mentionné dans l'article qu'il s'agit d'une "version Code Llama-Python 34B affinée sur 15 000 instructions non naturelles", Karpathy est toujours curieux de connaître ce "nom mystérieux, cette description vague et l'écrasement d'autres modèles de confidentialité".
Comment fonctionne Code Llama
Code Llama possède de très fortes capacités de codage. Il peut générer du code basé sur du code et des invites en langage naturel (par exemple, les invites de saisie de l'utilisateur « Aidez-moi à écrire une fonction qui génère la séquence de Fibonacci. ») Il peut également aider les utilisateurs à compléter et à déboguer le code. coder.
Les trois versions de paramètres du modèle Code Llama sont entraînées à l'aide de jetons de code 500B et de données liées au code. Les modèles de base et d'instruction 7B et 13B sont également formés FIM (fill-in-the-middle), permettant d'insérer du code dans le code existant, ce qui signifie qu'ils peuvent prendre en charge des tâches telles que la complétion de code dès le départ.
Le tableau suivant est l'ensemble de données d'entraînement de Code Llama.
Avec les trois modèles, différentes exigences de service et de latence peuvent être satisfaites. Par exemple, le modèle 7B peut fonctionner sur un seul GPU ; le modèle 34B renvoie les meilleurs résultats et offre une meilleure assistance à l'encodage, mais en termes de vitesse, les modèles 7B et 13B plus petits sont plus rapides et mieux adaptés aux tâches à faible latence telles que Achèvement du code en direct.
Code Llama fournit non seulement une génération stable jusqu'à 100 000 jetons de contexte, mais également jusqu'à 16 000 séquences de jetons de formation pour tous les modèles. **
En plus d'être une condition préalable à la génération de programmes plus longs, le fait d'avoir des séquences d'entrée plus longues apporte également de nouvelles fonctionnalités à Code Llama. Par exemple, les utilisateurs peuvent fournir aux modèles plus de contexte à partir de leur base de code pour rendre le code généré plus pertinent.
Il convient de mentionner que Meta a affiné Code Llama avec deux variantes supplémentaires : **Code Llama - Python et Code Llama - Instruct. **
Code Llama-Python est une variante de Code Llama, qui est encore affinée sur le jeton 100B du code Python. Le tableau suivant est l'ensemble de données d'entraînement de Code Llama-Python.
Code Llama - Instruct est une variante alignée et poussée par les instructions de Code Llama pour une meilleure compréhension des invites de saisie. Meta recommande d'utiliser la variante Code Llama - Instruct lors de l'utilisation de Code Llama pour la génération de code, car Code Llama - Instruct a été affiné pour générer des réponses utiles et sûres en langage naturel.
Meta a déclaré qu'ils ne recommandent pas d'utiliser Code Llama ou Code Llama - Python pour les tâches générales en langage naturel, car aucun des deux modèles n'est conçu pour suivre les instructions en langage naturel. Code Llama est conçu pour des tâches spécifiques au code et ne convient pas comme modèle de base pour d'autres tâches.
Lors de l'utilisation des modèles Code Llama, les utilisateurs doivent respecter la politique de licence et d'utilisation.
Comment fonctionne Code Llama
Meta utilise Human et MBPP (Mostly Basic Python Programming), deux références de codage pour les tests. Parmi eux, le modèle de test Human est basé sur la capacité de la chaîne de document (docstrings) à compléter le code, et le modèle de test MBPP est basé sur la capacité à décrire le code.
Les résultats montrent que Code Llama surpasse les LLM open source spécifiques aux tâches de code et surpasse son propre Llama2. Par exemple, Code Llama 34B obtient un score de 53,7 % sur Human et de 56,2 % sur MBPP, ce qui est le meilleur par rapport aux autres solutions open source de pointe et comparable à ChatGPT.
Cependant, Code Llama comporte également des risques. Meta a déclaré que la construction d'un modèle d'IA responsable est cruciale et a pris de nombreuses mesures de sécurité avant de publier Code Llama. Dans le cadre d'un effort de test de l'équipe rouge, Meta a mené une évaluation quantitative du risque que Code Llama génère du code malveillant. Ils ont créé des indices pour tenter d'amener le modèle à générer du code malveillant et ont comparé les réponses de Code Llama à ces indices avec ChatGPT (GPT3.5 Turbo). Il s'avère que la réponse de Code Llama est plus sûre.
De ce point de vue, Llama 2, dont la capacité de codage n'est pas particulièrement forte, a été rempli par Code Llama. Meta espère que l'émergence de Code Llama inspirera d'autres chercheurs à créer de nouveaux outils innovants pour la recherche et des produits commerciaux basés sur Llama 2.
Lien de référence :
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Officiel Code Llama open source : gratuit pour un usage commercial, la version mystérieuse est proche de GPT-4
Source : Cœur de la Machine
Editeurs : Du Wei, Chen Ping
Aujourd'hui, la famille de modèles open source Llama de Meta a inauguré un nouveau membre : Code Llama, un modèle de base spécialisé dans la génération de code.
En tant que version spécifique au code de Llama 2, Code Llama est affiné et formé sur un ensemble de données de code spécifique.
Meta a déclaré que l'accord open source de Code Llama, comme Llama 2, est gratuit à des fins de recherche et commerciales.
Adresse GitHub :
Il existe trois versions de la série de modèles Code Llama avec des quantités de paramètres de 7B, 13B et 34B. Et il prend en charge plusieurs langages de programmation, notamment Python, C++, Java, PHP, Type (Java), C# et Bash.
Code Llama prend en charge de manière stable la génération de contexte jusqu'à 100 000 jetons. La figure 2 ci-dessous montre le processus de réglage fin de Code Llama.
De plus, le pass@1 de la version "Unnatural" 34B de Code Llama sur l'ensemble de données Human est proche de GPT-4 (62,2 % contre 67,0 %). Meta n'a pas publié cette version, mais a obtenu des améliorations significatives des performances en s'entraînant sur une petite quantité de données codées de haute qualité.
Bien qu'il soit mentionné dans l'article qu'il s'agit d'une "version Code Llama-Python 34B affinée sur 15 000 instructions non naturelles", Karpathy est toujours curieux de connaître ce "nom mystérieux, cette description vague et l'écrasement d'autres modèles de confidentialité".
Comment fonctionne Code Llama
Code Llama possède de très fortes capacités de codage. Il peut générer du code basé sur du code et des invites en langage naturel (par exemple, les invites de saisie de l'utilisateur « Aidez-moi à écrire une fonction qui génère la séquence de Fibonacci. ») Il peut également aider les utilisateurs à compléter et à déboguer le code. coder.
Le tableau suivant est l'ensemble de données d'entraînement de Code Llama.
En plus d'être une condition préalable à la génération de programmes plus longs, le fait d'avoir des séquences d'entrée plus longues apporte également de nouvelles fonctionnalités à Code Llama. Par exemple, les utilisateurs peuvent fournir aux modèles plus de contexte à partir de leur base de code pour rendre le code généré plus pertinent.
Code Llama-Python est une variante de Code Llama, qui est encore affinée sur le jeton 100B du code Python. Le tableau suivant est l'ensemble de données d'entraînement de Code Llama-Python.
Meta a déclaré qu'ils ne recommandent pas d'utiliser Code Llama ou Code Llama - Python pour les tâches générales en langage naturel, car aucun des deux modèles n'est conçu pour suivre les instructions en langage naturel. Code Llama est conçu pour des tâches spécifiques au code et ne convient pas comme modèle de base pour d'autres tâches.
Lors de l'utilisation des modèles Code Llama, les utilisateurs doivent respecter la politique de licence et d'utilisation.
Comment fonctionne Code Llama
Meta utilise Human et MBPP (Mostly Basic Python Programming), deux références de codage pour les tests. Parmi eux, le modèle de test Human est basé sur la capacité de la chaîne de document (docstrings) à compléter le code, et le modèle de test MBPP est basé sur la capacité à décrire le code.
Les résultats montrent que Code Llama surpasse les LLM open source spécifiques aux tâches de code et surpasse son propre Llama2. Par exemple, Code Llama 34B obtient un score de 53,7 % sur Human et de 56,2 % sur MBPP, ce qui est le meilleur par rapport aux autres solutions open source de pointe et comparable à ChatGPT.
De ce point de vue, Llama 2, dont la capacité de codage n'est pas particulièrement forte, a été rempli par Code Llama. Meta espère que l'émergence de Code Llama inspirera d'autres chercheurs à créer de nouveaux outils innovants pour la recherche et des produits commerciaux basés sur Llama 2.
Lien de référence :