Kontekst 256K na RTX 3050 8GB w stacji z pamięcią DDR3

Używana stacja Xeon, z 64GB pamięci ECC DDR3 zainstalowanymi (system widzi ok. 62GB) i kartą RTX 3050 8GB, została skonfigurowana na okno kontekstu 256K tokenów. Szczegółowe pomiary sięgają 160K tokenów, a nie pełnych 256K. Wcześniejsza konfiguracja 16K wskazała 59 tok/s na rzeczywistym tekście.

11 listopada 2026 r. opublikowano wyniki ze stacji P3001: Intel Xeon E5-2697 v2 (12 rdzeni / 24 wątki, tylko AVX1), 64GB pamięci ECC DDR3 RAM zainstalowanymi (system widzi ok. 62GB) przy 1333 MT/s, NVIDIA RTX 3050 8GB, SSD NVMe i Ubuntu 24.04. Oprogramowanie to Strata 0.1.55 (kompilacja zgodna z AVX) oraz skompresowany model Qwen3.8-Flash-Next IQ3_S.

Karta tytułowa: RTX 3050 8GB, kontekst 256K, DDR3, Strata 0.1.55 i Qwen3.8-Flash-Next IQ3_S
Grafika opublikowana wraz z wpisem o kontekście 256K. Zainstalowano 64GB pamięci ECC DDR3; system widzi ok. 62GB. Grafika pokazuje zainstalowane 64GB.

Wcześniejsza konfiguracja 16K: 59 tok/s na rzeczywistym tekście

Wcześniej tego samego dnia na tej samej maszynie zgłoszono konfigurację kontekstu 16K z 8-bitową pamięcią podręczną KV. Pamięć podręczna KV to pamięć robocza modelu dla już przetworzonych tokenów. Liczby z tego wpisu:

P3001, Strata 0.1.55, RTX 3050 8GB, konfiguracja 16K. Kontekst → prefill / decode / TTFT.
KontekstPrefillDecodeTTFT
2K132 tok/s24.3 tok/s11.9s
8K121 tok/s28.0 tok/s42.6s
16K128.5 tok/s30.7 tok/s87.5s
Ciepłe 8K (z pamięci podręcznej)z pamięci podręcznej28.7 tok/s0.2–0.33s

Ten sam wpis podaje 59 tok/s przy dekodowaniu rzeczywistego tekstu oraz 120–132 tok/s prefill. Późniejszy wątek precyzuje, że te 59 tok/s pochodzi ze speculative decoding: Strata przewiduje kilka kolejnych tokenów i weryfikuje je razem. Na rzeczywistym tekście akceptacja przewidywań była wysoka; na sztucznym wypełnieniu testu porównawczego — nie (około 70% akceptacji na syntetycznym wypełnieniu, według wpisu o 16K). Prefill ograniczały DDR3-1333 i AVX1; w tamtej konfiguracji 16K 8GB VRAM ograniczało kontekst do 16K.

Konfiguracja 256K

Deklarowanym celem było okno kontekstu 256K tokenów — pojemność około 262 144 tokenów w jednym żądaniu. Pierwsza próba po prostu podniosła limit do 256K z 8-bitową pamięcią podręczną KV. Według wpisu Strata próbowała wtedy utrzymać zbyt wiele tej pamięci roboczej w 8GB VRAM karty, pamięć podręczna ekspertów na GPU spadła do zera gniazd, po czym wystąpił błąd cuBLAS. Serwer nadal odpowiadał, ale przyspieszenie GPU nie działało poprawnie.

Opublikowane rozwiązanie: przełączenie pamięci podręcznej KV z int8 na q4_0 (kompresja 4-bitowa), przy czym pamięć na token spadła z około 71KB do 29,5KB; ustawienie –kv-resident 20480, tak aby w pamięci GPU pozostawało tylko 20 480 pozycji KV, a dalsze dane KV pochodziły z pamięci systemowej; utrzymanie 46,47GB ekspertów modelu w zablokowanej (page-locked) pamięci DDR3; zachowanie 498 gniazd pamięci podręcznej ekspertów w pamięci GPU; oraz ograniczenie pamięci podręcznej podpowiedzi do jednego aktywnego punktu kontrolnego. Podane ustawienia końcowe: –max-context 262144, –kv q4_0, –kv-resident 20480, –prompt-cache 1, –prompt-cache-every 0. Wpis podaje, że Strata uruchomiła się wtedy poprawnie i zgłosiła max_context: 262144, loaded: true.

Zmierzona szybkość

Poniższe liczby to pomiary samego silnika wnioskowania, jeden przebieg na wiersz — dane wstępne, a nie średnie z powtarzanych testów porównawczych. Prefill to przetwarzanie wejścia przed odpowiedzią; decode to generowanie token po tokenie; TTFT to oczekiwanie na pierwszy token odpowiedzi.

Konfiguracja 256K, przebiegi z długim kontekstem. Tokeny wejściowe | prefill | TTFT | decode. Jeden przebieg na wiersz.
Tokeny wejściowePrefillTTFTDecode
7735.9 tok/s3.7s20.1 tok/s
1,561163.5 tok/s9.5s23.1 tok/s
6,161187.6 tok/s32.7s24.6 tok/s
24,061187.6 tok/s128.3s25.7 tok/s
50,061183.4 tok/s273s23.5 tok/s
100,061177.5 tok/s564s23.8 tok/s
160,061172.5 tok/s928s23.8 tok/s

Wpis zauważa, że zwiększenie wejścia z około 6K do 160K tokenów obniżyło prefill tylko ze 188 do 173 tok/s, podczas gdy decode pozostał w okolicy 23–26 tok/s. Powtórzony przebieg 24K tokenów z kontekstem w pamięci podręcznej skrócił TTFT ze 128,3 sekundy do 0,49 sekundy. Zimne wejście 160K tokenów zajmowało około 15,5 minuty do pierwszego tokenu odpowiedzi — przypisane wąskiemu gardłu starego Xeona i pamięci DDR3. Wspomniano raport agenta z przebiegu 200K tokenów, ale pełny wiersz liczbowy tego przebiegu nie jest w tabeli.

Ważne rozróżnienie w wątku: 256K to skonfigurowany i deklarowany limit kontekstu. Szczegółowe pomiary sięgają 160K, a nie pełnych 256K. Pełne okno 262K w chwili publikacji jeszcze nie było zmierzone. W odpowiedzi oszacowano około 26 minut zimnego prefill dla pełnych 262K i wskazano, że to wciąż wymaga pomiaru. Wartość 59 tok/s nie została ustalona dla obciążeń z kontekstem 256K. Prefill nowej konfiguracji był wyższy niż w wcześniejszej konfiguracji 16K; wątek traktuje to jako zaobserwowaną różnicę między konfiguracjami, a nie jako dowód jednej przyczyny, bo zmieniły się także format KV i układ pamięci.

Ograniczenia i szacunek zużycia energii

Ograniczenia wymienione w wątku: pamięć GPU niemal pełna, zużyte około 7,5–7,7GB z 8GB, przy czym niektóre przebiegi ostrzegały, że wolne zostało tylko 193–331MB; pamięć systemowa około 53GB z 62GB, z czego około 46,5GB zajmują eksperci modelu zablokowani w pamięci; tylko jeden ciepły punkt kontrolny pamięci podręcznej podpowiedzi, więc przejście między bardzo dużymi rozmowami może wymagać ponownego przetworzenia wejść (sam punkt kontrolny 200K tokenów może zająć około 4,7GB); oraz długie zimne podpowiedzi są wolne.

Przybliżony szacunek energii dla prefill 160K podano jako 300W × 15,5 minuty ≈ 0,078 kWh. Przy 0,25 €/kWh to około 0,02 € za prąd. Wpis oznacza to jako szacunek, a nie pomiar energii.

Praktyczny wniosek z wątku: niedroga lokalna AI nie jest przeznaczona do konkurowania z modelami w chmurze na długich, wymagających sesjach, gdzie usługi chmurowe często są szybsze i tańsze. Główną zaletą tych starych, tanich komputerów jest poufność: przetwarzanie wrażliwych dokumentów lokalnie. Do wielu takich zadań wystarczy małe okno kontekstu. Opublikowany wynik polega na tym, że RTX 3050 8GB może uruchomić lokalny model skonfigurowany na 256K, nie przenosząc całej pamięci roboczej do VRAM. Potrzebne są dalsze pomiary — w tym pełny zakres kontekstu, powtarzalność i jakość na zadaniach.

Wyniki pomiarów i dzienniki są publikowane w publicznym repozytorium.

Repozytorium projektu na GitHubie · Wpis na X · Wyniki 16K · Wszystkie wiadomości