Modele językowe dyfuzyjne tworzą tekst, stopniowo udoskonalając ukrytą sekwencję, podczas gdy modele GPT generują token po tokenie. Ta technika, znana już z generatorów obrazów, zwróciła uwagę społeczności w 2025 roku dzięki LLaDA, Mercury i Gemini Diffusion, a następnie w 2026 roku dzięki DiffusionGemma od Google, szczególnie ze względu na szybkość wnioskowania.
- Les modèles de diffusion affinent une séquence masquée entière au lieu de générer token par token.
- GPT génère séquentiellement, chaque token attendant le précédent, ce qui limite la vitesse d’inférence.
- La diffusion gagne en latence grâce au traitement parallèle, mais la qualité reste déterminante face aux modèles autoregressifs.
- Défis ouverts : dépendances entre tokens, longueur variable des réponses et réutilisation du cache KV.
Dwa sposoby generowania tekstu
Modele GPT są autoregresyjne: szacują kolejny token na podstawie tokenów już wygenerowanych. Podczas treningu wiele pozycji może być przetwarzanych równolegle, ale przy wnioskowaniu każdy token musi czekać na poprzedni, co tworzy problem zależności szeregowej. Token oznacza tutaj jednostkę tekstu, często fragment słowa, którą model przetwarza.
Model dyfuzyjny z maskowaniem zaczyna natomiast od sekwencji całkowicie wypełnionej tokenami , czyli nieznanymi pozycjami, i stopniowo odsłania słowa. Może wybrać kilka z nich na każdym etapie, niekoniecznie zachowując kolejność od lewej do prawej. Dla zdania « The cat sat down » model autoregresyjny dodaje jedno słowo w każdej rundzie, podczas gdy model dyfuzyjny wypełnia wiele pozycji jednocześnie i udoskonala sekwencję, aż uzyska pełne zdanie. Oba podejścia wykorzystują architekturę transformer, ale ich cele i procedury wnioskowania różnią się: pierwsze przedłużają sekwencję, drugie ją udoskonalają.
Jak działają modele dyfuzyjne
W przypadku obrazów dyfuzja opiera się na dwóch procesach. Proces bezpośredni pogarsza czyste dane, stopniowo dodając szum, podczas gdy proces odwrotny uczy sieć neuronową cofania tej degradacji, zazwyczaj za pomocą funkcji błędu średniokwadratowego. Podczas próbkowania korekta ta odbywa się w wielu krokach.
Tekst stanowi trudność, ponieważ tokeny są dyskretnymi identyfikatorami, a nie ciągłymi wartościami jak piksele. Degradacja odbywa się więc poprzez zastępowanie tokenów tokenami , przy czym każdy token jest maskowany z prawdopodobieństwem równym poziomowi zniekształcenia między 0 a 1. Przy wnioskowaniu próbnik inicjalizuje pozycje zamaskowane, przewiduje rozkład w słowniku dla każdej nierozwiązanej pozycji, a następnie decyduje, które przewidywania zachować. Wybór ten zazwyczaj opiera się na mierze pewności. Proces powtarza się, aż cała sekwencja zostanie wypełniona. Niektóre próbniki mogą również ponownie maskować już zatwierdzone tokeny – operacja nazywana rewizją, która nie jest wspólną właściwością wszystkich modeli.
Modele te wykorzystują ponadto uwagę dwukierunkową w obrębie sekwencji poddawanej odszumianiu, podczas gdy GPT widzi tylko pozycje poprzednie. Zamaskowane słowo może więc opierać się na kontekście poprzedzającym i następującym, co służy edycji i generowaniu strukturalnemu. Według autora dyfuzja może również wygrywać pod względem rzeczywistego opóźnienia, gdy GPU efektywnie przetwarza pozycje równolegle, ale jakość pozostaje decydująca: modele autoregresyjne wciąż osiągają lepsze wyniki w niektórych testach rozumowania i kodu. Wyniki DiffusionGemma 26B w porównaniu z Gemma 26B znajdują się w karcie modelu, której artykuł referencyjny o probabilistycznych modelach dyfuzyjnych do odszumiania jest źródłem tego podejścia.
Otwarte wyzwania
Zależności między tokenami stanowią pierwszą przeszkodę. Jeśli dwie pozycje są próbkowane równolegle, każda może wydawać się prawdopodobna w izolacji, jednocześnie będąc niespójną z drugą, co może wymagać większej liczby kroków odszumiania lub sprzężonego próbkowania. Budżet próbkowania stawia kolejne pytanie: zmniejszenie liczby kroków poprawia opóźnienie, ale ryzykuje pogorszeniem jakości, podczas gdy mnożenie przebiegów może zniweczyć przewagę prędkości.
Zmienna długość odpowiedzi również nie jest naturalna dla stałej siatki maskującej, choć podejścia blokowe lub bardziej elastyczne starają się na to odpowiedzieć. Wreszcie, pamięć podręczna klucz-wartość (KV), która przyspiesza generowanie, zapamiętując już wykonane obliczenia, staje się trudniejsza do wykorzystania, ponieważ dwukierunkowe udoskonalanie może zmieniać reprezentacje całego bloku. Dekodowanie blokowe, które zamraża zakończone bloki, pomaga obejść ten problem.
