Հաշվետվություն

vLLM-ը DGX Spark-ի վրա 256K կոնտեքստով. կոնֆիգուրացիաների որսը և NVFP4 ուղին, որը կոտրված էր mainline-ում

256K կոնտեքստի կոնֆիգուրացիաների որսը մեկ GB10-ի վրա. vLLM-ի որ attention և MoE բэкենդները դիմացան SM_121-ին, ինչու NVFP4-ը մեր ամրացրած mainline-սարքումում դեկոդում էր FP8-ից դանդաղ, որ պատչված կապակցումը պահեց 260K-ն — և չափված թվերը՝ ամրացված ներսում նշված տարբերակներին։

lab_single_run internal research 21 օգոստոսի, 2026 թ. · Ֆինանսավորում: Սեփական ֆինանսավորում, ներքին հետազոտություն

Սա լաբորատորիայի ռուսերեն լոնգրիդի անգլերեն ուղեկցի հայերեն թարգմանությունն է. բնօրինակը՝ Habr-ում. ինչպես ստիպել 35B դասի MoE-ին սպասարկել 256K կոնտեքստի պատուհան մեկ DGX Spark-ի վրա, և ինչ կոտրված գտանք ճանապարհին։ Այդ հոդվածն է այստեղ ամեն թվի առաջնային աղբյուրը — ներքևի թվերը նրանից արված մեջբերումներ են, ոչ թե լաբորատորիայի ռեեստրի claim-եր։

Նախ կարդացեք տարբերակների ամրացումը։ Այս էջի ամեն ինչ նկարագրում է շարժվող թիրախի մեկ պահ. vLLM 0.15 շարքի mainline՝ PyTorch 2.10-ով, FlashInfer 0.6.8, դրայվեր 580.142, CUDA 13.0, DGX OS 7.5.0, չափված 2026-ի մայիսին։ Mainline-ը շարժվում է ամեն շաբաթ. ինչ կոտրված էր այն ժամանակ, կարող է արդեն ուղղված լինել, իսկ ինչ աշխատում էր՝ հետընթաց ապրած։ Վերաբերվեք այս էջին որպես թվագրված վկայության՝ իր ամրացումներով, և կրկնելուց առաջ ստուգեք upstream-ի հղված issue-ները։

Մեքենան և նպատակը

Մեկ DGX Spark. GB10, Blackwell SM_121, 128 ԳիԲ unified LPDDR5x՝ 273 ԳԲ/վ թողունակությամբ ։ Նպատակը իսկապես երկար պատուհան էր — 262 144 թոքեն — Qwen3.6-35B-A3B դասի MoE-ի համար, սարքաշարի վրա, որի compute ճարտարապետության համար բաց կոդով kernel-ների մեծ մասը երբեք չէր կոմպիլացվել։

Կոնֆիգուրացիաների որսը

Ինչը հրաժարվեց աշխատել, հանդիպման հերթականությամբ.

Ինչու NVFP4-ը կոտրված էր mainline-ի մեր փորձարկած սարքումում

Ցավոտ հարցումը, որ հավանաբար ձեզ այստեղ բերեց։ Մեր ամրացրած mainline-սարքումում NVFP4 kernel-ները կոմպիլացված էին compute_120f-ի համար, մինչդեռ նատիվ NVFP4 հրահանգները գոյություն ունեն միայն compute_120a-ում և compute_121a-ում։ SM_121-ի վրա դա նշանակում էր, որ քվանտացված կշիռները բացվում էին ծրագրային ճանապարհով՝ բիթային մանիպուլյացիաներով shader-ում, պարապ տենզորային միջուկներով։ Լոգի մատնահետքը՝ [AutoTuner]: Skipped 10 unsupported tactic(s) for trtllm::fused_moe::gemm2։

Չափված հետևանքը. կիսով չափ հիշողության հետք ունեցող քվանտացումը դեկոդում էր FP8-ից դանդաղ — 40,9՝ 51,2 tok/s-ի դիմաց մեկ հոսքով, 260K կոնֆիգուրացիայում ։ Կիսով չափ բայթ, ավելի շատ ժամանակ. բացազերծման ծախսը կերավ թողունակության շահը։

Ճշգրիտ լինենք ժամանակաձևի հարցում. NVFP4-ը կոտրված էր այդ սարքումում, այդ չիպի վրա, այդ ամսաթվին։ Սա կոմպիլացիայի թիրախի բաց է, ոչ թե սարքաշարի օրենք — upstream-ի հետագծողը flashinfer-ի issue #3170-ն էր, «DGX Spark SM_121 Audit»-ը՝ տասնյոթ բաց կետով հոդվածի հրապարակման պահին ։ Որևէ բան որոշելուց առաջ ստուգեք ընթացիկ mainline-ի դեմ։

Ինչն աշխատեց

260K պահած և ամենաարագ կոնֆիգուրացիան ամենևին ստոկային չէր. vLLM՝ սորսից՝ յոթ լոկալ պատչով, FlashInfer 0.6.8՝ գումարած PR #2520 և #2702, community AEON-7/Qwen3.6-35B-A3B-heretic-NVFP4 checkpoint-ը և DFlash block-diffusion drafter-ը՝ տասնհինգ սպեկուլյատիվ թոքենով.

--max-model-len 262144
--max-num-seqs 128
--max-num-batched-tokens 65536
--gpu-memory-utilization 0.85
--enable-chunked-prefill --enable-prefix-caching
--speculative-config '{"method":"dflash","num_speculative_tokens":15}'
--attention-backend flash_attn

Արագ ուղու թակարդը. heretic fine-tune-ը կոտրում է tool calling-ը (նրա issue #4-ը, այն պահին չուղղված)։ Agent և MCP սպասարկման համար հոդվածի հանձնարարականը սովորական Qwen/Qwen3.6-35B-A3B-FP8-ն էր ստոկ vLLM-ի վրա — ավելի դանդաղ, բայց ֆունկցիաների կանչերը վերադառնում են ամբողջական։

Չափված վարքը 256K-ում

Մեջբերված հոդվածի մեկ մեքենայի գործարկումներից .

Կոնֆիգուրացիաc=1 դեկոդ×32 ագրեգատԿշիռները հիշողությունումԿոնտեքստ
Gemma 4 26B-A4B BF1623.3 tok/s297.8 tok/s49 ԳիԲ252K
Qwen3.6 FP851.2 tok/s349.2 tok/s35 ԳիԲ260K
NVFP4, mainline40.9 tok/s448 tok/s22 ԳիԲ260K
NVFP4 + MTP54.1 tok/s498.6 tok/s22 ԳիԲ131K
AEON-7 + DFlash69.7 tok/s350.1 tok/s22 ԳիԲ260K

Տաք time-to-first-token-ը մոտ 100 մվ էր՝ ներառյալ drafter-ի կոմպիլացիան ։ Ամենաօգտակար անակնկալը հենց պատուհանի էժանությունն է. max-model-len-ի աճը 65K-ից 260K արժեցավ մեկ հոսքի դեկոդի մոտ երկուսուկես տոկոս , մինչդեռ մեկ օգտագործողի ակտիվ կոնտեքստը հազվադեպ էր անցնում 260K պատուհանի 30K-ն ։ Սպեկուլյատիվ թվերը ուժեղ տատանվում են ըստ բեռի — DFlash-ի ընդունումը ընդհանուր 17.8% էր, բայց զրո դիրքում 78%՝ մաթեմատիկայի ու կոդի վրա , ինչը դեկոդը փռում էր մաթեմատիկայի 117 tok/s-ից մինչև բիզնես-չաթի 45–57 tok/s ։ Իսկ առաստաղը հիշողությունն է, ոչ թե մարքեթինգը. 273 ԳԲ/վ-ի դեպքում հոդվածի roofline-ը արդյունավետ սպեկուլյատիվ դեկոդը դնում է մոտ 320 tok/s ՝ անկախ նրանից, թե ինչ է ակնարկում տուփի վրայի FP4 պետաֆլոպի թիվը։

Ազնվության բաժին

Ինչպես մեջբերել

AGmind Systems Lab (2026-08-21). vLLM-ը DGX Spark-ի վրա 256K կոնտեքստով. կոնֆիգուրացիաների որսը և NVFP4 ուղին, որը կոտրված էր mainline-ում. Evidence level: lab_single_run. https://agmind.ai/hy/reports/dgx-spark-256k-vllm/
← Հաշվետվություններ