Exo AI-programvare: hjemmeklynge for store språkmodeller

Siste oppdatering: 08/01/2026
Forfatter: Isaac
  • Exo er programvare med åpen kildekode som lar deg sette opp en klynge av IA med hverdagsenheter, distribuere LLM-modeller mellom flere nettverkstilkoblede datamaskiner.
  • Plattformen skiller seg ut med sin automatiske enhetsgjenkjenning, RDMA-støtte over Thunderbolt 5 og dynamiske modellpartisjonering, som optimaliserer CPU-, GPU- og minnebruk.
  • Det fungerer spesielt bra på macOS med GPU og MLX, mens det er på Linux Den kjører for tiden på CPUer, med en åpen plan for å utvide støtten for maskinvare.
  • Exo er ideelt for prosjekter som Home Assistant, små og mellomstore bedrifter og utviklere som ønsker å kjøre avansert AI lokalt uten å være avhengig av skyen eller investere i avanserte GPU-er.

Exo AI-programvare

Lokal utførelse av store språkmodeller (LLM) forbindes vanligvis med enorme maskiner, ekstremt dyre grafikkort og ugunstig energiforbruk. I de siste månedene har det imidlertid dukket opp et alternativ som tiltrekker seg mye oppmerksomhet: Exo, programvare som gjør flere hjemmeenheter om til en AI-klynge i stand til å kjøre svært krevende modeller uten å være avhengig av skyen.

Med Exo, Tanken er å samle kraften til datamaskiner, bærbarmobiltelefoner og andre tilkoblede enheter Slik at de, ved å kombinere ressursene sine, kan kjøre LLM-er som vi normalt bare ser i profesjonelle datasentre. Dette åpner døren for å sette opp et slags «mini-datasenter» hjemme, ideelt for prosjekter som lokale assistenter som Home Assistant, små og mellomstore bedrifter som ønsker å eksperimentere med AI uten å tømme bankkontoen, eller nysgjerrige utviklere som ønsker å gå utover typisk skytesting.

Hva er Exo, og hva har det som mål å løse?

Exo er en eksperimentell programvare med åpen kildekodevedlikeholdt av Exo Labs, hvis hovedmål er å gjøre det mulig for deg å bygge din egen klynge av kunstig intelligens hjemme bruker vanlige enheter. I stedet for å stole på én GPU med mye VRAM, distribuerer Exo modellen på tvers av flere enheter som er koblet til samme nettverk.

Exos premiss er enkelt, men veldig kraftfullt.dine vanlige enheter – en MacBook, en iPhoneEn iPad, en Linux-PC eller til og med visse enkeltkortsdatamaskiner (SBC-er) kan samarbeide for å kjøre en stor AI-modell. Hver av dem bidrar med minne og datakraft, og programvaren orkestrerer alt slik at det fungerer som om det var én enkelt, større maskin.

Exo ble født som et svar på en veldig vanlig begrensningIkke alle har tilgang til en avansert GPU som en NVIDIA En RTX 3090 med 24 GB VRAM og flere titalls gigabyte RAM. Å kjøre en «beskjeden» modell som Llama 3.1 70B med anstendig lokal ytelse krever maskinvare som er utenfor budsjettet til mange utviklere, produsenter eller små bedrifter.

I stedet for å tvinge deg til å investere i et uhyrlig utstyr eller å stole utelukkende på skyen, Exo foreslår å kombinere det tilgjengelige minnet til flere mer beskjedne enheter slik at den komplette modellen passer inn i klyngen som helhet. Dette demokratiserer tilgangen til eksperimentering med avansert AI betydelig, noe som er spesielt interessant for oppstartsbedrifter og små og mellomstore bedrifter.

Exo AI-klynge

Hvordan Exo fungerer på et teknisk nivå

Kjernen i Exo ligger i evnen til å distribuere LLM-modeller på tvers av alle tilgjengelige enheter i et hjemme- eller kontornettverk. I stedet for å laste hele modellen inn på én maskin, bryter Exo den ned og distribuerer den, og utnytter den kombinerte minnet og datakraften til hver node.

Å klare det, Exo bruker en distribuert delt minnetilnærmingved å tilpasse den delen av modellen som plasseres på hver enhet i henhold til mengden minne (RAM og, på macOS, GPU VRAM) som er tilgjengelig. Dermed kan en modell som normalt krever en veldig kraftig GPU kjøre på tvers av bærbare datamaskiner, stasjonære datamaskiner og til og med andre enheter, forutsatt at det totale klyngeminnet er tilstrekkelig.

Prosessen begynner med installasjon av Exo på kompatible enheter.I mange tilfeller krever det å ha Python 3.12 eller høyere, i tillegg til andre verktøy som en avhengighetsbehandling og kompilatorer. Når tjenesten kjører, vil enhetene som kjører Exo de oppdager hverandre automatisk innenfor samme nettverk, uten at du må konfigurere IP-adresser eller porter manuelt.

Intern kommunikasjon mellom noder er basert på forbindelser peer-to-peerDette favoriserer en arkitektur der hver maskin bidrar med det den kan uten å være avhengig av en enkelt, rigid sentral server. Basert på denne topologien utfører Exo en ressurs- og latensanalyse for å bestemme hvordan modellen skal partisjoneres og hvor hvert fragment skal plasseres.

Et av nøkkelelementene er dynamisk partisjonering av modellerExo får en sanntidsvisning av klyngetopologien, ressursene til hver enhet (minne, CPU, GPU) og kvaliteten på nettverkskoblingene (latens, båndbredde mellom noder). Med denne informasjonen bestemmer den automatisk hvordan modellen skal deles opp for å balansere belastningen og minimere flaskehalser.

De viktigste tekniske funksjonene til Exo

Exo-prosjektet inneholder flere funksjoner som er utformet for å få mest mulig ut av det. tilgjengelig maskinvare og gjøre livet enklere for brukeren. Blant de mest bemerkelsesverdige er:

Automatisk enhetsgjenkjenningEnhetene som kjører Exo kan finne hverandre uten at du trenger å røre nettverkskonfigurasjonen. Dette unngår det typiske marerittet med å håndtere statiske IP-adresser, manuelle porteringer eller tilpassede skript for at nodene skal se hverandre.

Støtte for RDMA over ThunderboltEt av de mest slående punktene er at Exo kommer med Dag én-kompatibilitet med RDMA (Remote Direct Memory Access) over Thunderbolt 5Denne tilnærmingen gjør det mulig å redusere latens mellom enheter med opptil 99 % sammenlignet med mer tradisjonelle kommunikasjonsmetoder, noe som er kritisk når man distribuerer deler av samme modell mellom flere maskiner.

  Slik oppdaterer du SSD-fastvaren trinn for trinn

Tensorisk parallellismeExo implementerer teknikker for tensorparallellismeMed andre ord fordeler den modellens tensorer på tvers av flere enheter. Takket være dette er det i visse konfigurasjoner rapportert hastighetsforbedringer på opptil 1,8 ganger ved bruk av to enheter og opptil 3,2 ganger med fire, sammenlignet med å kjøre modellen på én enhet med de samme ressursene.

Bevisst topologi og selvparallelliseringSystemet beregner automatisk den beste måten å partisjonere modellen og distribuere den over klyngen, og tar hensyn til både kraften til hver node og kvaliteten på forbindelsene mellom dem. Denne funksjonen til «Topologibevisst automatisk parallell» Det reduserer behovet for at brukeren må justere alt manuelt.

MLX-integrasjon og GPU-støtte på macOSPå macOS bruker Exo MLX som inferensbackend og MLX Distributed for distribuert kommunikasjon. Dette gjør at den kan dra nytte av GPU-ene som er integrert i Apple Silicon-brikker, noe som er spesielt interessant i enheter som Mac Studio eller nyeste generasjon MacBook Pro.

Praktiske brukstilfeller og ytelse på Mac-er

Exo har blitt testet i svært krevende scenarier ved å kombinere flere avanserte Mac-er, og dra nytte av både tensorparallelisme og RDMA over Thunderbolt 5. I disse oppsettene har det blitt kjørt gigantiske modeller som vi normalt bare ville sett i datasentermiljøer.

Et eksempel som diskuteres i lokalsamfunnet er bruken av fire Mac Studio med M3 Ultra-brikke koblet til Thunderbolt 5 og RDMA. Sammen gir de rundt 15 TB effektiv VRAM for å få plass til vanvittig store modeller.

Blant modellene som er implementert i denne typen oppsett, skiller følgende seg ut: Qwen3-235B i 8 bits, DeepSeek v3.1 671B også kvantisert til 8 bits eller til og med Kimi K2 Tenker i native 4-bitsI alle disse tilfellene er hver Mac vert for en del av modellen, og kommunikasjonen mellom noder optimaliseres ved hjelp av RDMA.

Disse eksperimentene har blitt dokumentert av skapere som Jeff Geerlingsom har vist hvordan det er mulig å sette opp en hjemmekonfigurasjon med en enorm mengde effektivt videominne. I dette scenariet fungerer Exo som orkestreringslaget som lar modellen fungere koherent til tross for at den er distribuert på tvers av flere maskiner.

Utover disse ekstreme konfigurasjonene, Det samme prinsippet kan brukes på mer beskjedne bruksområderFor eksempel for å mate en stor språkmodell som fungerer som hjernen i et avansert hjemmeautomatiseringssystem, en privat samtaleassistent eller tekstanalyseverktøy i en liten bedrift.

Bruk av Exo med Home Assistant og avansert hjemmeautomatisering

Home Assistant-fellesskapet snakker allerede om Exo som et alternativ for å kjøre store LLM-er lokalt som fungerer som resonneringsmotorer for hjemmeautomatisering. Selv om mange ikke har prøvd det direkte ennå, har prosjektet fått oppmerksomhet fordi det lover å tillate svært tunge modeller på relativt beskjeden maskinvareforutsatt at nok lag er samlet.

Tanken er at, i stedet for å stole på et kraftig GPU eller skyenDu kan sette opp en klynge med flere datamaskiner, selv om de ikke har en dedikert GPU. Exo ville håndtere distribusjonen av modellen på tvers av alle, slik at Home Assistant kan konsultere en lokal LLM for å ta mer komplekse beslutninger eller gi mer naturlige svar.

Denne tilnærmingen er spesielt attraktiv for de som prioriterer personvern.Siden husholdningsdata ikke trenger å forlate det lokale nettverket, utføres all inferens og naturlig språkbehandling i klyngen du har satt opp, uten å være avhengig av eksterne servere.

Prosjektet har fått oppmerksomhet på teknologiblogger som CNX Software, hvor Det er fremhevet at Exo til og med kan kjøre på dataklynger, smarttelefoner eller utviklingskort.I praksis finnes imidlertid den mest polerte støtten for øyeblikket på macOS og Linux, med noen begrensninger fortsatt til stede. iOS.

For mange entusiaster av hjemmeautomatisering, Exo + Home Assistant-kombinasjonen Det kan være den manglende brikken å ha en avansert, alltid på og helt lokal samtaleassistent, uten å betale for skytokener eller være avhengig av tredjeparter.

Kompatible AI-modeller og begrensninger med proprietære modeller

Exo er kompatibel med en rekke populære AI-modellerspesielt de som er en del av det åpne økosystemet og kan lastes ned og kjøres lokalt. Disse inkluderer familier som LLaMA, Mistral, LLaVA, Qwen og DeepSeek, blant andre.

I det spesifikke tilfellet av Lama 3 av MetaExo fungerer spesielt bra med disse arkitekturene, og tillater varianter i forskjellige størrelser avhengig av klyngeressurser. Dette gjør det enklere for både individuelle eksperimentatorer og små bedrifter å ha en moderne språkmodell uten å pådra seg lisenskostnader eller være avhengig av tredjeparts API-er.

En annen interessant fordel er muligheten til å eksponere et API som er kompatibelt med ChatGPTMed noen justeringer tillater Exo at modeller som kjører på klyngen din godtar forespørsler i et format som ligner på API-et til OpenAInoe som i stor grad forenkler integrasjon med applikasjoner som allerede fungerer med den standarden.

Imidlertid Det er en klar grense når vi snakker om proprietære modeller som GPT-4.GPT-4 er en lukket modell, som ligger på OpenAIs infrastruktur og ikke er tilgjengelig for nedlasting. Dette betyr at den per definisjon ikke kan kjøres på Exo eller noe annet lokalt miljø utenfor OpenAI.

  Eksempler på lavnivå-C og maskinvarelukkede språk

Derfor, når du jobber med Exo Du må holde deg til modeller med åpen kildekode eller de som er tilgjengelige for lokal brukFor de fleste praktiske applikasjoner (chatboter, assistenter, tekstanalyse, grunnleggende og avansert resonnering) finnes det allerede en tilstrekkelig kraftig katalog med åpen kildekode-modeller, spesielt med den nylige utviklingen av modeller som Llama 3.x, Qwen eller DeepSeek.

De viktigste fordelene med å bruke en Exo-klynge

Exos største fordel er at det gir en drastisk reduksjon i maskinvareinvesteringer.I stedet for å måtte kjøpe en arbeidsstasjon med et massivt GPU, kan du gjenbruke datamaskiner og enheter du allerede har hjemme eller på kontoret. Mange brukere kan sette opp en klynge ganske enkelt ved å utnytte Mac-ene sine, en eldre PC og annet underutnyttet utstyr.

Denne tilnærmingen demokratiserer tilgangen til avansert AIDette gjør at oppstartsbedrifter og små og mellomstore bedrifter med stramme budsjetter kan konkurrere i en liga som tidligere var forbeholdt selskaper med gode ressurser. Ikke alle prosjekter rettferdiggjør å leie dyre GPU-er i skyen, og det er der en lokal klynge gir perfekt mening.

Videre Exo er veldig fleksibel når det gjelder enhetstyperSelv om den mest modne støtten for øyeblikket er på macOS (ved bruk av GPU-er) og Linux (ved bruk av CPU-er), tar prosjektet sikte på å integrere andre typer maskinvare også og taktisk forbedre kompatibiliteten. Denne muligheten til å blande forskjellige maskinprofiler lar deg designe klyngen i henhold til dine spesifikke behov.

En annen viktig fordel er at, takket være den distribuerte arkitekturen, Klyngen kan skaleres relativt enkeltHvis du trenger mer ytelse på noe tidspunkt, kan du ganske enkelt legge til en annen enhet som kjører Exo. Hver ny node vil bli automatisk oppdaget og ressursene lagt til totalen, uten at du trenger å redesigne systemet fra bunnen av.

Endelig, dynamisk partisjonering og topologibevissthet De garanterer at selv enheter med beskjeden maskinvare kan bidra med noe nyttig. Selv om en eldre bærbar PC ikke vil kunne kjøre hele systemet på egenhånd, kan den håndtere noe av arbeidsmengden eller utføre noen av beregningene, noe som bidrar til den generelle ytelsen.

Nåværende begrensninger og punkter å vurdere

Ikke alt er perfekt, og Exo er fortsatt tydelig eksperimentell programvare.Dette betyr at feil, ustabil oppførsel eller hyppige endringer i hvordan systemet konfigureres og kjøres fortsatt kan forekomme. Det er ikke en «sett det opp og glem det»-løsning på nivå med et modent kommersielt produkt.

På iOS-enheter som iPhone og iPad, Støtten er fortsatt begrenset Og det krever videreutvikling for å bli virkelig brukbart for allmennheten. Selv om prosjektet ser for seg å utnytte disse enhetene også, finnes mesteparten av den smidige opplevelsen for øyeblikket på datamaskiner.

En annen nøkkelfaktor er at Den totale effektiviteten til klyngen vil i stor grad avhenge av hjemmenettverket.Hvis du har et overbelastet Wi-Fi-nettverk, utdaterte rutere eller trege tilkoblinger, kan det å distribuere en stor modell på tvers av flere noder bli en betydelig flaskehals. I seriøse miljøer er det nesten en selvfølge at du bruker kablede tilkoblinger av høy kvalitet, eller, når det gjelder Mac-er, Thunderbolt 5 med RDMA.

Videre, selv om summen av mange beskjedne enheter kan nå imponerende minnetall, De vil ikke alltid konkurrere i rå ytelse med en klynge av avanserte GPU-er.Det er en hårfin balansegang mellom koordineringskostnader, nettverksforsinkelser og effektiv datakraft som må tas i betraktning.

Med alt, Exos verdiforslag er fortsatt svært interessanttransformering av eksisterende utstyr, tilnærmet uten maskinvarekostnader, til en klynge som er i stand til å kjøre modeller som inntil nylig virket eksklusive for spesialiserte datasentre.

Exo-installasjon, krav og utførelsesmetoder

For å få Exo oppe og kjøre på macOS Det er vanlig å bruke verktøy som Homebrew for pakkehåndtering, samt uv for Python-avhengighetshåndtering, macmon for overvåking av maskinvare på Apple Silicon-brikker, Node.js for å bygge webkontrollpanelet og Rust (for tiden i nattlig versjon) for å kompilere visse bindinger.

Den typiske arbeidsflyten i macOS går gjennom klone det offisielle GitHub-depotetInstaller avhengighetene og kjør den tilhørende kommandoen for å starte Exo. Dette vil starte både API-et og et lokalt tilgjengelig webdashbord på adressen. http://localhost:52415Derfra kan du se statusen til klyngen, modeller, instanser osv.

I tillegg til utførelse av terminal, Exo tilbyr en innebygd macOS-app Denne appen kjører i bakgrunnen. Den krever macOS Tahoe 26.2 eller nyere og distribueres som en .dmg-fil (for eksempel under navnet EXO-latest.dmg). Under installasjonen kan den be om tillatelse til å endre visse systeminnstillinger og legge til en nettverksprofil, noe som er nødvendig for å aktivere avanserte funksjoner som RDMA.

I Linux-miljøer innebærer installasjon vanligvis bruk av systemets pakkebehandler. (som apt på Debian/Ubuntu) eller via Homebrew for Linux hvis du foretrekker det. Husk at noen verktøy, som for eksempel macmon, er spesifikke for macOS og ikke brukes på Linux.

For øyeblikket, I Linux kjører Exo på CPUFor øyeblikket er det ikke full støtte for GPU-akseleratorer. Utviklingsteamet jobber med å utvide kompatibiliteten med ulike maskinvareplattformer, så det anbefales å sjekke problemene og funksjonsforespørslene på GitHub hvis du vil vite om din spesifikke enhet kan bli støttet i fremtiden.

  Elon Musk lanserer et bud på 97.400 milliarder dollar for OpenAI midt i en strid med Sam Altman

Konfigurering av RDMA over Thunderbolt på macOS

En av de mest slående nye funksjonene i de nyeste versjonene av macOS Det er tillegget av RDMA-støtte, spesielt over Thunderbolt 5-porter. Denne funksjonen er avgjørende for å minimere ventetid mellom fysisk tilkoblede Mac-er, noe som er svært verdifullt når man distribuerer en LLM-modell.

RDMA er tilgjengelig fra og med macOS 26.2 og Det fungerer på enheter med Thunderbolt 5 som for eksempel M4 Pro Mac mini, M4 Max Mac Studio, M4 Max MacBook Pro eller M3 Ultra Mac Studio. Når det gjelder Mac Studio, bør du imidlertid unngå å bruke Thunderbolt 5-porten som er plassert ved siden av Ethernet-porten, da den har visse begrensninger for RDMA.

For å aktivere RDMA, Det er nødvendig å følge en prosess i gjenopprettingsmodusDe grunnleggende trinnene innebærer å slå av Mac-en og slå den på ved å holde nede av/på-knappen i omtrent 10 sekunder til menyen vises. boot, velg alternativet «Alternativer» for å gå inn i gjenopprettingsmiljøet og åpne Terminal fra Verktøy-menyen.

Innenfor den gjenopprettingsterminalen, Kommandoen som er angitt i Exo-dokumentasjonen utføres for å aktivere RDMA på systemnivå. Etter at du har trykket på Enter og startet Mac-en på nytt, aktiveres funksjonaliteten, og Exo kan bruke den til å opprette koblinger med svært lav latens mellom forskjellige Mac-er som er koblet til via Thunderbolt 5.

Derfra, Exo håndterer den komplekse delenUtnyttelse av RDMA for å minimere forsinkelser i dataoverføring mellom noder. Denne forbedringen i intern kommunikasjon er spesielt viktig når man jobber med modeller som inneholder hundrevis av milliarder parametere fragmentert på tvers av flere maskiner.

Samhandle med Exo via API og nettpanel

I tillegg til det grafiske dashbordet på http://localhost:52415Exo eksponerer et REST API som lar deg administrere praktisk talt hele livssyklusen til modeller: velge hvor de skal plasseres, opprette instanser, starte chatforespørsler og frigjøre ressurser når de ikke lenger er nødvendige.

En typisk flyt kan begynne med å spørre endepunktet /instans/forhåndsvisningerNår du sender parameterne til modellen du vil distribuere, returnerer denne tjenesten alle gyldige plasseringer for den modellen i klyngen dinDet ville være noe sånt som en liste over mulige «distribusjonsplaner» basert på gjeldende topologi og ressurser.

Basert på responsen fra forhåndsvisningen, Du velger det oppsettet som passer deg best. (for eksempel den første i listen, som du kan velge med verktøy som jq fra terminalen) og bruke den til å sende en POST-forespørsel til endepunktet /instansNyttelasten for denne forespørselen må være i samsvar med typene som er definert i CreateInstanceParams, inkludert parametere som modell, maskinvarekonfigurasjon og tilordnede noder.

Når instansen er opprettet, Du kan samhandle med den ved hjelp av et endepunkt som er kompatibelt med OpenAI APIfor eksempel /v1/chat/fullføringerStrukturen til JSON-forespørselen er så godt som den som brukes med ChatGPT API, noe som gjør det veldig enkelt å tilpasse eksisterende applikasjoner til å peke mot Exo-klyngen din i stedet for skyen.

Når du ikke lenger trenger en bestemt modell, Du kan frigi den ved å sende en DELETE-forespørsel med instans-ID-en.som du kan finne ved å spørre etter endepunkter som /tilstand o /instansPå den annen side er det nyttig å ha raske signaler for hånden, som for eksempel /modeller, som viser alle lokalt tilgjengelige modeller, eller selve /state-kommandoen, som beskriver gjeldende utrullingsstatus.

Prosjektstatus og utviklingsfellesskap

Exo ligger på GitHub under repositoriet exo-explore/exo Den er utviklet åpent, med bidrag fra både kjerneteamet i Exo Labs og fellesskapet. CONTRIBUTING.md-filen beskriver retningslinjene for å bidra, sende inn pull-forespørsler, rapportere feil og foreslå nye funksjoner.

Gitt at Det er et levende prosjekt i stadig utviklingDet er vanlig med nye versjoner, kompatibilitetsforbedringer med forskjellige maskinvaremodeller og plattformer, og endringer i hvordan visse komponenter er konfigurert, når de lanseres. Derfor er det lurt å gjennomgå dokumentasjonen og åpne problemer ofte.

Når det gjelder kompatibilitet med akseleratorer, macOS har for tiden mer avansert støtte takket være bruken av GPU og MLXSelv om den er på Linux, kjører den for tiden på CPU-en. Teamet har oppfordret brukere som er interessert i å se støtte for nye typer maskinvare til å åpne eller støtte eksisterende forespørsler med reaksjoner på GitHub, slik at de kan prioritere hvilke plattformer som er mest etterspurt.

Under et økonomisk synspunkt, Exo er helt gratis og åpen kildekodeDet er ingen betalte lisenser knyttet til bruk av programvaren, noe som passer veldig godt til personlige, pedagogiske eller småbedriftsprosjekter som ønsker å eksperimentere seriøst med AI uten et stort budsjett.

Exo etablerer seg som en sentral aktør i demokratiseringen av avansert AI.Dette lar alle med flere enheter hjemme eller på kontoret sette opp sin egen språkmodellklynge. Selv om det fortsatt har en vei å gå, er mulighetene det åpner for enorme for hjemmeautomasjon, personlige assistenter, dataanalyse og testmiljøer for moderne modeller.