Maison >Périphériques technologiques >IA >Le modèle de code open source aiXcoder-7B le plus puissant de l'Université de Pékin ! Concentrez-vous sur des scénarios de développement réels et conçus spécifiquement pour le déploiement privé en entreprise
À en juger par les derniers développements dans le cercle technologique, le concept de Génération de code IA est devenu très populaire récemment.
Cependant, mes amis, pensez-vous que les questions de programmation de l'IA sont plus accrocheuses, mais lorsqu'il s'agit de scénarios réels de développement d'entreprise, vous avez toujours l'impression qu'elles ne suffisent pas ?
À ce moment, un joueur senior discret, aiXcoder, est passé à l'action et a publié un grand pas :
Il s'agit d'un nouveau modèle de code volumineux open source - aiXcoder-7B Base version , un modèle spécialement adapté au développement de logiciels d'entreprise Un grand modèle du code déployé dans la scène.
Attendez une minute, quel type de niveau de programmation d'IA un grand modèle de code avec "seulement"7 milliards de paramètres peut-il montrer ?
Jetons d'abord un coup d'œil à ses performances sur les trois ensembles d'évaluation principaux de HumanEval, MBPP et MultiPL-E. Sonscore moyen dépasse en fait Codellama qui compte 34 milliards de paramètres.
Il faut savoir que ce dernier vient de Meta et est basé sur Llama2, qui est le grand modèle de programmation d'IA le plus avancé de l'industrie open source.Ce modèle n'est pas seulement vaincu de nombreux grands modèles open source et est devenu le plus puissant parmi les dizaines de milliards de grands modèles de code, il présente également des avantages particuliers : Des changements par rapport à la « question » traditionnelle. "Génération de code basée sur ", il est spécifiquement destiné aux
projets logiciels au niveau de l'entreprise, et fonctionne mieux dans des scénarios de développement réels - les capacités de génération et d'achèvement de code, ainsi que les capacités inter-fichiers ont été testées, et elles sont toutes "exploitées " (N°1) .
L'implication est qu'aiXcoder-7B ne joue pas au "virtuel" et peut contenir les scénarios commerciaux réels des entreprises. Par exemple, dans l'ensemble d'évaluation CrossCodeEval, qui est proche du scénario de développement réel, aiXcoder-7B a remporté les meilleurs résultats du même niveau de modèle d'un seul coup :Le grand modèle de code le plus puissant avec des dizaines de milliards de paramètresJetons d'abord un coup d'œil au grand modèle. Ce qui est publié et open source cette fois-ci est la version de base d'aiXcoder-7B
(la version Instruct correspondante sera également publiée plus tard), et la chose la plus surprenante à ce sujet est :
En plus de la capacité de génération de code SOTA - il a non seulement remporté le centre d'évaluation grand public Diverses questions algorithmiques, et plus important encore, dans des scénarios de code complexes multi-fichiers qui sont cohérents avec les scénarios de développement d'entreprise réels, aiXcoder-7B fonctionne encore plus brillamment dans des modèles de paramètres de même ampleur ! Vous devez savoir que la capacité la plus pratique des outils de programmation d'IA actuellement est la génération et l'achèvement, y compris la génération directe de blocs de méthode complets, de blocs de jugement conditionnel, de blocs de traitement de boucle, de blocs de capture d'exceptions, etc. Dans des scénarios de développement réels, nous en avons particulièrement besoin pour comprendre les différents fichiers associés à l'ensemble du projet de développement puis les générer. Les tests montrent que la capacité de complétion de code de la version de base d'aiXcoder-7B, combinée à un contexte de fichier unique, surpasse StarCoder2, CodeLlama et d'autres modèles, et a le score global le plus élevé dans les langages Python, JS et Java.Voici le résultat sur l'ensemble d'évaluation de SantaCoder. Comme si cela ne suffisait pas, l'équipe d'aiXcoder a également proposé un ensemble de données d'achèvement de génération de code d'évaluation plus large
(plus de 16 000 éléments de données provenant de scénarios de développement réels) pour une évaluation plus approfondie, et l'effet était encore plus évident. Aujourd'hui, l'ensemble d'évaluation est également open source
avec le modèle. Tout le monde est invité à venir défier~Il convient de mentionner que l'équipe a également spécialement ouvert un "œuf de Pâques" pour nous, qui est. la version de base d'aiXcoder-7B Lors de l'exécution de tâches, nous avons tendance à utiliser des codes plus courts pour terminer la tâche. Il existe une « beauté de simplicité » inhérente. Les avantages sont évidents : il est plus facile à comprendre pour les programmeurs et les bugs sont plus faciles à détecter.
Facile pour un déploiement privé et une personnalisation personnaliséePourquoi open source un si bon modèle de code ? L'équipe
aiXcoder a déclaré qu'elle souhaitait aider davantage de développeurs à réduire leur charge de travail !
Cette fois, la raison pour laquelle le modèle de code au niveau du grand projet 7B est open source est de « l'utiliser facilement par les développeurs d'entreprise ».
Ses fonctionnalités peuvent être résumées en trois termes « faciles » :Tout d'abord, facile à déployer.
Les données de code constituent les principaux droits de propriété intellectuelle privés des entreprises. Par conséquent, le déploiement et l’apprentissage privatisés sont inévitables, et les ressources de déploiement de l’entreprise sont généralement limitées.La version de base d'aiXcoder-7B n'a qu'une taille de paramètre de 7B, est très légère et facile à déployer, et présente les avantages d'un faible coût et de bonnes performances.
Deuxième point, facile à personnaliser.
De nombreuses entreprises disposent de leurs propres frameworks de développement logiciel et bibliothèques d'API, et leurs spécifications de logique métier et d'architecture de code associées sont adaptées aux conditions locales et sont très personnalisées. En même temps, ces contenus sont privés.
Le grand modèle doit apprendre ces actifs du code d'entreprise, et grâce à une formation personnalisée efficace, il peut véritablement être utilisé par l'entreprise.
La version de base d'aiXcoder-7B possède des fonctionnalités de personnalisation très simples.
De plus, facile à assembler.
L'équipe aiXcoder a révélé que lors de la fourniture future de services d'entreprise, plusieurs modèles 7B peuvent former une architecture MoE et être combinés en un ensemble de solutions pour compléter les services personnalisés de l'entreprise.
Différentes entreprises peuvent obtenir des solutions grand modèle de code de version MoE qui répondent à leurs propres besoins personnalisés.
Il est entendu que la version de base d'aiXcoder-7B emprunte la voie de l'open source et se concentrera sur le marché côté B et lancera une version entreprise à l'avenir.
De cette manière, aiXcoder continue de fournir aux utilisateurs d'entreprise des services de développement logiciel précis, efficaces et continus, les aidant à améliorer continuellement l'efficacité du développement et la qualité du code de leurs projets.
Par exemple, une société de valeurs mobilières leader dans un secteur en pleine transformation numérique a adopté la solution de grands modèles d'aiXcoder pour privatiser et déployer de grands modèles de code dans l'environnement local, et a adopté une méthode d'ajustement flexible du modèle pour créer un système de développement intelligent. et Utiliser la taille de l’équipe pour rester synchronisé.
Cette méthode de déploiement garantit non seulement qu'il y a suffisamment de puissance de calcul pour la prendre en charge, mais évite également les défis causés par un seuil matériel élevé, elle peut également répondre aux besoins quotidiens de codage des entreprises ;
Les retours d'expérience sur les données de mise en œuvre existantes montrent qu'après une formation personnalisée combinée à la propre connaissance du domaine de l'entreprise, la proportion de génération de code dans le code de logique métier a augmenté 2 fois par rapport à avant.
Après lecture des résultats, quel est l'effet réel du modèle ? Ensuite, voici quelques démos pour vous donner une idée.
Tout d'abord, la version de base d'aiXcoder-7B peut comprendre des informations de contexte de code de plus en plus complexes et effectuer la génération et l'achèvement du code : la longueur du contexte prise en charge par la pré-formation du modèle est de 32 Ko et l'expansion de la phase d'inférence peut atteindre 256 Ko.
Comme le montre la figure ci-dessous, lorsque nous utilisons plusieurs fonctions d'outil pour rassembler plus de 1 500 lignes de code et commentons à la fin du fichier pour accéder au modèle, il peut identifier avec précision les fonctions pertinentes en haut du fichier. et complétez les informations en fonction de la fonction Méthodes associées.
Deuxièmement, dans les scénarios de développement d'entreprise, ce qui est plus important est la capacité d'analyse multi-fichiers, qui peut automatiquement identifier et extraire ce qui est nécessaire à partir de plusieurs fichiers de code.
Comme le montre la figure ci-dessous, nous devons appliquer une programmation dynamique sur la structure arborescente pour implémenter la recherche de distance d'édition et laisser le modèle compléter la classe d'état de programmation dynamique du nœud de répertoire sur la structure arborescente.
Le modèle identifie avec précision la relation entre le calcul de la distance d'édition et le calcul de la valeur minimale dans le tableau roulant dans un autre fichier, donnant ainsi le résultat de prédiction correct en combinant les deux fichiers non actuels.
Ce qui précède n'est pas encore terminé, l'achèvement de la version de base d'aiXcoder-7B est encore assez intelligent.
Par exemple, lorsque la situation d'adoption de l'utilisateur est ajustée, il ajustera automatiquement la durée d'achèvement en fonction de la situation d'adoption actuelle.
En même temps, en tant qu'expert en complétion de code, il peut également juger si l'utilisateur a actuellement besoin de complétion en fonction de la fluidité de la saisie utilisateur (c'est-à-dire le temps de pause) , et ne déclenchera pas de fonctions à volonté pour interrompre notre statut de travail.
Je dois dire : ça sent tellement bon.
Ce dont la majorité des programmeurs ont vraiment besoin, c'est d'un outil de programmation d'IA comme aiXcoderqui comprend non seulement le code général, mais comprend également le code de « notre entreprise ».
Alors, comment est créé un modèle aussi terre-à-terre ?
L'équipe a présenté que ce modèle est entièrement auto-développé, Le premier est les données d'entraînement :
comprend un total de 1,2T Unique Jetons Dans le modèle de niveau de paramètres 7B, la quantité de données d'entraînement est très importante. .
Non seulement « la quantité gagne », l'équipe a également remporté une « victoire de la qualité » dans ces données : elle a passé beaucoup de temps à analyser la syntaxe et à filtrer des dizaines de langages courants, et l'analyse statique a éliminé 163 bogues et 197 défauts.
Deuxièmement est la méthode de formation ciblée L'équipe a spécialement organisé une formation sémantique structurée en code pour le code au niveau du projet dans l'environnement réel afin de garantir pleinement l'effet du modèle.
Enfin, dans le processus de formation, la question du traitement de plusieurs fichiers a été pleinement prise en compte dès le début, et la relation d'attention mutuelle entre plusieurs fichiers a été construite en combinant le clustering, le code Calling Graph et d'autres méthodes.
Enfin, la version aiXcoder-7B Base, plus adaptée aux scénarios de développement réels, est née.
En regardant les acteurs derrière ce modèle, nous avons constaté que l'origine n'est pas simple :
Tout d'abord, l'équipe aiXcoder a été incubée par l'Institut de génie logiciel de l'Université de Pékin et a été engagée dans la génération de code depuis 2013. Le premier article sur la génération de code basé sur l'apprentissage profond au monde vient d'eux
Deuxièmement, au cours des dix dernières années, l'équipe a publié plus de 100 articles connexes lors de conférences de premier plan telles que NeurIPS, ACL, IJCAI, ICSE, FSE, ASE, etc. Cet article a été considéré comme une « première réalisation » par des universitaires internationaux et a été largement cité. Il a remporté à plusieurs reprises le prix ACM Outstanding Paper.
On peut dire que vous avez besoin de force et de force, et que vous avez besoin de réalisations et de réalisations.
En 2017, le prototype original d'aiXcoder - aiXcoder1.0 a été publié, offrant des fonctions de complétion automatique de code et de recherche.
En avril 2021, l'équipe a lancé un grand modèle de code de paramètres de niveau milliard version aiXcoder L avec des droits de propriété intellectuelle totalement indépendants, prenant en charge la complétion du code et la recommandation en langage naturel. Il s'agit également du premier produit commercial national de programmation intelligente basé sur un « grand modèle ».
Ensuite, l'équipe a continué à travailler dur et, en juin 2022, elle a lancé le premier modèle de paramètres au niveau des dizaines de milliards en Chine qui prend en charge la génération de code au niveau de la méthodeversion aiXcoder XL, qui dispose également de droits de propriété intellectuelle totalement indépendants. .
En juillet 2023, l'équipe aiXcoder a lancé aiXcoder Europa, qui se concentre sur l'adaptation en entreprise, avec des fonctions telles que la complétion automatique de code, la génération automatique de code, la détection et la réparation de défauts de code et la génération automatique de tests unitaires.
Il est entendu qu'aiXcoder Europa peut fournir aux entreprises un déploiement privatisé et des services de formation personnalisés basés sur les exigences de sécurité des données et de puissance de calcul de l'entreprise, réduisant efficacement le coût d'application des grands modèles de code et améliorant l'efficacité de la recherche et du développement.
À ce jour, la version de base d'aiXcoder-7B est née.
Dans la brillante galaxie de la science et de la technologie, chaque avancée technologique est comme la naissance d'une nouvelle étoile, illuminant les possibilités infinies du futur.
Avec les capacités croissantes des grands modèles de code, leurs excellentes performances dans la résolution de problèmes de programmation complexes jouent non seulement un rôle important dans l'amélioration de l'efficacité et de la qualité du développement logiciel, mais jouent également un rôle clé dans la promotion de la vague d'automatisation de la programmation. stimule également le potentiel d'innovation des programmeurs, leur permettant de consacrer plus d'énergie à l'exploration et à la création.
En d'autres termes, aiXcoder-7B, ce modèle de code de pointe, accélère non seulement le processus d'automatisation du développement logiciel, mais remodèle également l'écologie de l'industrie technologique et mène la tendance de développement future :
Accélérer le mise en place de l'automatisation du développement logiciel .
Ce n'est pas seulement la tendance générale de l'industrie, mais aussi le choix inévitable du développement.
Honorablement, nous nous trouvons devant ce tournant et sommes témoins de la montée et de la concrétisation de cette tendance.
Lien open source aiXcoder : https://github.com/aixcoder-plugin/aiXcoder-7Bhttps://gitee.com/aixcoder-model/aixcoder-7b
https : / /www.gitlink.org.cn/aixcoder/aixcoder-7b-model
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!