Nieuws
RTX 3060 12 GB onder aanhoudende belasting: 60-68 tok/s tot het laatste token
We maten De snelheid binnen elk lang antwoord, token voor token, in plaats van gemiddeld: 60-68 tok/s met redenering over een 8192-token antwoord bij 16K context, 79-96 tok/s zonder redenering, en slechts ongeveer 8% verloren van een 1K naar een 30K prompt. Alle 145 raw-bestanden zijn beschikbaar om te downloaden.
Op 30 oktober 2026 hebben we een lange reeks metingen uitgevoerd op B2003, onze experimentcomputer met een RTX 3060 12 GB. Het resultaat: met redenering op (de standaard), qwen3.8-Flash-Next Iq3_s op Strata houdt 60-68 tok/s van de eerste token naar de 8192e bij een 16K prompt, zonder druppels. Met reasoning off loopt het op 7996 tok/s. een bijna volledige context kost slechts ongeveer 8%: van een 1K tot een 30K prompt gaat de mediaan van 88 tot 84 tok/s.
Ons eerdere artikel meldde tot 68 tok/s decodering op deze kaart. De twee vragen die ons het meest worden gesteld op X zijn of die snelheid geldt door een lang antwoord of slechts een opwarmingspiek is, en of de prestaties gelden in de tweede helft van een lange context. Om ze te beantwoorden, hebben we elke gestreamde token getimed in plaats van het hele antwoord gemiddeld te nemen.
We controleerden snelheid in intervallen van hetzelfde antwoord, context van 1K tot 30K tokens, een koude en een warme prompt cache, snelle en nauwkeurige expert routing, drie inhoudstypen (JSON, C-code, Russisch technisch proza), GPU-vermogen, klokken en temperatuur, en of de output zelf correct bleef.
Setup
- Machine B2003: ASUS Pro Q870I-C, Intel Core Ultra 7 265, 2×24 GiB DDR5-5600.
- GPU: RTX 3060 12 GB (GA106), driver 615.71.10, GPU ontgrendelen aan, vermogenslimiet 170 W.
- Opslag: Lexar NM1090 PRO 2 TB NVMe (PCIe 5.0 ×4).
- Systeem: Ubuntu 24.04.5, kernel 7.0.0-38.
- Motor: Strata 0.1.52 (build f-027-rel).
- Model: Qwen3.8-Flash-Next-GSQ-RCO-IQ3_S (78 GiB, 2 scherven).
--max-context 32768 --prefill 4096 --pool-workers 12 --spec 4 --spec-min-p 0.5
--kv int8 --kv-resident 32768 --conversation-cache-mib 1536
--resident-experts --resident-budget-gib 24
STRATA_UNBUFFERED_LOAD=1 STRATA_RESIDENT_HEADROOM_GIB=10
Methodologie
- De server toont /tokenize niet, dus tokens werden geteld uit de tijdstempels van gestreamde SSE-stukken (1 stuk ≈ 1 token; controleer: 5478 stukken tegen 5479 tokens in gebruik.completion_tokens) en verankerd aan de exacte uiteindelijke token telling. Woorden en lijnen werden niet gebruikt.
- Prompts werden gekalibreerd met sondes met behulp van max_tokens: 1 (20,2 tokens per vulzin, 145 tokens van vaste overhead); de werkelijke grootte werd gecontroleerd tegen gebruik.prompt_tokens.
- De antwoordlengte was 32768 minus de prompt minus een marge, tot 8192 tokens; bij 30K is dit 2048 tokens.
- Elk sleutelscenario werd minstens 3 keer herhaald; we rapporteren de mediaan, het minimum en het maximum. Decodeer ruis ±20% en prefill ruis ±5%; kleinere verschillen werden niet meegeteld als resultaat.
- De Hardware-telemetrie werd om de 3 seconden opgenomen (klokken, vermogen, temperatuur, gebruik, VRAM, vrij RAM, swap, NVMe-leestellers). Prefill, MTP draft acceptance, expert-cache hits en file-tier reads kwamen uit het engine log.
- Twee expert routing modi: snel (standaard routing, voor 1.5) en nauwkeurig (STRATA_ROUTE_PRIOR=0). De modi werden omgeschakeld door de motor opnieuw op te starten.
- 4 rijen in het precise-mode bestand werden geproduceerd door de fast engine omdat het blok script werd herschreven tijdens de run. Ze worden uitgesloten van de tabellen en in het archief bewaard zoals ze zijn.
- In totaal: 52 gemeten runs in 13 jsonl-bestanden (14 in de snelle modus, 13 in de nauwkeurige modus en 25 varianten: redeneren, warme cache, code, proza, contextlimiet, kalibratie), plus de 4 uitgesloten rijen.
Resultaten: snelheid binnen het antwoord
Waarden in tok/s, mediaan (min-max). Context is de prompt grootte in tokens; het antwoord is tot 8192 tokens (2048 bij 30K).
Snelle modus, redeneren uit
| Context | Runs | 0–0.5K | 0.5K–1K | 1K–2K | 2K–4K | 4K–6K | 6K–8K | Staart | Geheel antwoord |
|---|---|---|---|---|---|---|---|---|---|
| 983–1516 | 3 | 86 (56–86) | 87 (87–88) | 86 (85–88) | 88 (88–90) | — | — | 92 | 88 (55–89) |
| 7865 | 2 | 84 (81–87) | 96 (93–99) | 94 | 95 (94–96) | — | — | 94 | 93 (93–94) |
| 15816 | 3 | 79 (77–88) | 86 (86–96) | 90 (90–96) | 92 (90–98) | 93 (93–96) | 93 (92–96) | 95 | 91 (90–96) |
| 23917 | 3 | 81 (77–85) | 86 (83–91) | 83 (81–92) | 90 (80–90) | 96 | — | 83 | 86 (80–92) |
| 30153 | 3 | 78 (77–78) | 86 (86–87) | 86 (85–88) | — | — | — | 86 | 84 (84–85) |
Snelle modus, redeneren op (standaard gedrag)
| Context | Runs | 0–0.5K | 0.5K–1K | 1K–2K | 2K–4K | 4K–6K | 6K–8K | Staart | Geheel antwoord |
|---|---|---|---|---|---|---|---|---|---|
| 15854 | 1 | 61 | 68 | 61 | 59 | 58 | 60 | 85 | 60 |
| 30191 | 1 | 66 | 56 | 65 | — | — | — | 96 | 63 |
Precieze modus, redeneren uit
| Context | Runs | 0–0.5K | 0.5K–1K | 1K–2K | 2K–4K | 4K–6K | 6K–8K | Staart | Geheel antwoord |
|---|---|---|---|---|---|---|---|---|---|
| 1011 | 2 | 27 (26–29) | 28 (26–29) | 27 (26–28) | 25 (24–26) | 25 (24–25) | 23 | 26 | 25 (25–26) |
| 7893 | 2 | 29 (29–30) | 30 (29–31) | 28 (24–31) | 27 (22–31) | 26 (21–31) | 27 | 24 | 26 (23–30) |
| 15814 | 3 | 29 (26–32) | 27 (25–32) | 26 (22–28) | 23 (20–24) | 23 (20–23) | 22 | 21 | 24 (21–24) |
| 23915 | 3 | 31 (30–32) | 32 (31–34) | 29 (26–31) | 25 (25–28) | 24 | — | 24 | 26 (26–29) |
| 30151 | 3 | 32 (28–32) | 32 (30–33) | 29 (29–30) | — | — | — | 29 | 30 |
In de snelle modus is de snelheid vlak of stijgt deze naar het einde van het antwoord (16K: 79 → 93, staart 95). Een vertraging tegen het einde verschijnt alleen in de precieze modus: 29 → 22 meer dan 8000 tokens (-24%). Precieze modus met redenering op 16K geeft 25 tok/s voor het hele antwoord. Snelle routing is 3,8 × sneller dan nauwkeurige routing.
Inhoudstype (snelle modus, 16K context)
| Taak | Antwoord, tokens | Geheel antwoord, tok/s | MTP-Concepten geaccepteerd |
|---|---|---|---|
| JSON array of records | 8192 | 91 (90–96) | 92% (90–98%) |
| C-code | 7332 | 59 | 74% |
| Russisch technisch proza | 4730 | 40 (40–43) | 38% (1327/3485) |
De verschillen zijn meerdere malen groter dan decode ruis: voorspelbare structuur versnelt de generatie 2–2.3×, vrije proza vertraagt het. Dit is een eigenschap van de inhoud, geen vertraging in de tijd.
Vooraf invullen, tijd tot eerste token en prompt cache
| Geval | Prompt, tokens | Koude voorvulling, tok/s | Koude TTFT | Warm TTFT | Hergebruikte tokens |
|---|---|---|---|---|---|
| 1K | 983–1516 | 293 | 3.4–3.8 s | — | 0 |
| 8K | 7865 | 865 | 9.1–9.2 s | — | 0 |
| 16K | 15816 | 908 | 17.3–17.6 s | 0.2 s | 15 803 |
| 24K | 23917 | 914 | 25.4–26.3 s | — | 0 |
| 30K | 30153 | 892 | 33.6–34.5 s | 0.4 s | 30 141 |
Een warme prompt cache verwijdert bijna alle prefill (17.4 s → 0.2 s bij 16K, 33.6 s → 0.4 s bij 30K) en verandert de decoderingssnelheid niet. Expert-cache hits waren 98,7–98,8% in de snelle modus; NVMe leest waren 1,13,3 GB/s terwijl experts laden en bijna nul tijdens gestage JSON decodering.
Bij een prompt van 30.151 tokens met een limiet van 32.768, verkleint de motor het antwoordbudget zelf en eindigt met stop of lengte, zonder een fout. Alleen een prompt die niet op zichzelf past, geeft fout 400 terug.
Hardware tijdens de runs
| Blok | Macht | Temperatuur | SM klok | VRAM | Swap | NVMe lees |
|---|---|---|---|---|---|---|
| Snelle modus | 162–169 W (max 170.2) | 74–76 °C | 1815–1875 MHz | 11 409–11 423 MiB | 0 | 0.2–4.7 GB/s (6.6) |
| Precieze modus | 88–105 W (max 167) | 62–71 °C | 1965–1972 MHz | 11 425 MiB | 0 | 1.6–2.3 GB/s (6.1) |
Bereiken over de gemeten blokken; piekwaarden tussen haakjes. De snelle modus wordt beperkt door het GPU-vermogen: bij de 170 W-kap dalen de klokken van 2160 MHz naar 18151875 MHz bij 75 °C, Zonder Thermische throttling, 11,4 van 12,3 GiB VRAM in gebruik en geen swap. In de precieze modus verbruikt de GPU ongeveer de helft van het vermogen bij maximale klokken: het wacht op experts in plaats van te werken, daarom daalt de snelheid.
Uitvoerkwaliteit
- Het JSON-formaat breekt niet: in alle 12 runs die door de limiet werden afgesneden, bleef elk record geldig; alleen de array zelf werd niet gesloten.
- Een instructie vanaf het begin van de prompt wordt nog steeds gevolgd bij 30K (de tagregel die in de staart wordt gehouden, 50/50 en 22/22).
- Een marker uit het midden van het document wordt teruggeroepen bij 16K en 24K, maar verloren bij 30K, in beide modi.
- De belangrijkste zwakte van de snelle modus is het herhalen van entiteiten in lange lijsten (26-28 unieke codes van ongeveer 190) en een lus van 122 dubbele lijnen bij 30K. precieze modus bij 16K hield 168/168 en 193/193 uniek, maar bij 24K en 30K kan het ook instorten tot 26-33 unieke codes in een run.
- C-code in de snelle modus produceerde 255 herhaalde regels van de 681, dus code taken in de snelle modus zijn niet betrouwbaar.
Grenzen van dit experiment
Eén machine en één build: de conclusies over de GPU-vermogenslimiet en expert-voeding zijn van toepassing op deze kaart met een limiet van 170 W en 12 GiB VRAM. De modi werden omgeschakeld door de motor opnieuw op te starten, dus de runs binnen één modus waren opeenvolgend en de volgorde was niet volledig gerandomiseerd. De precieze modus met een warme cache werd één keer uitgevoerd, en de precieze modus bij 1K en 8K had 2 herhalingen in plaats van 3.
Wat dit betekent voor een Box-klant
- Een betaalbare 12 GB-Kaart houdt 60-68 tok/s bij lange antwoorden, niet alleen aan het begin.
- Lange documenten in context kosten weinig snelheid en een herhaalde context wordt bijna onmiddellijk beantwoord dankzij de prompt cache.
- De modus wordt per taak gekozen: snel voor gestructureerde gegevens, nauwkeurig wanneer lange lijsten uniek moeten blijven; gegenereerde code moet worden herzien.
Ruwe gegevens
Alle 145 bestanden van dit experiment zijn beschikbaar om te downloaden: 13 jsonl-resultaatbestanden, 102 antwoord-en redeneerteksten, hardware-telemetrie, engine logs, scripts, de systeemstatus, het originele rapport in het Russisch en het post-concept in het Engels. Toegangssleutels, interne adressen, gebruikersnamen en interne paden werden vóór publicatie verwijderd.