Visi projektai

MTP-RDMA klasteris

Tensorinis 27B per du Mac'us Thunderbolt RDMA — ~70 → 90–100 tok/s.

MLXThunderbolt RDMAPython
MTP-RDMA logotipasDev-story
01

Iššūkis

Norėjome greito vietinio LLM savo kodavimo agentui (Pi) be debesies API, bet 27B modelis viename Mac dekoduoja tik ~60–73 tok/s.

02

Ką darėme

Sukūrėme savo nativų MTP (multi-token prediction) rantaimą ir paleidome MLX tensorinį lygiagretumą su paskirstytu šablonu per du Mac'us Thunderbolt RDMA linija: abu rankai vykdo tą pačią generavimo kilpą, o rank 0 aptarnauja OpenAI suderinamą API; Swift meniu juostos programa ir valdymo demonas patys atranda mazgus ir paleidžia porą prisijungus.

03

Rezultatas

Pora dekoduoja ~85–100 tok/s (mediana ~95 greitai / ~86 giliai) prieš ~60–73 solo, ir tai vietoje maitina mūsų Pi kodavimo agentą su TTFT ~0,5 s.

Dev-story straipsnis

Kaip buvo kuriamas projektas: MTP-RDMA klasteris

Su savo kodavimo agentu Pi dirbame visą dieną ir nenorėjome, kad jo protas būtų nuomojamas debesies API. Bet 27B modelis viename Mac dekoduoja tik ~60-73 tok/s: tinka, bet nėra greita. Įdomiausias klausimas — ar du eiliniai Mac, sujungti laidu, gali elgtis kaip vienas didesnis kompiuteris.

Skyriai

05

Moduliai

05

Stackas

MLX + Thunderbolt RDMA

01

Kodėl projektas atsirado

Norėjome greito vietinio LLM savo kodavimo agentui (Pi) be debesies API, bet 27B modelis viename Mac dekoduoja tik ~60–73 tok/s.

Su savo kodavimo agentu Pi dirbame visą dieną ir nenorėjome, kad jo protas būtų nuomojamas debesies API. Bet 27B modelis viename Mac dekoduoja tik ~60-73 tok/s: tinka, bet nėra greita. Įdomiausias klausimas — ar du eiliniai Mac, sujungti laidu, gali elgtis kaip vienas didesnis kompiuteris.

02

Ką sukūrėme

Sukūrėme savo nativų MTP (multi-token prediction) rantaimą ir paleidome MLX tensorinį lygiagretumą su paskirstytu šablonu per du Mac'us Thunderbolt RDMA linija: abu rankai vykdo tą pačią generavimo kilpą, o rank 0 aptarnauja OpenAI suderinamą API; Swift meniu juostos programa ir valdymo demonas patys atranda mazgus ir paleidžia porą prisijungus.

Sujungėme du Mac Thunderbolt laidu su RDMA ir išskaidėme 27B modelį per abu su MLX tensoriniu lygiagretumu. Abu rankai vykdo lygiai tą pačią generavimo kilpą, o rank 0 atveria OpenAI suderinamą API, su kuriuo kalba Pi. Swift meniu juostos programa ir mažas valdymo demonas patys atranda abu mazgus ir paleidžia porą prisijungus; jei vienas Mac atsakinėja solo, paspaudus Start Pair jis įsilieja į porą ir saugiai grąžina valdymą sustojus.

03

Pagrindiniai moduliai ir vartotojo kelias

M01

Pora prieš solo išspręsta matavimu, ne nuojauta: solo ~60-73 tok/s, pora ~85-100 (mediana ~95 be mąstymo, ~86 su mąstymu). Laimi topologija — tas pats modelis, išskaidytas per du boksus — o ne didesnis modelis.

M02

Įrenginių matrica, nusprendžianti, kuris Thunderbolt sietuvas su kuriuo kalba, išvedama iš gyvo sietuvo paleidžiant, tad niekas apie konkretų Mac neįrašyta kietai, o nauja mašina atkuria išmatuotą aplinką.

M03

Patį serverio 27B suderinome ilgu A/B: mąstymo mažinimo etapas nukirto ~24-31% samprotavimo tokenų be išmatuojamo kokybės kritimo, o greitas ir protingas profiliai abu tarnauja iš vienos įkeltos svorių kopijos, tad profilio keitimas nekainuoja perkrovimo.

M04

Sąmoningai neperrašėme rantaimo kita kalba: išmatavome, kad Python dalis dekode tik ~1-3%, o licencijos auditas parodė, kad perrašymas neduoda ir teisinės naudos. Du viliojantys tupikai, atmesti įrodymais, ne prielaida.

M05

Šiluma pasirodė svarbi po ilgos apkrovos, tad ventiliatoriai atkuriami per demono lizdą, o ne programą žudančią CLI, o pataisytas skaičiavimo sluoksnis A/B palygintas su standartiniu ir paliktas, nes ~10-14% greitesnis.

04

Architektūra ir technologiniai sprendimai

Sukurta su MLX, Thunderbolt RDMA, Python.

Swift meniu juostos programa ir valdymo demonas (native Login Item, mazgų aptikimas, be SSH prode) valdo MLX tensorinį lygiagretumą per Thunderbolt RDMA; rank 0 tarnauja OpenAI suderinamą API, tarnavimas daugiamodalis (tekstas ir vaizdas), o hermetiniai mazgo savitestai ir greičio pariteto pakartojimai veikia kaip regresijos sargai su privačiu Python ir Swift CI.

05

Rezultatas ir pamokos

Pora dekoduoja ~85–100 tok/s (mediana ~95 greitai / ~86 giliai) prieš ~60–73 solo, ir tai vietoje maitina mūsų Pi kodavimo agentą su TTFT ~0,5 s.

Privatus, įrenginyje veikiantis 27B, dekoduojantis ~95 tok/s ir maitinantis mūsų Pi agentą su TTFT ~0,5s — be debesies, be mokesčio už tokeną, ir pora, kuri pati startuoja prisijungus. Esmė pasitvirtino: du Mac ant stalo, sujungti vienu laidu, jaučiasi kaip vienas greitesnis kompiuteris.

Toliau skaityti

Šie projektai turi artimų technologinių arba produkto sprendimų, todėl padeda matyti, kaip tas pats principas veikia kitame kontekste.

Turite panašią idėją?

Aptarti projektą