DeepSeek第五彈炸裂收官!開源全新并行文件系統(tǒng),榨干SSD全部帶寬
DeepSeek開源周,今日正式收官!
內(nèi)容依舊驚喜且重磅,直接公開了V3和R1訓(xùn)練推理過程中用到的文件系統(tǒng)。
具體來說,包括以下兩項(xiàng)內(nèi)容:
- Fire-Flyer文件系統(tǒng)(簡(jiǎn)稱3FS,第三個(gè)F代表File),一種利用現(xiàn)代SSD和RDMA網(wǎng)絡(luò)的全部帶寬的并行文件系統(tǒng);
- Smallpond,基于3FS和DuckDB構(gòu)建的輕量級(jí)數(shù)據(jù)處理框架。
圖片
劃重點(diǎn)就是,3FS可以把固態(tài)硬盤的帶寬性能利用到極致,表現(xiàn)出了驚人的速度:
- 180節(jié)點(diǎn)集群中的聚合讀取吞吐量為6.6TB/s;
- 25節(jié)點(diǎn)集群中GraySort基準(zhǔn)測(cè)試的吞吐量為3.66TB/分鐘;
- 每個(gè)客戶端節(jié)點(diǎn)的KVCache查找峰值吞吐量超過40GB/s。
V3和R1中訓(xùn)練數(shù)據(jù)預(yù)處理、數(shù)據(jù)集加載、嵌入向量搜索和KV Cache查找等工作,3FS都立下了汗馬功勞。
網(wǎng)友們表示,3FS和Smallpond為AI數(shù)據(jù)處理設(shè)定了新基準(zhǔn),將改變數(shù)據(jù)處理的游戲規(guī)則。
對(duì)于AI來說,這就像從自行車升級(jí)到了高鐵。
圖片
將SSD和RDMA性能榨干
根據(jù)DeepSeek團(tuán)隊(duì)介紹,3FS是一種高性能的分布式文件系統(tǒng),面對(duì)的就是AI訓(xùn)練和推理工作負(fù)載的挑戰(zhàn)。
它利用現(xiàn)代SSD和RDMA網(wǎng)絡(luò)來提供共享存儲(chǔ)層,從而簡(jiǎn)化分布式應(yīng)用程序的開發(fā)。
SSD就是固態(tài)硬盤,而RDMA(遠(yuǎn)程直接訪問,remote direct memory access)是一種直接存儲(chǔ)器訪問技術(shù)。
它可以在沒有雙方操作系統(tǒng)介入的情況下,將數(shù)據(jù)直接從一臺(tái)計(jì)算機(jī)的內(nèi)存?zhèn)鬏數(shù)搅硪慌_(tái)計(jì)算機(jī),也不需要中央處理器、CPU緩存或上下文交換參與。
特點(diǎn)就是高通量、低延遲,尤其適合在大規(guī)模并行計(jì)算機(jī)集群中使用。
具體到3FS,具有以下特點(diǎn):
- 分布式架構(gòu):結(jié)合了數(shù)千個(gè)SSD的吞吐量和數(shù)百個(gè)存儲(chǔ)節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬,使應(yīng)用程序能夠以不受位置影響的方式訪問存儲(chǔ)資源。
- 強(qiáng)一致性實(shí)現(xiàn)帶:分配查詢的鏈?zhǔn)綇?fù)制 (CRAQ) 以實(shí)現(xiàn)強(qiáng)一致性,使應(yīng)用程序代碼簡(jiǎn)單易懂。
- 文件接口:文件接口眾所周知且隨處可用,無需學(xué)習(xí)新的存儲(chǔ) API。
并且,3FS能夠適用于大模型訓(xùn)練推理和過程中不同類型的應(yīng)用負(fù)載:
- 數(shù)據(jù)準(zhǔn)備:將數(shù)據(jù)分析pipeline的輸出重組成分層目錄結(jié)構(gòu),并有效管理大量中間輸出。
- 數(shù)據(jù)加載器:通過跨計(jì)算節(jié)點(diǎn)隨機(jī)訪問訓(xùn)練樣本,消除了預(yù)取或混洗數(shù)據(jù)集的需要。
- Checkpoints:支持大規(guī)模訓(xùn)練的高吞吐量并行Checkpoints。
- 用于推理的KV緩存:為基于DRAM的緩存提供了一種經(jīng)濟(jì)高效的替代方案,可提供高吞吐量和更大的容量。
在大型3FS集群上的讀取測(cè)試中,實(shí)現(xiàn)了驚人的高吞吐量。
該集群由180個(gè)存儲(chǔ)節(jié)點(diǎn)組成,每個(gè)存儲(chǔ)節(jié)點(diǎn)配備2×200Gbps InfiniBand網(wǎng)卡和16個(gè)14TB NVMe SSD。
大約500+個(gè)客戶端節(jié)點(diǎn)用于讀壓測(cè),每個(gè)客戶端節(jié)點(diǎn)配置1x200Gbps InfiniBand網(wǎng)卡。
在訓(xùn)練作業(yè)的背景流量下,最終聚合讀吞吐達(dá)到約6.6TB/s。
圖片
DeepSeek還用GraySort基準(zhǔn)測(cè)試評(píng)估了基于3FS構(gòu)建的smallpond框架,該基準(zhǔn)測(cè)試可測(cè)量大規(guī)模數(shù)據(jù)集的排序性能。
測(cè)試分為兩個(gè)階段,先用鍵的前綴位通過shuffle對(duì)數(shù)據(jù)進(jìn)行分區(qū),然后進(jìn)行分區(qū)內(nèi)排序。兩個(gè)階段既需要從3FS讀取,也需要向3FS寫入數(shù)據(jù)。
測(cè)試集群包含25個(gè)存儲(chǔ)節(jié)點(diǎn)(2個(gè)NUMA域/節(jié)點(diǎn)、1個(gè)存儲(chǔ)服務(wù)/NUMA、2×400Gbps NIC/節(jié)點(diǎn))和50個(gè)計(jì)算節(jié)點(diǎn)(2個(gè)NUMA域、192個(gè)物理核心、2.2 TB RAM 和1×200 Gbps NIC/節(jié)點(diǎn))。
最終對(duì)8192個(gè)分區(qū)中110.5TB數(shù)據(jù)進(jìn)行排序,耗時(shí)30分14秒,平均吞吐量為3.66TB/分鐘。
圖片
另外,KV緩存客戶端的讀取吞吐量,峰值也達(dá)到了40GB/s。
圖片
One More Thing
回顧DeepSeek這五天開源的內(nèi)容,幾乎都和AI Infra相關(guān):
- 第一天,FlashMLA架構(gòu),DeepSeek獨(dú)創(chuàng)MLA架構(gòu)的高性能版本,直接突破H800計(jì)算上限;
- 第二天,DeepEP, 第一個(gè)用于MoE模型訓(xùn)練和推理的開源EP通信庫(kù),提供高吞吐量和低延遲的all-to-all GPU內(nèi)核;
- 第三天,DeepGEMM,一個(gè)通用矩陣乘法庫(kù),僅300行代碼,是V3/R1訓(xùn)練推理關(guān)鍵秘籍;
- 第四天,連開三源,創(chuàng)新的雙向流水線并行算法DualPipe、用于MoE的負(fù)載均衡算法EPLB,以及訓(xùn)練和推理框架的性能分析數(shù)據(jù);
- 第五天,3FS和Smallpond,高效的分布式文件系統(tǒng)和以之為基礎(chǔ)的數(shù)據(jù)處理框架。
并且主打的就是極度壓縮成本,降低消耗的同時(shí)將各種硬件的性能全部發(fā)揮到極致。
而另外一邊,有網(wǎng)友已經(jīng)在期待V4和R2的上線了。
圖片
至此,DeepSeek開源周的連載也要告一段落了,但DeepSeek后續(xù)動(dòng)作依然值得持續(xù)關(guān)注。
項(xiàng)目地址:https://github.com/deepseek-ai/3FS