ChatPaper.aiChatPaper

MFTCoder : Amélioration des modèles de langage pour le code par ajustement multitâche

MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning

November 4, 2023
Auteurs: Bingchang Liu, Chaoyu Chen, Cong Liao, Zi Gong, Huan Wang, Zhichao Lei, Ming Liang, Dajun Chen, Min Shen, Hailian Zhou, Hang Yu, Jianguo Li
cs.AI

Résumé

Les LLM de code sont devenus un domaine de recherche spécialisé, avec des études remarquables dédiées à l'amélioration des capacités de codage des modèles grâce au fine-tuning sur des modèles pré-entraînés. Les approches précédentes de fine-tuning étaient généralement adaptées à des tâches ou scénarios spécifiques en aval, ce qui nécessitait un fine-tuning séparé pour chaque tâche, exigeant des ressources de formation importantes et posant des défis en termes de déploiement et de maintenance. De plus, ces approches ne parvenaient pas à exploiter l'interconnexion inhérente entre les différentes tâches liées au code. Pour surmonter ces limitations, nous présentons un cadre de fine-tuning multi-tâches, MFTcoder, qui permet un fine-tuning simultané et parallèle sur plusieurs tâches. En intégrant diverses fonctions de perte, nous abordons efficacement les défis courants de l'apprentissage multi-tâches, tels que le déséquilibre des données, les niveaux de difficulté variables et les vitesses de convergence incohérentes. Des expériences approfondies ont démontré de manière concluante que notre approche de fine-tuning multi-tâches surpasse à la fois le fine-tuning individuel sur des tâches uniques et le fine-tuning sur un ensemble mixte de tâches. De plus, MFTcoder offre des capacités de formation efficaces, y compris des modes de tokenisation des données efficaces et un fine-tuning PEFT, ce qui entraîne une amélioration significative de la vitesse par rapport aux méthodes de fine-tuning traditionnelles. MFTcoder s'intègre de manière transparente avec plusieurs LLM open-source grand public, tels que CodeLLama et Qwen. En s'appuyant sur la fondation CodeLLama, notre modèle fine-tuné MFTcoder, CodeFuse-CodeLLama-34B, atteint un score pass@1 impressionnant de 74,4\% sur le benchmark HumaneEval, surpassant les performances de GPT-4 (67\%, zero-shot). MFTCoder est open-source à l'adresse https://github.com/codefuse-ai/MFTCOder.
English
Code LLMs have emerged as a specialized research field, with remarkable studies dedicated to enhancing model's coding capabilities through fine-tuning on pre-trained models. Previous fine-tuning approaches were typically tailored to specific downstream tasks or scenarios, which meant separate fine-tuning for each task, requiring extensive training resources and posing challenges in terms of deployment and maintenance. Furthermore, these approaches failed to leverage the inherent interconnectedness among different code-related tasks. To overcome these limitations, we present a multi-task fine-tuning framework, MFTcoder, that enables simultaneous and parallel fine-tuning on multiple tasks. By incorporating various loss functions, we effectively address common challenges in multi-task learning, such as data imbalance, varying difficulty levels, and inconsistent convergence speeds. Extensive experiments have conclusively demonstrated that our multi-task fine-tuning approach outperforms both individual fine-tuning on single tasks and fine-tuning on a mixed ensemble of tasks. Moreover, MFTcoder offers efficient training capabilities, including efficient data tokenization modes and PEFT fine-tuning, resulting in significantly improved speed compared to traditional fine-tuning methods. MFTcoder seamlessly integrates with several mainstream open-source LLMs, such as CodeLLama and Qwen. Leveraging the CodeLLama foundation, our MFTcoder fine-tuned model, CodeFuse-CodeLLama-34B, achieves an impressive pass@1 score of 74.4\% on the HumaneEval benchmark, surpassing GPT-4 performance (67\%, zero-shot). MFTCoder is open-sourced at https://github.com/codefuse-ai/MFTCOder
PDF111December 15, 2024