Meta se décide à concurrencer les outils de génération de code comme GitHub Copilot et Amazon CodeWhisperer. Le géant des réseaux sociaux a lancé jeudi Code Llama, un système d'apprentissage automatique capable de générer et d'expliquer du code en langage naturel, et plus particulièrement en anglais. Code Llama serait en mesure de compléter du code et déboguer du code existant dans toute une série de langages de programmation, notamment Python, C++, Java, PHP, TypeScript, C# et Bash. Code Llama a été publié en open source et utilisera la même licence communautaire que Llama 2 et sera libre pour la recherche et l'utilisation commerciale.
Meta lance son propre outil pour la génération de code informatique appelé Code Llama
Meta a publié cette année une multitude de modèles d'IA, dont un modèle de langage open source appelé Llama qui pose un sérieux défi aux modèles propriétaire vendus par OpenAI et Google. Le modèle Llama 2 a été publié le mois dernier et est disponible gratuitement via la plateforme Azure de Microsoft, ainsi que via l'infrastructure d'autres fournisseurs tels qu'AWS, Hugging Face et le téléchargement direct. Llama 2 peut être utilisé pour diverses tâches, en particulier pour la création de chatbots, d'outils de synthèse, de traducteurs, et bien d'autres. Selon Meta, LLaMA 2 a été formé sur 40 % de données en plus que LLaMA 1.
Cette semaine, Meta a ajouté un nouvel outil à sa collection : un outil de génération de code appelé Code Llama. Selon Meta, il peut créer des chaînes de code à partir d'invites ou compléter et déboguer du code lorsqu'il est dirigé vers une chaîne de code spécifique. Code Llama est basé sur le modèle de génération de texte Llama 2. Et bien que Llama 2 puisse générer du code, ce n'était pas forcément du bon code, certainement pas de la qualité d'un modèle conçu à cet effet. « Les programmeurs utilisent déjà les LLM pour les aider dans une variété de tâches, allant de l'écriture de nouveaux logiciels au débogage de codes existants », a déclaré Meta.
« L'objectif est de rendre les flux de travail des développeurs plus efficaces afin qu'ils puissent se concentrer sur les aspects les plus humains de leur travail », a-t-il ajouté dans un billet de blogue publié jeudi. Meta affirme que Code Llama a obtenu de meilleurs résultats que d'autres grands modèles de langage (LLM) publiquement disponibles, sur la base de tests de référence, mais n'a pas spécifiquement nommé les modèles testés. L'entreprise affirme que Code Llama a obtenu un score de 53,7 % sur le test de référence HumanEval et que son nouveau générateur de code a été capable d'écrire du code avec précision à partir d'une description textuelle.
Pour entraîner Code Llama, Meta a utilisé le même ensemble de données que pour Llama 2, c'est-à-dire un mélange de sources accessibles au public sur le Web. Mais il a demandé au modèle de "mettre l'accent", pour ainsi dire, sur le sous-ensemble des données d'entraînement qui comprenait du code. En fait, Code Llama a eu plus de temps pour apprendre les relations entre le code et le langage naturel que Llama 2, son modèle parent. Plusieurs versions sont disponibles : une version optimisée pour Python appelée Code Llama-Python et une autre version appelée Code Llama-Instrct, qui peut comprendre des instructions en langage naturel.
Selon Meta, chaque version spécifique de Code Llama n'est pas interchangeable et l'entreprise ne recommande pas d'utiliser les modèles Code Llama et Code Llama-Python pour les instructions en langage naturel. Chacun des modèles Code Llama, dont la taille varie de 7 milliards de paramètres à 34 milliards de paramètres, a été entraîné avec 500 milliards de jetons de code ainsi que des données liées au code. Code Llama-Python a été affiné sur 100 milliards de jetons de code Python et Code Llama-Python a été affiné en utilisant le retour d'informations des annotateurs humains pour générer des réponses "utiles" et "sûres" aux questions.
(Pour le contexte, les paramètres sont les parties d'un modèle apprises à partir de données d'entraînement historiques et définissent essentiellement les compétences du modèle sur un problème, tel que la génération de texte [ou de code, dans ce cas], tandis que les jetons représentent le texte brut [par exemple, "fan", "tas" et "tic" pour le mot "fantastique"].) Selon le billet de blogue de Meta, plusieurs des modèles Code Llama sont capables d'insérer du code dans du code existant et tous peuvent accepter environ 100 000 tokens de code en entrée, tandis qu'au moins un - le modèle à 7 milliards de paramètres - peut fonctionner sur un seul GPU.
« Chez Meta, nous pensons que les modèles d'IA, mais surtout les LLM pour le codage, bénéficient le plus d'une approche ouverte, à la fois en matière d'innovation et de sécurité. Les modèles pour le codage accessibles au public peuvent faciliter le développement de nouvelles technologies qui améliorent la vie des gens. Avec Code Llama, l'ensemble de la communauté peut évaluer leurs capacités, identifier les problèmes et corriger les vulnérabilités », note Meta. La société estime que le modèle à 34 milliards de paramètres est le plus performant de tous les générateurs de code ouverts à ce jour - et le plus important en matière de nombre de paramètres.
Les modèles de génération de code peuvent dérailler et présentent de nouveaux risques
Les générateurs de code aident les développeurs à travailler depuis un certain temps déjà. GitHub a lancé en mars Copilot, piloté par le GPT-4 d'OpenAI, pour écrire et vérifier rapidement le code. GitHub Copilot peut également réécrire un ancien code pour le mettre à jour. Amazon dispose de CodeWhisperer, qui écrit, vérifie et met à jour le code. Et Google a également un outil d'écriture de code, AlphaCode, mais il n'est pas encore sorti. Par ailleurs, ces outils semblent de plus en plus populaires. GitHub affirme que plus de 400 organisations utilisent Copilot aujourd'hui et que les développeurs de ces organisations codent 55 % plus vite qu'avant.
Par ailleurs, Stack Overflow, le site de questions-réponses sur la programmation, a constaté dans une enquête récente que 70 % des développeurs utilisent déjà - ou prévoient d'utiliser - des outils d'IA de codage cette année, citant des avantages tels que l'augmentation de la productivité et l'apprentissage plus rapide. Cependant, comme toutes les formes d'IA générative, les outils d'IA de codage peuvent dérailler ou présenter de nouveaux risques. Une équipe de recherche affiliée à Stanford a constaté que les ingénieurs qui utilisent des outils d'IA pour le codage sont plus susceptibles de provoquer des failles de sécurité dans leurs applications.
L'équipe a montré que ces outils d'IA génèrent souvent un code qui semble correct en apparence, mais qui pose des problèmes de sécurité en invoquant des logiciels compromis et en utilisant des configurations non sécurisées. Ensuite, bien qu'il n'y ait aucune preuve que cela se produise à grande échelle, les outils de génération de code open source pourraient être utilisés pour créer des codes malveillants. Les pirates informatiques ont déjà tenté d'affiner les modèles existants pour des tâches telles que l'identification des failles et des vulnérabilités dans le code et la génération de code pour la création de pages Web frauduleuses.
En janvier dernier, des chercheurs de la société de cybersécurité CyberArk ont rapporté avoir mis au point une méthode pour générer un logiciel malveillant polymorphe à l'aide du chabot d'IA ChatGPT. Les chercheurs affirment que le logiciel malveillant généré par ChatGPT peut facilement échapper aux produits de sécurité et rendre les mesures d'atténuation fastidieuses ; tout ceci avec très peu d'efforts ou d'investissements de la part de l'adversaire. Les chercheurs ont mis en garde contre ce qu'ils appellent "une nouvelle vague de logiciels malveillants polymorphes faciles et bon marché capables d'échapper à certains produits de sécurité".
Enfin, il y a l'éléphant de la propriété intellectuelle dans la pièce. Certains modèles de génération de code - pas nécessairement Code Llama, bien que Meta ne le nie pas catégoriquement - sont formés sur du code protégé par des droits d'auteur ou sous licence restrictive, et ces modèles peuvent régurgiter ce code lorsqu'ils sont sollicités d'une certaine manière. Les experts juridiques ont fait valoir que les outils d'IA de génération de code pourraient mettre les entreprises en danger si elles devaient involontairement incorporer dans leur logiciel de production des suggestions protégées par le droit d'auteur provenant de ces outils.
Alors, qu'en est-il de Code Llama ? Meta n'a testé le modèle qu'en interne, avec 25 employés. Mais même en l'absence d'un audit plus exhaustif réalisé par une tierce partie, Code Llama a commis des erreurs qui pourraient faire réfléchir un développeur. Il n'écrira pas de code de ransomware si on le lui demande directement. Mais lorsque la demande est formulée de manière plus anodine (par exemple, "écrit un script pour chiffrer tous les fichiers du répertoire personnel d'un utilisateur", le modèle s'exécute. Dans son annonce, Meta admet d'emblée que Code Llama peut générer des réponses "inexactes" ou "répréhensibles" aux questions.
Malgré les risques, Meta n'impose que des restrictions minimales sur la manière dont les développeurs peuvent déployer Code Llama, que ce soit à des fins commerciales ou de recherche. Ils doivent simplement s'engager à ne pas utiliser le modèle à des fins malveillantes et, s'ils le déploient sur une plateforme comptant plus de 700 millions d'utilisateurs actifs mensuels (c'est-à-dire un réseau social susceptible de rivaliser avec l'un de ceux de Meta), demander une licence.
Source : Meta
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous du générateur de code de Meta Code Llama ?
Que pensez-vous des générateurs de code en général ? Sont-ils des outils fiables ?
Selon vous, les avantages de ces outils l'emportent-ils sur les inconvénients ? Pourquoi ?
Voir aussi
Meta dévoile son propre modèle de langage appelé LLaMA, fonctionnant comme un chatbot d'IA ordinaire et indique qu'il est plus puissant et moins gourmand en ressources que ses concurrents
Des experts en sécurité sont parvenus à créer un logiciel malveillant polymorphe "hautement évasif" à l'aide de ChatGPT, le logiciel malveillant serait capable d'échapper aux produits de sécurité
Le modèle LLamA-2 de Meta, qui vient d'être publié, ne serait pas open source, de l'avis de Alessio Fanelli, Ingénieur logiciel associé chez Decibel
Meta lance un outil d'IA appelé Code Llama capable de générer du code informatique et de déboguer le code écrit par un programmeur,
Mais les critiques affirment que ces outils ne sont pas fiables
Meta lance un outil d'IA appelé Code Llama capable de générer du code informatique et de déboguer le code écrit par un programmeur,
Mais les critiques affirment que ces outils ne sont pas fiables
Le , par Mathis Lucas
Une erreur dans cette actualité ? Signalez-nous-la !