電腦平板組AI集群,在家就能跑400B大模型,GitHub狂攬2.5K星?
不用H100,三臺(tái)蘋(píng)果電腦就能帶動(dòng)400B大模型。
背后的功臣,是GitHub上的一個(gè)開(kāi)源分布式AI推理框架,已經(jīng)斬獲了2.5k星標(biāo)。
利用這個(gè)框架,幾分鐘就能用iPhone、iPad等日常設(shè)備構(gòu)建出自己的AI算力集群。
這個(gè)框架名叫exo,不同于其他的分布式推理框架,它采用了p2p的連接方式,將設(shè)備接入網(wǎng)絡(luò)即可自動(dòng)加入集群。
開(kāi)發(fā)者使用exo框架連接了兩臺(tái)MacBook Pro和一臺(tái)Mac Studio,運(yùn)算速度達(dá)到了110TFLOPS。
同時(shí)這位開(kāi)發(fā)者表示,已經(jīng)準(zhǔn)備好迎接即將到來(lái)的Llama3-405B了。
exo官方也放話(huà)稱(chēng),將在第一時(shí)間(day 0)提供對(duì)Llama3-405B的支持。
而且不只是電腦,exo可以讓iPhone、iPad等設(shè)備也加入本地算力網(wǎng)絡(luò),甚至Apple Watch也同樣能夠吸納。
隨著版本的迭代,exo框架也不再是蘋(píng)果限定(起初只支持MLX),有人把安卓手機(jī)和4090顯卡也拉進(jìn)了集群。
最快60秒完成配置
與其他分布式推理框架不同,exo不使用master-worker架構(gòu),而是點(diǎn)對(duì)點(diǎn)(p2p)地將設(shè)備進(jìn)行連接。
只要設(shè)備連接到相同的局域網(wǎng),就可以自動(dòng)加入exo的算力網(wǎng)絡(luò),從而運(yùn)行模型。
在對(duì)模型進(jìn)行跨設(shè)備分割時(shí),exo支持不同的分區(qū)策略,默認(rèn)是環(huán)內(nèi)存加權(quán)分區(qū)。
這會(huì)在環(huán)中運(yùn)行推理,每個(gè)設(shè)備分別運(yùn)行多個(gè)模型層,具體數(shù)量與設(shè)備內(nèi)存成比例。
而且整個(gè)過(guò)程幾乎無(wú)需任何手動(dòng)配置,安裝并啟動(dòng)之后系統(tǒng)就會(huì)自動(dòng)連接局域網(wǎng)內(nèi)運(yùn)行的設(shè)備,未來(lái)還會(huì)支持藍(lán)牙連接。
在作者的一段視頻當(dāng)中,只用了60秒左右就在兩臺(tái)新的MacBook上完成了配置。
,時(shí)長(zhǎng)01:48
可以看到,在60秒左右時(shí),程序已然開(kāi)始在后臺(tái)運(yùn)行。
另外從上面這張圖中還能看出,exo還支持tiny chat圖形化界面,同時(shí)還有兼容OpenAI的API。
不過(guò),這樣的操作只能在集群中的尾節(jié)點(diǎn)(tail node)上實(shí)現(xiàn)。
目前,exo支持蘋(píng)果MLX框架和開(kāi)源機(jī)器學(xué)習(xí)框架tinygrad,對(duì)llama.cpp的適配工作也正在進(jìn)行。
美中不足的是,由于iOS實(shí)現(xiàn)更新跟不上Python,導(dǎo)致程序出現(xiàn)很多問(wèn)題,作者把exo的手機(jī)和iPad端進(jìn)行了暫時(shí)下線,如果確實(shí)想嘗試,可以給作者發(fā)郵件索取。
網(wǎng)友:真有那么好用?
這種利用本地設(shè)備運(yùn)行大模型的方式,在HakerNews上也引發(fā)了廣泛的討論。
本地化運(yùn)行的優(yōu)點(diǎn),一方面是隱私更有保障,另一方面是模型可以離線訪問(wèn),同時(shí)還支持個(gè)性化定制。
也有人指出,利用現(xiàn)有設(shè)備搭建集群進(jìn)行大模型運(yùn)算,長(zhǎng)期的使用成本要低于云端服務(wù)。
但針對(duì)exo這個(gè)具體的項(xiàng)目,也有不少人表達(dá)了心中的疑問(wèn)。
首先有網(wǎng)友指出,現(xiàn)有的舊設(shè)備算力水平無(wú)法與專(zhuān)業(yè)的服務(wù)商之間差了數(shù)量級(jí),如果是出于好奇玩一玩還可以,但想達(dá)到尖端性能,成本與大型平臺(tái)根本無(wú)法比較。
而且還有人表示,作者演示用的設(shè)備都是高端硬件,一個(gè)32GB內(nèi)存的Mac設(shè)備可能要價(jià)超過(guò)2000美元,這個(gè)價(jià)格還不如買(mǎi)兩塊3090。
他甚至認(rèn)為,既然涉及到了蘋(píng)果,那可以說(shuō)是和“便宜”基本上不怎么沾邊了。
這就引出了另一個(gè)問(wèn)題——exo框架都兼容哪些設(shè)備?難道只支持蘋(píng)果嗎?
網(wǎng)友的提問(wèn)則更加直接,開(kāi)門(mén)見(jiàn)山地問(wèn)支不支持樹(shù)莓派。
作者回復(fù)說(shuō),理論上可以,不過(guò)還沒(méi)測(cè)試,下一步會(huì)進(jìn)行嘗試。
除了設(shè)備自身的算力,有人還補(bǔ)充說(shuō),網(wǎng)絡(luò)傳輸?shù)乃俣绕款i,也會(huì)限制集群的性能。
對(duì)此,框架作者親自下場(chǎng)進(jìn)行了解釋?zhuān)?/p>
exo當(dāng)中需要傳輸?shù)氖切⌒图せ钕蛄?,而非整個(gè)模型權(quán)重。
對(duì)于Llama-3-8B模型,激活向量約為10KB;Llama-3-70B約為32KB。
本地網(wǎng)絡(luò)延遲通常很低(<5ms),不會(huì)顯著影響性能。
作者表示,目前該框架已經(jīng)支持tinygrad,因此雖然測(cè)試主要在Mac設(shè)備上展開(kāi),(理論上)支持能運(yùn)行tinygrad的所有設(shè)備。
目前該框架仍處于實(shí)驗(yàn)階段,未來(lái)的目標(biāo)是把這個(gè)框架變得像Dropbox(一款網(wǎng)盤(pán))一樣簡(jiǎn)單。
BTW,exo官方也列出了一些目前計(jì)劃解決的缺點(diǎn),并進(jìn)行了公開(kāi)懸賞,解決這些問(wèn)題的人將獲得100-500美元不等的獎(jiǎng)金。
GitHub:https://github.com/exo-explore/exo