Gen AIProgramowanie

Salesforce prezentuje CoDA-1.7B: model generowania kodu wykorzystujący dyfuzję i dwukierunkowy kontekst

Zespół badawczy Salesforce AI Research udostępnił CoDA-1.7B, model dyfuzyjny stworzony do generowania kodu. CoDA charakteryzuje się możliwością generowania kodu poprzez usuwanie szumu z całych sekwencji, wykorzystując przy tym dwukierunkowy kontekst. Model ten aktualizuje wiele tokenów równolegle, zamiast przewidywać kolejne tokeny sekwencyjnie, jak to ma miejsce w tradycyjnych modelach językowych.

Opublikowano zarówno checkpointy Base i Instruct, jak i kompletny stos narzędzi do trenowania, ewaluacji i obsługi modelu.

Architektura i proces treningowy CoDA-1.7B

CoDA adaptuje architekturę z 1.7 miliardami parametrów do dyskretnej dyfuzji tekstu. Maskowane sekwencje są iteracyjnie odszumiane przy użyciu mechanizmu pełnej uwagi (full-sequence attention), co umożliwia natywne wypełnianie luk (infilling) i nieautoregresywne dekodowanie. Dokumentacja modelu opisuje trójfazowy proces: wstępne uczenie z dwukierunkowym maskowaniem, nadzorowane douczanie i progresywne odszumianie podczas wnioskowania. Zapewniono również skrypty do reprodukcji procesu uczenia na TPU, dostrajania na GPU i ewaluacji.

Kluczowe cechy CoDA:

  • Dwukierunkowy kontekst dzięki dyfuzyjnemu odszumianiu (brak ustalonej kolejności generowania).
  • Próbkowanie oparte na pewności (dekodowanie w stylu entropii) pozwalające na kompromis między jakością a szybkością.
  • Otwarty potok treningowy ze skryptami wdrażania i interfejsem CLI.

Wyniki testów modelu

W standardowych testach generowania kodu, CoDA-1.7B-Instruct osiąga następujące wyniki: HumanEval 54.3%, HumanEval+ 47.6%, MBPP 47.2%, MBPP+ 63.2%, EvalPlus aggregate 55.4% (pass@1). Warto zauważyć, że w karcie modelu wyniki te są porównywane z wynikami modeli dyfuzyjnych, w tym Dream-7B-Instruct (57.9% HumanEval), co wskazuje, że CoDA, pomimo mniejszej liczby parametrów (1.7B), konkuruje z niektórymi modelami 7B pod względem wydajności.

Wnioskowanie i zachowanie modelu

Koszt generowania jest regulowany przez liczbę kroków dyfuzji. CoDA udostępnia parametry takie jak STEPS, ALG=”entropy”, ALG_TEMP i długość bloku, umożliwiające dostosowanie kompromisu między opóźnieniem a jakością. Dzięki równoległej aktualizacji tokenów i pełnej uwadze, CoDA dąży do mniejszego opóźnienia w porównaniu z większymi modelami dyfuzyjnymi, przy porównywalnym budżecie kroków.

Wdrożenie i licencjonowanie

Repozytorium zawiera serwer FastAPI z interfejsami API kompatybilnymi z OpenAI oraz interaktywny interfejs CLI do lokalnego wnioskowania. Instrukcje obejmują konfigurację środowiska i skrypt uruchamiający start_server.sh. Karty modelu i kolekcja Hugging Face centralizują artefakty. Checkpointy są publikowane na licencji CC BY-NC 4.0 na Hugging Face.

Podsumowanie

CoDA-1.7B stanowi interesujący punkt odniesienia dla generowania kodu z wykorzystaniem dyskretnej dyfuzji w mniejszej skali. Model ten łączy 1.7 miliarda parametrów, dwukierunkowe odszumianie z równoległą aktualizacją tokenów oraz potokiem treningowym, który można odtworzyć. Wyniki pass@1 – HumanEval 54.3, HumanEval+ 47.6, MBPP 47.2, MBPP+ 63.2, EvalPlus aggregate 55.4 – sprawiają, że CoDA konkuruje z niektórymi modelami dyfuzyjnymi o większej liczbie parametrów, oferując jednocześnie możliwość regulacji opóźnienia poprzez parametry takie jak STEPS i entropy-style guidance. Model jest dostępny wraz z wagami na Hugging Face oraz serwerem FastAPI i interfejsem CLI do lokalnego wdrożenia.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *