Robocikowo>ROBOCIKOWO
Wnioskowanie

RouteCrack

EksperymentalnyOpublikowano: 9 listopada 2026Aktualizacja: 9 listopada 2026Opublikowany
Bezdraftowy silnik dekodowania spekulatywnego dla modeli MoE i Mamba-2 na CPU (projekt llama-modchip, synchopate) — kaskada predyktorów statystycznych połączona z wyszukiwaniem w stylu Stockfisha.
Kluczowa innowacja
Bezdraftowe (self-speculative) dekodowanie dla modeli Mixture of Experts i hybrydowych Mamba-2 na CPU: zamiast osobnego modelu-draftera używa kaskady predyktorów statystycznych oraz wyszukiwania w stylu silnika szachowego (Stockfish-PVS), które przycina horyzont spekulacji, uwzględniając realny koszt routingu ekspertów MoE i rollbacku stanu rekurencyjnego Mamba-2 na CPU.
Kategoria
Wnioskowanie
Poziom abstrakcji
System
Poziom operacji
InferencjaUdostępnianie
Zastosowania
Przyspieszanie inferencji LLM na samym CPU (bez GPU)Serwowanie rzadkich modeli MoE na sprzęcie konsumenckim (16-64 GB RAM)Dekodowanie hybrydowych modeli Mamba-2 / SSMLokalne, offline zastosowania agentowe (np. asystent kodowania z narzędziami) na CPUDekodowanie dużych modeli przy ograniczonej pamięci

Jak działa

Etap 1 — draft: kaskada predyktorów RouteCrack (rc_predictor.h) proponuje kolejne tokeny bez modelu-draftera, korzystając z dwustrefowego dopasowania n-gramów w kontekście (16K strefa gorąca + 24K prefiks), 8-poziomowej kaskady haszy FNV-64 (k=10..1), PPM, skipgramów, codebooku makr (macro_codebook.bin, 11 382 łańcuchów) oraz trie sesji online. Etap 2 — weryfikacja/przycinanie: Stockfish-PVS v2 (rc_stockfish.h) ocenia drafty online, hashując kontekst 64-bitowymi kluczami Zobrista i prowadząc wielohoryzontowe tablice transpozycji (tt5/tt4/tt3). Każdy zaakceptowany token zwiększa "wins" i wzmacnia historię (grawitacja historii), każdy odrzucony zapisuje się jako ruch odrzucający (killer/refutation) i obniża wpis. Horyzont M jest zachowawczo trzymany na 1-5 tokenach, a rozszerzany do M=7 (wsad 8 tokenów) tylko przy "rozszerzeniu singularnym" (true_consensus_hits >= 2 lub bardzo długie dopasowanie kontekstu, potwierdzone w tablicy transpozycji i nieodrzucone). Opłacalność rządzi się równaniami WallGain = A − 0,30·D oraz MambaGain = A − 0,50·liczba_rollbacków (A — tokeny zaakceptowane, D — wszystkie drafty). Cały zbiór roboczy draftera (~192 KB) mieści się w cache L2, co daje <3 µs/krok bez wypierania L3.

Rozwiązany problem

Klasyczne dekodowanie spekulatywne zakłada GPU, gdzie zweryfikowanie wsadu D tokenów-draftów kosztuje niemal tyle co wygenerowanie jednego tokenu, a dodatkowo wymaga osobnego modelu-draftera zajmującego pamięć. Na CPU z rzadkim MoE i hybrydowym Mamba-2 to założenie nie obowiązuje: każdy token-draft ma realny koszt krańcowy (routing ekspertów MoE ~+0,30·T1), a odrzucenie tokenu wymusza kosztowny rollback stanu rekurencyjnego Mamba-2 (odtworzenie ~18,4 MB stanu). RouteCrack rozwiązuje problem przyspieszenia dekodowania na CPU bez osobnego modelu-draftera i bez marnowania obliczeń na odrzucone drafty.

Komponenty

Kaskada predyktorów RouteCrackGenerowanie tokenów-draftów bez modelu-draftera

Bezdraftowy generator tokenów spekulatywnych łączący wiele silników statystycznych: dopasowanie n-gramów w kontekście, 8-poziomową kaskadę haszy FNV-64, PPM, skipgramy, codebook makr i trie sesji online.

Stockfish-PVS v2 (drafter wyszukujący)Weryfikacja online i certyfikacja rozszerzenia horyzontu

Warstwa weryfikacji i przycinania w stylu silnika szachowego: 64-bitowe wielohoryzontowe tablice transpozycji Zobrista (tt5/tt4/tt3), grawitacja historii, ruchy odrzucające (killer/refutation), countermove, 2-plyowa historia kontynuacji i redukcja późnych ruchów (PVS LMR). Zbiór roboczy ~192 KB mieści się w L2.

Dwustrefowy matcher kontekstowyDopasowanie n-gramów i konsensus wystąpień

Skaner dopasowań w kontekście dzielący okno na strefę gorącą (16K) i strefę prefiksu (24K); liczy konsensus wielu wystąpień (true_consensus_hits) decydujący o rozszerzeniu horyzontu.

Oficjalna

Codebook makr (RCMacroCodebook)Drafty wielotokenowe (łańcuchy makr)

Zbiór 11 382 wielotokenowych łańcuchów wyekstrahowanych offline; "zatrzaskiwany" na kolejne tokeny, gdy tablica transpozycji nie zgłasza odrzucenia, co umożliwia drafty wielotokenowe.

Oficjalna

Implementacja

Pułapki implementacyjne
Zwiększanie horyzontu draftu bez przycinania przez wyszukiwanieWysoka

Rozszerzanie każdego dopasowania do M=7 marnuje czas na routing ekspertów MoE (~+0,30·T1 na odrzucony token) i wymusza rollbacki Mamba-2. Horyzont należy rozszerzać tylko przy certyfikowanym rozszerzeniu singularnym.

Rozwiązanie:Bramkuj rozszerzenie horyzontu warunkiem true_consensus_hits >= 2 oraz potwierdzeniem w tablicy transpozycji Stockfisha.
Kara za rollback stanu rekurencyjnego Mamba-2Średnia

Odrzucenie tokenu-draftu wymusza odtworzenie ~18,4 MB stanu rekurencyjnego ze spec-checkpointu i jego replay — inaczej niż zero-kopiowy dekrement wskaźnika w cache KV Transformera.

Rozwiązanie:Stosuj bramkę zero-rollback (n_rollback == 0) i zachowawczy horyzont bazowy dla warstw SSM.

Hiperparametry (konfigurowalne osie)

Horyzont draftu (M)Krytyczna

Maksymalna długość draftu. Zachowawcza baza 1-5 tokenów; rozszerzenie do M=7 (wsad 8 tokenów) tylko przy rozszerzeniu singularnym.

5Zachowawczy horyzont bazowy
7Rozszerzenie singularne (wsad 8 tokenów)
Bramka pewnościWysoka

Próg pewności, który draft musi przekroczyć, aby zostać wyemitowany.

84
92
96
Próg konsensusu wystąpieńŚrednia

Minimalna liczba odrębnych wystąpień w kontekście zgodnych co do kontynuacji, wymagana do rozszerzenia horyzontu.

2

Złożoność obliczeniowa

Złożoność czasowa: O(1) na krok draftu (amortyzowane). Złożoność przestrzenna: ~192 KB zbiór roboczy draftera (L2).

Paradygmat wykonania

Tryb główny
Warunkowy

Długość draftu i jego akceptacja zależą od zgodności bieżącego kontekstu (certyfikacja na podstawie danych wejściowych).

Wzorzec aktywacji
Zależne od wejścia
Tryby dodatkowe
Rzadki
Mechanizm routingu

Kandydaci-drafty z kaskady są bramkowani progiem pewności oraz potwierdzeniem/odrzuceniem w wielohoryzontowych tablicach transpozycji Stockfisha; rozszerzenie horyzontu wymaga certyfikacji "singularnej".

Równoległość

Poziom równoległości
Częściowo równoległy

Predyktor pracuje sekwencyjnie na krok, natomiast weryfikacja draftów jest wsadowa (across tokens). Na CPU koszt wsadu rośnie liniowo z liczbą draftów (routing MoE), stąd przycinanie horyzontu.

Zakres
InferencjaPomiędzy tokenami

Wymagania sprzętowe

Podstawowe

Zaprojektowany jako CPU-first; zbiór roboczy draftera mieści się w L2/L3, wykorzystuje AVX-512/AVX2 i eliminuje forward-pass osobnego modelu-draftera.

Ograniczony

Kluczowe założenie (równanie WallGain) dotyczy CPU, gdzie każdy odrzucony token-draft kosztuje czas. Na GPU weryfikacja wsadu jest niemal darmowa, więc przewaga przycinania horyzontu maleje.