Les atouts de Code Llama, l'IA de génération de code de Meta

Les atouts de Code Llama, l'IA de génération de code de Meta Meta a entraîné Llama 2 par fine-tuning pour développer Code Llama, un modèle spécialement conçu pour la génération de code source et le dialogue technique.

Meta continue de frapper fort dans le milieu de l'IA open source. Ce jeudi 24 août, la firme de Menlo Park a dévoilé Code Llama, un nouveau modèle d'intelligence artificielle destiné à la production de code source, et au dialogue technique en langage naturel. Selon Meta, ce nouveau modèle se destine aux développeurs qui souhaitent gagner en efficacité ou aux étudiants qui apprennent la programmation. Le générateur aurait le potentiel de créer du code plus efficient et mieux documenté.

Code Llama est publié en open source selon les mêmes termes que Llama 2. Il est alors impossible d'utiliser le modèle pour "améliorer tout autre modèle linguistique de grande envergure". L'utilisation éducative et commerciale est totalement autorisée dans la limite de de 700 millions d'utilisateurs. Passé ce cap, il sera nécessaire de demander à Meta une licence d'utilisation. "L'espace de l'IA générative évolue rapidement, et nous pensons qu'une approche ouverte de l'IA d'aujourd'hui est la meilleure pour développer de nouveaux outils d'IA innovants, sûrs et responsables", justifie Meta.

Code Llama en trois versions

En réalité, Code Llama est une version fine-tunée de Llama 2. Les experts en IA de Facebook ont entraîné le modèle sur un dataset composé en majeure partie de code source pendant une plus longue période que Llama 2. Ses capacités de génération de code en sont ainsi décuplées. Selon un benchmark mené par Meta, Code Llama est plus efficace que la plupart des autres modèles open source. Il est meilleur que GPT-3.5 mais moins bon que GPT-4 avec HumanEval. Enfin, les réponses de l'IA seraient plus sûres que les modèles similaires.

Dans le détail, Meta a dévoilé trois types de modèles avec des tailles différentes : une version en 7 milliards de paramètres, 13 milliards et enfin 34 milliards. Les différences résident essentiellement dans le poids numérique du modèle et dans ses performances. Code Llama 34B est plus performant que Code Llama 13B mais il sera également beaucoup plus lourd, plus lent et demandera une infrastructure plus avancée pour fonctionner. Tous les modèles peuvent néanmoins être utilisés pour de l'autocomplétion, très prisée des développeurs. Code Llama peut prendre en charge jusqu'à 100 000 tokens. Il en résulte alors une quantité importante de données pouvant être envoyées en entrée. Ainsi, "les utilisateurs peuvent fournir au modèle plus de contexte à partir de leur base de code pour rendre les générations plus pertinentes", explique Meta. Il est également plus facile de déboguer une plus grande quantité de code.

Code Llama génère du code dans une flopée de langages. © Meta

Code Llama Python et Code Llama Instruct : deux itérations complémentaires

Meta a également dévoilé deux variantes de Code Llama pour des usages très précis : Code Llama Python et Code Llama Instruct. Code Llama - Python, comme son nom l'indique, a été fine-tuné sur une plus grande quantité de code Python. Cette version devrait être grandement utile à la communauté de l'IA, qui travaille très régulièrement avec ce langage. Enfin, Code Llama - Instruct a pour but de mieux comprendre les attentes d'un utilisateur humain, et doit être utilisé pour la génération de code en langage naturel, conseille la maison mère de Facebook. "Nous ne recommandons pas d'utiliser Code Llama ou Code Llama - Python pour effectuer des tâches générales en langage naturel, car aucun de ces modèles n'est conçu pour suivre des instructions en langage naturel. Code Llama est spécialisé pour les tâches spécifiques au code et ne convient pas comme modèle de base pour d'autres tâches", précise Meta.

Code Llama est disponible en plusieurs versions. © Meta

Tous les modèles publiés ce 24 août, hormis Code Llama Python spécifique au Python, sont en capacité de générer du code source de qualité dans la majorité des langages utilisés (C++, Java, Php, Typescript, C#, Bash…). Meta espère maintenant que Code Llama sera utilisé par l'ensemble des acteurs du marché, des ingénieurs, aux chercheurs, en passant par l'industrie, la communauté de l'open source et les ONG. Il est possible de tester Code Llama directement depuis GitHub ou de télécharger le modèle depuis les serveurs de Meta.