Avanzato 14 minCluster

Exo: trasformare diverse macchine in un cluster LLM maison

Risposta diretta

Exo collega più computer in un cluster per caricare un modello che supera la capacità di memoria di una singola macchina, con rilevamento automatico dei dispositivi sulla rete. Il vero vantaggio è la memoria complessiva: più Mac Studio da 512 GB caricano un modello che nessuno di essi potrebbe gestire da solo. Il vero costo è la rete: senza RDMA su Thunderbolt 5 (Mac recenti con macOS 26.2), la latenza incide sulla velocità e su Linux Exo attualmente usa solo la CPU.

Exo è un progetto open source mantenuto da exo labs che collega diverse macchine in un cluster di inferenza, per caricare modelli più grandi di quelli che un singolo dispositivo può gestire. Questa guida distingue ciò che è confermato dal repository ufficiale da ciò che è ancora soltanto annunciato: memoria complessiva effettivamente disponibile, aumento di velocità misurato su hardware Apple, costo della comunicazione di rete tra le macchine e matrice precisa delle piattaforme supportate, prima di investire in più dispositivi.

Di Mohamed Meguedmi·Agg. 2026-09-28·Testato su Windows, macOS e Linux

#Cosa fa concretamente Exo

Exo (repository exo-explore/exo, quasi 48.000 stelle su GitHub al 28 settembre 2026) viene presentato dai suoi creatori come uno strumento per «eseguire l'IA di punta in locale». I dispositivi che eseguono Exo si individuano automaticamente sulla rete, senza configurazione manuale, e mettono a disposizione una dashboard e un'API all'indirizzo http://localhost:52415 su ogni nodo.

Il progetto mette in evidenza un parallelismo tensoriale «topology-aware»: Exo valuta in tempo reale la topologia di rete (latenza, larghezza di banda tra ogni coppia di macchine) e le risorse di ogni dispositivo per decidere come distribuire un modello, anziché applicare una suddivisione fissa e identica indipendentemente dall'hardware disponibile.

i
Non è multi-GPU in una sola macchina
Exo punta esplicitamente a collegare in rete più computer distinti. Per distribuire un modello tra più GPU installate in un'unica macchina, lo strumento appropriato è il tensor-split di llama.cpp, non Exo.

#Memoria cumulata: il contributo reale

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

Il vantaggio più tangibile di un cluster Exo è la somma delle memorie disponibili. Una configurazione illustrata dal progetto stesso combina 4 Mac Studio M3 Ultra da 512 GB ciascuno per caricare contemporaneamente DeepSeek v3.1 a 8 bit e Kimi-K2-Thinking a 4 bit — modelli che nessuna di queste macchine potrebbe caricare da sola, nemmeno con 512 GB.

Sul piano del calcolo, Exo dichiara un guadagno grazie al parallelismo tensoriale: una velocità fino a 1,8 volte maggiore su 2 dispositivi e 3,2 volte maggiore su 4 dispositivi. Si tratta di fattori di accelerazione del calcolo distribuito, non di valori di throughput in token al secondo: il numero effettivo di token generati al secondo dipende sempre dal modello, dalla quantizzazione e, come vedremo più avanti, dalla rete tra le macchine.

#Il costo di rete: cosa cambia con il RDMA

Collegare macchine in rete introduce una latenza assente con una singola GPU. Exo affronta questo problema con il supporto RDMA (accesso diretto alla memoria remota) su Thunderbolt 5, annunciato fin dal rilascio di questa funzionalità, dichiarando una riduzione del 99% della latenza tra dispositivi rispetto a una connessione di rete tradizionale.

Questa capacità RDMA non è universale: si basa su una funzionalità aggiunta a macOS 26.2 e funziona solo su Mac dotati di Thunderbolt 5 — Mac mini M4 Pro, Mac Studio M4 Max o M3 Ultra, MacBook Pro M4 Max secondo l'elenco ufficiale. Il progetto impone inoltre che tutti i dispositivi del cluster RDMA siano interconnessi tra loro con cavi certificati TB5 e che la versione di macOS (comprese le beta) sia rigorosamente identica su ogni macchina; in caso contrario, le porte RDMA potrebbero non rilevarsi a vicenda.

!
Senza RDMA, la rete rimane il fattore limitante
Al di fuori della configurazione RDMA su Thunderbolt 5, un cluster Exo comunica tramite la rete standard (Wi-Fi o Ethernet), la cui latenza e larghezza di banda incidono direttamente sulla velocità di generazione, soprattutto per gli strati del modello che devono scambiare attivazioni tra macchine a ogni passaggio.

#Matrice delle piattaforme realmente supportate

Ciò che Exo supporta realmente per piattaforma, al 28 settembre 2026
PiattaformaAccelerazioneStato
macOS (Apple Silicon)GPU tramite MLXOpzione principale, RDMA Thunderbolt 5 disponibile sui Mac recenti con macOS 26.2+
Linux (x86/ARM)Solo CPUIl supporto GPU è in sviluppo secondo il README ufficiale
WindowsNessuna menzione ufficialeNon documentato nel repository al 28 settembre 2026

Questa tabella contraddice un'ipotesi diffusa: Exo non è uno strumento che permette di eseguire a piena velocità un cluster eterogeneo composto da Mac e PC. Il backend di inferenza MLX è specifico per Apple Silicon; su Linux, il README ufficiale indica chiaramente che Exo funziona attualmente su CPU, senza accelerazione GPU, con supporto GPU annunciato «in sviluppo» senza una data di rilascio specificata.

!
Non promettere un cluster misto performante
Un cluster composto esclusivamente da Mac Apple Silicon rimane la configurazione di riferimento documentata dal progetto. È possibile aggiungere una macchina Linux al cluster, ma questa contribuirà usando la CPU, non la GPU, con un impatto sulla velocità complessiva da misurare anziché presumere.

#Installare un cluster in pratica

  1. 01
    Preparare ogni macchina macOS
    Installare Xcode (per la toolchain Metal), Homebrew, uv e Node, prerequisiti documentati per compilare e avviare Exo dai sorgenti su macOS.
  2. 02
    Clonare e avviare Exo
    git clone du dépôt, construction du tableau de bord (npm install && npm run build), puis uv sync --extra mlx et uv run exo sur chaque machine.
  3. 03
    Verificare il rilevamento automatico
    I dispositivi sulla stessa rete si rilevano a vicenda senza configurazione; la dashboard accessibile su http://localhost:52415 deve elencare ogni nodo attivo del cluster.
  4. 04
    Attivare il RDMA se l'hardware lo permette
    Su Mac con Thunderbolt 5 e macOS 26.2+, eseguire rdma_ctl enable dalla modalità Recovery su ogni macchina, poi collegare tutti i dispositivi tra loro con cavi certificati TB5.
  5. 05
    Caricare un modello distribuito
    Dalla dashboard o dall'API, scegliere un modello le cui dimensioni superino la memoria di un singolo dispositivo per verificare concretamente che la distribuzione funzioni prima di puntare a modelli ancora più grandi.

#API compatibili e client esistenti

Exo espone diverse API compatibili: OpenAI Chat Completions, OpenAI Responses, Claude Messages e Ollama — un client già scritto per uno di questi formati può essere configurato per collegarsi al cluster Exo senza riscrivere il codice. È una scelta pragmatica che evita di dover adottare un protocollo proprietario per sfruttare il cluster.

Alcune variabili d'ambiente completano la configurazione per un uso avanzato: EXO_OFFLINE per funzionare senza connessione internet una volta che i modelli sono già nella cache, EXO_MODELS_READ_ONLY_DIRS per condividere uno spazio di archiviazione dei modelli in sola lettura tra macchine (utile per un mount NFS comune) ed EXO_LIBP2P_NAMESPACE per isolare più cluster Exo sulla stessa rete fisica.

#Modelli personalizzati da Hugging Face

Exo non si limita a un catalogo chiuso di modelli: il progetto supporta modelli personalizzati direttamente da Hugging Face Hub, oltre ai deployment di dimostrazione promossi dai suoi creatori (DeepSeek v3.1 con 671 miliardi di parametri, Qwen3-235B, Kimi-K2-Thinking). È questo che permette di testare un modello recente appena pubblicato sull'Hub, senza aspettare che venga aggiunto a una lista ufficialmente supportata.

Questa apertura ha una contropartita documentata: i modelli personalizzati che richiedono trust_remote_code nella loro configurazione devono essere abilitati esplicitamente, poiché questa impostazione resta disattivata per impostazione predefinita per motivi di sicurezza. Eseguire codice arbitrario fornito da un repository Hugging Face di terze parti su tutte le macchine del cluster non è quindi un comportamento predefinito, ma una scelta da compiere consapevolmente per i modelli che lo richiedono.

#Sicurezza: un cluster senza autenticazione documentata

Il README ufficiale e la documentazione della dashboard non menzionano alcun meccanismo di autenticazione, chiave API, token o crittografia TLS per l’API e la dashboard di Exo: nello stato documentato al 28 settembre 2026, chiunque possa raggiungere la porta 52415 di un nodo può interrogare l’API o consultare la dashboard, senza alcuna procedura di accesso.

!
Rete fidata, nessuna esposizione diretta
In assenza di un'autenticazione documentata, un cluster Exo deve restare su una rete locale fidata (domestica o interna), anziché essere esposto direttamente su internet o su una rete condivisa con terzi non identificati. Aggiungere un proprio reverse proxy con autenticazione è una precauzione a carico dell'utente, non una funzionalità fornita dal progetto.

Questo punto merita ancora più attenzione perché ogni macchina del cluster espone la propria API sulla rete locale: in una configurazione con più dispositivi, la superficie esposta è quella di ogni singolo nodo, non soltanto quella di un unico punto di ingresso che si potrebbe proteggere separatamente.

#Risoluzione dei problemi: sintomi, causa, soluzione

Simptomi comuni durante l'installazione di un cluster Exo
SintomoCausa probabileCorrezione
Le porte RDMA non vengono rilevate tra due MacVersioni di macOS diverse tra le macchine, anche per quanto riguarda le versioni betaAllineare rigorosamente la versione di macOS (anche beta) su ogni dispositivo del cluster
Un modello personalizzato non riesce a caricarsi da Hugging Facetrust_remote_code richiesto dal modello ma disattivato per impostazione predefinitaAttivare esplicitamente trust_remote_code per questo modello specifico, sapendo quale codice esegue
Velocità di generazione deludente nonostante l'aggiunta di più macchineAssenza di RDMA: il cluster funziona su Wi-Fi o Ethernet tradizionale ed è più sensibile alla latenzaVerificare i requisiti per RDMA (Thunderbolt 5, macOS 26.2+) oppure avvicinare le macchine collegandole a una rete cablata dedicata
Una macchina Linux del cluster non sembra accelerare l'inferenzaIl supporto GPU su Linux è ancora in fase di sviluppo; la macchina contribuisce usando soltanto la CPUConsiderare questa macchina solo per la memoria e il calcolo su CPU, non come acceleratore GPU

#Limiti e insidie da prevedere

Nessun supporto Windows documentato
Il repository ufficiale non menziona alcun supporto per Windows al 28 settembre 2026; i percorsi di installazione coprono solo macOS e Linux.
Linux limitato alla CPU
L'inferenza accelerata dalla GPU su Linux è in fase di sviluppo, senza una data annunciata; un cluster composto soltanto da macchine Linux sarà nettamente più lento di un cluster Apple Silicon equivalente.
RDMA con requisiti hardware stringenti
Thunderbolt 5, macOS 26.2 o successivo, versioni del sistema rigorosamente identiche su ogni macchina: basta che un solo dispositivo non soddisfi questi requisiti perché torni a usare una rete tradizionale, più lenta.
Velocità non garantita
I fattori di accelerazione (1,8x, 3,2x) misurano il contributo del parallelismo tensoriale al calcolo distribuito, non una velocità in token al secondo direttamente applicabile al tuo modello e alla tua rete.
Domande frequenti
Exo può combinare Mac e PC Windows nello stesso cluster?+
Il repository ufficiale non documenta alcun supporto per Windows. Solo macOS e Linux dispongono di procedure di installazione documentate; un cluster misto di Mac e PC Windows non è quindi una configurazione supportata a oggi, contrariamente a un'ipotesi talvolta diffusa sul progetto.
Exo utilizza la GPU su Linux?+
No, non ancora. Il README ufficiale indica esplicitamente che Exo attualmente gira su Linux usando solo la CPU, con il supporto GPU dichiarato in fase di sviluppo ma senza una data di rilascio specificata. Una macchina Linux aggiunta al cluster contribuisce quindi con memoria e capacità di calcolo della CPU, non con accelerazione GPU.
Serve il RDMA su Thunderbolt per usare Exo?+
No, Exo funziona su una rete standard, Wi-Fi o Ethernet. Il RDMA su Thunderbolt 5, riservato ad alcuni Mac recenti con macOS 26.2 o versioni successive, riduce notevolmente la latenza tra le macchine, ma non è un requisito per far funzionare un cluster, solo per ottenere il miglior throughput possibile.
Quanta memoria permette di aggregare un cluster Exo?+
Dipende solo dalle macchine aggiunte: il progetto illustra una configurazione con 4 Mac Studio M3 Ultra da 512 GB ciascuno per caricare modelli come DeepSeek v3.1 o Kimi-K2-Thinking, ma la memoria cumulata totale è semplicemente la somma della memoria di ogni dispositivo collegato al cluster.
I vantaggi di velocità annunciati da Exo (1,8x, 3,2x) sono garantiti sul mio hardware?+
No, si tratta di fattori misurati dal progetto sul proprio hardware di test per il parallelismo tensoriale, non di un throughput in token al secondo direttamente applicabile ad altri sistemi. Il throughput reale dipende dal modello, dalla quantizzazione, dal numero di macchine e soprattutto dalla qualità della connessione di rete tra di esse.
Il dashboard e l'API di Exo sono protetti da password?+
Nel README ufficiale non è documentata alcuna autenticazione, chiave API o cifratura TLS per l'API o la dashboard. Chiunque possa raggiungere la porta 52415 di un nodo può quindi interrogarlo senza effettuare l'accesso: un cluster Exo deve rimanere su una rete locale fidata anziché essere esposto direttamente su internet.
Exo può caricare qualsiasi modello pubblicato su Hugging Face?+
Exo supporta modelli personalizzati provenienti da Hugging Face Hub, oltre a quelli del suo elenco di demo. I modelli che richiedono trust_remote_code nella loro configurazione devono tuttavia essere attivati esplicitamente: questa impostazione rimane disattivata per impostazione predefinita per evitare di eseguire codice arbitrario senza conferma.

Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.