YouMind
Accedi

Manuale di DGX Spark

@exolabs
INGLESE25 set 2026
160K
560
80
26
1.2K

TL;DR

Un manuale completo per il deploy delle unità NVIDIA DGX Spark per l'inferenza AI locale, che copre il collegamento hardware, la selezione dei modelli, la quantizzazione e l'analisi dei costi.

Autore: @0xSero

Revisori: @alexocheema e @alexzfunk

Un ringraziamento speciale a: @MiaAI_lab

Se stai pensando di eseguire l'inferenza in locale, prima o poi ti imbatterai in questo piccolo gioiello. È una macchina progettata per far girare l'AI in locale, pensata per essere compatta, elegante, silenziosa e relativamente economica (pagina NVIDIA DGX Spark).

Quando ho sentito parlare per la prima volta del DGX Spark, non mi ha convinto. Nonostante i suoi 128 GB di memoria, la banda passante di 273 GB/s mi sembrava troppo bassa. Per fare un paragone, una RTX 5090 offre circa 6,5 volte la banda (1.792 GB/s), pur avendo solo 32 GB di VRAM.

EXO Labs - inline image

Al lancio dello Spark, pratiche di ingegneria dell'inferenza come il decoding speculativo non erano ancora così diffuse e la maggior parte dei modelli più piccoli non era altrettanto capace.

Man mano che il settore dell'AI avanza e cresce, l'intelligenza viene compressa in dimensioni sempre più ridotte, permettendo a queste scatolette di esprimere tutto il loro potenziale.

  1. L'ingegneria dell'inferenza è sempre più richiesta.
  2. Gli LLM stanno diventando più competenti nell'ingegneria dell'inferenza.
  3. Un'inferenza di alta qualità migliora il sistema.

Oggi il DGX Spark è in grado di far girare modelli estremamente intelligenti alla stessa velocità dei servizi cloud, comodamente da casa o dall'ufficio. Esiste un'infinità di software AI che può aiutarti a programmare, fare la dichiarazione dei redditi, studiare o semplicemente intrattenerti.

Per velocità intendo i token al secondo percepiti da un singolo utente. L'hardware cloud è molto più veloce, ma i provider lo condividono tra tantissimi utenti e lo ottimizzano per ridurre il costo per token, quindi a ciascuno ne spetta una fetta minore. A casa, invece, la macchina è tutta tua, e tutta la potenza va a te. Trovi maggiori dettagli nelle note avanzate.

Gli Spark sono fatti per essere collegati

I DGX Spark consumano pochissimo. Spesso si attestano intorno ai 95 W con un modello caricato e in esecuzione.

Per questo motivo non richiedono sistemi di raffreddamento complessi e sono decisamente più silenziosi rispetto alle GPU discrete. Puoi impilarne da 2 a 4 su un normale circuito elettrico americano senza alcun timore. Ed è proprio questo il punto, non l'efficienza pura: a parità di velocità della memoria, un B300 da data center fa circa il doppio del lavoro per joule (vedi le note avanzate). Lo Spark, invece, si attacca a una normalissima presa a muro.

Ogni Spark ha una scheda di rete ConnectX-7 con due porte QSFP, certificate a 200 Gb/s, ovvero 25 GB/s. Questo ti permette di collegare gli Spark tra loro per aumentare la memoria e la banda passante effettiva.

EXO Labs - inline image

Come si collegano i DGX Spark

Con il parallelismo tensoriale, ogni matrice dei pesi viene suddivisa tra gli Spark, e ciascuno legge solo la propria porzione dalla propria memoria, contemporaneamente agli altri. In questo modo la velocità di lettura si somma (test di scaling di NVIDIA):

  • 546 GB/s con due Spark
  • 819 GB/s con tre
  • 1.092 GB/s con quattro

Lo scaling è quasi lineare. Nei test di NVIDIA, la scrittura è diventata 2 volte più veloce con due Spark e 3,7 volte più veloce con quattro (tabella 3). Funziona così bene perché il collegamento ConnectX-7 ha una latenza bassissima e CUDA può spostare i dati tra gli Spark direttamente dal codice della GPU (scopri perché).

Anche la memoria si somma allo stesso modo: 128 GB ciascuno, 512 GB per quattro, con circa 120 GB per Spark effettivamente utilizzabili per i carichi di lavoro AI.

La possibilità di combinare più Spark risolve il suo limite principale, ovvero la banda di memoria inferiore. Il basso consumo su una normale presa elettrica lo rende perfetto per un singolo utente o per una piccola famiglia.

EXO Labs - inline image

DGX Spark collegati nella vita reale

Dense vs MoE

Attualmente esistono due architetture principali per i modelli: sparse e dense. I modelli Mixture-of-Experts come Qwen3.6-35B attivano solo 3 miliardi di parametri per ogni token generato, 9 volte in meno rispetto a Qwen3.8-27B.

Questo rende gli LLM sparsi particolarmente adatti al DGX Spark. Si sposano perfettamente con la sua banda di memoria più contenuta, offrendo agli utenti un'esperienza rapida nonostante le dimensioni totali del modello.

Il MoE non è vantaggioso solo per il DGX Spark. È un'architettura migliore anche nei data center. Ciò che è cambiato per l'uso locale è una soglia: ci aspettiamo una certa velocità, e i modelli dense abbastanza intelligenti erano troppo grandi per girare così velocemente a casa. I modelli MoE hanno superato quella soglia, diventando così utili e veloci anche sull'hardware domestico. Prima o poi, probabilmente, ci arriveranno anche i modelli dense.

EXO Labs - inline image

LLM Dense vs MoE

Decoding speculativo

Qualsiasi LLM con MTP, DSpark o DFlash sarà più indicato, poiché i modelli draft sono generalmente minuscoli e non richiedono molta potenza di calcolo per generare un token corretto.

Migliora notevolmente il throughput che gli Spark riescono a raggiungere, al costo di 1 o 2 GB di memoria, che sullo Spark abbondano.

Come il MoE, il decoding speculativo aiuta ovunque, non solo a casa. Ma è la loro combinazione ad aver fatto superare la soglia all'AI locale. Fino a poco tempo fa, i migliori modelli open source giravano in modo esasperantemente lento sull'hardware domestico.

EXO Labs - inline image

Come il decoding speculativo migliora il throughput

Tanti agenti contemporaneamente

Un singolo Spark può gestire otto o più richieste insieme, ciascuna alla velocità di una normale conversazione. Ad esempio, Qwen3.6-35B, capace di programmazione di base, uso del computer e del browser, editing video e immagini e assistenza generale, può supportare fino a 8 sessioni simultanee, ognuna a circa 40 tok/s.

Per fare un confronto, con l'abbonamento ChatGPT Pro, GPT-6-Astra gira a una velocità media di 37 tok/s.

EXO Labs - inline image

Velocità medie di Astra

Questo è possibile perché lo Spark ha una grande potenza di calcolo rispetto alla velocità della sua memoria. Servire otto persone significa comunque leggere il modello una volta per passaggio, ma eseguendo otto volte i calcoli, e allo Spark la potenza di calcolo non manca. A 16 bit, offre circa 100 TFLOPS per 273 GB/s, ovvero circa 370 operazioni per ogni byte di memoria letto. Un M3 Ultra ha circa 26 TFLOPS per 819 GB/s, ovvero circa 32 (dati di EXO). Significa circa 11 volte più potenza di calcolo per byte, senza nemmeno contare l'hardware a 4 bit dello Spark, che i Mac non possiedono.

Lavoro vero

Qwen3.6-35B su un singolo Spark ha creato un video che ha superato le 80.000 visualizzazioni in un giorno. Ci ha messo appena 3 minuti: ha preso una cartella con 3 video, li ha uniti e ha accelerato il risultato di 4 volte, mantenendo il frame rate sotto il limite di X.

https://x.com/0xSero/status/2072206209323802746

Costi

Il DGX Spark era inizialmente listato a 3.999 $, prezzo poi salito a 4.699 $. Nel 2026 i prezzi sono aumentati su tutto l'hardware.

Il prezzo reale è ancora più alto. Lo store ufficiale di NVIDIA è esaurito. Il più economico che riesco a trovare costa circa 5.000 $, quelli usati viaggiano sui 6.000 $ e il 21 settembre ho visto il sito di NVIDIA chiedere 7.999 $ per la stessa identica macchina che cinque settimane prima avevo pagato 4.699 $.

EXO Labs - inline image

Prezzi del GX10

Il marketplace di NVIDIA il 21 settembre. Post

EXO Labs - inline image

4000$ - 4700%

Consigli per l'acquisto

  • Qualsiasi macchina basata su GB10 va bene. ASUS, Dell, MSI e altri vendono le proprie versioni dello stesso chip. Eseguono lo stesso software e le stesse configurazioni. Controlla la dimensione dell'SSD: 1 TB si riempie in fretta se tieni qualche modello pesante. Io punterei sui 4 TB.
  • Compra il cavo insieme al secondo Spark, ti servirà per collegarli.
  • Alcuni OEM offrono Spark con un flusso d'aria migliore

Consumi, rumore e bolletta della luce

Il rumore e il calore generati dalle GPU discrete non sono da sottovalutare: con 4x 3090 potresti facilmente consumare 1600-2000 W per avere 1/5 della memoria. Ho dovuto spostare il mio tower con RTX Pro 6000 fuori dallo studio perché trasformava regolarmente la stanza in un forno a 35 °C.

Un normale circuito domestico statunitense può reggere in sicurezza circa 1.440 watt tutto il giorno (codice elettrico USA). Qualsiasi cosa oltre richiede un nuovo circuito, e quindi l'intervento di un elettricista.

  • Uno Spark che esegue un modello consuma circa 90-200 watt (ServeTheHome). Sono circa 12 $ al mese se lo lasci acceso 24 ore su 24.
  • Quattro Spark consumano insieme circa 500 watt, più uno switch da circa 240 W. Circa 66-100 $ al mese, e stanno tutti su una singola presa.
  • Il mio rig con quattro GPU arriva a un picco di 1.600 watt. Più di quanto un singolo circuito possa sopportare, e circa 300 $ al mese.
EXO Labs - inline image

Da dove arrivano questi numeri. Ogni valore rappresenta un tipo di misurazione diverso, quindi eccoli affiancati. Il costo mensile presuppone che la macchina funzioni a quel regime 24 ore al giorno, con un costo di 18 centesimi per kWh:

EXO Labs - inline image

I miei test

Perché quattro Spark consumano più di quattro volte 90 W. Il dato di 90 W si riferisce a un singolo Spark che gestisce un modello da solo. Quando un modello grande viene diviso su quattro macchine, ogni Spark lavora su ogni singola parola e tiene occupato il collegamento di rete, quindi ciascuno consuma di più: in media circa 125 W nelle mie misurazioni. Perciò 12 $ e 66 $ al mese rappresentano il costo di un funzionamento a pieno regime h24. L'uso reale, con i tempi di inattività, costa meno.

E l'elettricità non diventa certo più economica. Negli Stati Uniti i prezzi domestici sono aumentati di circa il 5% quest'anno, arrivando a circa 18 centesimi per kWh, in parte a causa di tutti i nuovi data center. Ad agosto, la mia bolletta personale è raddoppiata a 1.000 $ al mese, con il rig GPU, due Spark e quattro condizionatori tutti accesi.

EXO Labs - inline image

Rumorosità del DGX Spark

E il rumore? Il mio rig GPU sembra un motore a reazione. Questo è il massimo che raggiungono i miei quattro Spark:

Alcune note pratiche:

  • Usali con qualsiasi tipo di modello AI, world model, generazione di immagini, ecc.
  • Appoggiali su un fianco. I miei restano più freschi così, lasciando spazio attorno alla griglia.
  • Unisciti alle community Discord/Reddit/X per farti aiutare nel debugging
  • Configura Tailscale su tutte le tue macchine
EXO Labs - inline image

I sei modelli che uso davvero

Ne ho provati a decine. Questi sono i sei a cui torno sempre.

EXO Labs - inline image

Un token corrisponde più o meno a tre quarti di parola, e qualsiasi valore sopra i 30 dà la sensazione di una conversazione normale.

Perché ogni numero indica un task specifico. La maggior parte di queste configurazioni usa il decoding speculativo, in cui un piccolo modello di supporto "tira a indovinare" in anticipo. Codice e JSON sono facili da prevedere, il testo discorsivo no, quindi lo stesso modello sulla stessa macchina può andare al doppio della velocità in un caso rispetto all'altro. Anche i prompt più lunghi rallentano il processo. Ecco perché ogni velocità riportata qui specifica cosa veniva generato e quanto era lungo il prompt:

Un modo rigoroso per misurare tutto questo su molti task è SPEED-Bench di NVIDIA, che testa il decoding speculativo su prompt reali appartenenti a 11 categorie, con input da 1K a 32K token. Non l'ho ancora eseguito sugli Spark.

EXO Labs - inline image

Qwen3.8-Flash-Next su due Spark mentre crea animazioni e un piccolo gioco. (21 settembre) Post

Dove trovarli. Ogni modello ha una pagina ufficiale, e la sezione 6 contiene una configurazione Spark testata per ciascuno:

Come fanno i modelli enormi a starci

La risposta è la quantizzazione. La quantizzazione comprime i pesi di un modello, ed è un processo lossy: ogni peso viene memorizzato usando meno bit (diciamo 4 invece di 16), quindi il modello si riduce a un quarto delle dimensioni, ma si perde qualche dettaglio. L'obiettivo è avvicinarsi il più possibile al comportamento del modello originale comprimendo i pesi.

Più comprimi, peggiore sarà la qualità. Turboderp lo ha misurato per Qwen3.8-27B. Ogni punto rappresenta una versione compressa. Più vai a sinistra, più è piccolo; più vai in basso, più è simile all'originale:

EXO Labs - inline image

Divergenza KL media rispetto alle dimensioni su disco per le versioni compresse di Qwen3.6-35B-A3B, da diversi fornitori. Scala logaritmica. Grafico: https://huggingface.co/turboderp/Qwen3.8-27B-exl3

Due formati contano davvero sullo Spark:

  • NVFP4 è il formato a 4 bit di NVIDIA, e il chip dello Spark lo legge nativamente. Qwen3.6-35B passa da 72 GB a 24 GB e sta comodamente su un singolo Spark con spazio da vendere.
  • EXL3 ti permette di scegliere esattamente quanti bit usare. GLM-5.3-Flash a 4 bit occupa 176 GB e sta su due Spark. A 2 bit scende a 85 GB e sta su uno solo, anche se perde un po' di precisione.
EXO Labs - inline image

Consiglio:

4 bit è il compromesso ideale per i modelli più piccoli, 3 bit per quelli più grandi

Come capire se un modello compresso è ancora valido. Le schede modello ben fatte indicano quanto la versione ridotta si avvicina all'originale. Due valori da cercare:

  • Top-1 agreement: la frequenza con cui il modello ridotto sceglie la stessa parola successiva dell'originale. Più è alto, meglio è. Il mio GLM-5.3-Flash per un singolo Spark concorda circa l'80% delle volte.
  • Divergenza KL: quanto le sue previsioni si allontanano dall'originale. Più è bassa, meglio è. Il mio GLM-5.3 non pruned a 3 bit segna 0,089. La versione pruned da 197 GB segna 0,511. È il prezzo da pagare per farlo stare su meno Spark.

6. Da uno a quattro Spark: il percorso passo dopo passo

Questa è la parte su cui ricevo più domande. Procedi un passo alla volta. Ogni fase funziona in modo indipendente, quindi fermati quando sei soddisfatto.

EXO Labs - inline image

La maggior parte delle configurazioni qui sotto arriva da MiaAI Lab, che impacchetta i migliori setup per Spark in repository clonabili e avviabili con un solo script. Alcune sono mie. Ognuna specifica su cosa è stata testata e a quale velocità girava.

Fai queste operazioni una volta sola, su ogni Spark:

  1. Aggiornalo. Esegui gli aggiornamenti dal DGX Dashboard, poi riavvia.
  2. Raggiungilo dal tuo portatile. Usa NVIDIA Sync o un semplice SSH. Per accedervi da fuori casa, NVIDIA mette a disposizione un playbook per Tailscale.
  3. Crea un account e un token Hugging Face. Quasi tutte le configurazioni scaricano i modelli tramite esso. Inseriscilo in un file .env, mai direttamente nel repo.
  4. Controlla il disco. I modelli sono pesanti. Una configurazione per un singolo Spark richiede dai 25 ai 130 GB liberi. Quella per DeepSeek su quattro Spark richiede circa 476 GB sul primo Spark.
  5. Docker è già installato. DGX OS lo include di serie e quasi tutte le configurazioni girano al suo interno, così non devi installare pacchetti Python a mano.

Passo 1: un singolo Spark

Inizia con LM Studio. Segui la guida passo passo di NVIDIA, scarica Qwen3.6-35B e inizia a chattare. Ci vorrà circa un'ora. Questo ti conferma che la macchina funziona prima di mettere mano a cose più complesse.

Poi passa a una configurazione dedicata. Queste usano vLLM o SGLang, che sono più veloci di LM Studio e possono servire molti agenti contemporaneamente. Scegline una:

  1. Qwen3.6-35B (4-bit NVFP4) MiaAI Lab 95 tok/s per un utente, 317 totali per otto ~50 GB
  2. Qwen3.8-27B (4-bit NVFP4) MiaAI Lab ~51 tok/s sul codice con l'helper DSpark, ~23 in chat ~24 GB
  3. Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab 48,7 tok/s per un utente, 162,9 totali per otto ~130 GB
  4. GLM-5.3-Flash (2-bit EXL3) la mia, oppure la versione per singolo Spark della config di Mia da 10 a 25 tok/s, contesto da 262K, visione ~85 GB

La prima è la più semplice. Bastano tre righe:

bash
1git clone <https://github.com/MiaAI-Lab/Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark.git>
2cd Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark
3./start.sh

Una volta avviato, avrai un indirizzo in stile OpenAI sullo Spark. Puntaci Pi, opencode, Open WebUI o qualsiasi altro strumento tu stia usando.

Consiglio:

se un modello non parte, il problema è quasi sempre la memoria. Chiudi prima gli altri modelli. Uno Spark esegue un solo modello pesante alla volta.

Passo 2: due Spark

È il setup che consiglio più spesso. Come ho scritto ad agosto: "2 DGX Spark e sei a posto."

EXO Labs - inline image

2 dgx spark

Il cavo. Ti serve un cavo QSFP corto per collegare le due porte QSFP. Uno qualsiasi di questi andrà bene (guida ai cavi):

  • L'originale NVIDIA: Cavo QSFP 0,4 m per DGX Spark, 99,99 $. Spesso esaurito.
  • Quelli citati nella documentazione NVIDIA: Amphenol NJAAKK-N911 o Luxshare LMTQF022-SD-R, 0,5 m, da circa 159 $ a 187 $.
  • Un'alternativa 200G più economica: NVIDIA MCP1650-V00AE30, circa 84 $.

Il collegamento funzionerà a 200 Gb/s indipendentemente da quale scegli. Non usare USB-C o la porta 10 GbE per questo scopo. Sono decisamente troppo lente.

Configura il collegamento. Segui il playbook di NVIDIA per collegare due Spark. Assegnerà un indirizzo a ciascuna porta e verificherà la velocità. Poi configura l'accesso SSH senza password dal primo Spark (il "head") al secondo (il "worker"). Tutte le configurazioni a due Spark lo richiedono.

Ti consiglio di chiedere a Claude o GPT di configurarlo per te, è molto più semplice.

Scegli una configurazione:

  1. Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab 52,1 tok/s per un utente con MTP, fino a 1M di contesto
  2. GLM-5.3-Flash (4-bit EXL3) MiaAI Lab 62,9 tok/s per un utente, 146,5 totali per quattro, contesto da 850K
  3. DeepSeek-V4.1-Flash (2,9-bit EXL3) MiaAI Lab da 38,8 a 43,0 tok/s sul codice, contesto da 600K
  4. GLM-5.3 (3-bit EXL3, pruned a 197 GB) entra nello spazio disponibile, come indicato nella mia scheda modello; velocità non ancora misurata

Quasi tutte le configurazioni a due Spark funzionano allo stesso modo: copia le impostazioni di esempio, inserisci gli indirizzi di entrambi gli Spark, scarica e avvia. Ecco quella per GLM-5.3-Flash:

bash
1cp .env.example .env # imposta HEAD_IP e WORKER_IP
2./download.sh
3./start.sh

Attenzione:

collegare gli Spark funziona, ma è l'ambito in cui il software è meno rifinito. Segui una configurazione già testata e mettiti in conto un intero pomeriggio la prima volta.

Passo 3: tre Spark

Tre Spark non richiedono alcuno switch. Ogni Spark ha due porte QSFP, quindi puoi collegarli a triangolo: A a B, B a C, C ad A. Servono tre cavi. NVIDIA supporta questa topologia come anello senza switch.

Tre Spark ti danno circa 384 GB. Abbastanza per far girare ciò che due non riescono a contenere:

  • DeepSeek-V4.1-Flash alla sua precisione nativa. La configurazione di MiaAI Lab lo esegue su un triangolo a tre Spark a 51,0 tok/s per un utente, con 256K di contesto. Include un comando doctor che verifica SSH, Docker e i collegamenti di rete prima dell'avvio.
  • GLM-5.3-Flash con più margine. La configurazione EXL3 a due Spark include uno script start-tp3.sh per tre macchine.
  • GLM-5.3, non pruned. La mia build da 293 GB richiede circa la memoria di tre Spark.

La configurazione per DeepSeek è un ottimo esempio di come funzionano quelle più grandi. Richiede alcuni passaggi, non uno solo:

bash
1./start.sh doctor # controlla ssh, docker, collegamenti e disco
2./start.sh share # condivide la cartella del modello con gli altri Spark
3./start.sh serve # avvia prima i worker, poi il nodo head

Consiglio:

alcuni modelli si dividono in modo uniforme solo per 2 o 4. Verifica che la configurazione riporti "3x" prima di comprare il terzo Spark.

Passo 4: quattro Spark

Quattro Spark ti offrono circa 512 GB. Ci sono due modi per collegarli.

Opzione A: con uno switch (quello che uso io). Ogni Spark viene collegato con un cavo a uno switch 200 GbE, così ognuno dista un solo hop dagli altri. NVIDIA ha un playbook dedicato. Gli switch più utilizzati sono:

Come ho detto a settembre: "Non credo ci sia un affare migliore sul mercato di 4 Spark con uno switch MikroTik."

EXO Labs - inline image

Opzione B: senza switch. Collega i quattro dispositivi ad anello, cablando ogni Spark ai suoi due vicini. Gli Spark non adiacenti comunicano passando attraverso quello intermedio. Risparmi il costo dello switch, ma la configurazione è più complessa:

  • SparkRing è uno stack software completo per configurazioni a coppia senza switch e anelli a quattro Spark. È un software in versione alpha, quindi fissa una versione specifica.
  • Questa recipe per GLM-5.3-Flash gira su un anello a quattro Spark con quattro cavi 100G corti e una versione patchata di NCCL. Circa 45 tok/s in media, fino a circa 100 a regime.

Scegli una recipe:

I miei risultati migliori su quattro unità sono 118 tok/s per GLM-5.3-Flash con un helper DFlash2, e da 83,8 a 95,3 tok/s per DeepSeek-V4.1-Flash su prompt brevi (post).

EXO Labs - inline image

Strumenti utili in ogni fase

  • \\sparkDash:\\ una dashboard web per tutti i tuoi Spark in un'unica finestra. GPU, memoria, rete e token al secondo in tempo reale. Diverse velocità citate in questa guida sono state misurate proprio con questo strumento.
  • \\I playbook Spark di NVIDIA:\\ guide ufficiali per LM Studio, Ollama, vLLM, il collegamento degli Spark e molto altro.
  • \\local-ai-registry:\\ le mie recipe e tutti i test di velocità che ho eseguito.
  • \\b12x:\\ la matematica veloce alla base di molte recipe per Spark. Non lo installi tu: ci pensano le recipe. Vedi le note avanzate più sotto.
EXO Labs - inline image

Conclusioni

Lo Spark è una scatola di memoria. Ospita modelli enormi, li fa girare silenziosamente con la normale corrente di casa e migliora ogni volta che ne aggiungi un altro.

Se parti oggi:

  1. Comprane uno e fai girare Qwen3.6-35B da LM Studio fin dal primo giorno.
  2. Passa a una recipe quando cerchi più velocità o vuoi usare molti agenti.
  3. Compra il secondo Spark e il cavo quando ti servono GLM-5.3-Flash o DeepSeek-V4.1-Flash. Per la maggior parte delle persone, qui ci si può fermare.
  4. Passa a tre o quattro solo se vuoi i modelli più grandi o farne girare diversi contemporaneamente.

Li ricomprerei? Sì. E se dovessi ricominciare da zero, ne comprerei due fin dal primo giorno.

Avanzato: come scala il collegamento degli Spark

Non ti serve sapere tutto questo per usare uno Spark. È roba per chi vuole capire perché i numeri sono quelli che sono.

Quasi lineare, nella generazione

Ogni parola che il modello genera richiede la lettura dei pesi attivi dalla memoria. Dividi il modello tra più Spark e ognuno leggerà la sua parte contemporaneamente, così le velocità di lettura si sommano.

NVIDIA lo ha misurato. Passando da uno a due e poi a quattro Spark, il tempo per generare ogni parola è sceso da 269 ms a 133 ms fino a 72 ms. Significa 2,0x con due e 3,7x con quattro (blog di NVIDIA, tabella 3).

EXO Labs - inline image

Ci si avvicina così tanto perché il collegamento ConnectX-7 ha una latenza bassissima e gli scambi tra gli Spark possono avvenire direttamente all'interno del codice della GPU. Questa spiegazione per Mac approfondisce lo stesso concetto nel dettaglio.

Dopo ogni layer, gli Spark si scambiano i risultati parziali prima che possa iniziare il layer successivo. Lo scambio è piccolo, ma avviene per ogni layer e per ogni parola. Ognuno costa un po' di tempo, un costo fisso che non si riduce aggiungendo altri Spark.

  • Il collegamento è a 200 Gb/s, circa 25 GB/s. Un decimo della velocità di memoria dello Spark stesso. Va benissimo perché gli scambi sono minimi.
  • Usa RDMA. I dati passano direttamente dalla memoria di uno Spark a quella dell'altro, senza che la CPU debba copiarli. Ogni porta QSFP appare come due metà da 100 Gb/s, e il software deve usarle entrambe per ottenere i 200 completi (dettagli). Se ne occupa NCCL, la libreria di NVIDIA per questo scopo.
  • La lettura scala meno bene della scrittura. Nello stesso test NVIDIA, leggere un prompt da 32K token è diventato 1,6x più veloce con due Spark e 2,1x con quattro. La lettura sposta molti più dati tra gli Spark a ogni passaggio.
  • Gli anelli aggiungono hop. In un triangolo a tre Spark, ogni unità è collegata via cavo alle altre due. In un anello a quattro Spark, alcune coppie comunicano passando per un vicino. Uno switch mette tutti a un solo hop di distanza. SparkRing scrive il proprio codice di scambio (SIRCL) per rendere gli anelli più veloci.
  • I modelli mixture-of-experts aggiungono una seconda divisione. Le recipe spesso combinano il tensor parallel con l'"expert parallel", dove Spark diversi ospitano expert diversi.

Gli altri due modi per andare più veloci

  • Tanti utenti contemporaneamente. Lo Spark legge il modello una volta per passaggio e risponde a tutti partendo da quell'unica lettura. Così la velocità totale cresce molto più rapidamente di quella per singolo utente.
  • Un modello di speculative decoding che anticipa le risposte. MTP, DSpark e DFlash2 fanno tutti così. Un piccolo helper veloce bozza diverse parole e il modello grande le verifica tutte in un'unica lettura. Quando le ipotesi sono giuste, ottieni più parole al prezzo di una. È così che GLM-5.3-Flash passa da 27 tok/s sul testo libero a 65 sugli output strutturati nella stessa recipe.
EXO Labs - inline image

Qwen3.6-35B-A3B a 4 bit su un singolo Spark, con helper di accelerazione attivo. Fonte: test di velocità local-ai-registry, agosto 2026.

Cloud AI e Local AI sono due mondi diversi

Una GPU in cloud è molto più veloce di uno Spark. Ma i provider cloud condividono ogni GPU tra tantissimi utenti, scegliendo un punto di equilibrio nel compromesso tra costo per token e velocità per utente. Quasi tutti scelgono il costo, così ogni utente riceve meno token al secondo di quanti l'hardware potrebbe garantirne a una singola persona. InferenceX mappa questo compromesso per Qwen3.8-Flash-Next.

A casa, quel compromesso non esiste. La macchina è tua, quindi puoi dedicarne tutta la potenza a una sola persona. Ecco perché uno Spark può sembrare veloce quanto un servizio cloud, anche se l'hardware in sé non lo è.

sm_121: perché il software per Spark è un mondo a sé

Ogni GPU NVIDIA ha un numero di "compute capability" che indica al software quali istruzioni supporta. La GPU dello Spark è 12.1, ovvero sm_121 (la prima occhiata di Simon Willison). RTX 5090 e RTX PRO 6000 sono sm_120, un parente stretto. I chip data center di NVIDIA, B200 e B300, sono sm_100 e sm_103, una famiglia diversa.

Questo conta perché il codice AI più veloce viene scritto per una famiglia alla volta. Al lancio dello Spark, gran parte del software o non girava affatto o andava a rilento (forum NVIDIA, issue vLLM).

La soluzione è arrivata da chi ha scritto codice specifico per Spark:

  • b12x di Local Inference Lab è una libreria di kernel per sm_120 e sm_121: DGX Spark, RTX Spark, RTX 5090 e RTX PRO 6000. Copre la matematica matriciale a 4 bit (NVFP4, MXFP4), l'attenzione per i modelli in stile DeepSeek, i layer mixture-of-experts e un loader rapido per i modelli. Si installa con pip install b12x, e le recipe vLLM lo attivano con flag come flashinfer_b12x. La recipe per Qwen3.6-35B lo utilizza.
  • SparkInfer è il vecchio nome di b12x. Il vecchio link ora reindirizza a b12x. La mia recipe DeepSeek per un singolo Spark usa il suo codice di attenzione sia in lettura che in scrittura. Da non confondere con sparkinfer di gittensor, un runtime separato per schede RTX (solo sm_120).
  • ExLlamaV3 è ciò che fa girare i modelli EXL3. MiaAI Lab mantiene un fork con il porting Arm (GB10) e il supporto ai modelli helper.
  • lil è il launcher di Local Inference Lab. Legge la configurazione della macchina e costruisce il comando vLLM corretto per un singolo Spark o per un gruppo collegato.

Avanzato: lo Spark come macchina da ricerca

Questa è la parte che non mi aspettavo. Lo Spark è lento in scrittura, ma eccellente in lettura. E quasi tutto il lavoro di ricerca sui modelli consiste nel leggere.

Il punto forte dello Spark: il prefill

Un modello svolge due compiti diversi:

  • Prefill è la lettura del tuo prompt. L'intero prompt viene elaborato in un colpo solo, quindi il limite è la pura potenza di calcolo. Il GB10 ne ha da vendere: fino a 1 petaflop di calcoli a 4 bit.
  • Decode è la scrittura della risposta, una parola alla volta. Ogni parola significa rileggere il modello dalla memoria, quindi il limite è la velocità della memoria. Ed è il tallone d'Achille dello Spark.

Di conseguenza, uno Spark legge i prompt da 13 a 41 volte più velocemente di quanto li scriva:

EXO Labs - inline image

DeepSeek-V4.1-Flash su quattro Spark: 3.360 tok/s leggendo un prompt da 32K token, 3.273 a 131K, mentre la scrittura resta tra 70 e 95. (20 settembre) Post

Perché è esattamente ciò che serve alla ricerca

Quasi tutto quello che faccio per rimpicciolire i modelli è lettura, non scrittura:

  • Quantizzazione (meno bit). Le build EXL3 e NVFP4 si creano facendo passare del testo di esempio attraverso il modello e misurando quanto perde ogni layer a ciascuna larghezza di bit. Questa è lettura.
  • Pruning (meno expert). REAP fa passare del testo di esempio in un modello mixture-of-experts e registra quanto viene utilizzato ciascun expert. Quelli meno utili vengono tagliati. Il mio GLM-5.3 da 197 GB conserva 168 expert su 256. Anche questa è lettura.
  • Controllo della qualità. L'accordo top-1 e la divergenza KL derivano dalla lettura dello stesso testo attraverso il modello originale e quello ridotto, confrontando poi le loro previsioni. Di nuovo lettura.
  • Test su contesti lunghi. Verificare che un modello riesca a trovare un singolo fatto in 262.000 token è, essenzialmente, un'unica lunghissima lettura.

Il mio flusso di lavoro è cambiato esattamente per questo motivo. "Ora faccio tutto il pruning/exl3/benchmarking sui DGX Spark, tengo le 6000 per l'inferenza. È più lento, ma 2-3 giorni contro 12 ore va benissimo." Il DeepSeek per singolo Spark che ha superato i 100.000 download è un modello sottoposto a pruning con REAP e compresso in EXL3.

Come si collega agli obiettivi di ricerca

Se il tuo obiettivo è scoprire qualcosa su un modello, lo Spark calza a pennello:

  • Contiene il modello grande. Puoi misurare un modello da 300B su una o due macchine invece di noleggiare un cluster.
  • Gira per giorni con la corrente di casa. Calibrazioni e valutazioni lunghe possono procedere senza supervisione e senza bollette salate.
  • Libera il tuo hardware veloce. Le mie GPU servono i modelli mentre gli Spark fanno il lavoro lento e meticoloso.
  • Puoi calibrare sui tuoi dati. Ho fatto pruning di modelli usando le mie sessioni con gli agenti e i miei testi: roba privata che resta sulla mia scrivania.
  • È un ottimo host per gli agenti di ricerca. Ho avuto quattro agenti al lavoro su obiettivi di ricerca contemporaneamente sugli Spark, ciascuno a circa 120 tok/s.
  • Il training scala bene tra gli Spark. Nel test NVIDIA, il fine-tuning è andato 2x più veloce su due Spark e 4x più veloce su quattro, perché gli Spark si sincronizzano solo una volta per passaggio (tabella 5). I playbook di NVIDIA coprono il fine-tuning con PyTorch. Personalmente non ho ancora cronometrato il training.

Avanzato: GB10, GB300 e lo Spark come memoria extra

"GB" sta per Grace Blackwell: una CPU Arm e una GPU Blackwell in un unico package, che condividono la memoria tramite un collegamento veloce chiamato NVLink-C2C. Il GB10 nello Spark è la versione più piccola di questo concetto, con una CPU Arm a 20 core sviluppata insieme a MediaTek.

Il GB300 è la versione data center: una CPU Grace con GPU Blackwell Ultra (B300). Trova posto nei rack GB300 NVL72 di NVIDIA, e un singolo GB300 alimenta la DGX Station. Il GB10 non è un pezzo ritagliato da un GB300. È lo stesso progetto, rimpicciolito, ed è per questo che lo stesso software gira su entrambi.

EXO Labs - inline image

Conclusioni

Il DGX Spark si è ritagliato il suo spazio a casa mia e cresce ogni giorno in termini di supporto, utilità e capacità.

Fonti e approfondimenti

Salva con un clic

Leggi in profondità gli articoli virali con l’AI di YouMind

Salva la fonte, fai domande mirate, riassumi l’argomentazione e trasforma un articolo virale in note riutilizzabili in un unico spazio di lavoro AI.

Scopri YouMind
Per i creator

Trasforma il tuo Markdown in un articolo 𝕏 pulito

Quando pubblichi i tuoi testi lunghi, formattare immagini, tabelle e blocchi di codice per 𝕏 è una seccatura. YouMind trasforma un'intera bozza Markdown in un articolo 𝕏 pulito e pronto da pubblicare.

Prova Markdown verso 𝕏

Altri pattern da decodificare

Articoli virali recenti

Esplora altri articoli virali