StarCoder est un LLM de génération de code en accès libre couvrant 80 langages de programmation, permettant de modifier le code existant ou de créer un nouveau code. Il représente une étape majeure du projet BigCode, une initiative conjointe de Service Now, plateforme cloud d’automatisation de flux de travail, et de la start-up franco-américaine Hugging Face. Développé par les deux partenaires pour rendre l’IA générative plus transparente et accessible afin de permettre une innovation responsable à grande échelle, le modèle est publié sous une licence OpenRAIL M.
Les LLM générateurs de code comme Copilot alimenté par le Codex d’Open AI, AlphaCode de DeepMind ou CodeWhisperer d’Amazon, fonctionnent sur un large éventail de domaines, de tâches et de langages de programmation et permettent d’augmenter la productivité des développeurs.
Le projet BigCode
Le projet BigCode est une initiative visant à développer des systèmes d’IA de pointe pour le code de manière ouverte et responsable avec le soutien de la communauté de recherche scientifique ouverte sur l’IA, dans le même esprit que le projet BigScience. Ce dernier avait été initié au printemps 2021 par Hugging Face, qui a donné naissance au LLM BLOOM.
Le premier objectif de BigCode était de développer et de publier un ensemble de données suffisamment grand pour entraîner un de ces modèles uniquement sur des fichiers provenant de référentiels avec des licences permissives : objectif rempli avec The Stack.
The Stack est un jeu de données de pré-formation pour la création de LLM de code contenant plus de 6 To de fichiers de code source provenant de 19 millions de référentiels couvrant 358 langages de programmation. Il a été filtré pour n’inclure que des licences permissives, avec des restrictions minimales sur la façon dont le logiciel peut être copié, modifié et redistribué, par exemple, MIT et Apache 2.0. Les utilisateurs doivent néanmoins respecter les termes de la licence originale du code, y compris les clauses d’attribution, le cas échéant. Dans ce but, la collection contient des informations de provenance, notamment la source du code et sa licence, pour chaque point de données.
À priori, les informations personnelles telles que les noms, les noms d’utilisateurs, les adresses e-mail et IP, ainsi que les clés et les mots de passe ont été supprimées.
Les développeurs qui constatent qu’un de leur code source fait partie de l’ensemble de données peuvent demander à ce qu’il en soit retiré.
Le LLM StarCoder
StarCoder est le successeur de SantaCoder, une série de modèles de 1,1 milliard de paramètres, entraînés sur le sous-ensemble Python, Java et JavaScript de The Stack (v1.1). Elle a été publiée en début d’année mais excluait les demandes de désinscription.
Ses données d’entraînement intègrent un billion de jetons de code source sous licence permissive couvrant plus de 80 langages de programmation à partir de l’ensemble de données The Stack v1.2 de BigCode. Il est publié sous une licence de modèle d’IA responsable, OpenRAIL-M, qui inclut des restrictions de cas d’utilisation afin que les modèles ne soient utilisés pour générer ou distribuer du code malveillant pour endommager les systèmes électroniques.
Selon le rapport technique auquel ont contribué pas moins de 68 auteurs: “StarCoder, May the source be with you”, le modèle est plus performant pour la génération de code que les modèles similaires de PaLM, LLaMa, CodeGen ou OpenAI code-crushman-001.
L’équipe avertit toutefois que StarCoder est soumis aux limitations typiques des LLM, y compris le potentiel de générer du contenu inexact, offensant, trompeur, discriminatoire à l’égard de l’âge ou du sexe, ou de renforcer d’autres stéréotypes. Le modèle pourrait également fournir des informations personnelles et du code malveillant ayant échappé au filtrage des ensembles de données.
Leandro von Werra, ingénieur en apprentissage automatique chez Hugging Face et co-responsable de BigCode, assure :
“Les efforts conjoints menés par Hugging Face et ServiceNow permettent la sortie de modèles de base puissants qui permettent à la communauté de créer un large éventail d’applications plus efficacement qu’une seule entreprise ne pourrait le proposer. Cette entreprise témoigne du potentiel de l’open source alors que nous travaillons à la démocratisation de l’IA.”
Tester le modèle sur Huggingchat : ici
Consulter le rapport technique sur StarCoder.