Exo: trasformare diverse macchine in un cluster LLM maison
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.
#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.
#Memoria cumulata: il contributo reale
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.
#Matrice delle piattaforme realmente supportate
| Piattaforma | Accelerazione | Stato |
|---|---|---|
| macOS (Apple Silicon) | GPU tramite MLX | Opzione principale, RDMA Thunderbolt 5 disponibile sui Mac recenti con macOS 26.2+ |
| Linux (x86/ARM) | Solo CPU | Il supporto GPU è in sviluppo secondo il README ufficiale |
| Windows | Nessuna menzione ufficiale | Non 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.
#Installare un cluster in pratica
- 01Preparare ogni macchina macOSInstallare Xcode (per la toolchain Metal), Homebrew, uv e Node, prerequisiti documentati per compilare e avviare Exo dai sorgenti su macOS.
- 02Clonare e avviare Exogit 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.
- 03Verificare il rilevamento automaticoI dispositivi sulla stessa rete si rilevano a vicenda senza configurazione; la dashboard accessibile su http://localhost:52415 deve elencare ogni nodo attivo del cluster.
- 04Attivare il RDMA se l'hardware lo permetteSu 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.
- 05Caricare un modello distribuitoDalla 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.
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
| Sintomo | Causa probabile | Correzione |
|---|---|---|
| Le porte RDMA non vengono rilevate tra due Mac | Versioni di macOS diverse tra le macchine, anche per quanto riguarda le versioni beta | Allineare rigorosamente la versione di macOS (anche beta) su ogni dispositivo del cluster |
| Un modello personalizzato non riesce a caricarsi da Hugging Face | trust_remote_code richiesto dal modello ma disattivato per impostazione predefinita | Attivare esplicitamente trust_remote_code per questo modello specifico, sapendo quale codice esegue |
| Velocità di generazione deludente nonostante l'aggiunta di più macchine | Assenza di RDMA: il cluster funziona su Wi-Fi o Ethernet tradizionale ed è più sensibile alla latenza | Verificare 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'inferenza | Il supporto GPU su Linux è ancora in fase di sviluppo; la macchina contribuisce usando soltanto la CPU | Considerare 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.
- LLM multi-GPU con llama.cpp: tensor-split 2× RTX 3090
- llama.cpp vs vLLM vs Exllama
- Mettere un LLM in produzione con Docker Compose
- Principi di sicurezza di un server di inferenza esposto
- Fonte: repository GitHub ufficiale di Exo
- Fonte: README ufficiale del repository Exo
Exo può combinare Mac e PC Windows nello stesso cluster?+
Exo utilizza la GPU su Linux?+
Serve il RDMA su Thunderbolt per usare Exo?+
Quanta memoria permette di aggregare un cluster Exo?+
I vantaggi di velocità annunciati da Exo (1,8x, 3,2x) sono garantiti sul mio hardware?+
Il dashboard e l'API di Exo sono protetti da password?+
Exo può caricare qualsiasi modello pubblicato su Hugging Face?+
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.