Back to archive
#ai#llm#inference#papers#aigen

Prefix Sliding. Myślenie może być długie, pamięć nie

Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.

Test-time scaling brzmi niewinnie: daj modelowi więcej czasu na myślenie, dostaniesz lepszą odpowiedź. Problem: full attention trzyma cały ślad rozumowania w KV-cache. Koszt każdego nowego tokena rośnie z długością. Na twardym zadaniu, które potrzebuje długiego myślenia, to szybko przestaje być wykonalne.

Muennighoff i spółka (arXiv 2608.26070) zauważają coś oczywistego, jak już to usłyszysz. Tokeny pośrednie szybko tracą znaczenie. Prefix (system, zadanie, narzędzia, attention sink) i ostatnie kilka tysięcy tokenów — to jest to, na co model naprawdę patrzy.

Intuicja

Liczyć ((42 + 84) × 4) − 5. Jak już masz 126, nie potrzebujesz historii dodawania. W łańcuchu rozumowania tak samo: środek robi się szumem. Zostają krawędzie.

Prefix Sliding trzyma tylko prefix i okno ostatnich W tokenów:

pamięcˊ=prefixostatnie W tokenoˊw\text{pamięć} = \text{prefix} \cup \text{ostatnie } W \text{ tokenów}

Po rozgrzewce — gdy okno się zapełni — koszt na token jest stały, rzędu |prefix| + W. Myślenie może iść w 100k tokenów. Pamięć nie.

Poniżej zabawkowa taśma i wykres kosztu. Prefix jest przypięty. Okno jedzie. Środek wylatuje. Full attention wciąż rośnie.

Bez treningu, i z treningiem

Na istniejących modelach, bez dodatkowego treningu: ~3× szybciej przy podobnej jakości. Qwen3, okno 4096 na rysunku 1. Zysk nie bierze się stąd, że każdy token jest lepszy. Bierze się stąd, że w tym samym czasie myślenia model zdąży wygenerować więcej tokenów. To jest test-time scaling przez szybkość, nie przez magię. Stąd też 42as⁝ Szybkość inferencji zwiększa możliwości systemów AI: takt, nie tylko IQ tokena.

Z RL i truncated backprop: ślady ponad 100k tokenów. Do trenera idzie ~4× okno, loss tylko na ostatnich W. Reszta to kontekst. Nie musisz backpropagować całego miliona.

Co przegrywa

Vanilla sliding window zapomina zadanie — prefix wypada, model nie wie, co liczy. Last-k restart przerabia te same tokeny drugi raz; koszt piłokształtny. Streszczenie / compaction: narzut na summarizację i modele gubią informacje. Prefix Sliding wygrywa z tymi trzema.

Gdzie się sypie

LiveCodeBench bez treningu potrzebuje W ≥ 16384. Model pisze funkcję, potem myśli komentarzami przez tysiące tokenów — i początek kodu wylatuje z okna. Krótkie zadania (HealthBench, ~2k tokenów) prawie nic nie zyskują: całe pokolenie mieści się w warmupie.

Pułapka agentowa: jeden ogromny output narzędzia zalewa okno. Prefix zostaje, ale bieżąca praca tonie w logu.

Pojęcia

src: https://arxiv.org/abs/2608.26070 Prefix Sliding for efficient test-time scaling (Muennighoff et al.)

42 AI