ChatPaper.aiChatPaper

MFTCoder: Verbesserung von Code-LLMs durch Multitask-Fine-Tuning

MFTCoder: Boosting Code LLMs with Multitask Fine-Tuning

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

Zusammenfassung

Code-LLMs haben sich als spezialisiertes Forschungsfeld etabliert, mit bemerkenswerten Studien, die darauf abzielen, die Programmierfähigkeiten von Modellen durch Feinabstimmung auf vortrainierten Modellen zu verbessern. Bisherige Feinabstimmungsansätze waren typischerweise auf spezifische Downstream-Aufgaben oder Szenarien zugeschnitten, was eine separate Feinabstimmung für jede Aufgabe erforderte. Dies führte zu einem hohen Bedarf an Trainingsressourcen und stellte Herausforderungen in Bezug auf Bereitstellung und Wartung dar. Darüber hinaus konnten diese Ansätze die inhärente Vernetzung zwischen verschiedenen codebezogenen Aufgaben nicht nutzen. Um diese Einschränkungen zu überwinden, präsentieren wir ein Multi-Task-Feinabstimmungsframework, MFTcoder, das eine gleichzeitige und parallele Feinabstimmung auf mehrere Aufgaben ermöglicht. Durch die Einbindung verschiedener Verlustfunktionen adressieren wir effektiv häufige Herausforderungen im Multi-Task-Lernen, wie Datenungleichgewichte, unterschiedliche Schwierigkeitsgrade und inkonsistente Konvergenzgeschwindigkeiten. Umfangreiche Experimente haben eindeutig gezeigt, dass unser Multi-Task-Feinabstimmungsansatz sowohl die individuelle Feinabstimmung auf einzelne Aufgaben als auch die Feinabstimmung auf eine gemischte Aufgabensammlung übertrifft. Darüber hinaus bietet MFTcoder effiziente Trainingsfähigkeiten, einschließlich effizienter Daten-Tokenisierungsmodi und PEFT-Feinabstimmung, was zu einer deutlich verbesserten Geschwindigkeit im Vergleich zu traditionellen Feinabstimmungsmethoden führt. MFTcoder integriert sich nahtlos in mehrere Mainstream-Open-Source-LLMs wie CodeLLama und Qwen. Auf der Grundlage von CodeLLama erreicht unser mit MFTcoder feinabgestimmtes Modell, CodeFuse-CodeLLama-34B, eine beeindruckende pass@1-Bewertung von 74,4\% auf dem HumaneEval-Benchmark und übertrifft damit die Leistung von GPT-4 (67\%, Zero-Shot). MFTCoder ist unter https://github.com/codefuse-ai/MFTCOder quelloffen verfügbar.
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