Skip to content
Retour au Blog
Model Releases

StarCoder 2 : La Révolution des Modèles de Code Open Source avec 3B, 7B et 15B Paramètres

Découvrez StarCoder 2, la nouvelle famille de modèles de langage ouverts pour le développement logiciel, offrant des performances exceptionnelles dans 600+ langages de programmation.

6 février 2024
Model ReleaseStarCoder 2
StarCoder 2 - official image

Introduction

Le paysage des modèles de langage pour le développement logiciel vient d'être transformé par l'annonce de StarCoder 2, une famille complète de modèles de code open source développée en partenariat par BigCode, ServiceNow, Hugging Face et NVIDIA. Publié le 6 février 2024, ce modèle représente une avancée significative dans la génération de code assistée par IA, offrant aux développeurs des outils puissants, transparents et accessibles gratuitement.

Contrairement à de nombreux modèles propriétaires, StarCoder 2 est entièrement open source et a été entraîné exclusivement sur du code sous licences permissives, éliminant ainsi les préoccupations juridiques liées à l'utilisation commerciale. Cette approche collaborative entre ServiceNow Research, la communauté BigCode et les leaders technologiques comme NVIDIA et Hugging Face positionne StarCoder 2 comme un pilier fondamental de l'avenir du développement logiciel assisté par IA.

Avec sa capacité à traiter plus de 600 langages de programmation et une fenêtre contextuelle de 16K tokens, StarCoder 2 s'adresse aussi bien aux développeurs individuels qu'aux grandes équipes de développement cherchant à améliorer leur productivité et leur qualité de code.

Caractéristiques Clés et Architecture

StarCoder 2 se distingue par sa flexibilité architecturale avec trois tailles de paramètres disponibles : 3 milliards, 7 milliards et 15 milliards de paramètres. Chaque variante a été soigneusement conçue pour répondre à différents besoins de performance et de ressources, permettant une adoption plus large selon les contraintes techniques et budgétaires spécifiques.

L'architecture repose sur un mécanisme d'attention à fenêtre glissante (sliding window attention) qui permet de gérer efficacement des contextes de 16 000 tokens sans compromettre les performances. Cela signifie que les développeurs peuvent travailler avec des fichiers de code plus longs et des contextes plus complexes, essentiels pour les projets de grande envergure.

Le modèle a été entraîné sur plus de 4 billions de tokens provenant de The Stack v2, une collection massive de code open source sous licences permissives. Cette base d'entraînement riche et diversifiée permet au modèle de comprendre et de générer du code dans plus de 600 langages de programmation différents.

  • Tailles disponibles : 3B, 7B, 15B paramètres
  • Fenêtre contextuelle : 16K tokens avec attention glissante
  • Entraîné sur 4+ billions de tokens de The Stack v2
  • Supporte 600+ langages de programmation
  • Capacité de remplissage au milieu (fill-in-the-middle)

Performances et Benchmarks

Les tests de performance montrent que StarCoder 2 surpasse nettement son prédécesseur original et rivalise avec les meilleurs modèles de code du marché. Sur le benchmark HumanEval, la version 15B atteint un score de 72%, dépassant des modèles concurrents de taille similaire. La version 7B obtient 65% et la version 3B atteint 52%, démontrant une progression linéaire des performances avec la taille du modèle.

Sur le benchmark MultiPL-E, qui teste la génération de code dans plusieurs langages, StarCoder 2 15B obtient des résultats impressionnants avec une moyenne de 68% d'exactitude. Le modèle excelle particulièrement dans les langages populaires comme Python (78%), JavaScript (71%), Java (69%) et C++ (64%).

Comparé à des modèles comme CodeLlama et AlphaCode, StarCoder 2 montre des performances équivalentes ou supérieures tout en offrant l'avantage crucial d'être entièrement open source et entraîné sur du code légalement utilisable.

Tarification API

Étant donné que StarCoder 2 est un modèle open source, il n'y a pas de frais d'utilisation directs pour les versions hébergées localement. Les coûts sont uniquement associés à l'infrastructure nécessaire pour exécuter les modèles. Cependant, les plateformes tierces comme Hugging Face offrent des accès via API avec des tarifs compétitifs.

Les plateformes d'hébergement proposent des options allant de 0,20$ à 0,80$ par million de tokens en fonction de la taille du modèle choisi. Les versions plus petites (3B) coûtent environ 0,20$/M tokens en entrée et 0,30$/M tokens en sortie, tandis que les versions plus grandes (15B) atteignent 0,60$/M tokens en entrée et 0,80$/M tokens en sortie.

Cette structure tarifaire rend StarCoder 2 extrêmement compétitif par rapport aux modèles propriétaires, offrant un excellent rapport qualité-prix pour les entreprises cherchant à intégrer des capacités de génération de code dans leurs flux de travail.

Tableau Comparatif

Le tableau suivant présente une comparaison directe entre StarCoder 2 et ses principaux concurrents sur le marché des modèles de code.

Cas d'Utilisation

StarCoder 2 excelle dans une multitude de scénarios d'utilisation liés au développement logiciel. La génération de code automatique est l'une de ses principales forces, permettant aux développeurs de produire rapidement des fonctions, classes et modules complets en fournissant simplement une description textuelle des exigences.

Le modèle est également idéal pour la complétion intelligente de code, la documentation automatique, la révision de code assistée par IA, et même la correction d'erreurs dans des bases de code existantes. Grâce à sa capacité de remplissage au milieu, il peut intelligemment compléter des portions manquantes de code au sein de fichiers existants.

Les équipes DevOps peuvent utiliser StarCoder 2 pour générer des scripts d'automatisation, des configurations CI/CD, et des manifestes d'infrastructure en tant que code. Son support étendu de multiples langages en fait un outil polyvalent pour les environnements technologiques hétérogènes.

Premiers Pas

L'accès à StarCoder 2 est disponible immédiatement via plusieurs canaux. Les versions modèles sont hébergées sur Hugging Face Hub avec des poids pré-entraînés disponibles pour téléchargement gratuit. Les développeurs peuvent utiliser la bibliothèque transformers de Hugging Face pour charger et exécuter les modèles localement ou dans des environnements cloud.

Pour une utilisation via API, les endpoints sont disponibles sur Hugging Face Inference API et d'autres plateformes d'hébergement de modèles. Les exemples de code et la documentation complète sont disponibles dans le dépôt officiel sur GitHub, accompagnés de notebooks Jupyter pour faciliter l'intégration et les tests initiaux.

La communauté BigCode fournit également des guides détaillés pour l'adaptation fine (fine-tuning) et l'utilisation spécifique à des domaines ou langages particuliers, permettant aux organisations de personnaliser le modèle à leurs besoins spécifiques.


Comparison

Model: StarCoder 2 15B | Context: 16K | Max Output: 8K | Input $/M: 0.60 | Output $/M: 0.80 | Strength: 600+ languages, Fill-in-Middle

Model: CodeLlama 13B | Context: 16K | Max Output: 4K | Input $/M: 0.70 | Output $/M: 0.90 | Strength: Python optimized

Model: CodeGen2.5 6B | Context: 4K | Max Output: 2K | Input $/M: 0.40 | Output $/M: 0.50 | Strength: Multi-language

Model: SantaCoder 1.1B | Context: 2K | Max Output: 1K | Input $/M: 0.20 | Output $/M: 0.30 | Strength: Lightweight, fast

API Pricing — Input: 0.20 - 0.60 $/M tokens / Output: 0.30 - 0.80 $/M tokens / Context: Variable selon la plateforme d'hébergement


Sources

Blog Hugging Face StarCoder2