DeepSeek 為什么這么牛?幻方三大核心技術解密!
梁文峰說,我們缺的從來都不是錢,而是高端芯片。
幻方官網顯示,2022年,公司員工“一只平凡的小豬”一個人就向捐助了1.38億。你說,這是錢的事嗎?
為了突破卡脖子,幻方選擇了搞AI的另一條路:從軟件架構突破。理解了這個戰(zhàn)略方向,就不難理解幻方核心技術突破點了。
要搞AI,存儲,通信,計算三者缺一不可。
幻方的軟件架構優(yōu)化三大核心技術,正好與其一一對應。
- 存儲模塊,核心技術:3FS
- 通信模塊,核心技術:hfreduce
- 計算模塊,核心技術:hfai.nn
殺手锏一:3FS
(1) 3FS是什么?
一個用C++寫的高性能分布式文件系統(tǒng)。
(2) 幻方為什么要搞3FS?
AI訓練與推理的業(yè)務需求,傳統(tǒng)分布式文件系統(tǒng)已經難以滿足:
- 海量數據順序讀(語料輸入);
- 檢查點(分步驟重算);
- 順序寫(模型參數保存);
- 隨機讀(特征查詢);
任何脫離業(yè)務的架構設計都是耍流氓。既然已有的分布式文件系統(tǒng)無法滿足需求時,幻方就說,那我自己重寫一個。
(3) 重寫后的3FS有多牛逼?
- 讀:8T/s
- 寫:500G/s
- IO響應:18億次/s
- 集群使用率:96%
- GPU使用率:85%
這個項目已開源,感興趣的同學可在git查看細節(jié)。
殺手锏二:hfreduce
(1) hfreduce是什么?
一個高性能多卡并行通信工具。
本質上hfreduce相當于PyTorch中的DistributedDataParallel(DDP),只不過使用CPU做加法運算以計算總梯度,而不是調用其他的集體通信庫(CCL),傳遞梯度到不同的顯卡上,再各自計算總梯度。
(2) 幻方為什么要搞hfreduce?
還是那句話,任何脫離業(yè)務的架構設計都是耍流氓?;梅紸I之所以采用CPU來做加法運算,計算總梯度,是因為幻方的主要AI場景是金融行為分析、自然語言處理、生物分子結構預測等。
在這些場景中,基本是數據規(guī)模大而模型大小適中。換句話說,在A100顯卡40G的顯存中,完全可以裝得下一個完整的模型和批次樣本數據。因此,模型的加速主要是依賴大量的數據并行,讓盡可能多的顯卡參與訓練,再同步梯度。
(3) hfreduce達到什么效果?
如上圖所示,對比傳統(tǒng)通信方案,訓練速度提高了多少,不用我多說了吧。
殺手锏三:hfai.nn
(1) hfai.nn是什么?
幻方AI深度學習算子。
(2) 幻方為什么要搞hfai.nn?
深度學習框架的流行(如PyTorch,Tensorflow等)極大方便了我們研發(fā)設計各種各樣的AI模型,而在實際落地的環(huán)節(jié)中,模型代碼往往面臨著性能、準確度、資源等各種各樣的問題。
幻方自研了一系列AI基礎設施:3FS,hfreduce之后,同樣需要對Pytorch框架進行了深度優(yōu)化,結合自身集群特點與自身業(yè)務特點,對一些常用的AI算子重新研發(fā),提升效率,于是,就有了hfai.nn。
幻方按照PyTorch框架風格,在hfreduce的基礎上進行進一步封裝,使用方法和PyTorch的DDP基本相同,但性能與表現明顯比后者更好。
(3) hfai.nn達到什么效果?
最重要的三個算子:
①LSTM(長短期記憶網絡)
畫外音:記住重要的,忘記無關的,核心是根據重要性打分。
訓練性能提升8倍。
②Attention(注意力機制)
畫外音:動態(tài)關注當下最相關的,核心是QKV。
訓練性能提升40%+,推理性能提升30%+。
③LayerNorm(歸一化)
畫外音:把數據拉到均值0,方差1的標準范圍。
訓練性能提升88%。
總結
幻方軟件架構三大核心技術,對于幻方的發(fā)展,對于deepseek的發(fā)展,至關重要。在幻方的官網,在最顯眼的地方,是這么描述的:
思路,比結論更為重要。