Avec Stable Code 3B, Stability AI se lance dans l'IA générative au service du développement logiciel

Largement connu pour son modèle de génération d'images Stable Diffusion, Stability AI a dévoilé un grand modèle de langage de 2,7 milliards de paramètres. Baptisé Stable Code 3B, il permet aux développeurs de compléter leur code avec un niveau de pertinence comparable à des modèles deux fois plus grands. La start-up assure qu'il fonctionne même en local sur des ordinateurs portables sans GPU dédié.

Code informatique - développement
Stable Code 3B constitue la première version majeure de Stable Code et est conçu pour la complétion de code avec de nombreuses capacités supplémentaires.

"Nous annonçons notre premier grand modèle de langage de 2024 : Stable Code 3B. Il fait suite à notre version précédente Stable Code Alpha 3B et constitue la première sortie majeure de Stable Code, offrant un nouveau modèle de pointe conçu pour la complétion de code, avec de nombreuses capacités supplémentaires", indique Stable Diffusion en préambule.

Comparé à CodeLLaMA 7b, qui fait partie de la famille de grands modèles de langage (LLM) pour le code informatique basé sur Llama 2 de Meta, Stability AI assure que Stable Code 3B est "60 % plus petit tout en offrant une performance de haut niveau similaire pour tous les langages de programmation".

Cette version se base sur le modèle de fondation préexistant de la firme, Stable LM 3B, lui-même entraîné sur 4000 milliards de tokens de données en langage naturel. Stable Code comporte quant à lui 2,7 milliards de paramètres et a été pré-entraîné sur 1300 milliards de tokens de divers ensembles de données textuelles et de code, précise la start-up londonienne.

Des performances qui rivalisent avec CodeLlama

Stable-Code 3B couvre par ailleurs 18 langages de programmation, dont Python, JavaScript, Java, C++ et Go, et démontre des performances de pointe sur les métriques MultiPL-E en utilisant l'outil d'évaluation de BigCode par rapport à des modèles de taille similaire type Wizard Coder, StarCoder ou encore Replit Code V1.5.

Au-delà de la suggestion de code, le modèle permet la prise en charge des capacités FIM (Fill in the Middle), ce qui lui permet d'écrire automatiquement des fonctions ou des composants entiers. Stable Code est entraîné sur des séquences allant jusqu'à 16 384 tokens, mais suit une approche similaire à celle de Code Llama avec la mise en œuvre de Rotary Embeddings, ce qui permet d'élargir la longueur contextuelle du modèle jusqu'à 100 000 tokens.

Un processus d'entraînement largement inspiré de la famille de modèles de Meta

Stability AI précise avoir utilisé un processus d'entraînement similaire à celui de Code Llama. "Nous commençons par un grand modèle pré-entraîné sur des données en langage naturel, dans ce cas, StableLM-3B-4e1t, suivi d'un fine-tuning non supervisé sur plusieurs ensembles de données de code ou en lien avec le code, y compris CommitPack, GitHub Issues, StarCoder et d'autres ensembles de données mathématiques".

La deuxième étape consiste à affiner le modèle avec des séquences plus longues, avec la modification de base suggérée dans CodeLLama. "Le nouveau modèle Stable Code prend également en charge Flash Attention 2", ajoute la start-up. Enfin, notons que sa taille compacte lui permet d'être exécuté en local en temps réel sur des ordinateurs portables, même ceux qui ne disposent pas d'un GPU dédié, à l'instar des MacBook Air. Stability AI précise que ce modèle est inclus dans son abonnement professionnel au prix de 20 dollars par mois.

Des limites d'utilisation indiquées

Stability AI note que le modèle possède ses propres limites et biais. Les développeurs doivent l'évaluer et le "fine-tuner" pour garantir ses performances. "Ce modèle peut présenter des comportements peu fiables, dangereux ou indésirables qui doivent être corrigés par une évaluation et un fine-tuning avant le déploiement".

"L'ensemble de données de pre-training peut contenir du contenu offensant ou inapproprié, même après l'application de filtres de nettoyage des données, ce qui peut être reflété dans le texte généré par le modèle". Il est donc recommandé aux utilisateurs d'utiliser ces modèles avec prudence, en particulier sur des systèmes de production.

Newsletter L'Usine Digitale
Nos journalistes sélectionnent pour vous les articles essentiels de votre secteur.