Treści na tej stronie zostały przetłumaczone przy użyciu sztucznej inteligencji (AI) lub technologii tłumaczenia maszynowego i mogą zawierać błędy.

Skip to content
Artificial Intelligence
Programming Languages

Czy potrafi edytować? Ocena zdolności dużych modeli językowych do wykonywania instrukcji edycji kodu

Author

Federico Cassano (Northeastern University), Luisa Li (Northeastern University), Akul Sethi (Northeastern University), Noah Shinn (Northeastern University), Abby Brennan-Jones (Wellesley College), Jacob Ginesin (Northeastern University), Edward Berman (Uniwersytet Northeastern), George Chakhnashvili (Uniwersytet Northeastern), Anton Lozhkov (HuggingFace), Carolyn Jane Anderson (Wellesley College), Arjun Guha (Roblox + Uniwersytet Northeastern)

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.