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