# DeepSeek-V4-Flash 0731-ը երկու DGX Spark-ի վրա. բաղադրատոմսը՝ նշված թակարդներով

> Մեր հրապարակված GB10 թվերի հետևի ճշգրիտ սերվինգի բաղադրատոմսը. ամրագրված կշիռներ ու պատկեր, head-first գործարկման կարգը TCPStore-ի կախումի դեմ, MoE դրոշակը, որն auto-ն բաց է թողնում, ինչ մոնիտորել, երբ NVML-ը լռում է, և ինչ թվեր սպասել։

- Published: 2026-08-16
- Evidence level: lab_single_run
- Funding: Սեփական ֆինանսավորում, ներքին հետազոտություն
- Canonical: https://agmind.ai/hy/reports/deepseek-v4-flash-0731-dgx-spark-recipe/

Սա runbook-ն է մեր հրապարակված DeepSeek-V4-Flash-0731 թվերի հետևում՝ DGX
Spark-երի զույգի վրա (GB10, TP=2՝ 200G RoCE-ով) — ամեն քայլն այնպես, ինչպես
իրականում գործարկում ենք, իսկ թակարդները, որոնք մեզ ժամանակ արժեցան, նշված
են որպես թակարդներ։ Հեղինակային, տարբերակավորված պատճենն ապրում է
[հրապարակային ռեպոզիտորիայում](https://github.com/botAGI/dspark-0731-gb10)՝
run-մանիֆեստի և հում ելքերի հետ միասին; այս էջը ծանոթագրված շրջայցն է։

## Հինգ քայլերը

**1. Կշիռները ԵՐԿՈՒ հանգույցի վրա** — ~156 GiB սկավառակի վրա՝ մեկ հանգույցին
։ Մենք բենչմարկել ենք կոմյունիթի FP8 չեքփոինթը՝ ամրագրված
ռևիզիայով; պաշտոնական չեքփոինթը ռեպոզիտորիայում նշված է, բայց մեր թվերը ոչ
նրան են նկարագրում։ Ամրագրեք ռևիզիան — `main`-ը շարժվում է։

**2. Runtime-ի պատկերը digest-ով՝ երկու հանգույցի վրա։** Թեգերը շարժվում են;
ռեպոզիտորիայի digest-ը՝ ոչ։ Ամեն հրապարակված թիվ անվանում է այն digest-ը,
որի տակ գործարկվել է — հենց դա է ապագա տարաձայնությունը դարձնում
ախտորոշելի։

**3. Սկզբում HEAD-ը, հետո peer-ը։** Rank 0-ն է հյուրընկալում TCPStore-ը;
peer-ը, որը միանում է նախքան head-ը կսկսի լսել, կախվում է broken pipe-ի
վրա՝ առանց օգտակար սխալի։ Գործարկեք head-ը, սպասեք, մինչև `ss -tln`-ը ցույց
տա, որ store-ի պորտը լսում է, միայն հետո գործարկեք peer-ը։ Կարգի այս բագը
գրված վիճակում ակնհայտ է կարդացվում — կենդանի իրավիճակում այն մեզ իրական
ժամեր արժեցավ։

**4. Պատրաստ է, երբ `/v1/models`-ը պատասխանում է։** Կշիռների բեռնումը տևում է
≈6–7 րոպե ; ֆաբրիկայի կարգավորումները (head/peer IP-ներ, HCA, GID
index) միջավայրի փոփոխականներ են գործարկման սկրիպտի վերնամասում։

**5. Ստուգեք, որ MoE backend-ն իրոք գործել է։** Engine-ը ներառում է միջուկ՝
հատուկ հավաքված այս մոդելի MXFP4 փորձագետների համար GB10-ի վրա, և
միտումնավոր բացառում է այն `auto`-ից.

```
docker logs vllm_dsv4 2>&1 | grep "Mxfp4 MoE backend"
# պետք է՝ Using 'B12X_MXFP4'     ոչ թե՝ Using 'DEEPGEMM_MXFP4'
```

Այս ստուգումը բաց թողնելն ամենատարածված պատճառն է, որ Spark-ի հրապարակված
թիվը հայտնվում է հիսունականների վերջում՝ վաթսունականների վերջի փոխարեն.
`auto`-ն մեզ տվեց 59.7 tok/s կլիենտային դեկոդ այնտեղ, որտեղ `flashinfer_b12x`-ը տվեց 67.6 ՝
engine-ի կողմից չափված 9–12% վերիֆիկացիայի քայլերի հաճախության շահույթ
։

## Ինչ թվեր սպասել

Վերջնական կոնֆիգուրացիան և մեդիանները կրկնվող հարցումների վրայով՝
[հրապարակային արդյունքներից](https://github.com/botAGI/dspark-0731-gb10#results) ։

| Բջիջ | tok/s |
| --- | --- |
| քարտանման կարճ ելք, c=1 | 67.6 |
| code պրոֆիլ, c=1 | 65.5 |
| ծանր 4K-կոնտեքստանոց արձակ, c=1 | 43.7 |
| code պրոֆիլ, c=12 ագրեգատ | 260.4 |

Պրոֆիլային ցրվածքն ավելի մեծ է, քան կոնֆիգուրացիոն փոփոխությունների մեծ
մասը — առանց իր պրոֆիլի մեջբերված թիվը հնարավոր չէ հերքել։ Թե ինչու
ֆորումներում շրջանառվող թվերը միմյանց հետ չեն համընկնում —
[առանձին էջ](https://agmind.ai/hy/reports/dspark-speed-numbers-disagree/)։

**Թոքենները հաշվեք `usage.completion_tokens`-ից, երբեք՝ SSE
իրադարձությունների քանակից։** Սպեկուլյատիվ դեկոդինգի տակ մեկ
իրադարձությունը կարող է կրել մի քանի ընդունված թոքեն; իրադարձությունների
հաշվարկը թողունակությունը լուռ ուռճացնում է։

## Մոնիտորինգի թակարդը

GB10-ի unified memory-ի վրա `dcgm-exporter`-ն ընդհանրապես չի աշխատում, իսկ
NVML-ը հարցումների զգալի մասի վրա վերադարձնում է N/A — ձեր Grafana-ն կլինի
կանաչ ու դատարկ։ Մենք `nvidia-smi`-ն սեփական textfile collector-ով պարսում
ենք node-exporter մետրիկների մեջ; վերլուծությունը
[Habr-ում է, ռուսերեն](https://habr.com/ru/articles/1030802/)։ Սա դրեք
բյուջեի մեջ. սերվինգի տուփը, որը չես կարող դիտարկել, տուփ է, որը չես կարող
շահագործել։

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

- Այստեղ ամեն ինչ `lab_single_run` է. միանվագ անցումներ warmup-ներով, մեկ
  զույգ միավոր, մեր եռակի կրկնության մեթոդաբանությունից դուրս։ Սխալի
  միջակայքերը սարքաշարի այս դասի վրա լայն են — նույնական ագրեգատային
  գործարկումները տատանվում էին 18–24%  սահմաններում, — ուստի մեկ
  տասնորդականի ճշգրտությունը ցանկացած աղբյուրից, ներառյալ մերը, համարեք
  լավատեսություն։
- Մեր սեփական չափման առաջին անցումը կլիենտային կողմի շեղում ուներ, և մենք
  ռեպոզիտորիայում այն նշեցինք superseded՝ ջնջելու փոխարեն; մեջբերելու
  արժանի սերիան engine-ի կողմինն է։
- Գտե՞լ եք թիվ, որը չի համընկնում։
  [Ուղարկեք այն](https://github.com/botAGI/agmind-lab/issues/new?template=conflicting-number.md) —
  տարաձայնության հետևում կանգնած կոնֆիգուրացիոն դելտան սովորաբար ավելի
  տեղեկատվական է, քան թվերից որևէ մեկը։

Առնչվող՝ [1M-կոնտեքստի խորության կորը](https://agmind.ai/hy/reports/dspark-speculative-1m-dgx-spark/) ·
[MoE backend-ի հաշվետվությունը](https://agmind.ai/hy/reports/dsv4-flash-moe-backend-dgx-spark/) ·
[արժե՞ արդյոք Spark-ն ընդհանրապես](https://agmind.ai/hy/reports/dgx-spark-worth-it/)։

---

Machine-readable claim registry: https://agmind.ai/claims.json · llms.txt: https://agmind.ai/llms.txt
