À l’intérieur de Code Llama l’entrée de Meta AI dans l’espace Code LLM

Entrée de Meta AI dans l'espace Code LLM

La nouvelle famille de modèles s’appuie sur les fondations de Llama 2 pour atteindre des performances de pointe dans différentes tâches de génération de code.

Créé avec Midjourney

J’ai récemment lancé une newsletter éducative axée sur l’IA, qui compte déjà plus de 160 000 abonnés. TheSequence est une newsletter axée sur l’apprentissage automatique (ML) qui ne contient pas de blabla (c’est-à-dire pas de battage publicitaire, pas de nouvelles, etc.) et qui se lit en 5 minutes. L’objectif est de vous tenir au courant des projets d’apprentissage automatique, des articles de recherche et des concepts. Essayez-la en vous abonnant ci-dessous :

TheSequence | Jesus Rodriguez | Substack

La meilleure source pour rester à jour sur les développements en matière d’apprentissage automatique, d’intelligence artificielle et de données…

thesequence.substack.com

La programmation est rapidement devenue l’un des théâtres d’action les plus actifs des grands modèles de langage (LLM). Depuis qu’OpenAI a dévoilé Codex (maintenant intégré à GPT-4) l’année dernière, le niveau d’innovation dans les modèles de langage de programmation a été époustouflant. Au cours des derniers mois, nous avons vu des LLM de code publiés par des entreprises telles que Salesforce, Hugging Face, DeepMind, Amazon et bien d’autres. La semaine dernière, Meta AI s’est lancé dans la frénésie des LLM de code avec la sortie de Code Llama, un LLM de code open source basé sur le récent Llama 2. La sortie de Code Llama est significative compte tenu de l’impact que Meta a dans le mouvement des modèles de base open source. Meta AI a développé Code Llama, une itération spécialisée de Llama 2 qui a émergé grâce à une formation prolongée sur des ensembles de données spécifiques à la programmation. En extrayant intensivement des données de l’ensemble de données centré sur le code, Code Llama s’est amélioré pour renforcer sa compétence en matière de codage, améliorant ainsi les capacités héritées de Llama 2. Cette version avancée démontre son savoir-faire en matière de génération de code et d’expression en langage naturel sur le code. Que l’entrée soit du code ou du langage naturel, comme des demandes telles que “Créez une fonction produisant la suite de Fibonacci”, Code Llama produit avec habileté du code pertinent et des explications textuelles. De plus, il aide efficacement à la complétion du code et aux efforts de débogage, en s’adaptant parfaitement aux langages populaires tels que Python, C++, Java, PHP, TypeScript (JavaScript), C# et Bash.

Crédit image : Meta AI

À l’intérieur de Code Llama

La sortie de Code Llama ne comprend pas un seul modèle, mais trois variantes différentes, caractérisées par leurs tailles de paramètres de 7B, 13B et 34B. Chacun de ces modèles a été entraîné sur un ensemble étendu de 500B de jetons comprenant du code et des informations liées au code. Notamment, les modèles de base de 7B et 13B et les modèles instructifs ont été dotés de compétences de complétion automatique, ce qui leur permet d’insérer facilement du code dans des structures de code existantes. Cette caractéristique les rend aptes à gérer des tâches telles que la complétion du code dès le départ. Le trio de modèles répond à des exigences distinctes en matière de traitement et de latence. Par exemple, le modèle de 7B est capable de fonctionner sur un seul GPU. Alors que le modèle de 34B se distingue par des résultats optimaux et une assistance au codage plus élevée, les versions plus petites de 7B et 13B excellent en termes de vitesse, ce qui les rend adaptées aux tâches à faible latence telles que la complétion du code en temps réel.

Les innovations de Meta AI s’étendent également à deux adaptations nuancées de Code Llama : Code Llama – Python et Code Llama – Instruct.

  • Code Llama – Python est une dérivation spécialisée, soigneusement affinée sur un volume important de code Python représentant 100B de jetons. Étant donné le rôle central de Python dans les benchmarks de génération de code et son importance au sein de la communauté de l’IA, ce modèle ciblé augmente son utilité.
  • Code Llama – Instruct représente un alignement et un affinement de Code Llama grâce à un ajustement fin instructif. Cette nouvelle approche d’entraînement consiste à fournir au modèle des entrées “instructions en langage naturel” associées à des sorties anticipées. Cette méthodologie stratégique améliore la capacité du modèle à comprendre les attentes humaines dans les instructions. Pour les projets de génération de code, il est conseillé de choisir les versions de Code Llama – Instruct, car elles ont été calibrées pour fournir des réponses utiles et sécurisées en langage naturel.
Crédit d'image : Meta AI

Plongeons profondément dans la formation et le perfectionnement de Code Llama, il y a quelques aspects qui méritent d’être mis en évidence. 1) Ensemble de données La formation de Llama repose sur un ensemble de données méticuleusement sélectionné et enrichi de code disponible publiquement, offrant un paysage quasi exempt de duplicata. L’ensemble de données comprend 500 milliards de jetons pendant la phase initiale, à partir des versions 7B, 13B et 34B. Un supplément de 8 % de données d’échantillon est collecté à partir d’ensembles de données en langage naturel liés aux domaines du code.

2) Complétion Dans le domaine de la complétion de code, une tâche essentielle consiste à prédire les segments manquants d’un programme en se basant sur le contexte environnant. Les applications pragmatiques comprennent la complétion de code dans les environnements de développement intégrés (IDE), l’inférence de type et même la génération de documentation en code telle que les docstrings. En travaillant en conformité avec le concept de masquage causal, un cadre développé par Aghajanyan et al. (2022) et Fried et al. (2023), Meta AI modèle les modèles de complétion. Le processus de formation implique le déplacement de parties des séquences de formation vers la conclusion, ouvrant la voie aux prédictions autorégressives. Dans cette entreprise, les modèles polyvalents 7B et 13B subissent une formation axée sur la complétion, en écho aux stratégies recommandées par Bavarian et al. (2022).

3) Fine-Tuning à long contexte : Dévoiler les subtilités de la manipulation de séquences étendues est une poursuite redoutable dans le domaine des modèles de langage basés sur les transformateurs. Les défis cruciaux concernent l’extrapolation, c’est-à-dire explorer des longueurs de séquence au-delà de celles rencontrées lors de la formation, et la complexité quadratique des passes d’attention qui penche en faveur des entrées de courte à moyenne portée pour une formation efficace. Meta AI avance avec une solution unique, introduisant le domaine dédié du fine-tuning à long contexte (LCFT). En utilisant des séquences comprenant 16 384 jetons, un bond substantiel par rapport aux 4 096 jetons présentés dans les premières étapes de formation de code de Llama 2, LCFT confère aux modèles des capacités à longue portée. Ce changement stratégique intervient au cours d’une phase de fine-tuning, contournant une escalade inutile des coûts de formation.

4) Fine-Tuning d’instructions : Les compétences de Code Llama s’étendent au fine-tuning des instructions, comme on peut le voir dans les modèles raffinés Code Llama – Instruct. Cette itération exploite Code Llama comme base, sculptée pour répondre de manière appropriée aux requêtes. La fusion du fine-tuning supervisé avec un vaste ensemble d’exemples d’échantillonnage de rejet confère cette compétence instructive.

5) Auto-instruction Dans le domaine des ensembles de données, Meta AI se lance dans un voyage exclusif, en créant des instances liées à des tâches liées au code. Conscient de la nature intensive en ressources de l’acquisition de données auprès d’annotateurs humains ou par le biais de retours humains, un accent particulier est mis sur l’auto-instruction. Le domaine des tâches de codage, imprégné des connaissances des développeurs professionnels, constitue la toile sur laquelle repose cette approche innovante.

Les résultats

Pour évaluer Code Llama, Meta AI a utilisé deux références de codage largement reconnues : HumanEval et Mostly Basic Python Programming (MBPP). La référence HumanEval évalue systématiquement les compétences du modèle en matière de complétion de code via des docstrings, tandis que la référence MBPP examine la capacité du modèle à traduire des descriptions en code exécutable. L’entreprise minutieuse d’établir ces références a révélé des résultats éclairants : Code Llama a surpassé les modèles de langage larges (LLM) centrés sur le code en open source et même surpassé son prédécesseur, Llama 2. Par exemple, dans le cas de Code Llama 34B, des scores remarquables ont été obtenus – un impressionnant 53,7 % sur la référence HumanEval et un redoutable 56,2 % sur la référence MBPP. Ces scores se sont avérés les plus élevés parmi les solutions state-of-the-art comparables, positionnant Code Llama 34B au niveau des remarquables capacités de ChatGPT.

Crédit d'image : Meta AI

Code Llama promet d’être l’un des modèles de langage les plus importants dans un avenir proche. Il contribue certainement à réaffirmer la valeur des modèles de base en open source dans différents domaines.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Imagerie d'Intelligence Artificielle Une étude universitaire des complexités et des mécanismes des GANs

Les GAN ont démontré leur savoir-faire dans la création de données réalistes. Ils offrent un potentiel dans divers do...

AI

Lutter contre les faits faux avec deux petits mots

Les chercheurs ont développé une méthode pour réduire les hallucinations des grands modèles de langage (LLM) en inclu...

AI

Collaboration entre l'humain, l'IA et l'apprentissage automatique dans l'évaluation des risques pour les infrastructures intelligentes

La mise en synergie de l'expertise humaine, des informations de l'IA et des algorithmes de ML transforme l'évaluation...

AI

Intégrer l'IA dans les IDE

Plusieurs idées peuvent être explorées pour parvenir à une intégration transparente de l'IA dans les IDE certaines o...

AI

Google's AI Red Team les hackers éthiques rendant l'IA plus sûre

Le mois dernier, nous avons introduit le Cadre d'Intelligence Artificielle Sécurisé (SAIF), conçu pour aider à résoud...

AI

Utilisateur de capteurs utiles lance l'IA dans une boîte.

Comment aimeriez-vous avoir votre propre IA privée et sécurisée dans une boîte ? Toutes les applications, aucun aspec...