Naukowcy z Snowflake i CMU przedstawiają SuffixDecoding: Nowatorską metodę przyspieszania wnioskowania w dużych modelach językowych bez potrzeby używania modelu
Modele językowe i ich wpływ na współczesne aplikacje
Współczesne modele językowe o dużej skali (LLMs) stały się podstawowym elementem wielu aplikacji zarówno konsumenckich, jak i korporacyjnych. Ich zastosowanie obejmuje szeroki zakres funkcji, od prostych zadań przetwarzania tekstu po zaawansowane algorytmy wyszukiwania i analizy. Jednak pomimo ich rosnącej popularności, jednym z głównych wyzwań pozostaje szybkość generowania tokenów (jednostek tekstu), co często staje się wąskim gardłem w działaniu bardziej złożonych aplikacji opartych na LLM. W szczególności, w przypadku coraz popularniejszych algorytmów skalowania w czasie wnioskowania, długie odpowiedzi są kluczowe dla poprawy dokładności wyszukiwania i innych złożonych obliczeń. Systemy wieloagentowe i te oparte na przetwarzaniu wieloetapowym również mają na celu poprawę niezawodności, ale cierpią z powodu długich czasów odpowiedzi, wynikających z konieczności oczekiwania na przetworzenie danych przez wiele etapów.
Rozwiązanie problemu przyspieszenia generacji tokenów jest kluczowe dla dalszego rozwoju i powszechnej adopcji aplikacji opartych na modelach LLM.
Ograniczenia tradycyjnych metod dekodowania spekulacyjnego
Obecnie dostępne metody dekodowania spekulacyjnego oparte na modelach mają pewne ograniczenia, które utrudniają skuteczne przyspieszenie generacji tokenów w LLM. Po pierwsze, metody te silnie polegają na wielkości i jakości modelu roboczego (projektowego), który nie zawsze jest dostępny. Wymaga to kosztownego szkolenia lub dostrajania, aby utworzyć odpowiedni model. Po drugie, integracja modeli projektowych i LLM na GPU może prowadzić do komplikacji, takich jak konflikty związane z pamięcią modelu roboczego i pamięcią podręczną klucz-wartość LLM.
Jednym z rozwiązań, które zostało zaproponowane w celu przezwyciężenia tych problemów, jest włączenie dodatkowych głowic dekodujących bezpośrednio do modelu LLM. Jednakże, takie podejście nadal boryka się z podobnymi wyzwaniami, ponieważ każda dodatkowa głowica wymaga dostrojenia dla poszczególnych modeli LLM i zużywa znaczną ilość pamięci GPU. Aby rozwiązać te problemy, potrzebne są bardziej solidne i efektywne techniki przyspieszania wnioskowania.
SuffixDecoding – innowacyjne podejście bez modelu projektowego
Zespół badaczy z Snowflake AI Research oraz Carnegie Mellon University opracował nową metodę o nazwie SuffixDecoding, która jest podejściem wolnym od modelu. Zamiast polegać na modelach projektowych lub dodatkowych głowicach dekodujących, SuffixDecoding wykorzystuje efektywne indeksy drzewa sufiksowego, zbudowane na bazie poprzednich generacji wyjściowych oraz bieżącego zapytania w trakcie wnioskowania.
Proces rozpoczyna się od tokenizacji każdego zestawu zapytań i odpowiedzi przy użyciu słownika LLM, a następnie ekstrakcji wszystkich możliwych sufiksów (czyli podciągów zaczynających się w dowolnym miejscu i kończących na końcu sekwencji), które służą do budowy struktury drzewa sufiksowego. Każdy węzeł w drzewie reprezentuje token, a ścieżka od korzenia do dowolnego węzła odpowiada podsekwencji, która pojawiła się w danych treningowych. To podejście jest znacznie bardziej efektywne, ponieważ eliminuje problemy związane z integracją modeli projektowych i dodatkowych głowic dekodujących oraz znacznie zmniejsza obciążenie GPU.
Zastosowanie SuffixDecoding w praktyce
Dla każdego nowego zapytania SuffixDecoding buduje osobne drzewo sufiksowe, oparte na bieżących tokenach zapytania. Taka konstrukcja jest szczególnie ważna w zadaniach, gdzie oczekuje się, że wyjście LLM będzie odwoływać się lub ponownie wykorzystywać treści z zapytania, jak np. w streszczaniu dokumentów, odpowiadaniu na pytania, rozmowach wieloetapowych czy edycji kodu.
Drzewo sufiksowe przechowuje liczniki częstotliwości na każdym węźle, co pozwala śledzić, jak często różne sekwencje tokenów występują. Dzięki temu możliwe jest efektywne dopasowywanie wzorców. Na każdym etapie wnioskowania SuffixDecoding wybiera najlepsze poddrzewa kontynuacji tokenów w oparciu o statystyki częstotliwości i empiryczną prawdopodobność. Te spekulowane tokeny są następnie przekazywane do LLM w celu weryfikacji, co odbywa się w jednym przejściu, dzięki zastosowaniu operatora uwagi drzewnej z maską przyczynową uwzględniającą topologię drzewa.
Skalowanie na większą skalę
W przeciwieństwie do wcześniejszych metod, które działały na małych zbiorach referencyjnych, takich jak kilka fragmentów tekstu lub tylko bieżące zapytanie, SuffixDecoding został zaprojektowany do korzystania z dużych korpusów danych, składających się z setek, a nawet tysięcy wcześniej wygenerowanych odpowiedzi. Dzięki temu SuffixDecoding może korzystać z bardziej precyzyjnych statystyk częstotliwości, co pozwala na wybór bardziej prawdopodobnych sekwencji kandydatów.
SuffixDecoding buduje drzewo sufiksowe na swoim korpusie referencyjnym, gdzie korzeń drzewa reprezentuje początek sufiksu z dowolnego dokumentu w korpusie. Każdy dokument może być wynikiem wcześniejszego wnioskowania lub zestawem zapytania i odpowiedzi bieżącego wnioskowania. Ścieżka od korzenia do każdego węzła reprezentuje podsekwencję, która pojawia się w korpusie referencyjnym, a każdy węzeł potomny reprezentuje możliwą kontynuację tokenu.
Wyniki eksperymentalne i przewaga SuffixDecoding
Eksperymenty przeprowadzone na zestawach danych, takich jak AgenticSQL, które reprezentują złożone wieloetapowe pipeline’y LLM, wykazały, że SuffixDecoding osiąga do 2,9 razy wyższą przepustowość wyjścia i do 3 razy niższą latencję na token (TPOT) w porównaniu z bazową metodą SpecInfer. W bardziej otwartych zadaniach, takich jak rozmowy czy generacja kodu, SuffixDecoding nadal zapewnia wyraźną przewagę, osiągając do 1,4 razy wyższą przepustowość i do 1,1 razy niższą latencję TPOT.
Co więcej, SuffixDecoding wykazuje znacząco wyższą średnią liczbę zaakceptowanych spekulowanych tokenów na krok weryfikacji w porównaniu do podejścia opartego na modelach projektowych, co świadczy o jego większej dokładności i niezawodności.
Podsumowanie
SuffixDecoding to nowatorskie podejście, które przyspiesza wnioskowanie w modelach LLM poprzez wykorzystanie drzew sufiksowych zbudowanych z wcześniejszych wyników. Metoda ta demonstruje konkurencyjne przyspieszenia w stosunku do modelowych metod dekodowania spekulacyjnego, szczególnie w przypadku skomplikowanych, wieloetapowych pipeline’ów LLM.