在替代產(chǎn)品出現(xiàn)之前,業(yè)界有兩種思路解決此問題,一是重提NVDIMM(非易失內(nèi)存模組)的路線,二是回歸DRAM+SSD并重新設(shè)計軟硬件架構(gòu),兩者都非一蹴而就的簡單工作。從硬件上看,NVDIMM-P/NVDIMM-H 都屬于SCM,傲騰和NVDIMM-P設(shè)計也有相似之處,應(yīng)該有所參照。但NVDIMM使用了DRAM,導(dǎo)致成本高昂,產(chǎn)品競爭力上有先天短板。其次如果回歸DRAM+SSD方案,緩存機制和數(shù)據(jù)不丟失方案都需要重構(gòu),需要承擔時間和產(chǎn)品成熟度風險。
3.存算一體
嚴格來說,存算一體技術(shù)所依賴的可編程SSD不能歸類到介質(zhì),但可以認為和介質(zhì)綁定非常緊密。最近這幾年,兩種有趣的相反思路都同時存在:首先,存算一體/可計算存儲/可編程SSD,都是“ offload”思路:把原本由主機側(cè)負責的部分數(shù)據(jù)處理的計算負載主動卸載到存儲端(包括智能網(wǎng)卡也都是如此),通過在靠近存儲介質(zhì)的地方加個ARM CPU或者干脆是FPGA來提供計算能力,也就是所謂的讓計算靠近數(shù)據(jù)。它能完成的計算包括數(shù)據(jù)壓縮,視頻編解碼,加解密等等IO密集型應(yīng)用所需功能,目前在這個方向有很多參與者,是一個熱點。
另一種思路是把本來緊密集成在SSD介質(zhì)側(cè)的管控能力提到主機側(cè)來處理,例子就是前兩年業(yè)界廣泛討論的open channel SSD。原本是固化到FLASH主控芯片的功能,開放接口給主機側(cè),讓主機側(cè)根據(jù)自身應(yīng)用負載特點,通過軟件算法調(diào)整實現(xiàn)優(yōu)化。實質(zhì)上是把存儲固件FTL的工作提到上層來完成,這樣系統(tǒng)能夠了解底層的情況,可以做文件系統(tǒng)軟件和介質(zhì)硬件的協(xié)同設(shè)計,用各種辦法提高性能。這和前一種Offload思路形成了有趣的對照。
4.DNA存儲個人興趣而言,我覺得真正有意思的介質(zhì)是DNA存儲,它屬于生物技術(shù)與信息技術(shù)的跨學(xué)科結(jié)合,BT+IT。迄今為止,所有的電子信息技術(shù)和產(chǎn)業(yè)都是基于物理學(xué),能帶理論催生了半導(dǎo)體的發(fā)現(xiàn)。而DNA的堿基對序列能夠儲存遺傳信息則是生物學(xué)的范疇,完全不同的學(xué)科。高中生物已經(jīng)教過DNA的雙螺旋結(jié)構(gòu)和ATCG四種嘌呤和嘧啶,用ACTG 分別代表二進制數(shù)據(jù)00 01 10 11,就能夠?qū)崿F(xiàn)數(shù)據(jù)的存儲,DNA編碼合成技術(shù)能實現(xiàn)數(shù)據(jù)寫入,而DNA測序技術(shù)就能實現(xiàn)數(shù)據(jù)的讀取。
DNA存儲有幾個突出特點,首先是存儲密度大,單位體積能夠存儲的數(shù)據(jù)量比閃存大三個數(shù)量級(1000倍)。MIT的生物工程學(xué)教授Mark Bathe有一個著名觀點,“The world in a mug”:使用DNA存儲技術(shù),一個咖啡杯就可以放得下全世界175ZB的數(shù)據(jù)。
其次是保存時間長和保存成本低,磁盤和閃存的有限保存時間通常是十年或幾十年以內(nèi),但DNA存儲的保存時間至少是百年以上,如果保存得當,千年和萬年也是有可能的,畢竟從萬年前的琥珀里提取飛蟲基因的故事大家也都聽過了,更夸張的是Nature上的一篇論文提到能提取凍土中120萬年猛犸象的遺傳物質(zhì)并對其DNA進行了解析。
但是DNA存儲最大的問題是讀速度慢和寫成本高,合成1MB數(shù)據(jù)的成本可能超過10萬美元;而高速測序技術(shù)雖然也叫高速,但和存儲行業(yè)的高速不可同日而語。
DNA存儲的整體研究最近兩年有些進展,但還未產(chǎn)生重大突破,21年底22年初,微軟+華盛頓大學(xué)發(fā)了新論文,實現(xiàn)并發(fā)讀寫方法;東南大學(xué)使用電化學(xué)方法加速合成(寫)和測序(讀);22年9月,天津大學(xué)團隊用BT+IT的完美結(jié)合,解決了常溫保存后DNA斷裂錯誤問題。利用生物科學(xué)的序列重建算法和信息存儲技術(shù)的噴泉碼(糾刪碼的一種),事先存儲于DNA中的敦煌壁畫得到了完美數(shù)據(jù)恢復(fù)。他們之前還利用酵母繁殖實現(xiàn)數(shù)據(jù)生物復(fù)制,非常有意思。
另外,國外微軟西數(shù)牽頭的DNA數(shù)據(jù)存儲產(chǎn)業(yè)聯(lián)盟去年發(fā)布了白皮書;國內(nèi)華大基因和中科院深圳先進技術(shù)研究院等聯(lián)合一些單位在22年7月份發(fā)布了《DNA存儲藍皮書》也提出組建 DNA數(shù)據(jù)存儲產(chǎn)學(xué)聯(lián)盟。
5. 存儲極致高性能
極致高性能的獲得不是一件容易的事,它關(guān)系到整個數(shù)據(jù)鏈路的所有環(huán)節(jié),介質(zhì)、接口、協(xié)議、各層級的緩存機制設(shè)計和彼此配合都有關(guān)系,僅在一兩個環(huán)節(jié)做局部升級和優(yōu)化,有時候并不能獲得如預(yù)期般的理想結(jié)果,性能瓶頸永遠是一個狡猾的動態(tài)漂移者,需要全局視野和細致實踐才能有所掌握。
衡量存儲性能無非是帶寬,IOps和時延,以及性能的穩(wěn)定輸出范圍QoS,峰值再高,忽上忽下的性能表現(xiàn)肯定也是無法接受的。
從介質(zhì)上看,F(xiàn)lash,SCM, DRAM都可能出現(xiàn)在數(shù)據(jù)路徑上,搭配相應(yīng)的緩存機制來提高性能絕對值,從接口上看,過去的PCIe4.0時代,M.2 和U.2使用PCIex4,順序讀帶寬可以達到7GBps以上,而4k IOPS可以到100~160萬;(另外插卡式的存儲直接使用PCIe接口,支持X8和X16,理論帶寬能超過20GBp)?,F(xiàn)在的PCIe5.0時代,新接口E1.S/E1.L和E3.S/E3.L不僅帶來容量的提升,更因為支持PCIe5.0 X8和X16,能夠獲得翻倍的帶寬性能;而未來PCIe6.0到來時,由于通道帶寬再次翻倍到128GBps,新接口應(yīng)該需要更多考慮如何發(fā)揮出這一前所未有的通道性能。
至于協(xié)議方面,NVMe協(xié)議已經(jīng)被廣泛采用,NVMe-oF中的NVMe/RDMA(IB)對極致性能的達成有一定研究價值,而RoCE協(xié)議可能在時延上有較難克服的問題,更適合向下走性價比方案路線。近期業(yè)界真正廣泛關(guān)注的可能是CXL3.0協(xié)議,通過cxl.io cxl.mem cxl.cache三個子協(xié)議模塊,它實現(xiàn)了主機直接訪問外設(shè)內(nèi)存和外設(shè)直接訪問主機內(nèi)存的雙向訪問和系統(tǒng)內(nèi)存擴展,同時提供了內(nèi)存級的互聯(lián)能力。在2023年8月美國閃存峰會(FMS)上,一家韓國廠商利CXL池化內(nèi)存,展現(xiàn)了3.32倍優(yōu)于傳統(tǒng)RDMA方案的應(yīng)用性能。在存儲極致性能的研究方面,CXL是一個非常值得關(guān)注的協(xié)議。
然我們分開討論了介質(zhì),接口,協(xié)議的新發(fā)展,但要實現(xiàn)存儲系統(tǒng)的極致高性能,必須統(tǒng)一起來考慮,摸索高速網(wǎng)絡(luò)和新介質(zhì)新協(xié)議的協(xié)同設(shè)計,在每一個具體系統(tǒng)中實現(xiàn)各層級的匹配,才能充分發(fā)揮出性能潛力。
6. 分布式在做什么?
分布式存儲一直是我長期關(guān)注和研究的方向,近兩年分布式全閃和和全介質(zhì)覆蓋的高端分布式存儲呈現(xiàn)出非常明顯上升勢頭,在數(shù)據(jù)中心級別和高性能計算應(yīng)用中有很好的表現(xiàn),高性能海量小文件和混合數(shù)據(jù)的需求都兼有出現(xiàn),同時,還看見一些集中式存儲的高級功能例如重刪也有對應(yīng)“分布式重刪”的實現(xiàn)。一些面向行業(yè)如金融的分布式索引和檢索的增強特色功能也被引入。
今年我還注意到在底層數(shù)據(jù)的容錯技術(shù)中,LDPC – 前向糾錯碼( Error Correcting Code)的出現(xiàn),它原本主要用于通信、視頻音頻編碼中,相比已經(jīng)熟悉的EC糾刪碼典型的Reed-Solomon編碼,LDPC帶來了更好的編解碼性能。主要原因是核心編解碼算法中采用稀疏編碼矩陣,僅使用異或操作,以微小的解碼失效可能性換得編解碼時間的降低,是一個大膽的技術(shù)選擇。
另外,分布式融合存儲的概念也在今年正式推出,也有的廠商叫分布式智能融合存儲,“融合”這個詞又一次出現(xiàn)在分布式存儲產(chǎn)品中。定義上,主要是有三點,介質(zhì)融合通過預(yù)設(shè)的可擴展分級存儲機制,支持已有和未來各類介質(zhì),從HDD到SCM;廣泛支持各種存儲協(xié)議和大數(shù)據(jù)協(xié)議實現(xiàn)存儲服務(wù)的融合;通過多協(xié)議互通技術(shù)和數(shù)底層據(jù)統(tǒng)一管理技術(shù)實現(xiàn)數(shù)據(jù)融合,不同的應(yīng)用通過不同的協(xié)議可以訪問同一份數(shù)據(jù),真正實現(xiàn)統(tǒng)一資源池。服務(wù)融合、數(shù)據(jù)融合加介質(zhì)融合形成了分布式融合存儲,是一個值得關(guān)注的產(chǎn)品理念,里面更多的還是產(chǎn)品化和工程化的挑戰(zhàn)。
談完存儲,我們再看看AI和存儲的碰撞。
7. 大模型的基礎(chǔ)設(shè)施需求
對存儲系統(tǒng)來說,生成式AI也是一種應(yīng)用,那么弄清楚大模型這類應(yīng)用機制和真正的需求是非常重要的。
目前這個階段,大模型真正的剛需是什么?毫無疑問,所有的競爭者都在盯一件事,如何能夠盡快完成GPU集群的組建部署。如我們在前文所分析,由于產(chǎn)能,政策等原因,NVidia最適合大模型應(yīng)用的高端產(chǎn)品H100和A100出現(xiàn)了市場短缺和購買困難。AI大模型的算力需求增長達到了每兩三個月翻一倍的程度,阿里云的一位架構(gòu)師給出每兩年275倍的估算。面對如此旺盛的需求,NVidia的股價也突破500美元創(chuàng)了新高。除了購買,集群的使用成本也不低,都以小時計;對于如此寶貴的計算資源,盡量提高利用率是第一考慮因素,業(yè)界的頭部參與者都在算法上想了不少辦法,譬如提高計算并行度,避免bubble帶來的GPU空轉(zhuǎn)現(xiàn)象等。
無米之炊難為,對于大模型來說,算力是第一優(yōu)先級,其次是超高速網(wǎng)絡(luò);因為本質(zhì)上,當前的生成式AI是一個非常典型的計算密集型應(yīng)用,這和傳統(tǒng)的科學(xué)計算及高性能計算(HPC)非常相似。按照之前的HPC經(jīng)驗,搭建這樣的IT基礎(chǔ)設(shè)施,算力和高速網(wǎng)絡(luò)是最需要解決也最麻煩的問題,我們發(fā)現(xiàn)在大模型應(yīng)用里同樣如此,9成的精力和預(yù)算都用于解決以上兩個問題,上萬張H100/A100卡如何用IB網(wǎng)實現(xiàn)高速互聯(lián),是非常頭疼的問題。
同時,由于前文所述的“寬度計算”架構(gòu),事實上內(nèi)存也成為函待解決的高優(yōu)先級問題。Transform架構(gòu)的萬億參數(shù),梯度都需要放在最快的介質(zhì)里,利用HBM(高帶寬內(nèi)存)來構(gòu)建的緩存(顯存)顯然是不夠的,因此業(yè)界對于GPU的帶外緩存技術(shù)也已經(jīng)推進一段時間,如果按照速度和時延的優(yōu)先級排序,緩存->DRAM->NVMe外設(shè)來看,AI業(yè)界最頭部的一批參與者的關(guān)注點還集中在前兩級,存儲的關(guān)注優(yōu)先級明顯不太高。
最后,即使這一系列基礎(chǔ)設(shè)施的供應(yīng)和技術(shù)問題都已經(jīng)解決,找到合適的數(shù)據(jù)中心資源進行部署也不是太容易的事情,GPU的能耗遠大于CPU,例如Dell、H3C的AI服務(wù)器都已經(jīng)采用2400W甚至是3000W的電源,功耗遠大于普通服務(wù)器,現(xiàn)在市場上大量的IDC還有不少說標準4KW機柜,即使是6KW機柜也很難滿足AI基礎(chǔ)設(shè)施部署的要求,這也是要面對的實際問題。
8. 大模型的數(shù)據(jù)量和存儲需求
真實的大模型訓(xùn)練數(shù)據(jù)量其實并不驚人,從GPT的5GB到GPT3的570GB訓(xùn)練數(shù)據(jù),總量都在一個不大的范圍。公開資料顯示,浪潮的源1.0大模型收集了幾乎整個中文互聯(lián)網(wǎng)的數(shù)據(jù)集用于訓(xùn)練,總數(shù)據(jù)量也不過在5TB上下;如果按照7月份GPT-4的最新分析材料透露,使用了13萬億個token進行訓(xùn)練,以每token4字節(jié)計算,整個訓(xùn)練數(shù)據(jù)集也不過是53TB左右。對于如今的存儲行業(yè)來說,53TB真的不算一個巨大的容量需求,一臺高端全閃存儲設(shè)備通常就可以提供50~100TB的容量空間,混閃和中端存儲能夠提供的容量就更大,數(shù)量級的差別。
然而,在開始訓(xùn)練之前,數(shù)據(jù)集需要經(jīng)過收集和清洗兩個預(yù)備動作。
以GPT-3為例,訓(xùn)練原始數(shù)據(jù)來自于網(wǎng)絡(luò)爬蟲工具CommonCrawl所獲得的45TB的互聯(lián)網(wǎng)公開數(shù)據(jù),約包含了1萬億Token;當完成了數(shù)據(jù)清洗工作,數(shù)據(jù)量縮減了80倍到570GB,而Token數(shù)也減少到約40%,4100億。在這個數(shù)據(jù)歸集和清洗的準備階段,對于存儲容量和并發(fā)訪問需求還是客觀存在的,基本上還是前些年大數(shù)據(jù)應(yīng)用和數(shù)據(jù)湖之類的典型需求。
另外,由于直到GPT-4都未能在訓(xùn)練階段就啟用多模態(tài)數(shù)據(jù)集,在生成式AI領(lǐng)域,非結(jié)構(gòu)化數(shù)據(jù)的爆發(fā)式增長還未真正廣泛到來,這可能在未來的半年到一年內(nèi)有巨大的改變。
9. 大模型與存儲相關(guān)的機制
前文我們已經(jīng)討論過,大模型應(yīng)用最主要的是訓(xùn)練和推理兩個階段,進入訓(xùn)練階段,大模型運作機制里有兩個點和存儲緊密相關(guān)。
首先是訓(xùn)練數(shù)據(jù)集的初次加載。嚴重膨脹的大模型的訓(xùn)練集群通常規(guī)??捎^,而神經(jīng)網(wǎng)絡(luò)的工作機制要求把所有數(shù)據(jù)都加載后才能開動,這個過程中數(shù)據(jù)集有一個類似數(shù)據(jù)庫sharding的動作,對存儲產(chǎn)生了大量的并發(fā)讀寫請求,目前大模型對存儲主流的訪問模式還是通過文件接口協(xié)議,經(jīng)過清洗的數(shù)據(jù)集里是海量的小文件為主,這種情況下,NAS存儲的并發(fā)性能包括元數(shù)據(jù)性能都會遭受考驗。
第二個機制是訓(xùn)練過程長達數(shù)周數(shù)月且過程中經(jīng)常出錯,不得以的AI工程師早已經(jīng)提出了應(yīng)對方法Checkpoint,這個機制其實是一個被動的應(yīng)對,假設(shè)每隔8小時就可能出一次錯,那么就設(shè)置6小時為單位的Checkpoint,每隔6小時就把中間狀態(tài)數(shù)據(jù)全備份一次,下次錯誤發(fā)生時就回滾到最近的一個checkpoint狀態(tài)再次開始即可。這個我稱之為土法備份,把AI工程師逼的連備份軟件都設(shè)計得七七八八了。
天量參數(shù)是大模型的特色,這些中間態(tài)數(shù)據(jù)也非常巨大,假設(shè)放回到提供最初訓(xùn)練數(shù)據(jù)集的集中存儲或是分布式存儲里,讀寫過程可能很慢,會像第一次數(shù)據(jù)加載那樣持續(xù)十幾個小時或者更長時間,這會帶來問題:“備份沒做完,生產(chǎn)系統(tǒng)崩潰了“。因此,比較土豪的方案是直接在訓(xùn)練集群的節(jié)點上插個五六七八塊NVME SSD,把Checkpoint的數(shù)據(jù)直接本地緩存下去就行了。沒有了網(wǎng)絡(luò)和并發(fā)IO的種種困擾,“備份”和“恢復(fù)”的速度都飛快,就是成本高些。
相比訓(xùn)練過程的存儲需求,推理階段的難度基本上可以忽略不計,在推理階段,由于模型已經(jīng)完成了訓(xùn)練和微調(diào),大部分的工作負載都是在做計算,或許會獲取一些新數(shù)據(jù)例如來自用戶的輸入,也會產(chǎn)生推理結(jié)果的數(shù)據(jù),但是數(shù)據(jù)量就是一個普通應(yīng)用的水平,沒有不同以往的巨大挑戰(zhàn)。
還有一些大模型應(yīng)用希望延續(xù)這個持續(xù)優(yōu)化的過程,上線以后,仍然不斷根據(jù)真實用戶反饋再做調(diào)優(yōu),那也可能涉及到反饋數(shù)據(jù)的處理和不同階段數(shù)據(jù)歸檔等全生命周期管理的內(nèi)容,也可能涉及存儲需求,但目前還沒太多真正接觸到,而且從技術(shù)上分析都屬于常規(guī)應(yīng)用需求,當前各種存儲系統(tǒng)是能夠輕松應(yīng)對的。
10. 從存儲視角的AI總結(jié)
無可否認,除了Nvidia這個最大受益者,這一輪生成式AI推動了所有IT產(chǎn)業(yè)鏈的需求增長,大大小小的廠商都在慶賀大模型帶來的新訂單。按照一位資深行業(yè)戰(zhàn)略專家的說法,從全球2萬億美金的IT市場規(guī)模大盤來看,存儲只占個位數(shù)的百分比,是其中比較少的部分;從AI應(yīng)用視角來看,無論是資源緊缺程度,亟待解決的技術(shù)緊迫度和預(yù)算占比,存儲尤其是外部存儲現(xiàn)在都不在優(yōu)先考慮范疇。但對于存儲行業(yè)來說,雖然只是眾多需要支持的應(yīng)用中的一種,但生成式AI應(yīng)用的未來增長前景是值得優(yōu)先關(guān)注的。
在當前階段,生成式AI的存儲需求首先是高性能低延時,但這個需求并不難滿足,按照Nvidia的官方建議性能帶寬達到讀40GB寫20GB即可,它的推薦計算節(jié)點配置里,也只有兩個40GB的InfiniBand端口,考慮組網(wǎng)冗余,能跑滿一個端口帶寬即可。如果能夠充分發(fā)揮閃存的性能,百萬級的IOps相信也已經(jīng)能夠滿足生成式AI的需求。
第二個需求是并發(fā)訪問能力和數(shù)據(jù)共享,但也僅在訓(xùn)練數(shù)據(jù)加載時有強烈需求,另外如果以向量數(shù)據(jù)庫作為數(shù)據(jù)存儲的方案,那么對存儲的需求又再簡化到了性能可靠性等傳統(tǒng)需求。
最后是一些待研究探討的高級功能,例如NVidia CUDA中的GDS支持,可以讓GPU跳過CPU直接訪問存儲,提高性能和響應(yīng)。另外就是前面討論過AI工程師們用工程化方法實現(xiàn)的一些存儲功能替代,checkpoint等等,是否能夠轉(zhuǎn)由存儲系統(tǒng)更專業(yè)的實現(xiàn)方式,Offload到存儲層完成,這都是有意思的研究方向。
除外,生成式AI的行業(yè)當前還有絕對數(shù)據(jù)量不大和成本不敏感的特點,綜合以上,現(xiàn)在的新NVme SSD和高性能分布式全閃的文件存儲兩種存儲產(chǎn)品是比較適合的,實踐中也大多如此。
總的來看,AI應(yīng)用的特點是發(fā)展非常迅速,且時不時就有引爆點,“大模型”方興未艾,“AI智能體”的新概念業(yè)已提上臺面,新公司Imbue產(chǎn)品還沒有做,已經(jīng)從NVidia獲得兩億美金風投和1萬張H100,估值高達10億美金,革命性的技術(shù)迭代一個接一個。2023年,通用大模型的全球化競爭仍然非常激烈,領(lǐng)頭羊集團時不時就有開源動作,按照投資行業(yè)的觀點,每一次都可能會帶來重新洗牌。國內(nèi)垂直行業(yè)大模型的百模大戰(zhàn)也如火如荼,對相關(guān)技術(shù)產(chǎn)品方案人才的需求都非常巨大,在終局未了之前,起碼會有一個窗口期,值得存儲行業(yè)好好把握。