Ottimizzazione efficiente dei parametri per il raffinamento dei grandi modelli linguistici per la generazione di test unitari: uno studio empirico
Parameter-Efficient Fine-Tuning of Large Language Models for Unit Test Generation: An Empirical Study
November 4, 2024
Autori: André Storhaug, Jingyue Li
cs.AI
Abstract
L'avvento dei grandi modelli linguistici (LLM) come GitHub Copilot ha notevolmente migliorato la produttività dei programmatori, in particolare nella generazione di codice. Tuttavia, questi modelli spesso faticano con compiti reali senza un adeguato adattamento. Man mano che i LLM diventano più grandi e performanti, l'adattamento per compiti specializzati diventa sempre più costoso. I metodi di adattamento efficienti dei parametri (PEFT), che adattano solo un sottoinsieme dei parametri del modello, offrono una soluzione promettente riducendo i costi computazionali dell'adattamento dei LLM pur mantenendone le prestazioni. Studi esistenti hanno esplorato l'uso di PEFT e LLM per vari compiti legati al codice e hanno scoperto che l'efficacia delle tecniche PEFT dipende dal compito. L'applicazione delle tecniche PEFT nella generazione di test unitari rimane poco esplorata. Lo stato dell'arte si limita all'uso di LLM con adattamento completo per generare test unitari. Questo articolo esplora sia l'adattamento completo che vari metodi PEFT, tra cui LoRA, (IA)^3 e prompt tuning, su diverse architetture e dimensioni di modelli. Utilizziamo dataset di benchmark ben consolidati per valutarne l'efficacia nella generazione di test unitari. I nostri risultati mostrano che i metodi PEFT possono offrire prestazioni paragonabili all'adattamento completo per la generazione di test unitari, rendendo l'adattamento specializzato più accessibile ed economico. In particolare, il prompt tuning risulta il più efficace in termini di costo e utilizzo delle risorse, mentre LoRA si avvicina all'efficacia dell'adattamento completo in diversi casi.
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