- Yi-Coder est un grand modèle de langage (LLM) open source pour le code, offrant des performances de pointe en programmation avec moins de 10 milliards de paramètres
- Il est proposé en deux tailles, 1.5B et 9B de paramètres, avec des versions de base et de chat conçues pour une inférence efficace et un entraînement flexible
- Yi-Coder-9B est construit sur Yi-9B, avec l’ajout de 2.4T de tokens de haute qualité issus d’un corpus de code au niveau dépôt provenant de GitHub et de données liées au code filtrées depuis CommonCrawl
Principales caractéristiques de Yi-Coder
- Préentraîné sur 2,4 trillions de tokens de haute qualité couvrant 52 langages de programmation majeurs
- Modélisation de contexte long : une fenêtre de contexte allant jusqu’à 128K tokens permet la compréhension et la génération de code à l’échelle d’un projet
- Petit mais puissant : Yi-Coder-9B surpasse d’autres modèles de moins de 10 milliards de paramètres comme CodeQwen1.5 7B et CodeGeex4 9B, et atteint même des performances comparables à DeepSeek-Coder 33B
Yi-Coder offre des performances de codage impressionnantes
LiveCodeBench
- LiveCodeBench est une plateforme publiquement accessible conçue pour fournir une évaluation complète et équitable de programmation compétitive pour les LLM
- Yi-Coder-9B-Chat a atteint un taux de réussite impressionnant de 23,4 %, et c’est le seul modèle de moins de 10B paramètres à dépasser les 20 %
- Cette performance surpasse DeepSeek-Coder-33B-Instruct (22,3 %), CodeGeex4-All-9B (17,8 %), CodeLlama-34B-Instruct (13,3 %) et CodeQwen1.5-7B-Chat (12 %)
HumanEval, MBPP et CRUXEval-O
- Yi-Coder-9B-Chat a atteint un taux de réussite de 85,4 % sur HumanEval et de 73,8 % sur MBPP, surpassant les autres code LLM
- Yi-Coder 9B devient aussi le premier code LLM open source à dépasser 50 % de précision sur CRUXEval-O
Yi-Coder excelle dans l’édition et l’autocomplétion de code
CodeEditorBench
- Yi-Coder-9B obtient un taux de victoire moyen impressionnant parmi les code LLM open source, dépassant régulièrement DeepSeek-Coder-33B-Instruct et CodeQwen1.5-7B-Chat dans les sous-ensembles Primary et Plus
CrossCodeEval
- Yi-Coder surpasse d’autres modèles de taille comparable sur les jeux de données Python et Java, à la fois dans les scénarios avec récupération et sans récupération
- Cela confirme qu’un entraînement avec un contexte plus long sur un corpus de code à l’échelle du dépôt logiciel permet à Yi-Coder de capturer efficacement les dépendances de long terme, contribuant ainsi à ses excellentes performances
Yi-Coder peut modéliser un contexte long de 128K
Une aiguille dans le code
- Pour tester les capacités de modélisation de long contexte de Yi-Coder, une tâche synthétique appelée "une aiguille dans le code" a été créée en utilisant des séquences de longueur 128K
- Dans cette tâche, une simple fonction personnalisée est insérée aléatoirement dans une longue base de code, puis le modèle est testé sur sa capacité à reproduire cette fonction à la fin de la base de code
- Cela évalue la capacité du LLM à extraire des informations clés dans un long contexte et reflète son aptitude fondamentale à comprendre de longues séquences
- Yi-Coder-9B accomplit parfaitement cette tâche dans la plage de longueur 128K
Yi-Coder brille aussi en raisonnement mathématique
Raisonnement mathématique assisté par programme
- Yi-Coder a été évalué dans une configuration PAL (Program-aided Language Models) sur 7 benchmarks de raisonnement mathématique
- Yi-Coder-9B a atteint une précision remarquable de 70,3 %, dépassant les 65,8 % de DeepSeek-Coder-33B
Conclusion
- Nous mettons Yi-Coder 1.5B/9B à disposition de la communauté en open source, à la fois en version de base et en version chat
- Yi-Coder montre des performances remarquables sur une grande variété de tâches, notamment la programmation générale et compétitive, l’édition de code et la complétion au niveau dépôt, la compréhension de longs contextes et le raisonnement mathématique
- Nous pensons que Yi-Coder peut repousser les limites des petits code LLM et ouvrir des cas d’usage capables d’accélérer et de transformer le développement logiciel
Synthèse de GN⁺
- Le principal atout de Yi-Coder est d’offrir des performances de codage de pointe avec un nombre réduit de paramètres. Cela pourrait permettre une excellente assistance au code sans nécessiter les ressources de calcul massives exigées par de grands LLM comme ChatGPT
- Sa capacité de modélisation de long contexte permet de comprendre le code à l’échelle d’un grand projet, ce qui semble particulièrement utile pour les tâches de programmation complexes
- Il affiche d’excellentes performances en programmation compétitive, en édition de code, en complétion au niveau dépôt, en compréhension de longs contextes et en raisonnement mathématique
- Parmi les principaux outils d’assistance au code basés sur les LLM figurent GitHub Copilot et Amazon CodeWhisperer. Par rapport à eux, Yi-Coder a l’avantage d’être un modèle plus léger, mais reste encore en retrait sur les fonctions additionnelles comme les plugins
- Parmi les autres projets aux fonctionnalités similaires figurent DeepSeek-Coder, CodeGeex4 et CodeLlama
- Les capacités de raisonnement mathématique de Yi-Coder sont particulièrement intéressantes. Cette approche de résolution de problèmes par la programmation se distingue des modèles purement linguistiques et montre le potentiel d’usage des LLM dans les mathématiques comme dans de nombreux autres domaines
2 commentaires
Yi - LLM open source bilingue de nouvelle génération
Yi 1.5 - LLM open source bilingue de nouvelle génération
Avis Hacker News
Claude 3.5 Sonnet reste le plus performant parmi les LLM orientés code
Yi-Coder obtient un score inférieur à GPT-3.5 dans le benchmark d’édition de code d’Aider
Après avoir testé des LLM sur des tâches SRE/DevOps/C#/Golang/C++, certains ont reçu des réponses illogiques
La différence entre la façon dont les ingénieurs logiciel et les artistes réagissent aux modèles d’IA est jugée intéressante
Certains attendent des modèles spécialisés pour des langages précis
Certains se demandent comment configurer de petits LLM en local
Question sur le matériel recommandé pour exécuter ces modèles sur un PC de bureau local
Certains aimeraient voir les performances de SWE-agent et de Yi-Coder-9B-Chat
Demande d’explication sur le benchmark Aider
Question sur la raison pour laquelle la taille d’un modèle est exprimée en nombre de poids