MLX su Mac Studio: un nuovo scenario per l’inferenza LLM

MLX, il framework di array open‑source ottimizzato per l’architettura di memoria unificata di Apple Silicon, consente a ricercatori e sviluppatori di sperimentare modelli di intelligenza artificiale all’avanguardia direttamente sul proprio desktop, mantenendo la privacy dei dati.

Nel post precedente il team di Apple Machine Learning Research aveva evidenziato i vantaggi dell’architettura M5 e dei suoi GPU Neural Accelerators. Qui, con la versione più recente di MLX (v0.30.1), è possibile far girare Muse Spark Open, un modello di quasi un trilione di parametri, su una singola macchina o su un cluster di quattro Mac Studio.

Su quattro unità, Muse Spark Open raggiunge più di 36 token al secondo, superando di gran lunga la velocità media di lettura umana.

Valutazione comparativa: M5 Ultra vs M3 Ultra

Abbiamo benchmarkato diversi LLM open‑weight su Mac Studio, usando il pacchetto mlx_lm. Le prove includono due generazioni di hardware: il recente M5 Ultra, dotato di GPU Neural Accelerator, e il predecessore M3 Ultra.

Le metriche raccolte sono:

    • Time to First Token (TTFT): tempo necessario per generare il primo token.
    • Throughput di generazione: token al secondo.
    • Consumo di potenza peak: watt assorbiti al massimo carico.

I modelli testati (Tabella 1) sono:

    • Muse Spark Open – 816 B (modello MoE, precisione NVFP4).
    • Mistral Medium 3.5 – 128 B (architettura dense, FP8).
    • Qwen 3.8 – 27 B (architettura dense, BF16).

Risultati di TTFT e throughput

Il TTFT è principalmente legato alla capacità di calcolo. Grazie al supporto hardware per moltiplicazioni matriciali, il GPU Neural Accelerator dell’M5 Ultra riduce il TTFT fino a 4,6× rispetto all’M3 Ultra (Fig. 2). Questo rende l’M5 Ultra la scelta migliore per contesti estremamente lunghi.

La velocità di generazione, invece, dipende dalla larghezza di banda della memoria. L’M5 Ultra offre 1,2 TB/s di banda unificata, rispetto agli 819 GB/s dell’M3 Ultra, con un miglioramento di 1,6× nel token/s (Fig. 3).

Dal punto di vista energetico, il consumo peak è di circa 200 W per l’M3 Ultra e 300 W per l’M5 Ultra, valori paragonabili al consumo di un tostapane domestico (Fig. 4). Tale efficienza consente di utilizzare il Mac Studio in ambienti domestici o ufficio senza particolari vincoli.

Limiti di memoria e necessità di parallelismo

Qwen 3.8 e Mistral Medium 3.5 si adattano senza problemi a un singolo Mac Studio con 512 GB di RAM, occupando rispettivamente 68 GB e 158 GB anche con contesto di 65 536 token.

Al contrario, Muse Spark Open richiederebbe più di 1,6 TB di RAM nella sua precisione nativa BF16. La quantizzazione a 4 bit (NVFP4) riduce il footprint a circa 493 GB, ma il modello rimane troppo grande per una sola macchina: è necessario distribuirlo su più node.

Parallelismo pipeline

Una soluzione semplice è la pipeline parallelization: la prima metà del modello viene eseguita su un Mac Studio, la seconda metà su un altro. I due sistemi comunicano tramite RDMA su Thunderbolt 5, usando due cavi per raddoppiare la larghezza di banda.

MLX fornisce il comando mlx.launch con l’opzione --backend jaccl per sfruttare il driver RDMA Thunderbolt. L’ambiente MLXMETALFAST_SYNCH=1 attiva una sincronizzazione CPU‑GPU più rapida, riducendo l’overhead di comunicazione.

Con questo schema, la velocità di decodifica rimane comparabile a quella di una singola macchina, poiché le layer sono ancora valutate sequenzialmente. Tuttavia, per contesti molto lunghi (65 536 token), la pipeline risulta addirittura più veloce nella fase di prefill, con un miglioramento fino a 1,8× (Fig. 6), grazie alla segmentazione dei contesti in blocchi da 8 192 token.

Parallelismo tensor

Il tensor parallelization suddivide la larghezza del modello tra più macchine, invece della profondità come nella pipeline. Ogni nodo possiede una frazione di ogni layer, consentendo il calcolo parallelo a livello di layer.

Questa tecnica offre potenzialmente maggiori guadagni di velocità, ma è più complessa da implementare: richiede broadcast degli input e aggregazione degli output per ogni token e per ogni layer, generando molte piccole comunicazioni. Per questo motivo, la latenza ultra‑bassa di Thunderbolt RDMA è cruciale per ottenere benefici concreti.

Implementazione pratica con MLX

Per avviare un lavoro distribuito su due Mac Studio, si può utilizzare il seguente comando:

mlx.launch --backend jaccl --nodes 2 --gpus-per-node 1 \

--env MLXMETALFAST_SYNCH=1 \

python -m mlxlm.run --model musespark_open \

--prefill-step-size 8192 --max-tokens 128 \

--context-size 65536

Il comando specifica il backend RDMA, il numero di nodi e abilita la sincronizzazione accelerata. Il flag --prefill-step-size 8192 indica a MLX di segmentare il contesto in blocchi da 8 192 token per massimizzare la sovrapposizione di calcolo e comunicazione.

Conclusioni e prospettive future

Grazie a MLX e alla nuova interfaccia RDMA su Thunderbolt 5, Mac Studio si conferma come una piattaforma desktop potente ed efficiente per l’inferenza di grandi modelli LLM. L’architettura M5 Ultra, con i suoi Neural Accelerators, riduce drasticamente il TTFT, mentre l’ampia banda di memoria unificata accelera la generazione di token.

Per modelli estremamente grandi, come Muse Spark Open, è ormai praticabile il deployment distribuito su pochi Mac Studio, senza ricorrere a data center costosi. Le due strategie di parallelismo – pipeline e tensor – offrono flessibilità a seconda delle esigenze di latenza, complessità di sviluppo e disponibilità di hardware.

In futuro, l’integrazione di ulteriori ottimizzazioni di quantizzazione, insieme a miglioramenti del driver RDMA, potrà consentire di gestire modelli ancora più imponenti mantenendo un consumo energetico contenuto, aprendo la strada a un’adozione più ampia dell’AI avanzata anche in ambienti domestici.