StarCoder 2 : L’IA révolutionnaire qui génère du code débarque sur vos GPUs !

Des développeurs adoptent des générateurs de code alimentés par l’IA à un rythme étonnant

Les développeurs adoptent des générateurs de code alimentés par l’IA – des services tels que GitHub Copilot et Amazon CodeWhisperer, ainsi que des modèles à accès ouvert comme le Code Llama de Meta – à un rythme étonnant. Mais les outils sont loin d’être parfaits. Beaucoup ne sont pas gratuits. D’autres le sont, mais seulement sous des licences qui les empêchent d’être utilisés dans des contextes commerciaux courants.

StarCoder 2 : une alternative plus ouverte

Conscient de la demande d’alternatives, la start-up d’IA Hugging Face s’est associée il y a plusieurs années à ServiceNow, la plateforme d’automatisation des flux de travail, pour créer StarCoder, un générateur de code open source avec une licence moins restrictive que certains autres disponibles. La première version est sortie en ligne début de l’année dernière, et le travail sur une nouvelle version, StarCoder 2, est en cours depuis lors.

Trois variantes de StarCoder 2

StarCoder 2 n’est pas un seul modèle de génération de code, mais plutôt une famille. Sortie aujourd’hui, elle se décline en trois variantes, les deux premières pouvant fonctionner sur la plupart des GPU grand public modernes :

  • Un modèle de 3 milliards de paramètres (3B) entraîné par ServiceNow
  • Un modèle de 7 milliards de paramètres (7B) entraîné par Hugging Face
  • Un modèle de 15 milliards de paramètres (15B) entraîné par Nvidia, le nouveau soutien du projet StarCoder

Des performances améliorées

Tout comme la plupart des autres générateurs de code, StarCoder 2 peut suggérer des façons de compléter des lignes de code inachevées ainsi que résumer et récupérer des extraits de code en langage naturel. Entraîné avec 4 fois plus de données que le StarCoder original (67,5 téraoctets contre 6,4 téraoctets), StarCoder 2 offre des performances « significativement » améliorées à des coûts d’exploitation plus bas, selon Hugging Face, ServiceNow et Nvidia.

Une utilisation efficace pour les développeurs

StarCoder 2 peut être affiné « en quelques heures » en utilisant un GPU comme le Nvidia A100 sur des données internes ou externes pour créer des applications telles que des chatbots et des assistants de codage personnels. Et, parce qu’il a été formé sur un ensemble de données plus large et plus diversifié que le StarCoder original (~619 langages de programmation), StarCoder 2 peut faire des prédictions plus précises et conscientes du contexte – du moins hypothétiquement.

Un générateur de code pour les développeurs

« StarCoder 2 a été créé spécialement pour les développeurs qui ont besoin de construire rapidement des applications », a déclaré Harm de Vries, responsable de l’équipe de développement de StarCoder 2 de ServiceNow, dans une interview avec Toukiela. « Avec StarCoder 2, les développeurs peuvent utiliser ses capacités pour rendre le codage plus efficace sans sacrifier la vitesse ou la qualité ».

Préoccupations liées à la sécurité et à la qualité

Cependant, il est important de noter que tous les développeurs ne sont pas d’accord avec les affirmations de de Vries concernant la vitesse et la qualité. Les générateurs de code promettent de simplifier certaines tâches de codage, mais à quel prix ? Une étude récente de Stanford a révélé que les ingénieurs qui utilisent des systèmes de génération de code sont plus susceptibles d’introduire des vulnérabilités de sécurité dans les applications qu’ils développent. Par ailleurs, un sondage de Sonatype, une société spécialisée dans la cybersécurité, montre que la majorité des développeurs s’inquiètent du manque de visibilité sur la manière dont le code généré par ces outils est produit et de la production excessive de code difficile à gérer.

Une licence restrictive

La licence de StarCoder 2 pourrait également poser problème pour certains développeurs. StarCoder 2 est sous licence BigCode Open RAIL-M 1.0, qui vise à promouvoir une utilisation responsable en imposant des restrictions « légères » aux titulaires de licence du modèle et aux utilisateurs finaux. Bien que moins contraignante que de nombreuses autres licences, RAIL-M n’est pas vraiment « ouverte » dans le sens où elle ne permet pas aux développeurs d’utiliser StarCoder 2 pour toutes les applications imaginables (les applications de conseils médicaux sont strictement interdites, par exemple). Certains commentateurs affirment que les exigences de RAIL-M pourraient être trop vagues pour être respectées et pourraient entrer en conflit avec la réglementation sur l’IA telle que l’AI Act de l’UE.

Un générateur de code plus transparent et éthique

En réponse à ces critiques, un porte-parole de Hugging Face a déclaré dans un communiqué par courrier électronique : « La licence a été soigneusement conçue pour maximiser la conformité aux lois et réglementations actuelles ». StarCoder 2 est-il vraiment supérieur aux autres générateurs de code disponibles, qu’ils soient gratuits ou payants ? Selon certaines mesures, il semble être plus efficace que l’une des versions de Code Llama, Code Llama 33B. Hugging Face affirme que StarCoder 2 15B est aussi performant que Code Llama 33B pour certaines tâches de complétion de code, mais deux fois plus rapide. Cependant, les tâches exactes n’ont pas été précisées.

Une option plus éthique et transparente

StarCoder 2, en tant que collection de modèles open source, a également l’avantage de pouvoir être déployé localement et d’apprendre le code source ou la base de code d’un développeur – une perspective attrayante pour les développeurs et les entreprises méfiants quant à l’exposition de leur code à une IA hébergée sur le cloud. Selon une enquête réalisée en 2023 par Portal26 et CensusWide, 85% des entreprises ont déclaré qu’elles hésitaient à adopter des outils d’IA générative comme les générateurs de code en raison des risques de confidentialité et de sécurité, tels que le partage d’informations sensibles par les employés ou la formation sur des données propriétaires par les fournisseurs.

Une confiance accrue

Hugging Face, ServiceNow et Nvidia soutiennent également que StarCoder 2 est plus éthique et moins problématique sur le plan juridique que ses concurrents. Contrairement aux générateurs de code formés à partir de code protégé par des droits d’auteur (comme GitHub Copilot, entre autres), StarCoder 2 a été formé uniquement sur des données sous licence de Software Heritage, une organisation à but non lucratif fournissant des services d’archivage de code. Avant la formation de StarCoder 2, BigCode, l’équipe interorganisationnelle à l’origine de la plupart des travaux sur StarCoder 2, a donné aux propriétaires de code la possibilité de retirer leurs données de l’ensemble d’entraînement s’ils le souhaitaient.

Transparence et auditabilité

Comme le StarCoder original, les données d’entraînement de StarCoder 2 sont disponibles en téléchargement pour que les développeurs puissent les utiliser, les reproduire ou les auditer comme bon leur semble. Leandro von Werra, ingénieur en apprentissage automatique chez Hugging Face et co-responsable de BigCode, a souligné qu’il y a eu une prolifération récente de générateurs de code ouverts, mais que peu d’informations ont été fournies sur les données utilisées pour les former et sur la manière dont ils ont été entraînés. « D’un point de vue scientifique, un problème est que la formation n’est pas reproductible, mais en tant que producteur de données (c’est-à-dire quelqu’un qui télécharge son code sur GitHub), vous ne savez pas si et comment vos données ont été utilisées », a déclaré von Werra dans une interview. « StarCoder 2 aborde ce problème en étant entièrement transparent sur l’ensemble du processus de formation, depuis le scraping des données pré-entraînement jusqu’à l’entraînement lui-même ».

Des limitations et des avantages

Cependant, StarCoder 2 n’est pas parfait. Comme d’autres générateurs de code, il est susceptible d’être biaisé. De Vries souligne qu’il peut générer du code contenant des éléments reflétant des stéréotypes liés au genre et à la race. De plus, étant donné que StarCoder 2 a été formé sur des commentaires principalement en anglais, du code Python et Java, il est moins performant pour les langues autres que l’anglais et pour le code « à faibles ressources » comme Fortran et Haskell. Néanmoins, von Werra affirme que c’est une avancée dans la bonne direction. « Nous sommes fermement convaincus que la confiance et la responsabilité dans les modèles d’IA nécessitent une transparence et une auditabilité de l’ensemble du processus, y compris des données de formation et de la recette de formation », a-t-il déclaré. « StarCoder 2 démontre comment des modèles entièrement ouverts peuvent offrir des performances compétitives ».

Des services payants construits sur du code ouvert

On peut se demander quelle est l’incitation de Hugging Face, ServiceNow et Nvidia à investir dans un projet comme StarCoder 2. Après tout, ce sont des entreprises et la formation de modèles n’est pas bon marché. Il semble que la stratégie adoptée soit de favoriser la bonne volonté et de construire des services payants sur la base des versions open source. ServiceNow a déjà utilisé StarCoder pour créer Now LLM, un produit de génération de code adapté aux motifs, cas d’utilisation et processus de workflow de ServiceNow. Hugging Face, qui propose des plans de consultation pour la mise en œuvre de modèles, propose des versions hébergées des modèles StarCoder 2 sur sa plateforme. Nvidia propose également StarCoder 2 via une API et une interface web. Pour les développeurs qui recherchent spécifiquement une expérience hors ligne sans frais, StarCoder 2 – les modèles, le code source et plus encore – peut être téléchargé depuis la page GitHub du projet.

Comparta su opinión

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.