
Эффективное тонкое настройка крупных языковых моделей для генерации юнит-тестов: Эмпирическое исследование
Появление крупных языковых моделей (LLMs), таких как GitHub Copilot, значительно повысило продуктивность программистов, особенно в области генерации кода. Однако эти модели часто сталкиваются с трудностями при выполнении реальных задач без дообучения. По мере того как LLM становятся больше и более производительными, дообучение для специализированных задач становится все более дорогим. Методы параметрически-эффективного дообучения (PEFT), которые дообучают только подмножество параметров модели, предлагают перспективное решение, уменьшая вычислительные затраты на настройку LLM при сохранении их производительности. Существующие исследования исследовали использование PEFT и LLM для различных задач, связанных с кодом, и обнаружили, что эффективность методов PEFT зависит от задачи. Применение методов PEFT в генерации модульных тестов остается недостаточно изученным. На данный момент передовой уровень ограничивается использованием LLM с полным дообучением для генерации модульных тестов. В данной статье исследуются как полное дообучение, так и различные методы PEFT, включая LoRA, (IA)^3 и настройку запросов, для разных архитектур и размеров моделей. Мы используем хорошо установленные эталонные наборы данных для оценки их эффективности в генерации модульных тестов. Наши результаты показывают, что методы PEFT могут обеспечивать производительность, сравнимую с полным дообучением, для генерации модульных тестов, делая специализированное дообучение более доступным и экономически выгодным. Особенно стоит отметить, что настройка запросов является наиболее эффективной в плане затрат и использования ресурсов, в то время как метод LoRA приближается к эффективности полного дообучения в нескольких случаях.