宋顧楊的分享主題:《Ray: 大模型時代的AI計算基礎(chǔ)設(shè)施》。Ray 這個分布式計算引擎框架,可能很多人都沒有聽說過 Ray 這個框架,主要是原因作為一個基礎(chǔ)設(shè)施,Ray 往往不以產(chǎn)品的形態(tài)出現(xiàn),而是作為產(chǎn)品的支撐。
如果來說一些基于 Ray 來支撐的一些產(chǎn)品,大家肯定就耳熟能詳了,比如:OpenAI,OpenAI 在今年揭露了一些他們的 GPT 系列產(chǎn)品底層訓(xùn)練所使用到的分布式計算框架,其中 Ray 框架就被他們重點指出了其所發(fā)揮的作用。
1. Ray 的演進(jìn)
Ray 從誕生之初,其實是作為一款強(qiáng)化學(xué)習(xí)方面的框架被創(chuàng)造出來,隨著時代的不斷變化,Ray 也被加入了更多的功能,其定位也在慢慢發(fā)生改變,先來看一下 Ray 的發(fā)展歷程:
從誕生到現(xiàn)在,Ray 經(jīng)歷了七年的發(fā)展,從一開始的強(qiáng)化學(xué)習(xí)方向到現(xiàn)在的AI方向,Ray 的團(tuán)隊及其開源社區(qū)也做了很多的努力,其中宋顧楊所在的螞蟻集團(tuán)從 2017 年就開始采用 Ray 框架作為支撐,并為 Ray 內(nèi)核貢獻(xiàn)了超過 26% 的代碼,所以 Ray 框架其實在螞蟻的各個場景內(nèi)都有涉及,并且螞蟻集團(tuán)也為其發(fā)展也貢獻(xiàn)了不小的力量:
到目前為止,Ray 的定位就是一款面向 AI 的新一代 AI 計算框架,同時也是一款通用分布式計算框架。
Ray 在計算系統(tǒng)中解決的核心問題可以用一張圖來概括:
對于任何一個分布式系統(tǒng)研發(fā)團(tuán)隊來講,他們會面臨一些很重復(fù)的問題,就是上圖右邊的這些問題,這些問題會耗費整個研發(fā)團(tuán)隊很多不必要的經(jīng)歷,Ray 來解決的就是這么一個問題,讓研發(fā)團(tuán)隊更專注于自身的業(yè)務(wù)系統(tǒng)上而非通用問題上。
2. Ray 核心能力
通過上面分享人給的例子圖,可以看出 Ray 對于整個計算任務(wù)有很強(qiáng)的優(yōu)化,無論是從效率還是功能上,都遠(yuǎn)遠(yuǎn)超過傳統(tǒng)的云原生計算方式。
Ray 能有這么大的提高,離不開它的一些核心設(shè)計點:
1. 不綁定計算模式:把單機(jī)編程中的基本概念分布式化。
2. 無狀態(tài)計算單元:通過簡單的注解就可以讓一個本地方法放到遠(yuǎn)程機(jī)器上執(zhí)行。
3. 有狀態(tài)的計算單元:輕松將一個本地類部署到遠(yuǎn)程機(jī)器上,類serverless。
4. 分布式 Object:多節(jié)點之前 Object 傳輸,自動垃圾回收。
5. 多語言和跨語言:Ray 支持 Java、Python、C++,并且可以做跨語言調(diào)用。
6. 資源調(diào)度:注解聲明式任務(wù)需要分配的資源,比如 CPU,是否同一節(jié)點。
7. 自動故障恢復(fù):Ray 所有組件都具有自動恢復(fù)功能,用戶無需關(guān)心其底層細(xì)節(jié),聲明其實現(xiàn)即可。
8. 運行時環(huán)境依賴:針對不同的任務(wù)可以直接聲明不同的運行環(huán)境,比如需要一個帶 tensorflow 的 python 環(huán)境。
9. 運維:完善的運維與監(jiān)控功能與可視化頁面。
雖然實現(xiàn)了這么多強(qiáng)大的功能,Ray 的架構(gòu)卻是非常的簡潔高效:
具體想要了解具體 Ray 的架構(gòu)協(xié)作方式可以參考他們的官方文檔,在這里就不多做闡述了。
3. Ray 的開源生態(tài)與案例
上圖就是 Ray 支持的 AI 生態(tài)的全景圖,幾乎涵蓋了市面上所有主流框架,也就是說,在 Ray 里面可以很方便的上面這些框架做集成。
通過這些框架集成,Ray 也可以將整個AI pipeline執(zhí)行過程串聯(lián)成以下四個大步驟:
Data -> train -> tune -> serve,這四步涵蓋了所有分布式訓(xùn)練的主要功能:
1. 數(shù)據(jù)預(yù)處理。
2. 深度學(xué)習(xí)。
3. 深度調(diào)優(yōu)。
4. 在線推理。
在 Ray 中,你可以通過短短百行代碼完成以上所有步驟。
在開源大模型訓(xùn)練方面,也有許多大型項目在使用 Ray:
在企業(yè)級應(yīng)用方面,大家最耳熟能詳?shù)膽?yīng)該就是 ChatGPT-4了:
除了 OpenAI 之外,還有許多來自全球各地的公司在深度使用 Ray:
最后,如果大家對 Ray 這個框架感興趣,可以去其官網(wǎng)了解關(guān)于它的更多內(nèi)容~
關(guān)于掘力計劃
掘力計劃由稀土掘金技術(shù)社區(qū)發(fā)起,致力于打造一個高品質(zhì)的技術(shù)分享和交流的系列品牌。聚集國內(nèi)外頂尖的技術(shù)專家、開發(fā)者和實踐者,通過線下沙龍、閉門會、公開課等多種形式分享最前沿的技術(shù)動態(tài)。