Aktualności
Nasza konfiguracja eksperymentalna: model ~83,6 GB działający lokalnie na budżetowej karcie RTX 3060
Qwen3.8-Flash-Next IQ3_S na RTX 3060 12 GB z zaledwie 48 GB systemowej pamięci RAM. No cloud inference. Po prostu niedrogi sprzęt konsumencki.

To jest niesamowite!
Qwen3.8-Flash-Next IQ3_S (~83,6 GB) działający lokalnie na budżetowej karcie RTX 3060 12 GB z zaledwie 48 GB systemowej pamięci RAM!
Dekodowanie do 68 tokenów/s, przetwarzanie monitów ~916 tokenów/s i monit o 30 tys. tokenów przetwarzany w zaledwie 34 sekundy.
Obsługiwane przez Strata firmy coldniko. Brak wnioskowania o chmurze. Po prostu niedrogi sprzęt konsumencki!
Pełne benchmarki, specyfikacje sprzętu, optymalizacje i kompromisy poniżej.
Możesz od razu przejść do najważniejszych wniosków w ostatniej sekcji.
Sprzęt stojący za tymi wynikami
Bez procesora graficznego dla centrum danych, bez drogiego serwera z wieloma procesorami graficznymi i bez ogromnej konfiguracji pamięci RAM.
Cały eksperyment przeprowadzono na dość zwyczajnym komputerze konsumenckim/stacji roboczej.

CPU
- Intel Core Ultra 7 265 (Arrow Lake)
- 20 rdzeni / 20 wątków
- Do 5,3 GHz
- 30 MB pamięci podręcznej L3
- obsługa AVX-VNNI/BF16; nie AVX-512
Płyta główna
- ASUS Pro Q870I-C
- Chipset Intel Q870, LGA1851
- Obudowa Mini-ITX
Pamięć
- 48 GB DDR5-5600 (2 × 24 GB Micron)
- Około 46 GiB do wykorzystania
GPU
- NVIDIA GeForce RTX 3060 12 GB
- GA106, możliwości obliczeniowe 8.6
- PCIe 4.0 ×16
- Skonfigurowany limit mocy 170 W
Przechowywanie
- Lexar NM1090 PRO 2 TB
- PCIe 5.0 ×4 NVMe
OS
- Ubuntu 24.04.5 LTS
- Jądro Linuksa 7.0.0-38
- Sterownik NVIDIA 615.71.10
Sieć
- Intel 1 GbE Ethernet
Istotny szczegół: model jest znacznie większy niż dostępna pamięć VRAM i RAM łącznie.
Właśnie to czyni ten eksperyment interesującym.
Model, silnik i architektura pamięci
Modelka
Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S
Dwa odłamki GGUF:
- 54.82 GB
- 28.80 GB
- Razem: 83,62 GB (77,87 GiB)
Dodatkowe komponenty
- Spakowane, gęste wagi: ~1,5 GiB
- Twórca dekodowania spekulatywnego MTP
- Adapter wizyjny BF16: ~866 MB
- Koder wizyjny oparty na procesorze (12 wątków)
Silnik wnioskowania
- Strata engine 0.1.52
- Zaplecze CUDA 13.0
- Architektura CUDA sm_86
Rzeczywista alokacja pamięci
- GPU VRAM: używane 11,14 GiB
- Eksperci-rezydentzy w systemie RAM: 24 GiB
- Pozostałe dane eksperckie przesłane strumieniowo z NVMe
- Brak aktywności wymiany podczas normalnego wnioskowania
Ważne ustawienia konfiguracyjne
--expert-cache auto
--prefill 4096
--spec 4
--spec-min-p 0.5
--mtp mtp/rt
--max-context 32768
--kv int8
--kv-grow
--kv-resident 32768
--vision
--vram-reserve-mib 960
--pool-workers 12
--conversation-cache-mib 1536
--prompt-cache-tail
--prompt-cache-spread
--resident-experts
--resident-budget-gib 24
Nie jest to konwencjonalna konfiguracja „załaduj cały model do pamięci GPU”.
Strata wykorzystuje razem pamięć GPU, systemową pamięć RAM, specjalistyczną pamięć podręczną i pamięć NVMe.
Ważną optymalizacją jest minimalizacja kosztownych transferów ekspertów przy jednoczesnym utrzymaniu wydajności procesora graficznego.
Prawdziwe wyniki benchmarków
Ten sam model, ten sam sprzęt, dwie konfiguracje routingu.
Tryb A: szybki routing ekspercki dostosowany do miejsca zamieszkania (poprzedni = 1,5)
| Kontekst | Wstępne wypełnienie | Zimne dekodowanie | Ciepłe dekodowanie |
|---|---|---|---|
| 1K | 285 tok/s | 42 tok/s | 61 tok/s |
| 4K | 804 tok/s | 50 tok/s | 65 tok/s |
| 8K | 819 tok/s | 61 tok/s | 68 tok/s |
| 16K | 916 tok/s | 60 tok/s | 68 tok/s |
| 30K | 890 tok/s | 58 tok/s | 61 tok/s |
Czas oczekiwania na pierwszy token:
- 1K: 3.7 s
- 4K: 4.9 s
- 8K: 9.7 s
- 16K: 17.3 s
- 30K: 33.9 s
Dla porównania tryb B wyłącza routing oparty na rezydencji (wcześniej = 0):
| Kontekst | Wstępne wypełnienie | Zimne dekodowanie | Ciepłe dekodowanie |
|---|---|---|---|
| 1K | 282 tok/s | 24 tok/s | 27 tok/s |
| 4K | 781 tok/s | 29 tok/s | 26 tok/s |
| 8K | 789 tok/s | 30 tok/s | 32 tok/s |
| 16K | 889 tok/s | 30 tok/s | 29 tok/s |
| 30K | 878 tok/s | 26 tok/s | 27 tok/s |
Uruchomienie generowania 500 tokenów:
- Szybko: 62 tok/s, łącznie 7,1 s
- Precyzja: 21 tok/s, łącznie 20,8 s
Pomiary prędkości porównano z czasami przesyłania strumieniowego po stronie klienta.
Główna obserwacja:
Wyłączenie routingu opartego na pamięci podręcznej może zmniejszyć prędkość dekodowania o około 2–2,4×.
Istnieje jednak ważny powód, dla którego nie należy pozostawiać włączonego routingu agresywnego dla każdego obciążenia. Więcej na ten temat w następnym rozdziale.
Szybkość a jakość modelu: ukryty kompromis
W tej wersji silnika Strata procesory graficzne z ≤13 GB pamięci VRAM automatycznie korzystają z routingu zależnego od miejsca zamieszkania:
STRATA_ROUTE_PRIOR=1.5
Faworyzuje to ekspertów dostępnych już w szybkiej pamięci, zamiast zawsze wybierać ekspertów, których preferowałby oryginalny router.
Korzyść jest dramatyczna:
- Wskaźnik trafień pamięci podręcznej eksperta: 97,2% w trybie szybkim
- Bez uprzedzeń: 65,3%
- Odczyty pamięci masowej podczas porównywanego obciążenia: 5,5 GiB w porównaniu z 46 GiB
- Szybkość dekodowania: około 2× większa
Ale to NIE jest darmowa optymalizacja.
Zmiana wyboru ekspertów może zmienić zachowanie modelu, zwiększyć rozbieżności w stosunku do oryginalnego modelu i wpłynąć na długie rozumowanie lub przepływy pracy agentów.
Według oceny dewelopera na temat 10 zadań agenta:
- Trasowanie przed 1,5: 4,5/10
- Trasowanie przed 0: 5,6/10
Same wyniki bazowe różniły się w zależności od serii, więc jest to wynik kierunkowy, a nie ostateczny pomiar jakości.
Moje własne sześć krótkich sprawdzeń agentów zakończyło się powodzeniem w obu trybach.
Jednakże oddzielny przebieg podkreślający wyjątkowość ujawnił powtórzenie:
- Tryb szybki: 205 linii, 96 duplikatów
- Tryb precyzyjny: 209 linii, 79 duplikatów
Wniosek jest prosty:
- Szybkie przekierowywanie na potrzeby czatu, zastosowań interaktywnych i krótkich zadań.
- Oryginalne routing dla dłuższych przepływów pracy agentów wrażliwych na jakość.
Nie należy mylić samej prędkości referencyjnej z jakością modelu.
Natychmiastowe buforowanie zmienia wszystko
Jednym z najbardziej imponujących wyników nie była prędkość dekodowania. Był to czas odpowiedzi na powtarzające się żądania przy użyciu tego samego monitu.
Z w pełni buforowanym monitem:
| Kontekst | Zimny TTFT | Buforowany TTFT |
|---|---|---|
| 1K | 3.7 s | 0.08 s |
| 4K | 4.9 s | 0.08 s |
| 8K | 9.7 s | 0.27 s |
| 16K | 17.3 s | 0.34 s |
| 30K | 33.9 s | 0.44 s |
To około 45–90 razy mniej czasu do pierwszego żetonu w tych seriach.
Pamięć podręczna podpowiedzi robi ogromną różnicę w przypadku wielokrotnego wysyłania zapytań do tego samego długiego dokumentu lub utrzymywania konwersacji w stabilnym kontekście.
Silnik jest również skonfigurowany do buforowania konwersacji:
- Budżet pamięci podręcznej 1536 MiB
- Minimum 4096 żetonów do parkowania
- Minimalny próg wolnej pamięci: 1536 MiB
Jest pewien haczyk: te wyniki dotyczą identycznych podpowiedzi z pamięcią podręczną wielokrotnego użytku.
Nie oznaczają one, że dowolne nowe monity o wartości 30 tys. tokenów zostaną przetworzone w pół sekundy.
Jednak w przypadku interaktywnej lokalnej sztucznej inteligencji ciepła pamięć podręczna zmienia zasady gry.
Tajemnica dysku SSD: PCIe 5.0 nie jest wąskim gardłem
Początkowo dysk NVMe wydawał się podejrzanie powolny. Zbadaliśmy łącze PCIe, topologię pamięci masowej i rzeczywiste zachowanie we/wy.
Dysk: Lexar NM1090 PRO 2 TB, PCIe 5.0×4.
Zweryfikowane połączenie PCIe:
- Obecne łącze: 32,0 GT/s × 4
- Maksymalne łącze: 32,0 GT/s ×4
- Port główny procesora: 32,0 GT/s × 4
Zatem dysk działa z pełną szybkością łącza PCIe 5.0.
Bezpośrednie benchmarki odczytu z pamięci podręcznej:
- Pojedynczy strumień, 1–4 bloki MiB: 2,9–3,4 GB/s
- Cztery równoległe strumienie: 10,94 GB/s
- Cztery strumienie, 64 KiB bloki: 2,25 GB/s
- Cztery strumienie, 4 bloki KiB: 0,26 GB/s (~63 tys. IOPS)
Wynik równoległy wynoszący 10,94 GB/s jest szczególnie ważny: przekracza praktyczną przepustowość PCIe 4.0 ×4.
Dlaczego przepustowość pojedynczego strumienia jest znacznie niższa?
Ponieważ przepustowość PCIe to nie to samo, co przepustowość na poziomie aplikacji.
Głębokość kolejki, rozmiar operacji we/wy, równoległość żądań i opóźnienia – wszystko ma znaczenie.
Wzorzec ładowania ekspertów w Strata jest znacznie bliższy przypadkowi o niższej współbieżności niż syntetycznemu benchmarkowi maksymalnej przepustowości.
Obserwowana przepustowość przechowywania silnika:
- Szybki routing: ~0,3 GB/s
- Oryginalne routing: ~2,4 GB/s
Różnica wynika z liczby ekspertów, których należy pobrać, a nie z obniżenia wersji PCIe.
Jeszcze jeden przydatny szczegół: sam RTX 3060 jest urządzeniem PCIe 4.0. Widzenie utraty łącza do Gen1 w stanie bezczynności jest normalnym zachowaniem związanym z zarządzaniem energią.
Zawsze sprawdzaj, które urządzenie mierzysz, zanim zdiagnozujesz problem z PCIe.
Ważna lekcja: nie pozwól, aby Linux buforował model 83,6 GB na komputerze 48 GB
Podczas pierwszego uruchomienia napotkaliśmy poważny problem.
Pierwsza konfiguracja umożliwiała buforowane ładowanie plików modelu.
Model ma pojemność ~83,6 GB, podczas gdy system ma tylko 48 GB fizycznej pamięci RAM.
Pod takim obciążeniem Linux znalazł się pod dużą presją dotyczącą odzyskiwania pamięci. Maszyna prawie przestała odpowiadać, łącznie z łącznością SSH, i wymagała wymuszonego ponownego uruchomienia.
Rozwiązaniem była zmiana strategii ładowania i wprowadzenie zabezpieczeń pamięci.
Aktualne ustawienia:
- STRATA_UNBUFFERED_LOAD=1
- STRATA_RESIDENT_HEADROOM_GIB=10
- 24 Budżet ekspercki rezydenta GiB
- Dostępność pamięci sprawdzona przed uruchomieniem
- 12 GiB dodatkowy margines bezpieczeństwa w polityce startowej
Po tych zmianach:
- Brak aktywności wymiany podczas normalnego wnioskowania
- W obserwowanym punkcie używane było około 34,6 GiB RAM
- Dostępne około 12,7 GiB
- Stabilna generacja pod obciążeniem
Lekcja:
Możliwe jest uruchomienie modelu większego niż pamięć fizyczna, ale rozliczanie pamięci jest absolutnie krytyczne.
Obciążenie pamięci podręcznej stron, przypięte dane modelu, eksperci rezydujący i pamięć podręczną KV należy rozpatrywać łącznie.
Nie kopiuj na ślepo flag maksymalnej wydajności z maszyn ze znacznie większą konfiguracją pamięci RAM.
Zużycie energii, parametry termiczne i koszt wnioskowania
To kolejna miła niespodzianka.
Zmierzona moc komponentu:
Bezczynny z załadowanym modelem:
- CPU: ~5.8 W
- GPU: 15–18 W
Podczas generacji:
- CPU: ~62.8 W
- GPU: 152–167 W
- Krótkie wartości szczytowe procesora graficznego wynoszą około 174 W
Szacunkowa całkowita moc systemu na ścianie (nie mierzona miernikiem ściennym):
- Bezczynność: ~54 W
- Generacja: ~280 W
Obserwowane temperatury:
- Karta graficzna pod obciążeniem: 62–68°C
- Karta graficzna w stanie bezczynności: ~40°C
- NVMe: 38–47°C
Nie zaobserwowano dławienia termicznego.
Przy zakładanej cenie energii elektrycznej wynoszącej 0,25 EUR/kWh:
- 24 godziny bezczynności: ~0,32 €
- 30 dni ciągłego bezczynności: ~9,72 €
- Jedna godzina aktywnego wytwarzania: ~0,07 €
Dzięki temu obsługa w domu wydajnego, chroniącego prywatność lokalnego punktu końcowego AI jest całkowicie realistyczna.
Są to oczywiście szacunkowe koszty energii elektrycznej, a nie całkowity koszt posiadania. Amortyzacja sprzętu, chłodzenie i konserwacja są wyłączone.
Gdzie konfiguracja RTX 3060 przestaje mieć sens
Ta konfiguracja doskonale nadaje się do krótkich interaktywnych żądań, ale ma ograniczenia.
Najważniejsze:
- Maksymalny kontekst: 32 768 tokenów
- Komunikat w pobliżu 32 KB pozostawia niewystarczającą ilość miejsca na generowanie
- Praktyczny pułap wzorcowy wynosił ~30 165 tokenów wejściowych
- Myślenie/rozumowanie może pochłonąć setki dodatkowych wygenerowanych tokenów
- Długotrwałe sesje agentów szybko stają się ograniczone
Dla porównania ten sam model uruchomiłem na mocniejszym systemie lokalnym z kartą graficzną 24 GB.
Zmierzona wydajność w tym systemie:
- Wstępne wypełnienie 4K: 1339 tok/s
- Dekodowanie 4K: 94 tok/s
- Wstępne wypełnienie 16 tys.: 2956 tok/s
- Dekodowanie 16K: 125 tok/s
- Maksymalny kontekst: 262 144 tokenów
- 15 wątków roboczych
System RTX 3060 zapewnia znacznie niższą przepustowość wstępnego napełniania i mniej więcej połowę przepustowości dekodowania w porównywalnych przypadkach, przy jednej ósmej dostępnego kontekstu.
Jednak karta 12 GB jest znacznie bardziej dostępna i pozostaje imponująco użyteczna.
Moje obecne podejście:
- Mocniejszy sprzęt dla złożonych, długotrwałych agentów
- Niedrogie procesory graficzne 12 GB do rozmów, krótkich przepływów pracy, eksperymentów i tworzenia kopii zapasowych
Nie chodzi o to, aby udawać, że tani procesor graficzny zastępuje maszynę z najwyższej półki.
Rzecz w tym, jak wiele przydatnej lokalnej sztucznej inteligencji może już działać na niedrogim sprzęcie.
Co można jeszcze zoptymalizować?
System już działa dobrze, ale istnieje kilka interesujących możliwości dalszych eksperymentów.
Wnioskowanie współbieżne
Opcja --slots 2 może poprawić całkowitą przepustowość przy dwóch jednoczesnych rozmowach.
W przypadku tego obciążenia możliwa jest szacunkowa łączna przepustowość wynosząca +10–12%, ale wymaga ona sprawdzenia.
Nie oznacza to jednak, że pojedyncza rozmowa staje się o 12% szybsza.
Większe partie wstępnego napełniania
Obecne: --prefill 4096
Kandydat: --prefill auto:16384
Większe okna wstępnego wypełniania mogą usprawnić przetwarzanie z długim monitem, ale dostępna pamięć VRAM jest już ograniczona.
Przy zajęciu około 11,14 GiB z 12 GiB procesora graficznego należy dokładnie zmierzyć zachowanie pamięci.
Więcej pamięci RAM systemu
Użycie --ple-io ram może wprowadzić więcej danych modelu do pamięci systemowej i zmniejszyć odczyty pamięci.
Dokumentacja dewelopera sugeruje:
- +16–31% wydajności wstępnego napełniania
- +3–11% wydajności dekodowania
Ale ta konfiguracja wymagałaby znacznie więcej pamięci RAM, około 72+ GiB dla mierzonego układu.
Nie jest to praktyczne w obecnej konfiguracji 48 GB.
Dekodowanie spekulatywne
Dekodowanie spekulatywne MTP jest już włączone.
Zaobserwowana akceptacja: ~ 33–41 zaakceptowanych tokenów z 50–60 opracowanych, czyli około 65–70%.
Dłuższy kontekst
Obecny limit 32 KB jest limitem konfiguracji operacyjnej, a nie dowodem na to, że sam model obsługuje tylko 32 KB.
Zwiększenie go wymaga ponownego sprawdzenia pojemności pamięci, zachowania pamięci podręcznej KV, opóźnień i stabilności.
W przypadku tego obciążenia ograniczenie kosztownych odczytów specjalistycznych i poprawa wzorców dostępu może mieć większe znaczenie niż zwiększenie maksymalnej przepustowości sekwencyjnej dysku.
Jak zawsze: porównaj rzeczywiste obciążenie pracą, a nie tylko dane marketingowe sprzętu.
Ostatnie przemyślenia
Oto, co pokazuje ten eksperyment.
Kwantyzowany model MoE o pojemności ~83,6 GB może działać lokalnie na:
- RTX 3060 12 GB
- 48 GB DDR5 RAM
- Konsumencki procesor Intel
- PCIe 5.0 NVMe SSD
- Ubuntu + Strata
Z wynikami pomiarów do:
- Ciepłe dekodowanie 68 tok/s
- Szybkie przetwarzanie 916 tok/s
- Monit o zimną kwotę 30 tys. tokenów w ciągu ~34 sekund
- W pełni buforowany monit 30 KB: ~0,44 s do pierwszego tokena
- Nie ma możliwości zamiany w normalnych warunkach pracy
Ale są ważne zastrzeżenia.
- Maksymalny skonfigurowany kontekst to 32 KB
- Szybkie wyznaczanie tras przez ekspertów zmienia zachowanie modelu
- Najwyższa prędkość niekoniecznie oznacza najwyższą jakość
- Wydajność pamięci masowej zależy od wzorców dostępu
- Zarządzanie pamięcią wymaga starannego dostrojenia
- Długotrwali agenci korzystają z mocniejszego sprzętu
Szczególnie interesuje mnie praktyczna ekonomia lokalnej sztucznej inteligencji.
Nie tylko maksymalny poziom odniesienia w systemie o wartości 10 000 euro, ale także użyteczna wydajność osiągalna na komputerach konsumenckich i niedrogich konfiguracjach zaczynających się od kwoty 1000 euro.
Prywatność, niezależność, kontrolowane koszty operacyjne i realna użyteczność mają większe znaczenie niż sama pogoń za imponującymi wynikami benchmarków.
Jest to wciąż ewoluujący eksperyment i będę na bieżąco dzielić się pomiarami, awariami, zmianami konfiguracji i ulepszeniami.
Przyszłość lokalnej sztucznej inteligencji staje się już zaskakująco przystępna cenowo.
Późniejsze dodatki
Aha, zapomniałem wspomnieć, że procesor graficzny działa z technologią NVIDIA Unlock, która została wypuszczona zaledwie kilka dni temu, w zeszłym tygodniu.
Poprosiłem teraz mojego agenta AI o przeprowadzenie tych samych benchmarków bez odblokowania, abyśmy mogli porównać wyniki za około 15–20 minut.
W ciągu najbliższych kilku dni, choć nie dzisiaj, zainstaluję tę kartę graficzną w systemie kosztującym mniej niż 1000 dolarów i zobaczę, jak się tam sprawuje.