Parameter-effizientes Feintuning großer Sprachmodelle für die Generierung von Modultests: Eine empirische Studie
Parameter-Efficient Fine-Tuning of Large Language Models for Unit Test Generation: An Empirical Study
November 4, 2024
Autoren: André Storhaug, Jingyue Li
cs.AI
Zusammenfassung
Das Aufkommen großer Sprachmodelle (LLMs) wie GitHub Copilot hat die Produktivität von Programmierern erheblich gesteigert, insbesondere bei der Codegenerierung. Diese Modelle haben jedoch oft Schwierigkeiten mit realen Aufgaben, ohne Feinabstimmung. Mit zunehmender Größe und Leistungsfähigkeit von LLMs wird die Feinabstimmung für spezialisierte Aufgaben immer teurer. Methoden zur parameter-effizienten Feinabstimmung (PEFT), die nur eine Teilmenge der Modellparameter feinabstimmen, bieten eine vielversprechende Lösung, indem sie die Rechenkosten für die Feinabstimmung von LLMs reduzieren, während sie deren Leistung beibehalten. Bisherige Studien haben die Verwendung von PEFT und LLMs für verschiedene codebezogene Aufgaben untersucht und festgestellt, dass die Effektivität von PEFT-Techniken auf die Aufgabe abhängt. Die Anwendung von PEFT-Techniken in der Generierung von Modultests ist noch wenig erforscht. Der Stand der Technik beschränkt sich auf die Verwendung von LLMs mit vollständiger Feinabstimmung zur Generierung von Modultests. Dieser Artikel untersucht sowohl vollständige Feinabstimmung als auch verschiedene PEFT-Methoden, einschließlich LoRA, (IA)^3 und Prompt-Feinabstimmung, über verschiedene Modellarchitekturen und -größen hinweg. Wir verwenden etablierte Benchmark-Datensätze, um ihre Effektivität bei der Generierung von Modultests zu bewerten. Unsere Ergebnisse zeigen, dass PEFT-Methoden eine Leistung liefern können, die der vollständigen Feinabstimmung bei der Generierung von Modultests vergleichbar ist, was spezialisierte Feinabstimmung zugänglicher und kosteneffektiver macht. Insbesondere ist die Prompt-Feinabstimmung in Bezug auf Kosten und Ressourcennutzung am effektivsten, während LoRA in mehreren Fällen die Effektivität der vollständigen Feinabstimmung erreicht.
English
The advent of large language models (LLMs) like GitHub Copilot has
significantly enhanced programmers' productivity, particularly in code
generation. However, these models often struggle with real-world tasks without
fine-tuning. As LLMs grow larger and more performant, fine-tuning for
specialized tasks becomes increasingly expensive. Parameter-efficient
fine-tuning (PEFT) methods, which fine-tune only a subset of model parameters,
offer a promising solution by reducing the computational costs of tuning LLMs
while maintaining their performance. Existing studies have explored using PEFT
and LLMs for various code-related tasks and found that the effectiveness of
PEFT techniques is task-dependent. The application of PEFT techniques in unit
test generation remains underexplored. The state-of-the-art is limited to using
LLMs with full fine-tuning to generate unit tests. This paper investigates both
full fine-tuning and various PEFT methods, including LoRA, (IA)^3, and prompt
tuning, across different model architectures and sizes. We use well-established
benchmark datasets to evaluate their effectiveness in unit test generation. Our
findings show that PEFT methods can deliver performance comparable to full
fine-tuning for unit test generation, making specialized fine-tuning more
accessible and cost-effective. Notably, prompt tuning is the most effective in
terms of cost and resource utilization, while LoRA approaches the effectiveness
of full fine-tuning in several cases.Summary
AI-Generated Summary