ChatPaper.aiChatPaper

MFTCoder: Potenciando Modelos de Lenguaje para Código mediante Ajuste Multitarea

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

Resumen

Los LLM de código han surgido como un campo de investigación especializado, con estudios notables dedicados a mejorar las capacidades de codificación de los modelos mediante el ajuste fino de modelos preentrenados. Los enfoques previos de ajuste fino solían estar adaptados a tareas o escenarios específicos, lo que implicaba un ajuste fino separado para cada tarea, requiriendo recursos de entrenamiento extensos y presentando desafíos en términos de implementación y mantenimiento. Además, estos enfoques no aprovechaban la interconexión inherente entre las diferentes tareas relacionadas con el código. Para superar estas limitaciones, presentamos un marco de ajuste fino multitarea, MFTcoder, que permite el ajuste fino simultáneo y paralelo en múltiples tareas. Al incorporar diversas funciones de pérdida, abordamos eficazmente los desafíos comunes en el aprendizaje multitarea, como el desequilibrio de datos, los niveles de dificultad variables y las velocidades de convergencia inconsistentes. Experimentos exhaustivos han demostrado de manera concluyente que nuestro enfoque de ajuste fino multitarea supera tanto el ajuste fino individual en tareas únicas como el ajuste fino en un conjunto mixto de tareas. Además, MFTcoder ofrece capacidades de entrenamiento eficientes, incluyendo modos de tokenización de datos eficientes y ajuste fino PEFT, lo que resulta en una velocidad significativamente mejorada en comparación con los métodos tradicionales de ajuste fino. MFTcoder se integra perfectamente con varios LLM de código abierto principales, como CodeLLama y Qwen. Aprovechando la base de CodeLLama, nuestro modelo ajustado con MFTcoder, CodeFuse-CodeLLama-34B, alcanza un impresionante puntaje pass@1 del 74.4\% en el benchmark HumaneEval, superando el rendimiento de GPT-4 (67\%, zero-shot). MFTCoder es de código abierto en 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