- Exo è un software open source che consente di configurare un cluster di IA con dispositivi di uso quotidiano, distribuendo modelli LLM tra più computer in rete.
- La piattaforma si distingue per il rilevamento automatico dei dispositivi, il supporto RDMA su Thunderbolt 5 e il partizionamento dinamico del modello, ottimizzando l'utilizzo di CPU, GPU e memoria.
- Funziona particolarmente bene su macOS con GPU e MLX, mentre su Linux Attualmente funziona su CPU, con una roadmap aperta per espandere il supporto per hardware.
- Exo è ideale per progetti come Home Assistant, PMI e sviluppatori che desiderano eseguire intelligenza artificiale avanzata in locale senza dover ricorrere al cloud o investire in GPU di fascia alta.
Esecuzione locale di grandi modelli linguistici (LLM) è solitamente associato a macchine enormi, schede grafiche estremamente costose e consumi energetici proibitivi. Tuttavia, negli ultimi mesi è emersa un'alternativa che sta attirando molta attenzione: Exo, il software che trasforma diversi dispositivi domestici in un cluster AI in grado di eseguire modelli molto impegnativi senza dipendere dal cloud.
Con Exo, L'idea è di mettere in comune la potenza dei computer, Portátilestelefoni cellulari e altri dispositivi connessi In questo modo, combinando le loro risorse, possono gestire LLM che normalmente troveremmo solo nei data center professionali. Questo apre le porte alla creazione di una sorta di "mini data center" in casa, ideale per progetti come assistenti locali come Home Assistant, PMI che vogliono sperimentare l'intelligenza artificiale senza spendere una fortuna o sviluppatori curiosi che vogliono andare oltre i tipici test cloud.
Cos'è Exo e cosa si propone di risolvere?
Exo è un software sperimentale open sourcegestito da Exo Labs, il cui obiettivo principale è quello di consentirti di costruire il tuo gruppo di intelligenza artificiale en casa utilizzando dispositivi di uso quotidiano. Invece di affidarsi a una singola GPU con molta VRAM, Exo distribuisce il modello su più dispositivi connessi alla stessa rete.
La premessa di Exo è semplice ma molto potente.: i tuoi soliti dispositivi: un MacBook, un iPhoneUn iPad, un PC Linux o persino alcuni computer a scheda singola (SBC) possono collaborare per eseguire un modello di intelligenza artificiale di grandi dimensioni. Ognuno di essi contribuisce con memoria e potenza di calcolo, e il software orchestra il tutto per farlo funzionare come se si trattasse di un'unica macchina più grande.
Exo nasce come risposta ad una limitazione molto comuneNon tutti hanno accesso a una GPU di fascia alta come una NVIDIA Una RTX 3090 con 24 GB di VRAM e decine di gigabyte di RAM. Per far girare un modello "modesto" come Llama 3.1 70B con prestazioni locali decenti, è necessario un hardware che va oltre il budget di molti sviluppatori, maker o piccole imprese.
Invece di costringerti a investire in un'attrezzatura mostruosa o a fare affidamento esclusivamente sul cloud, Exo propone di combinare la memoria disponibile di diversi dispositivi più modesti in modo che il modello completo si adatti all'intero cluster. Ciò democratizza significativamente l'accesso alla sperimentazione con l'intelligenza artificiale avanzata, il che è particolarmente interessante per startup e PMI.

Come funziona Exo a livello tecnico
Il cuore di Exo risiede nella sua capacità di distribuire modelli LLM su tutti i dispositivi disponibili su una rete domestica o aziendale. Invece di caricare l'intero modello su una singola macchina, Exo lo scompone e lo distribuisce, sfruttando la memoria e la potenza di calcolo combinate di ciascun nodo.
Per farlo, Exo utilizza un approccio di memoria condivisa distribuitaadattando la porzione del modello installata su ciascun dispositivo in base alla quantità di memoria (RAM e, su macOS, GPU VRAM) disponibile. Pertanto, un modello che normalmente richiederebbe una GPU molto potente può essere eseguito su laptop, desktop e persino altri dispositivi, a condizione che la memoria totale del cluster sia sufficiente.
Il processo inizia con l'installazione di Exo sui dispositivi compatibili.In molti casi, è necessario avere Python 3.12 o superiore, oltre ad altri strumenti come un gestore di dipendenze e compilatori. Una volta che il servizio è in esecuzione, i dispositivi che eseguono Exo si scoprono automaticamente all'interno della stessa rete, senza dover configurare manualmente IP o porte.
La comunicazione interna tra i nodi si basa sulle connessioni peer-to-peerCiò favorisce un'architettura in cui ogni macchina contribuisce al massimo delle sue possibilità, senza dipendere da un singolo server centrale rigido. Sulla base di questa topologia, Exo esegue un'analisi delle risorse e della latenza per decidere come partizionare il modello e dove posizionare ciascun frammento.
Uno degli elementi chiave è la partizione dinamica dei modelliExo ottiene una visione in tempo reale della topologia del cluster, delle risorse di ciascun dispositivo (memoria, CPU, GPU) e della qualità dei collegamenti di rete (latenza, larghezza di banda tra i nodi). Con queste informazioni, decide automaticamente come suddividere il modello per bilanciare il carico e ridurre al minimo i colli di bottiglia.
Principali caratteristiche tecniche di Exo
Il progetto Exo incorpora diverse funzionalità studiate per sfruttarlo al meglio. l'hardware disponibile e semplificare la vita dell'utente. Tra le più importanti ci sono:
Rilevamento automatico dei dispositiviI dispositivi che eseguono Exo possono individuarsi a vicenda senza dover intervenire sulla configurazione di rete. Questo evita il tipico incubo di dover gestire IP statici, porte manuali o script personalizzati per consentire ai nodi di riconoscersi a vicenda.
Supporto per RDMA su ThunderboltUno dei punti più sorprendenti è che Exo viene fornito con Compatibilità immediata con RDMA (Remote Direct Memory Access) su Thunderbolt 5Questo approccio consente di ridurre la latenza tra i dispositivi fino al 99% rispetto ai metodi di comunicazione più tradizionali, il che è fondamentale quando si distribuiscono parti dello stesso modello tra più macchine.
Parallelismo tensoreExo implementa tecniche di parallelismo tensorialeIn altre parole, suddivide i tensori del modello su più dispositivi. Grazie a questo, in alcune configurazioni sono stati segnalati miglioramenti della velocità fino a 1,8 volte utilizzando due dispositivi e fino a 3,2 volte con quattro, rispetto all'esecuzione del modello su un singolo dispositivo con le stesse risorse.
Topologia cosciente e autoparallelizzazioneIl sistema calcola automaticamente il modo migliore per partizionare il modello e distribuirlo nel cluster, tenendo conto sia della potenza di ciascun nodo sia della qualità delle connessioni tra di essi. Questa caratteristica di “parallelo automatico basato sulla topologia” Riduce la necessità per l'utente di regolare tutto manualmente.
Integrazione MLX e supporto GPU su macOSSu macOS, Exo utilizza MLX come backend di inferenza e MLX Distributed per la comunicazione distribuita. Ciò consente di sfruttare le GPU integrate nei chip Apple Silicon, il che è particolarmente interessante in dispositivi come Mac MacBook Pro Studio o di ultima generazione.
Casi d'uso pratici e prestazioni su Mac
Exo è stato testato in scenari molto impegnativi combinando diversi Mac di fascia alta, sfruttando sia il parallelismo tensoriale che RDMA su Thunderbolt 5. In queste configurazioni sono stati eseguiti modelli giganteschi che normalmente vedremmo solo in ambienti di data center.
Un esempio discusso nella comunità è l'uso di quattro Mac Studio con chip M3 Ultra Connettività Thunderbolt 5 e RDMA. Insieme, raggiungono circa 15 TB di VRAM effettiva, per supportare modelli incredibilmente grandi.
Tra i modelli implementati in questo tipo di configurazione, spiccano i seguenti: Qwen3-235B a 8 bit, DeepSeek v3.1 671B anche quantizzato a 8 bit o anche Kimi K2 Pensare in 4 bit nativiIn tutti questi casi, ogni Mac ospita una parte del modello e la comunicazione tra i nodi è ottimizzata tramite RDMA.
Questi esperimenti sono stati documentati da creatori come Jeff Geerlingche ha dimostrato come sia possibile impostare una configurazione domestica con un'enorme quantità di memoria video effettiva. In questo scenario, Exo funge da livello di orchestrazione che consente al modello di funzionare in modo coerente nonostante sia distribuito su più macchine.
Oltre queste configurazioni estreme, Lo stesso principio può essere applicato ad usi più modestiAd esempio, per alimentare un modello linguistico di grandi dimensioni che funge da cervello di un sistema di automazione domestica avanzato, un assistente conversazionale privato o strumenti di analisi del testo all'interno di una piccola impresa.
Utilizzo di Exo con Home Assistant e domotica avanzata
La community di Home Assistant parla già di Exo come opzione per gestire localmente grandi LLM che fungono da motori di ragionamento per la domotica. Sebbene molte persone non l'abbiano ancora provato direttamente, il progetto ha attirato l'attenzione perché promette di consentire modelli molto pesanti su hardware relativamente modestoa condizione che siano raggruppate abbastanza squadre.
L'idea è che, invece di affidarsi a una potente GPU o al cloudÈ possibile configurare un cluster con più computer, anche se non dispongono di una GPU dedicata. Exo si occuperebbe di distribuire il modello su tutti i computer, consentendo a Home Assistant di consultare un LLM locale per prendere decisioni più complesse o fornire risposte più naturali.
Questo approccio è particolarmente interessante per chi dà priorità alla privacy.Poiché i dati domestici non devono uscire dalla rete locale, tutte le inferenze e l'elaborazione del linguaggio naturale vengono eseguite all'interno del cluster configurato, senza dover ricorrere a server esterni.
Il progetto ha ricevuto attenzione su blog tecnologici come CNX Software, dove È importante sottolineare che Exo può essere eseguito anche su cluster di computer, smartphone o schede di sviluppo.Tuttavia, in pratica, il supporto più completo si trova attualmente su macOS e Linux, con alcune limitazioni ancora presenti. iOS.
Per molti appassionati di domotica, la combinazione Exo + Home Assistant Potrebbe essere il tassello mancante per avere un assistente conversazionale avanzato, sempre attivo e completamente locale, senza dover pagare token cloud o dipendere da terze parti.
Modelli di intelligenza artificiale compatibili e limitazioni con modelli proprietari
Exo è compatibile con un buon numero di modelli di intelligenza artificiale popolariIn particolare, quelli che fanno parte dell'ecosistema aperto e possono essere scaricati ed eseguiti localmente. Tra questi rientrano famiglie come LLaMA, Mistral, LLaVA, Qwen e DeepSeek, tra le altre.
Nel caso specifico di Lama 3 di MetaExo funziona particolarmente bene con queste architetture, consentendo varianti di dimensioni diverse a seconda delle risorse del cluster. Questo semplifica sia per i singoli sperimentatori che per le piccole imprese l'utilizzo di un modello linguistico moderno senza dover sostenere costi di licenza o affidarsi ad API di terze parti.
Un altro vantaggio interessante è la possibilità di esporre un'API compatibile con ChatGPTCon alcune modifiche, Exo consente ai modelli in esecuzione sul cluster di accettare richieste in un formato simile all'API di OpenAIche semplifica notevolmente l'integrazione con le applicazioni che già funzionano con quello standard.
Tuttavia, Esiste un limite chiaro quando si parla di modelli proprietari come GPT-4.GPT-4 è un modello chiuso, ospitato sull'infrastruttura di OpenAI e non disponibile per il download. Ciò significa che, per definizione, non può essere eseguito su Exo o su qualsiasi altro ambiente locale al di fuori di OpenAI.
Pertanto, quando si lavora con Exo È necessario attenersi ai modelli open source o a quelli disponibili per l'uso localePer la maggior parte delle applicazioni pratiche (chatbot, assistenti, analisi del testo, ragionamento di base e avanzato) esiste già un catalogo sufficientemente potente di modelli open source, soprattutto con la recente evoluzione di modelli come Llama 3.x, Qwen o DeepSeek.
Principali vantaggi dell'utilizzo di un cluster Exo
Il vantaggio principale di Exo è che consente una drastica riduzione degli investimenti in hardware.Invece di dover acquistare una workstation con una GPU di grandi dimensioni, è possibile riutilizzare computer e dispositivi già presenti a casa o in ufficio. Molti utenti potrebbero creare un cluster semplicemente sfruttando i propri Mac, un PC più vecchio e altre apparecchiature sottoutilizzate.
Questo approccio democratizza l'accesso all'intelligenza artificiale avanzataCiò consente a startup e PMI con budget limitati di competere in un campionato precedentemente riservato alle aziende con risorse adeguate. Non tutti i progetti giustificano il noleggio di costose GPU nel cloud, ed è qui che un cluster locale diventa perfettamente sensato.
Inoltre, Exo è molto flessibile in termini di tipi di dispositiviSebbene il supporto più maturo sia attualmente disponibile su macOS (che utilizza GPU) e Linux (che attualmente utilizza CPU), il progetto mira a integrare anche altri tipi di hardware e a migliorare strategicamente la compatibilità. Questa possibilità di combinare diversi profili macchina consente di progettare il cluster in base alle proprie esigenze specifiche.
Un altro vantaggio fondamentale è che, grazie alla sua architettura distribuita, Il cluster può essere ridimensionato in modo relativamente sempliceSe in qualsiasi momento hai bisogno di maggiori prestazioni, aggiungi semplicemente un altro dispositivo che esegue Exo. Ogni nuovo nodo verrà rilevato automaticamente e le sue risorse verranno aggiunte al totale, senza dover riprogettare il sistema da zero.
Infine, partizionamento dinamico e consapevolezza della topologia Garantiscono che anche i dispositivi con hardware modesto possano dare un contributo utile. Sebbene un laptop più vecchio non sia in grado di gestire l'intero sistema da solo, può gestire parte del carico di lavoro o eseguire alcuni calcoli, contribuendo alle prestazioni complessive.
Limitazioni attuali e punti da considerare
Non tutto è perfetto ed Exo rimane chiaramente un software sperimentale.Ciò significa che potrebbero comunque verificarsi errori, comportamenti instabili o frequenti modifiche nella configurazione e nell'esecuzione del sistema. Non si tratta di una soluzione "imposta e dimentica" a livello di un prodotto commerciale maturo.
Sui dispositivi iOS come iPhone e iPad, Il supporto è ancora limitato E richiede ulteriori sviluppi per diventare realmente utilizzabile dal grande pubblico. Sebbene il progetto preveda di sfruttare anche questi dispositivi, attualmente la maggior parte dell'esperienza fluida si trova sui computer.
Un altro fattore chiave è che L'efficienza complessiva del cluster dipenderà in larga misura dalla rete domestica.In caso di rete Wi-Fi congestionata, router obsoleti o connessioni lente, distribuire un modello di grandi dimensioni su più nodi può rappresentare un notevole collo di bottiglia. In ambienti complessi, è quasi scontato utilizzare connessioni cablate di alta qualità o, nel caso dei Mac, Thunderbolt 5 con RDMA.
Inoltre, sebbene la somma di molti dispositivi modesti possa raggiungere cifre di memoria impressionanti, Non sempre saranno in grado di competere in termini di prestazioni con un cluster di GPU di fascia alta.Esiste un delicato equilibrio tra costi di coordinamento, latenze di rete ed effettiva potenza di calcolo di cui bisogna tenere conto.
Con tutto, La proposta di valore di Exo rimane molto interessante: trasformare le apparecchiature esistenti, con un costo hardware praticamente nullo, in un cluster in grado di eseguire modelli che fino a poco tempo fa sembravano esclusivi dei data center specializzati.
Installazione, requisiti e metodi di esecuzione di Exo
Per far funzionare Exo su macOS È comune utilizzare strumenti come Homebrew per la gestione dei pacchetti, così come uv per la gestione delle dipendenze Python, macmon per il monitoraggio dell'hardware sui chip Apple Silicon, Node.js per la creazione del pannello di controllo web e Rust (attualmente in versione nightly) per compilare determinati binding.
Il flusso di lavoro tipico in macOS passa attraverso clonare il repository ufficiale GitHubInstalla le dipendenze ed esegui il comando corrispondente per avviare Exo. Questo avvierà sia l'API che una dashboard web accessibile localmente all'indirizzo http://localhost:52415Da lì puoi vedere lo stato del cluster, dei modelli, delle istanze, ecc.
Oltre all'esecuzione da parte di terminale, Exo offre un'app nativa per macOS Questa app viene eseguita in background. Richiede macOS Tahoe 26.2 o versioni successive ed è distribuita come file .dmg (ad esempio, con il nome EXO-latest.dmg). Durante l'installazione, potrebbe richiedere l'autorizzazione per modificare alcune impostazioni di sistema e aggiungere un profilo di rete, necessario per abilitare funzionalità avanzate come RDMA.
Negli ambienti Linux, l'installazione solitamente prevede l'utilizzo del gestore pacchetti del sistema. (come apt su Debian/Ubuntu) o tramite Homebrew per Linux, se preferisci. Tieni presente che alcune utility, come macmon, sono specifiche di macOS e non sono utilizzate su Linux.
Per il momento, In Linux, Exo funziona sulla CPUAl momento, non esiste un supporto completo per gli acceleratori GPU. Il team di sviluppo sta lavorando per estendere la compatibilità con diverse piattaforme hardware, quindi si consiglia di controllare le segnalazioni di problemi e richieste di funzionalità su GitHub se si desidera sapere se il proprio dispositivo specifico potrebbe essere supportato in futuro.
Configurazione di RDMA su Thunderbolt su macOS
Una delle novità più sorprendenti delle ultime versioni di macOS Si tratta dell'aggiunta del supporto RDMA, in particolare sulle porte Thunderbolt 5. Questa funzionalità è fondamentale per ridurre al minimo la latenza tra Mac fisicamente connessi, il che è molto prezioso quando si distribuisce un modello LLM.
RDMA è disponibile a partire da macOS 26.2 e Funziona su dispositivi con Thunderbolt 5 come M4 Pro Mac mini, M4 Max Mac Studio, M4 Max MacBook Pro o M3 Ultra Mac Studio. Tuttavia, nel caso specifico di Mac Studio, è consigliabile evitare di utilizzare la porta Thunderbolt 5 situata accanto alla porta Ethernet, poiché presenta alcune limitazioni per RDMA.
Per attivare RDMA, È necessario seguire un processo in modalità di ripristinoI passaggi di base prevedono lo spegnimento del Mac e l'accensione tenendo premuto il pulsante di accensione per circa 10 secondi, finché non viene visualizzato il menu. Boot, seleziona l'opzione "Opzioni" per accedere all'ambiente di ripristino e apri Terminale dal menu Utilità.
All'interno di quel terminale di recupero, Viene eseguito il comando indicato nella documentazione Exo per abilitare RDMA a livello di sistema. Dopo aver premuto Invio e riavviato il Mac, la funzionalità viene attivata ed Exo può utilizzarla per stabilire collegamenti a bassissima latenza tra diversi Mac connessi tramite Thunderbolt 5.
Da lì, Exo si occupa della parte complessaSfruttare RDMA per ridurre al minimo i ritardi nel trasferimento dati tra i nodi. Questo miglioramento nella comunicazione interna è particolarmente importante quando si lavora con modelli contenenti centinaia di miliardi di parametri frammentati su più macchine.
Interagisci con Exo tramite API e pannello web
Oltre alla dashboard grafica su http://localhost:52415Exo espone un'API REST che consente di gestire praticamente l'intero ciclo di vita dei modelli: scegliere dove posizionarli, creare istanze, avviare richieste di chat e rilasciare risorse quando non sono più necessarie.
Un flusso tipico potrebbe iniziare interrogando l'endpoint /istanza/anteprimeQuando si inviano i parametri del modello che si desidera distribuire, questo servizio restituisce tutti i posizionamenti validi per quel modello nel tuo clusterSi tratterebbe di un elenco di possibili "piani di distribuzione" basati sulla topologia e sulle risorse attuali.
Sulla base della risposta a quell'anteprima, Scegli il layout più adatto a te. (ad esempio, il primo nell'elenco, che puoi selezionare con strumenti come jq dal terminale) e utilizzarlo per effettuare una richiesta POST all'endpoint /esempioIl payload per questa richiesta deve essere conforme ai tipi definiti in CreateInstanceParams, inclusi parametri quali modello, configurazione hardware e nodi assegnati.
Una volta creata l'istanza, Puoi interagire con esso utilizzando un endpoint compatibile con l'API OpenAI, per esempio /v1/chat/completamentiLa struttura della richiesta JSON è praticamente la stessa di quella utilizzata con l'API ChatGPT, il che rende molto semplice adattare le applicazioni esistenti in modo che puntino al cluster Exo anziché al cloud.
Quando non hai più bisogno di un modello specifico, Puoi rilasciarlo inviando una richiesta DELETE con l'ID istanzache puoi individuare interrogando endpoint come /stato o /esempioD'altra parte, è utile avere a portata di mano segnali rapidi, come /modelli, che elenca tutti i modelli disponibili localmente, oppure il comando /state stesso, che descrive in dettaglio lo stato di distribuzione corrente.
Stato del progetto e comunità di sviluppo
Exo è ospitato su GitHub nel repository exo-explore/exo È sviluppato in modo aperto, con contributi sia del team principale di Exo Labs che della community. Il file CONTRIBUTING.md descrive le linee guida per contribuire, inviare pull request, segnalare bug e proporre nuove funzionalità.
dato che È un progetto vivo, in continua evoluzioneÈ normale che vengano rilasciate nuove versioni, miglioramenti di compatibilità con diversi modelli hardware e piattaforme e modifiche nella configurazione di alcuni componenti. Pertanto, è consigliabile consultare frequentemente la documentazione e segnalare eventuali problemi.
Per quanto riguarda la compatibilità con gli acceleratori, macOS attualmente gode di un supporto più avanzato grazie all'utilizzo della GPU e MLXSebbene sia disponibile su Linux, al momento opera sulla CPU. Il team ha incoraggiato gli utenti interessati a vedere il supporto per nuovi tipi di hardware ad aprire o supportare richieste esistenti con reazioni su GitHub, in modo da poter dare priorità alle piattaforme più richieste.
Dal punto di vista economico, Exo è completamente gratuito e open sourceL'utilizzo del software non prevede licenze a pagamento, il che lo rende molto adatto a progetti personali, educativi o di piccole imprese che desiderano sperimentare seriamente l'intelligenza artificiale senza disporre di un budget elevato.
Exo si sta affermando come attore chiave nella democratizzazione dell'intelligenza artificiale avanzata.Ciò consente a chiunque disponga di più dispositivi a casa o in ufficio di configurare il proprio cluster di modelli linguistici. Sebbene ci sia ancora molta strada da fare, le possibilità che apre sono enormi per la domotica, gli assistenti personali, l'analisi dei dati e gli ambienti di test per i modelli moderni.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.