Ajuste Eficiente de Parámetros de Modelos de Lenguaje Grandes para la Generación de Pruebas Unitarias: Un Estudio Empírico
Parameter-Efficient Fine-Tuning of Large Language Models for Unit Test Generation: An Empirical Study
November 4, 2024
Autores: André Storhaug, Jingyue Li
cs.AI
Resumen
La llegada de grandes modelos de lenguaje (LLMs, por sus siglas en inglés) como GitHub Copilot ha mejorado significativamente la productividad de los programadores, especialmente en la generación de código. Sin embargo, estos modelos a menudo enfrentan dificultades con tareas del mundo real sin un ajuste fino. A medida que los LLMs crecen en tamaño y rendimiento, el ajuste fino para tareas especializadas se vuelve cada vez más costoso. Los métodos de ajuste fino eficientes en parámetros (PEFT, por sus siglas en inglés), que ajustan solo un subconjunto de parámetros del modelo, ofrecen una solución prometedora al reducir los costos computacionales de ajustar LLMs manteniendo su rendimiento. Estudios previos han explorado el uso de PEFT y LLMs para diversas tareas relacionadas con el código y han encontrado que la efectividad de las técnicas de PEFT depende de la tarea. La aplicación de técnicas de PEFT en la generación de pruebas unitarias sigue siendo poco explorada. El estado del arte se limita al uso de LLMs con ajuste fino completo para generar pruebas unitarias. Este documento investiga tanto el ajuste fino completo como varios métodos de PEFT, incluidos LoRA, (IA)^3 y ajuste de indicaciones, en diferentes arquitecturas y tamaños de modelos. Utilizamos conjuntos de datos de referencia bien establecidos para evaluar su efectividad en la generación de pruebas unitarias. Nuestros hallazgos muestran que los métodos de PEFT pueden ofrecer un rendimiento comparable al ajuste fino completo para la generación de pruebas unitarias, haciendo que el ajuste fino especializado sea más accesible y rentable. Destacadamente, el ajuste de indicaciones es el más efectivo en cuanto a costo y utilización de recursos, mientras que LoRA se acerca a la efectividad del ajuste fino completo en varios casos.
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.