Эффективная настройка параметров крупных языковых моделей для генерации модульных тестов: эмпирическое исследование
Parameter-Efficient Fine-Tuning of Large Language Models for Unit Test Generation: An Empirical Study
November 4, 2024
Авторы: André Storhaug, Jingyue Li
cs.AI
Аннотация
Появление больших языковых моделей (LLM), таких как GitHub Copilot, значительно увеличило производительность программистов, особенно в генерации кода. Однако эти модели часто испытывают затруднения при выполнении задач реального мира без тонкой настройки. По мере увеличения размеров и производительности LLM, тонкая настройка для специализированных задач становится все более дорогостоящей. Методы параметрически эффективной тонкой настройки (PEFT), которые настраивают только подмножество параметров модели, предлагают многообещающее решение, снижая вычислительные затраты на настройку LLM при сохранении их производительности. Существующие исследования исследовали применение PEFT и LLM для различных задач, связанных с кодом, и выяснили, что эффективность техник PEFT зависит от задачи. Применение техник PEFT в генерации модульных тестов остается недостаточно исследованным. Современное состояние дел ограничивается использованием LLM с полной тонкой настройкой для генерации модульных тестов. В данной статье исследуются как полная тонкая настройка, так и различные методы PEFT, включая LoRA, (IA)^3 и настройку запроса, на различных архитектурах и размерах моделей. Мы используем хорошо установленные наборы данных для оценки их эффективности в генерации модульных тестов. Наши результаты показывают, что методы PEFT могут обеспечить производительность, сравнимую с полной тонкой настройкой для генерации модульных тестов, делая специализированную тонкую настройку более доступной и экономически целесообразной. Особенно стоит отметить, что настройка запроса является наиболее эффективной с точки зрения затрат и использования ресурсов, в то время как подход LoRA приближается к эффективности полной тонкой настройки в нескольких случаях.
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