Stable Code, nouveau « poids léger » chez les LLM codeurs

Stable Code

Première version majeure pour Stable Code, que Stability AI destine à un usage en local. Comment se présente ce modèle ?

À la recherche d’un LLM codeur exécutable en local ? Stable Code est option.

Stability AI, qui vient de publier ce modèle, met en tout cas en avant la capacité à l’utiliser « même sans GPU dédié sur des laptops comme le MacBook Air ».

On n’est pas parti de zéro. Il existait  déjà une famille Stable Code Alpha. Ouverte en août dernier, elle comprend trois modèles : deux pour la complétion de code (dont un doté d’une fenêtre de contexte étendue de 4k à 16k) et un de type instruct.

Les modèles Stable Code Alpha de base se font sur le LLM généraliste Stable LM. Ils ont subi un premier entraînement non supervisé sur une version « augmentée » du dataset StarCoder (environ 300 milliards de tokens). Puis une deuxième phase sur des langages populaires (C, C++, Go, Java, JavaScript, Markdown, Python ; 260 milliards de tokens). Le modèle instruct a été affiné sur 120 000 paires instruction/réponse.
Les checkpoints des modèles de base sont sous licence Apache 2.0. Ceux du modèle instruct sont sous une licence spécifique qui interdit l’usage commercial.

Stable Code : pas d’usage commercial sans abonnement

La « nouvelle génération » Stable Code  ne comprend pour le moment qu’un modèle, à 2,7 milliards de paramètres. Là aussi, la licence exclut les usages commerciaux. À moins de souscrire à l’un des abonnements – Pro ou Entreprise – que Stability AI commercialise depuis quelques semaines (Stable Code n’est pas disponible sur l’API).

Doté d’une fenêtre de contexte de 16k, Stable Code supporte l’autocomplétion au milieu du code et la v2 de FlashAttention. Stability AI, qui l’a entraîné sur son cluster d’instances AWS P4d (256 GPU NVIDIA A100-40), le dit fonctionnel sur 18 langages. Nommément, C, C++, Java, JavaScript, CSS, Go, HTML, Ruby, Rust, Markdown, Shell, PHP, SQL, R, TypeScript, Pyrhon, Jupyter-Clean et RestructuredText.

Exploitant notamment les rotary embeddings, le pipeline d’entraînement a été similaire à celui des modèles Code Llama. Stability AI ne manque d’ailleurs pas de faire la comparaison avec la version 7B sur le benchmark MultiPL-HumanEval.

benchmark Stable Code

En complément à StarCoder, Stable Code a travaillé sur un autre sous-ensemble du dataset The Stack : des tickets et des PR GitHub. On l’a aussi formé sur un extrait de Falcon RefinedWeb, sur CommitPackFT et sur des données mathématiques issues en particulier de MetaMathQA.

À consulter en complément :

Comment la communauté s’empare du modèle ouvert de Mistral AI
Transparence des LLM : ce qui coince chez OpenAI & Cie
Le GPT Store a ouvert : quelques clés de compréhension
12 questions que l’UE se pose sur l’IA générative

Illustration © bestforbest – Adobe Stock