De bwat klas DGX Spark, yon sèl modèl: yon kopi sou chak bat li
Operasyon
Pandan sèt semèn, modèl langaj lokal nou an te kouri separe sou de machin NVIDIA GB10 ak paralèl tensè. Nan 22 Oktòb, nou ranplase sa ak yon kopi konplè modèl la sou chak machin ak yon proxy ki chwazi koneksyon ki pi kout devan yo. Debi a te pase soti nan apeprè 180 a 210 to pa segonn, e kounye a nenpòt nan de machin yo ka rekòmanse san retire modèl la.
Poukisa nou te separe l
Chak machin gen 128 GB memwa ke CPU a ak GPU a pataje. Nan Septanm, modèl la te antre sou yon sèl machin, men kach li te apèn antre: vèsyon vLLM nou te itilize a pa t ka kenbe kach KV modèl sa a nan FP8, konsa kach la te nan BF16, epi yon sèl machin te gen espas pou 499,110 to ladan l. Sa a se mwens pase de demann nan kontèks konplè modèl la ki se 262,144 to. Lè nou separe l sou de machin yo ak paralèl tensè sou koneksyon rezo dirèk yo, kach la te grandi a plis pase twa milyon to. Nou te separe modèl la pou espas, pa pou vitès.
Sa ki te chanje
Yon vèsyon 4-bit pi resan nan menm modèl la (NVFP4, fè ak distilasyon ki konsyan de kantifikasyon) pran apeprè 71 GiB memwa, epi yon vèsyon vLLM kominote pou GB10 (eugr/spark-vllm-b12x) kouri kach li nan FP8. Kounye a, yon sèl machin kenbe tout modèl la ak yon kach 0.76 a 1.08 milyon to, espas pou 2.9 a 4.1 demann nan kontèks konplè, selon konbyen memwa machin nan bay li. De kopi yo itilize dekodaj espkilatif modèl la menm (MTP, kat to brouyon). Anvan nou chanje, nou te kouri tès apèl zouti nou an sou nouvo vèsyon an: li te jwenn 86, vèsyon li te ranplase a te jwenn 75.
Sa nou te mezire
| Separe sou de machin | Yon kopi sou chak machin | |
|---|---|---|
| Kach KV | plis pase 3 milyon to | 0.76 ak 1.08 milyon to |
| Demann nan kontèks konplè | apeprè 12 | 2.9 ak 4.1 |
| Debi anba chaj nou an | apeprè 180 to/s | 210 to/s (111 + 99) |
| Demaraj | apeprè 20 minit | 5 a 13 minit pa kopi |
| Yon machin rekòmanse | modèl la tonbe | lòt kopi a sèvi |
Yon kopi pou kont li, dapre kantite demann li sèvi an menm tan: ak kout enstriksyon, 1 demann bay 36 token pa segonn, 4 bay 82, 8 bay 109 epi 16 bay 150. Ak pi long enstriksyon ajan imel nou an, 4 bay 81, 8 bay 113 epi 16 sèlman 87: depase uit demann konsa, plis demann fè l vin pi dousman.
Pou yon apremidi, yon kopi te pran omwen 12 demann an menm tan epi lòt la 8. Premye a te pwodui 91 a 93 token pa segonn epi li te fini 26 a 27 demann pa minit; dezyèm lan 81 a 83 token pa segonn epi 22 demann pa minit. Toude kounye a pran 12.
Sa nou te bay
Espas. Modèl separe a te gen yon sèl kach ki gen plis pase twa milyon token; kopi yo gen de pi piti, epi yon demann ka sèlman itilize kach kopi ki sèvi l la. Ajan nou yo voye anpil kout ak mwayen demann, epi pou yo, debi a te pi enpòtan. Si w sèvi kèk kontèks trè long an menm tan, separe a ka toujou yon pi bon chwa. Nou te kenbe konfigirasyon separe a, epi retounen se yon sèl script.
Sa ki te mal pandan chanjman an
- Onz minit san yon modèl, apre sa 30 segonn ak erè 502. Modèl separe a te oblije kanpe anvan yon kopi te ka chaje sou menm machin yo, konsa ajan nou yo te tann apeprè onz minit. Lè premye kopi a te monte, pwoksip la te kontinye reponn "502 no live upstreams" pandan apeprè 30 segonn anplis: li te make backend yo kòm echwe pandan yo te desann (
max_fails=3,fail_timeout=30s) epi li pa t eseye yo ankò jiskaske tan sa a te fini. - Yon kliyan ki te sote pwoksi a. Youn nan travay gwoup nou yo te gen adrès premye machin nan nan konfigirasyon li, konsa tout chaj li a te ale nan yon sèl kopi pandan lòt la te gen kapasite pou spare. Kounye a, chak kliyan pase nan pwoksi a; adrès pwòp machin yo se sèlman pou tcheke sante.
- Metrik ki te sote. Monitè debi nou an te li
/metricsvLLM la atravè pwoksip la. Ak de backend, lekti konsekitif yo te soti nan kopi diferan, kontè yo te sote devan dèyè, epi monitè a te rapòte modèl la kòm afame. Kounye a li li chak kopi dirèkteman epi li ajoute yo ansanm. - Yon ansyen siveyans ki te ka kanpe nouvo kopi a. Konfigirasyon separe a te gen yon siveyans ki te rekòmanse sèvis li lè modèl la te sispann reponn. Nouvo sèvis la deklare
Conflicts=ak ansyen an, konsa rekòmansman sa a te ka kanpe nouvo kopi a. Li te oblije etenn aksystemctl disable --now, pa sèlman kanpe, paske kouch operasyonèl nou an rekòmanse inite ki aktive men ki pa ap kouri. - Memwa sou machin nan ki fè lòt travay. Yon machin tou ap kouri baz done nou yo ak konstriksyon sit yo. Ak
gpu-memory-utilizationvLLM la nan 0.78, sèlman 5 GiB te rete pou tout rès la, konsa nou te bese l nan 0.74 epi nou te rekòmanse sèlman kopi sa a pandan lòt la te kenbe chaj la. Sou machin sa yo, pòsyon ou bay vLLM la soti nan menm memwa ak tout rès la.
Si ou gen de nan machin sa yo
- Si modèl la ak kach ou bezwen an ka antre sou yon sèl machin, kouri yon kopi sou chak machin dèyè yon proxy ki baze sou pi piti koneksyon an. Se pare modèl la sèlman lè yon sèl machin pa ka kenbe kach ou bezwen an.
- Dirije chak kliyan sou proxy a, tankou travay gwoup yo ak ansyen konfigirasyon yo.
- Li metrik yo dirèkteman sou chak kopi.
- Bay chak machin pòsyon memori pa l, selon sa ki kouri sou li.
- Konfigire konbyen demann yon kopi sèvi an menm tan ak pwòp trafik ou: pou melanj nou an, 12 te pi bon pase 8.
- Espeke chanjman an ap retire modèl la pou tan li pran pou yon kopi demare, epi prepare w pou sa.
Factory Floor bay proxy a ak konfigirasyon demaraj pou yon oswa de machin, tès sante a ak tès itilizasyon zouti nou fè anvan nou chanje modèl yo, ak siveyans yo ak gadyen sekirite memori yo pou rès machin nan.