ChatPaper.aiChatPaper

MFTCoder: Potenziamento dei Modelli Linguistici per il Codice attraverso il Fine-Tuning Multitask

MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning

November 4, 2023
Autori: 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

Abstract

I Code LLM sono emersi come un campo di ricerca specializzato, con studi notevoli dedicati al miglioramento delle capacità di codifica dei modelli attraverso il fine-tuning su modelli pre-addestrati. Gli approcci precedenti di fine-tuning erano tipicamente adattati a specifici task o scenari downstream, il che significava un fine-tuning separato per ogni task, richiedendo risorse di addestramento estese e ponendo sfide in termini di distribuzione e manutenzione. Inoltre, questi approcci non riuscivano a sfruttare l'intrinseca interconnessione tra i diversi task legati al codice. Per superare queste limitazioni, presentiamo un framework di fine-tuning multi-task, MFTcoder, che consente un fine-tuning simultaneo e parallelo su più task. Incorporando varie funzioni di perdita, affrontiamo efficacemente le comuni sfide dell'apprendimento multi-task, come lo squilibrio dei dati, i diversi livelli di difficoltà e le velocità di convergenza inconsistenti. Esperimenti estensivi hanno dimostrato in modo conclusivo che il nostro approccio di fine-tuning multi-task supera sia il fine-tuning individuale su singoli task che il fine-tuning su un insieme misto di task. Inoltre, MFTcoder offre capacità di addestramento efficienti, inclusi modalità di tokenizzazione dei dati efficienti e il fine-tuning PEFT, risultando in un miglioramento significativo della velocità rispetto ai metodi di fine-tuning tradizionali. MFTcoder si integra perfettamente con diversi LLM open-source mainstream, come CodeLLama e Qwen. Sfruttando la base di CodeLLama, il nostro modello fine-tuned MFTcoder, CodeFuse-CodeLLama-34B, raggiunge un impressionante punteggio pass@1 del 74,4\% sul benchmark HumaneEval, superando le prestazioni di GPT-4 (67\%, zero-shot). MFTCoder è open-source all'indirizzo 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
PDF121February 8, 2026