Jak DFlash2 przyspiesza Qwen3.8 i skraca kontekst
DFlash2 zwiększył medianę generowania z 93,3 do 120,9 tokena na sekundę, ale zmniejszył dostępny kontekst ze 150k do 65 536. Wyjaśniamy dlaczego.
Syntalith
Spekulatywne dekodowanie przyspiesza generowanie przez proponowanie kilku kolejnych tokenów i sprawdzenie ich wspólnie przez główny model. Nie zmienia wiedzy Qwena ani jakości jego rozumowania. Opłaca się wtedy, gdy propozycje są często trafne, a narzut weryfikacji pozostaje mały.
W domowym eksperymencie opcjonalny profil DFlash2-7 podniósł medianę generowania Qwen3.8-27B z 93,3 do 120,9 tokena/s, czyli o 29,6%, w zestawie ośmiu wejść. Dostępny kontekst spadł z 150 000 do 65 536 tokenów. Zachowaliśmy ten profil do krótszych sesji, a profil 150k pozostał punktem odniesienia dla długich zadań.
Dlaczego generowanie po jednym tokenie jest drogie
Autoregresyjny model tworzy token, dopisuje go do kontekstu i uruchamia kolejną iterację. Przy pojedynczym użytkowniku GPU bywa ograniczone przepustowością pamięci: wagi trzeba przetwarzać przy każdym kroku, nawet jeśli część mocy obliczeniowej pozostaje niewykorzystana.
Spekulacja dodaje mechanizm pomocniczy. Proponuje on kilka kolejnych tokenów, a model docelowy weryfikuje je wspólnie. Trafione propozycje zostają. Pierwsza odrzucona propozycja kończy serię i dalszy ciąg wraca do modelu docelowego.
Dokumentacja vLLM opisuje tę technikę jako sposób redukcji opóźnienia między tokenami szczególnie przy małym lub średnim obciążeniu, gdy inferencja jest ograniczona pamięcią. Korzyść zależy od akceptacji i narzutu weryfikacji.
MTP jest częścią Qwena
Qwen3.8-27B był trenowany z MTP, czyli Multi-Token Prediction. Dodatkowe głowy przewidują kolejne tokeny. Serwer może użyć ich jako wbudowanego źródła propozycji, bez osobnego małego modelu.
Profil 150k w tym eksperymencie używał MTP-3. Dał 93,3 tok./s dekodowania i 90,79 tok./s od wejścia do końca odpowiedzi w rozgrzanym zestawie ośmiu realistycznych wejść. Pozostał punktem odniesienia dla ciężkiej pracy, ponieważ mieścił 150k.
Co zmienił DFlash2-7
DFlash2 wykorzystuje inny sposób proponowania tokenów. W lokalnym profilu fast trzy powtórzenia dały:
| Próba | Dekodowanie, tok./s | Cała odpowiedź, tok./s |
|---|---|---|
| 1 | 123,3 | 118,63 |
| 2 | 111,4 | 108,40 |
| 3 | 120,9 | 117,45 |
Mediana dekodowania wyniosła 120,9 tok./s. Każda propozycja była sprawdzana przez model docelowy. Żadna propozycja nie trafiała do odpowiedzi bez kontroli Qwena.
Profil używał BF16 KV i kontekstu 65 536. Dla krótkiego refaktoru albo wielu małych pytań wyższe tempo może być warte tego ograniczenia. Dla wielogodzinnej sesji nad repozytorium utrata 84k tokenów może wcześniej wywołać kompresję i zjeść zysk.
Więcej proponowanych tokenów nie znaczy szybciej
Przetestowaliśmy również DFLASH_TOKENS=15. Mediana spadła do 101,2 tok./s. Większy graf weryfikacji kosztował więcej w zwykłym kroku, a wejścia nie dawały dość trafień, by to odzyskać.
To klucz do strojenia spekulacji:
zysk = zaakceptowane tokeny × zaoszczędzone kroki
- koszt tworzenia propozycji
- koszt większej weryfikacji
- koszt odrzuconych propozycji
Parametr wybrany z jednego wejścia może przegrać na kodzie, polskim tekście albo danych strukturalnych, bo rozkład przewidywalnych sekwencji jest inny.
Jak testować bez mylenia prędkości z jakością
- Użyj tej samej wersji modelu docelowego i tych samych ustawień losowania.
- Zamroź zestaw wejść oraz maksymalną odpowiedź.
- Rozgrzej pamięć podręczną wspólnego prefiksu albo jawnie mierz start zimny.
- Zapisz tempo dekodowania i tempo całej odpowiedzi osobno.
- Mierz akceptację propozycji dla każdej klasy zadania.
- Sprawdź dokładne wyjście i wynik zadania, a następnie tok./s.
- Osobno przetestuj długą sesję z kompresją.
Weryfikacja przez model docelowy ogranicza ryzyko jakościowe samych propozycji, ale zmiana stosu może nadal ujawnić błąd odczytywania odpowiedzi, pamięci podręcznej lub protokołu. Profil musi przejść testy odbiorowe.
Kiedy optymalizacja się sprzedaje
29,6% większa mediana dekodowania ma wartość, gdy użytkownik czeka na krótkie odpowiedzi wiele razy dziennie. Nie ma wartości, jeśli zespół wykonuje dwa zadania nocne albo profil traci potrzebny kontekst. Najpierw mierzymy wąskie gardło procesu, później dobieramy spekulację.
Syntalith może dostroić profil i przekazać skrypt porównawczy, zaakceptowane ustawienia, rozwiązanie zapasowe oraz kontrolę przed aktualizacją. To element wdrożenia lub technicznego szkolenia zespołu. Zacznij od bezpłatnego skanu procesu, jeśli nie wiadomo jeszcze, czy problemem jest model, serwer, kolejka czy sposób pracy.
Bezpłatny skan procesów
Zacznij od bezpłatnego skanu procesów.
- 30 minut z inżynierem, który może prowadzić Twoje wdrożenie.
- Przegląd procesów, które kosztują Cię najwięcej czasu i pieniędzy.
- Pisemne podsumowanie: co zautomatyzować, w jakiej kolejności, z widełkami kosztów.
W 30 minut wybieramy proces do oceny, a w ciągu 2 dni roboczych dostajesz rekomendację, także gdy lepsza będzie prostsza droga.
0 zł
30 minut · pisemne podsumowanie w 2 dni robocze
Terminy zobaczysz w swojej strefie czasowej.
Wolisz napisać? Opisz proces