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

SelfCodeAlign: Samowyrównanie do generowania kodu

Author

Yuxiang Wei (Uniwersytet Illinois w Urbana-Champaign), Federico Cassano (Uniwersytet Northeastern i Cursor AI), Jiawei Liu (Uniwersytet Illinois w Urbana-Champaign), Yifeng Ding (Uniwersytet Illinois w Urbana-Champaign), Naman Jain (Uniwersytet Kalifornijski w Berkeley), Zachary Mueller (Hugging Face), Harm de Vries (ServiceNow), Leandro von Werra (Hugging Face), Arjun Guha (Uniwersytet Northeastern i Roblox), Lingming Zhang (Uniwersytet Illinois w Urbana-Champaign)

Venue

NeurIPS 2024

Abstract

Dostrajanie instrukcji to nadzorowane podejście do precyzyjnego dostrajania, które znacznie poprawia zdolność dużych modeli językowych (LLM) do wykonywania ludzkich instrukcji. Proponujemy SelfCodeAlign, pierwszy w pełni przejrzysty i elastyczny proces samodostosowującego się kodu LLM bez konieczności stosowania rozbudowanych adnotacji ludzkich lub destylacji. SelfCodeAlign wykorzystuje ten sam model bazowy do wnioskowania w całym procesie generowania danych. Najpierw wyodrębnia różnorodne koncepcje kodowania z wysokiej jakości fragmentów początkowych w celu wygenerowania nowych zadań. Następnie pobiera próbki wielu odpowiedzi dla każdego zadania, łączy je z przypadkami testowymi i weryfikuje w środowisku sandbox. Na koniec wybierane są przykłady, które przeszły test, w celu dostrojenia instrukcji. W naszych głównych eksperymentach używamy SelfCodeAlign z CodeQwen1.5-7B do wygenerowania zbioru danych zawierającego 74 tys. par instrukcja-odpowiedź. Dostrojenie na tym zbiorze danych prowadzi do modelu, który osiąga wynik 67,1% pass@1 w HumanEval+, przewyższając CodeLlama-70B-Instruct, mimo że jest dziesięć razy mniejszy. We wszystkich testach porównawczych ten dostrojony model konsekwentnie przewyższa wydajnością oryginalną wersję trenowaną przy użyciu OctoPack, poprzedniej najnowocześniejszej metody dostrajania instrukcji bez ludzkich adnotacji ani destylacji. Ponadto pokazujemy, że SelfCodeAlign jest skuteczny w przypadku modeli LLM o różnych rozmiarach, od 3B do 33B, oraz że modele bazowe mogą odnieść większe korzyści z dostosowania do własnego rozkładu danych. Ponadto weryfikujemy skuteczność każdego komponentu w naszym potoku, pokazując, że SelfCodeAlign przewyższa zarówno bezpośrednią destylację z GPT-4o, jak i wiodące metody destylacji oparte na GPT-3.5, takie jak OSS-Instruct i Evol-Instruct. SelfCodeAlign doprowadził również do stworzenia StarCoder2-Instruct, pierwszego w pełni przejrzystego, objętego liberalną licencją i samodostosowującego się modelu LLM do kodowania, który osiąga najnowocześniejszą wydajność kodowania.