Artificial Intelligence
Programming Languages
Czy potrafi edytować? Ocena zdolności dużych modeli językowych do wykonywania instrukcji edycji kodu
Author
Venue
Konferencja poświęcona modelowaniu języka (COLM) 2024
Abstract
Znaczna część badań koncentruje się na opracowywaniu i ocenie dużych modeli językowych przeznaczonych do różnych zadań związanych z syntezą kodu. Obejmują one syntezę kodu z języka naturalnego, syntezę testów z kodu oraz syntezę wyjaśnień dotyczących kodu. Natomiast zachowanie edycji kodu instrukcyjnego przy użyciu dużych modeli językowych (LLM) jest słabo zbadane. Są to zadania, w których model otrzymuje blok kodu oraz instrukcję dotyczącą jego modyfikacji. Instrukcja edycji może wymagać dodania lub usunięcia funkcji, opisywać błąd i prosić o jego naprawę lub wymagać innego rodzaju rozwiązania. Przedstawiamy starannie opracowany zestaw testów zadań edycji kodu i wykorzystujemy go do oceny kilku najnowocześniejszych modeli LLM. Nasza ocena ujawnia znaczną lukę między możliwościami najnowocześniejszych modeli otwartych i zamkniętych. Na przykład nawet GPT-3.5-Turbo jest lepszy od najlepszego modelu otwartego w zadaniach edycji kodu. Przedstawiamy również nowy, starannie wyselekcjonowany i objęty liberalną licencją zbiór danych szkoleniowych dotyczących zadań edycji kodu w połączeniu z instrukcjami w języku naturalnym. Korzystając z tego zbioru danych szkoleniowych, pokazujemy, że możemy dostroić otwarte modele LLM do kodu, aby znacznie poprawić ich możliwości edycji kodu, zmniejszając różnicę między modelami otwartymi a zamkniętymi. Cały kod, dane i modele są dostępne na stronie https://github.com/nuprl/CanItEdit.
