Table des matières
L'équipe derrière aiXcoder
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

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

Apr 09, 2024 pm 06:10 PM
python git ai 开源

À 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. Son

score 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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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 modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

Le grand modèle de code le plus puissant avec des dizaines de milliards de paramètres

Jetons 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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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 ». Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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 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.

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

Le modèle de code open source aiXcoder-7B le plus puissant de lUniversité 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

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.

L'équipe derrière aiXcoder

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment supprimer un référentiel par git Comment supprimer un référentiel par git Apr 17, 2025 pm 04:03 PM

Pour supprimer un référentiel GIT, suivez ces étapes: Confirmez le référentiel que vous souhaitez supprimer. Suppression locale du référentiel: utilisez la commande RM -RF pour supprimer son dossier. Supprimer à distance un entrepôt: accédez à l'entrepôt, trouvez l'option "Supprimer l'entrepôt" et confirmez l'opération.

Comment se connecter au réseau public du serveur GIT Comment se connecter au réseau public du serveur GIT Apr 17, 2025 pm 02:27 PM

La connexion d'un serveur GIT au réseau public comprend cinq étapes: 1. Configurer l'adresse IP publique; 2. Ouvrez le port de pare-feu (22, 9418, 80/443); 3. Configurer l'accès SSH (générer des paires de clés, créer des utilisateurs); 4. Configurer l'accès HTTP / HTTPS (installer les serveurs, configurer les autorisations); 5. Testez la connexion (en utilisant les commandes SSH Client ou GIT).

Comment gérer le conflit du code GIT Comment gérer le conflit du code GIT Apr 17, 2025 pm 02:51 PM

Le conflit de code fait référence à un conflit qui se produit lorsque plusieurs développeurs modifient le même morceau de code et provoquent la fusion de Git sans sélectionner automatiquement les modifications. Les étapes de résolution incluent: ouvrez le fichier contradictoire et découvrez le code contradictoire. Furiez le code manuellement et copiez les modifications que vous souhaitez maintenir dans le marqueur de conflit. Supprimer la marque de conflit. Enregistrer et soumettre des modifications.

Comment soumettre des dossiers vides dans git Comment soumettre des dossiers vides dans git Apr 17, 2025 pm 04:09 PM

Pour soumettre un dossier vide dans GIT, suivez simplement les étapes suivantes: 1. Créez un dossier vide; 2. Ajouter le dossier à la zone de stadification; 3. Soumettre les modifications et saisir un message de validation; 4. (Facultatif) Poussez les modifications au référentiel distant. Remarque: le nom d'un dossier vide ne peut pas commencer. Si le dossier existe déjà, vous devez utiliser Git Add --Force pour ajouter.

Comment ajouter des clés publiques au compte GIT Comment ajouter des clés publiques au compte GIT Apr 17, 2025 pm 02:42 PM

Comment ajouter une clé publique à un compte GIT? Étape: générer une paire de clés SSH. Copiez la clé publique. Ajoutez une clé publique dans Gitlab ou GitHub. Testez la connexion SSH.

Comment utiliser le référentiel GIT Comment utiliser le référentiel GIT Apr 17, 2025 pm 04:06 PM

Un référentiel GIT est l'emplacement de stockage pour l'historique des versions du code et du fichier qui est utilisé pour suivre les modifications, collaborer et gérer les versions du projet. Pour utiliser un référentiel GIT, effectuez les étapes suivantes: Créez un référentiel: Exécutez Git init. Ajouter un fichier: utilisez GIT ADD pour ajouter le fichier dans la zone de stadification. Commissez les modifications: utilisez GIT Engagez pour stocker les modifications de stadification du référentiel. Modifications de poussée: utilisez Git Push pour pousser les modifications dans un référentiel distant. Modifications de traction: utilisez Git Pull pour obtenir des modifications du référentiel distant. Branche: Créez une branche à l'aide de la branche GIT. Merge: Utilisez GIT Merge pour fusionner les modifications de différentes branches. Tag: utilisez la balise git

Comment créer un projet dans Git Comment créer un projet dans Git Apr 17, 2025 pm 04:18 PM

La création d'un projet utilisant GIT nécessite les étapes suivantes: 1. Installez le site Web officiel de GIT pour télécharger la version correspondante de Git et l'installer; 2. Initialisez le projet pour créer un référentiel à l'aide de Git init; 3. Ajouter des fichiers pour ajouter des fichiers à la zone de stockage temporaire avec Git Add; 4. Soumettre des modifications à commettre et ajouter des instructions; 5. Pousser les changements pour les pousser avec Git Push; 6. Tirez les modifications pour utiliser Git Pull pour obtenir les dernières modifications du référentiel distant à l'aide de Git Pull.

Comment télécharger des projets GIT vers local Comment télécharger des projets GIT vers local Apr 17, 2025 pm 04:36 PM

Pour télécharger des projets localement via GIT, suivez ces étapes: installer Git. Accédez au répertoire du projet. Clonage du référentiel distant à l'aide de la commande suivante: Git Clone https://github.com/username/repository-name.git

See all articles