Naukowcy z arXiv opracowali nową architekturę transformera o nazwie Dual-Flow, która pozwala efektywniej alokować moc obliczeniową między dwie fazy inferencji dużych modeli językowych. Zamiast tradycyjnego podejścia, gdzie każda warstwa sieci przetwarzana jest zarówno podczas prefill promptu jak i podczas autoregresjywnego dekodowania, architektura ta dedykuje dodatkowo obliczenia tylko do fazy predykcji kontynuacji tekstu.
Hlavni problemem, który rozwiązuje to podejście, jest różna natura wymagań sprzętowych w obu fazach inference. Faza prefill promptu jest wysoko równoległa i zwykle limitowana obliczeniowo - może efektywnie wykorzystać całą moc procesora. Natomiast autoregressywne dekodowanie jest sekwencyjne i często limitowane przepustowością pamięci - tu procesor czeka na dane zamiast maksymalnie pracować. Architektura Dual-Flow rozdziela te problemy: główny strumień kompletnie przetwarza prompt i zapisuje cache kluczy-wartości, podczas gdy pomocniczy strumień aktywuje się dopiero od ostatniej pozycji promptu i dodaje obliczenia bez wpływu na główny strumień czy trwały cache.
Ważnym aspektem jest dzielenie wag między obydwa strumienie w warstwach attention, MLP i output, przy czym każdy strumień ma oddzielne embeddingi tokenów i lekkie sprzężenie. To pozwala na ponowne wykorzystanie załadowanych wag i cached wartości podczas zgrupowanego wykonania. Wyniki pokazują, że Dual-Flow osiąga niższą stratę walidacji przy porównaniu modeli z tą samą liczbą tokenów w różnych architekturach i konfiguracjach danych. W modelach MoE (Mixture of Experts) takie oddzielenie umożliwia niezależną optymalizację ścieżek głównej i pomocniczej, co ma bezpośredni wpływ na zmniejszenie całkowitego kosztu inferencji.