CodeFuse lance le modèle déployable 4090 à carte unique 34B-4 bits

Bonjour tout le monde, c'est CodeFuse !

Dans l'après-midi du 8 septembre 2023, lors du forum « 2023 Inclusion · The Bund Conference-Cloud Al : Exploring Emerging Technologies and Development Models » qui s'est tenu à Shanghai, Ant Group a ouvert pour la première fois le grand modèle de code CodeFuse. Il s'agit d'un modèle exclusif de génération de code à grande échelle développé par Ant. Basé sur la contribution des développeurs, il aide les développeurs à générer automatiquement du code, à ajouter automatiquement des commentaires, à générer automatiquement des cas de test, à réparer et optimiser le code, etc., pour améliorer l'efficacité de la recherche et du développement. Que l'utilisateur soit un développeur débutant ou expérimenté, CodeFuse peut grandement améliorer l'efficacité et la précision de la programmation.

L'objectif de CodeFuse est de redéfinir la recherche et le développement de l'IA de nouvelle génération et de fournir des outils d'assistance à l'IA sur le cycle de vie complet . Ant Group espère travailler avec la communauté pour promouvoir un changement de paradigme dans le domaine du génie logiciel grâce à CodeFuse open source, remodeler divers domaines de recherche et de développement de logiciels et accélérer le processus de numérisation dans tous les domaines.

CodeFuse est développé sur la base de la plate-forme Ant Basic Large Model. Dans la récente évaluation HumanEval de l'achèvement du code, son score a atteint 74,4 %, dépassant le score de GPT-4 (67 %) et dépassant également le score de 73,2 % de WizardCoder-34B. Dans l'open source, il est à la pointe des modèles internationaux. Ce contenu open source comprend trois parties : le cadre de code, l'ensemble de données et le modèle.

Le référentiel de code est désormais disponible sur la plateforme GitHub, et les données et modèles sont disponibles sur la plateforme HuggingFace et la communauté magique nationale.

Adresse GitHub : https://github.com/codefuse-ai

Adresse HuggingFace : https://huggingface.co/codefuse-ai

Adresse de la communauté Codefuse : https://modelscope.cn/organization/codefuse-ai

En particulier, nous avons open source un ensemble de framework de réglage fin multitâche MFTCoder ( https://github.com/codefuse-ai/MFTCoder ), qui prend en charge de nombreux grands modèles grand public actuels et prend en charge un réglage fin efficace de Lora et QLora. Vous êtes invités à l'essayer sur des données privées. Créez votre propre grand modèle de code et soutenez notre projet avec Star + Fork + Watch en un seul clic .

Voyons d’abord ce que CodeFuse peut faire.

 

01 Génération de jeu Snake

Dès janvier 2022, Ant Group a lancé une exploration interne liée à l'intelligence du code. Avec l'avancement de la stratégie globale de l'entreprise, avec la prise en charge d'une infrastructure logicielle et matérielle unifiée, plusieurs grands modèles de code ont été formés de 0 à 1 en 2023 pour créer CodeFuse. Les scénarios d'application basés sur CodeFuse incluent l'ouverture de plug-ins IDE, d'assistants de développement, d'analyseurs de code, etc., couvrant les principaux besoins des travaux de recherche et développement actuels, et ont été progressivement vérifiés dans le processus de recherche et développement interne d'Ant Group.

Ensuite, je vais vous montrer comment utiliser HTML et JavaScript pour créer un mini-jeu Snake en ligne basé sur le modèle open source Ant CodeFuse-CodeLlaMa34B.

Cliquez pour voir : https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/432865958134.mp4

 

02 Cadre de réglage fin multitâche MFTCoder

L'ensemble du framework CodeFuse est illustré dans la figure ci-dessous, qui est grossièrement divisé en la couche inférieure de formation distribuée, la couche intermédiaire du cadre de réglage fin des instructions et la couche supérieure de prise en charge des applications multimodèles.

Au niveau inférieur, CodeFuse prend en charge deux frameworks de formation distribués, DeepSpeed ​​​​et ATorch auto-développé par Ant.

Adresse open source d'ATorch : https://github.com/intelligent-machine-learning/dlrover/tree/master/atorch

Dans la couche intermédiaire, CodeFuse inclut le cadre de réglage fin multitâche (MFT) auto-développé. MFT prend en charge la génération de code, la traduction de code, la génération de scénarios de test, la réparation de bogues et 10 autres tâches à affiner ensemble. Il exploite pleinement les informations complémentaires entre plusieurs tâches et résout le problème de convergence inégale entre les différentes tâches grâce à une perte innovante. conception. , obtenant finalement de meilleurs résultats que le réglage fin du SFT en une seule tâche. La plus grande caractéristique du framework MFT est qu'il prend en charge plusieurs tâches, plusieurs frameworks et plusieurs types de fonctions de perte :

  • ✅Multitâche : un modèle prend en charge plusieurs tâches en même temps, assurant un équilibre entre plusieurs tâches, et peut même être généralisé à de nouvelles tâches invisibles ;

  • ✅Plusieurs frameworks : prend en charge deux frameworks de formation : le framework HuggingFace et ATorch ;

  • ✅ Réglage fin efficace : prend en charge LoRA et QLoRA, vous pouvez utiliser très peu de ressources pour affiner les grands modèles, et la vitesse d'entraînement peut répondre à presque tous les scénarios de réglage fin ;

  • ✅Fonctions de perte multiples : prend en charge plusieurs fonctions de perte différentes telles que l'équilibre de la taille des ensembles de données, l'équilibre de la difficulté des tâches, l'équilibre de la vitesse de convergence et l'accent sémantique.

Au niveau supérieur, CodeFuse prend en charge les derniers modèles open source, notamment LlaMA, LlaMa-2, StarCoder, Baichuan, Qwen, Chatglm2, GPT-neox, etc. CodeFuse a open source le cadre de réglage fin multitâche MFTCoder.

Concernant le problème de difficulté multitâche ou d'incohérence de convergence, voici un exemple comparatif. Dans l'entraînement de réglage fin de trois tâches (achèvement du code, explication du code, text2sql), après avoir ajouté l'équilibre de convergence et non ajouté l'équilibre de convergence, l'état de convergence de la perte de validation : vous pouvez voir la vitesse de convergence des trois tâches lorsqu'il n'y a pas d'équilibre de convergence est ajouté Ils sont différents.L'achèvement du code n'a pas encore convergé et les deux tâches restantes ont divergé, cependant, après avoir ajouté les contraintes d'équilibre de convergence, nous pouvons clairement voir que les vitesses de convergence des trois tâches sont les mêmes.

 

03 Excellentes capacités de réglage fin multitâches

Ci-dessous, nous présentons directement les résultats de la complétion Python de HumanEval, basés sur la capacité de MFTCoder à affiner le code pour plusieurs modèles open source.

Comme on peut le voir, MFT peut apporter une amélioration d'environ 10% à Python Pass @1 sur diverses bases . Les gains sont encore plus importants sur StarCoder et CodeLLama. À titre de comparaison, nous affichons également les meilleurs modèles de la liste publique HumanEval sous le tableau en gris.

CodeLLaMA-34B, affiné par MFT, a obtenu un résultat de 74,4 % sur HumanEval (le même que CodeLLaMA, basé sur l'évaluation du mode de génération gourmande). Ce résultat a dépassé le résultat de GPT-4 (67 %) et a également dépassé WizardCoder- 34B 73,2% Un score à la pointe du modèle open source international.

 

04 Déploiement quantitatif 4 bits

Les performances du modèle CodeFuse-CodeLLama-34B sont très significatives, mais la taille du modèle 34B nécessite au moins un A100 ou 4 A10 pour un déploiement de configuration minimum sous la précision FP16 et INT8. Des besoins aussi élevés en ressources de déploiement interdisent les utilisateurs individuels/ordinaires. Même les déploiements à grande échelle par de grandes entreprises sont gourmands en ressources.

En réponse à cela, nous avons utilisé la technologie de quantification pour effectuer une quantification INT4 sur le modèle original. Après quantification, la taille de la mémoire vidéo occupée par le modèle a été considérablement réduite : de 64,9 Go à 19 Go). **De cette façon, un A10 ou 4090 (mémoire vidéo de 24 Go) peut être déployé. En termes de vitesse, les mesures réelles ont révélé que la vitesse d'inférence optimisée de INT4 sur l'A10 est déjà comparable à la vitesse d'inférence FP16 sur l'A100. **Pour un déploiement quantitatif, vous pouvez utiliser la version à accès anticipé GPTQ ou Nvidia TensorRT-LLM.

Nous avons évalué la différence entre les capacités du modèle avant et après la quantification. Parmi eux, l'indicateur clé d'évaluation HumanEval était de 73,8 %, soit une diminution de moins de 1 % ; la diminution du score d'évaluation de la tâche PNL de compréhension de la langue chinoise CMNLI/C-Eval était également contrôlé par environ 1%.

De plus, nous avons mesuré l'utilisation de la mémoire vidéo après le chargement du modèle, ainsi que l'utilisation de la mémoire vidéo lors de l'entrée de 2 048/1 024 jetons et de la sortie de 1 024/2 048 jetons, comme indiqué dans le tableau ci-dessous. On peut voir que sur l'A10, la quantification 4 bits prend en charge l'entrée et la sortie d'une longueur totale de 3K sans aucun problème.

Nous avons publié cette version quantifiée sur Huggingface, ModelScope, Wisemodel et d'autres sources. Tout le monde est invité à l'essayer !

 

05 Résumé et perspectives

Nous présentons ici les informations globales relatives à l'open source de CodeFuse et présentons le framework MFT. Si vous êtes intéressé, vous pouvez vous rendre sur la communauté ModelScope pour vous inscrire et découvrir les effets de CodeFuse-CodeLlama-34B en ligne.

Adresse : https://modelscope.cn/organization/codefuse-ai

À l'avenir, nous apporterons davantage de technologies à la communauté open source CodeFuse, et nous attendons également avec impatience que des collègues intéressés se joignent pour contribuer à l'open source CodeFuse.

Lei Jun : La version officielle du nouveau système d'exploitation de Xiaomi, ThePaper OS, a été emballée. Une fenêtre contextuelle sur la page de loterie Gome App insulte son fondateur. Le gouvernement américain restreint l'exportation du GPU NVIDIA H800 vers la Chine. L'interface Xiaomi ThePaper OS est exposé. Un maître a utilisé Scratch pour frotter le simulateur RISC-V et il a fonctionné avec succès. Noyau Linux RustDesk Remote Desktop 1.2.3 publié, prise en charge améliorée de Wayland Après avoir débranché le récepteur USB Logitech, le noyau Linux a planté. DHH examen approfondi des "outils d'emballage" " : le front-end n'a pas du tout besoin d'être construit (No Build) JetBrains lance Writerside pour créer de la documentation technique Outils pour Node.js 21 officiellement publié
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/6942768/blog/10120451
conseillé
Classement