ChatPaper.aiChatPaper

MFTCoder: Aprimorando Modelos de Linguagem para Código com Ajuste Fino Multitarefa

MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning

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

Resumo

Os LLMs de código emergiram como um campo de pesquisa especializado, com estudos notáveis dedicados a aprimorar as capacidades de codificação dos modelos por meio de ajuste fino em modelos pré-treinados. As abordagens anteriores de ajuste fino eram tipicamente adaptadas a tarefas ou cenários específicos, o que significava ajustes separados para cada tarefa, exigindo recursos extensivos de treinamento e apresentando desafios em termos de implantação e manutenção. Além disso, essas abordagens não conseguiam aproveitar a interconexão inerente entre diferentes tarefas relacionadas a código. Para superar essas limitações, apresentamos um framework de ajuste fino multitarefa, o MFTcoder, que permite o ajuste simultâneo e paralelo em múltiplas tarefas. Ao incorporar várias funções de perda, abordamos efetivamente desafios comuns no aprendizado multitarefa, como desequilíbrio de dados, níveis variáveis de dificuldade e velocidades de convergência inconsistentes. Experimentos extensivos demonstraram conclusivamente que nossa abordagem de ajuste fino multitarefa supera tanto o ajuste fino individual em tarefas únicas quanto o ajuste fino em um conjunto misto de tarefas. Além disso, o MFTcoder oferece capacidades de treinamento eficientes, incluindo modos de tokenização de dados eficientes e ajuste fino PEFT, resultando em uma velocidade significativamente melhorada em comparação com métodos tradicionais de ajuste fino. O MFTcoder integra-se perfeitamente com vários LLMs de código-fonte aberto, como o CodeLLama e o Qwen. Aproveitando a base do CodeLLama, nosso modelo ajustado pelo MFTcoder, o CodeFuse-CodeLLama-34B, alcança uma pontuação pass@1 impressionante de 74,4% no benchmark HumaneEval, superando o desempenho do GPT-4 (67%, zero-shot). O MFTCoder é disponibilizado como código aberto em 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