可省近90%服務(wù)器,反欺詐效率卻大增,PayPal打破「AI內(nèi)存墻」的方案為何如此劃算?
內(nèi)存不夠只能割肉買 DRAM?英特爾:很多時候大可不必。
人們常說,新一代的人工智能浪潮是由數(shù)據(jù)、算法和算力來驅(qū)動的。最近幾年模型參數(shù)的爆炸式增長更是讓大家看到了算力的基礎(chǔ)性作用。
為了配合企業(yè)用戶對于算力的強(qiáng)烈需求,當(dāng)前的很多 AI 硬件(比如 GPU)都鉚足了勁兒地提高峰值算力,但這種提升通常以簡化或者刪除其他部分(例如內(nèi)存的分層架構(gòu))為代價[1],這就造成 AI 硬件的內(nèi)存發(fā)展速度遠(yuǎn)遠(yuǎn)落后于算力的增長速度。
SOTA Transformer 模型參數(shù)量(紅點)和 AI 硬件內(nèi)存大?。ňG點)增長趨勢對比。圖源:https://github.com/amirgholami/ai_and_memory_wall/blob/main/imgs/pdfs/model_size_scaling.pdf
因此,在遇到大模型的訓(xùn)練和推理時,用戶總是感覺顯存或內(nèi)存不夠用,這就是所謂的「內(nèi)存墻」問題。
為了打破內(nèi)存墻,人們想了很多種辦法,比如前段時間大火的 Colossal-AI 項目就是一個適用于訓(xùn)練階段的方法。在這個項目中,開發(fā)者高效利用了「GPU+CPU 異構(gòu)內(nèi)存」的策略,使得一塊消費(fèi)級顯卡就能訓(xùn)練 180 億參數(shù)的大模型。
而在推理階段,模型對硬件的主要需求就是加載模型的全部參數(shù)量,所以對算力要求相對低一些。一般對于計算密集型模型,我們可以采用 INT8 量化或者模型并行等策略,用多張 GPU 及其顯存資源來推理單個模型。但實際上,還有很多工業(yè)界應(yīng)用場景的機(jī)器學(xué)習(xí)或深度學(xué)習(xí)模型可以使用 CPU 與內(nèi)存來做推理,例如推薦系統(tǒng)、點擊預(yù)估等。
對于這些模型,我們除了內(nèi)存容量上的訴求外,可能還需要考量異常情況下的數(shù)據(jù)恢復(fù)時間、硬件成本、維護(hù)成本等問題,這也對破解內(nèi)存墻方案的選擇提出了新的要求。
工業(yè)界的推理攔路虎:內(nèi)存墻
在工業(yè)場景下,海量數(shù)據(jù)、高維模型確實能帶來更好的效果,但這些數(shù)據(jù)的高維、稀疏特征又為計算和存儲帶來了很大的挑戰(zhàn)。畢竟像推薦系統(tǒng)這樣的模型,隱藏層大小可能就是數(shù)百萬的量級,總參數(shù)量甚至能達(dá)到十萬億的量級,是 GPT-3 的百倍大小,所以其用戶往往需要特別強(qiáng)大的內(nèi)存支持系統(tǒng)才能實現(xiàn)更好的在線推理能力。
既然內(nèi)存不夠,那豈不是直接堆內(nèi)存條(如 DRAM)就夠了?這從原理上是可行的,但一方面 DRAM 內(nèi)存的價格不便宜啊,這類模型需要的內(nèi)存又不是幾百 GB,而是動不動就沖上數(shù)十 TB,而單條 DRAM 內(nèi)存一般都只有幾十 GB,很少有超過 128GB 的。所以,整體算一下,不論是成本,還是在容量擴(kuò)展上的能力,這一方案都不太容易被大家接受。
此外,DRAM 內(nèi)存還有一個問題,即數(shù)據(jù)是易失的,或者說:一斷電就丟數(shù)據(jù)。有時候模型重啟或者排除故障的時候,只能重新將權(quán)重從更慢的存儲設(shè)備,如 SSD 或機(jī)械硬盤中加載到內(nèi)存里,非常耽誤時間,這對于在線推理業(yè)務(wù)來說是很難容忍的。
打破推理內(nèi)存墻,不用 DRAM 用什么?
那么,除了添購 DRAM 這個不太劃算的選擇外,提供在線推理服務(wù)或使用這類應(yīng)用的企業(yè)要打破內(nèi)存墻,還有其他選擇嗎?
如果仔細(xì)比較一下不同存儲層級的容量和延遲數(shù)據(jù),我們可以發(fā)現(xiàn),DRAM 內(nèi)存和固態(tài)盤 / 硬盤存儲之間其實存在很大的差距。如果能開發(fā)一種全新的存儲部件或設(shè)備來填補(bǔ)這個缺口,那內(nèi)存墻問題可能就會得到緩解。
這就是英特爾? 傲騰? 持久內(nèi)存(Intel? Optane? Persistent Memory, 簡稱 PMem)誕生的背景。其獨有的傲騰? 存儲介質(zhì)與先進(jìn)的內(nèi)存控制器和其它軟硬件技術(shù)相結(jié)合,使其在性能上接近 DRAM 內(nèi)存,在容量上又能有數(shù)倍的提升(單條容量可達(dá) 512GB),用在基于第三代英特爾? 至強(qiáng)? 可擴(kuò)展處理器的雙路平臺上時,理論上可提供最高達(dá) 12TB 的內(nèi)存總?cè)萘浚?TB DRAM+8TB 持久內(nèi)存),相比之下,基于純 DRAM 的方案不但在容量擴(kuò)展能力上遠(yuǎn)遠(yuǎn)不及,在成本上也讓人難以承受。
此外,傲騰? 持久內(nèi)存還有兩個重要特性:可按字節(jié)尋址和數(shù)據(jù)持久性,分別匯集了內(nèi)存與存儲的優(yōu)點。傳統(tǒng)存儲需要按塊進(jìn)行讀寫尋址,就如同去圖書館借書時,必須要把放置有目標(biāo)書籍的整個書架上的書都背回家再做分揀,而內(nèi)存按字節(jié)尋址則相當(dāng)于能夠精準(zhǔn)定位目標(biāo)書籍的位置并僅將其借出。
傲騰? 持久內(nèi)存在存儲層級中的位置及作用。
用書的存放和查找做例子,來理解不同存儲層級的特點。
數(shù)據(jù)持久性則補(bǔ)全了 DRAM 內(nèi)存的先天不足,即可在斷電后依然能保留數(shù)據(jù),這就讓大體量的內(nèi)存數(shù)據(jù)庫在計算系統(tǒng)出現(xiàn)計劃內(nèi)或計劃外停機(jī)時,恢復(fù)數(shù)據(jù)及服務(wù)的速度大大加快,畢竟中間節(jié)省了從固態(tài)盤或硬盤上將數(shù)百 GB,甚至是 TB 級數(shù)據(jù)讀回內(nèi)存的耗時。
PayPal 的實踐,證明持久內(nèi)存很劃算!
光練不說傻把式,光說不練假把式,傲騰? 持久內(nèi)存能不能幫助用戶打破 AI 內(nèi)存墻,我們還是要眼見為實。
以全球知名的在線支付服務(wù)商 PayPal 為例。和其他金融類服務(wù)企業(yè)一樣,PayPal 也難逃欺詐的挑戰(zhàn)——即便在這方面的應(yīng)對水平要高于業(yè)界的平均水平,每年損失仍會超過 10 億美元。因此 PayPal 對反欺詐格外上心,不但為此早早構(gòu)建了具備強(qiáng)大反欺詐預(yù)防模型的實時決策系統(tǒng),為了實時識別新出現(xiàn)的欺詐模式,PayPal 還在不斷強(qiáng)化這個系統(tǒng)在處理和分析相關(guān)數(shù)據(jù)時的效率。
圖源:PayPal Newsroom
對于本就承擔(dān)著上百 PB 數(shù)據(jù)處理任務(wù)的 PayPal IT 基礎(chǔ)設(shè)施來說,反欺詐決策平臺數(shù)據(jù)量的增長和數(shù)據(jù)處理和分析效率的提升可是一個嚴(yán)峻的挑戰(zhàn)。雖然它從 2015 年就導(dǎo)入了 Aerospike 的數(shù)據(jù)庫技術(shù),將主索引數(shù)據(jù)存入內(nèi)存來實現(xiàn)更好的實時性,但隨著主索引數(shù)據(jù)規(guī)模的不斷擴(kuò)大,節(jié)點中的內(nèi)存容量很容易耗盡,進(jìn)而就會影響數(shù)據(jù)讀寫和處理的實時性。此時,若要采購新的節(jié)點又將耗費(fèi)高昂的成本。注意,這里的成本不止包含硬件成本,還有隨之而來的管理人員成本和功耗成本。
所以 PayPal 更傾向于能夠提高單位節(jié)點存儲密度的方案。
綜合這些訴求,PayPal 選擇了導(dǎo)入英特爾的傲騰? 持久內(nèi)存,而這里也有另一個先決條件,就是 Aerospike 正好是這款創(chuàng)新硬件發(fā)布后第一波支持它的數(shù)據(jù)庫廠商之一。
借助 Aerospike 數(shù)據(jù)庫的混合內(nèi)存架構(gòu)( HMA),PayPal 可將主索引轉(zhuǎn)存到傲騰? 持久內(nèi)存中,而非過去的 DRAM 中。這么做的好處非常明顯,因為傲騰? 持久內(nèi)存的單條容量遠(yuǎn)高于 DRAM,且每 GB 成本也顯著低于 DRAM,這就可以幫助 PayPal 將每節(jié)點的總存儲空間提高為原來的 4 倍(從 3.2 TB 到 12 TB),因此 PayPal 只需使用更小的集群就可以滿足業(yè)務(wù)所需的高性能,從而讓服務(wù)器數(shù)量減少約 50%,每集群的成本降低約 30% 。
將主索引存儲在傲騰? 持久內(nèi)存中還有一個額外的好處,也就是我們前面提到的數(shù)據(jù)持久性。這使得 Aerospike 完成索引重建的時間從 59 分鐘縮短至 4 分鐘,滿足了 PayPal 對較長運(yùn)行時間和更高可靠性的要求。據(jù)悉,英特爾和 Aerospike 之間多年的合作還成就了一系列更深層次的優(yōu)化,包括在傲騰? 持久內(nèi)存中存儲更多數(shù)據(jù)(不僅僅是索引)。
在采用傲騰? 持久內(nèi)存加持的 Aerospike 實時數(shù)據(jù)平臺后,PayPal 以其 2015 年的欺詐數(shù)據(jù)量和此前使用的平臺為基準(zhǔn)做了一個評估,它發(fā)現(xiàn)新方案可以將其欺詐計算的服務(wù)級別協(xié)議 (SLA) 遵守率從 98.5% 提升到 99.95%,漏查的欺詐交易量降到約為原來的 1/30。同時,與先前的基礎(chǔ)設(shè)施相比,使用的服務(wù)器總數(shù)量可以減少近 90%(從 1024 臺減少到 120 臺),相關(guān)的硬件占用空間可減到約為原來的 1/8,吞吐量可增至原來的 5 倍(每秒事務(wù)處理量從 20 萬提升到 100 萬),硬件成本下降為原來的約 1/3( 預(yù)計硬件成本從 1250 萬美元省至 350 萬美元)。
需要指出的是,其實在 PayPal 的 IT 基礎(chǔ)設(shè)施中,傲騰? 持久內(nèi)存并不是一個孤立的部件,與它緊密配合且內(nèi)置了 AI 加速能力(英特爾? 深度學(xué)習(xí)加速技術(shù))的第二代英特爾? 至強(qiáng)? 可擴(kuò)展處理器也是這一解決方案的靈魂所在。相信如果把它換成 AI 加速能力以及內(nèi)存子系統(tǒng)帶寬和性能表現(xiàn)更優(yōu)的第三代英特爾? 至強(qiáng)? 可擴(kuò)展處理器,這種打破內(nèi)存墻的效果將更加明顯。
AlphaFold2 端到端高通量優(yōu)化
值得一提的是,在 AI for Science 領(lǐng)域,至強(qiáng)? 可擴(kuò)展處理器 + 傲騰? 持久內(nèi)存的組合所帶來的突破內(nèi)存墻實踐也開始大放異彩。
以這幾年大火的 AlphaFold2 為例。作為 AI for Science 領(lǐng)域的著名大模型,AlphaFold2 的落地部署在算力和存儲方面都面臨著嚴(yán)峻的挑戰(zhàn),這也給內(nèi)置高位寬優(yōu)勢(AVX-512 等技術(shù))的第三代英特爾? 至強(qiáng)? 可擴(kuò)展處理器和大肚量的傲騰? 持久內(nèi)存提供了盡情發(fā)揮的空間。
圖源:www.exxactcorp.com
據(jù)英特爾相關(guān)技術(shù)專家透露的信息,他們正在英特爾這套計算 + 存儲的創(chuàng)新產(chǎn)品組合上優(yōu)化 AlphaFold2。一方面,在模型推理階段,他們通過對注意力模塊(attention unit)進(jìn)行大張量切分(tensor slicing),以及使用英特爾? oneAPI 進(jìn)行算子融合等優(yōu)化方法,提升了算法的計算效率和 CPU 利用率,加快了并行推理速度,并緩解了算法執(zhí)行中各個環(huán)節(jié)面臨的內(nèi)存瓶頸等問題。
另一方面,他們通過使用傲騰? 持久內(nèi)存,為 AlphaFold 2 實現(xiàn)了 TB 級內(nèi)存的戰(zhàn)略級支持,輕松解決了多實例并行執(zhí)行時內(nèi)存峰值疊加的內(nèi)存瓶頸。這個瓶頸有多大?據(jù)英特爾專家介紹:在輸入長度為 765aa 的條件下,64 個實例并行執(zhí)行時,內(nèi)存容量的需求就會突破 2TB。在這種情形下,對廣大用戶來說,使用傲騰? 持久內(nèi)存是一個可行且可負(fù)擔(dān)的方案。
除了傲騰? 持久內(nèi)存,還有哪些方案可以打破內(nèi)存墻?
雖然傲騰? 持久內(nèi)存的出現(xiàn)為一些應(yīng)用場景提供了打破內(nèi)存墻的可行路徑,但截至目前,硬件領(lǐng)域還沒有出現(xiàn)一個「一招鮮吃遍天」的內(nèi)存墻解決方案,不過其他一些技術(shù)路徑齊頭并進(jìn)的勢頭,還是讓我們看到了解決這一問題的希望。討論熱度較高的解決方案包括在即將呈爆發(fā)式成長的異構(gòu)系統(tǒng)中實現(xiàn)統(tǒng)一和池化的內(nèi)存資源(把不同運(yùn)算單元匹配的 HBM、顯存和系統(tǒng)內(nèi)存集中管理和分配),以及前瞻性的存算一體架構(gòu)等。
在異構(gòu)系統(tǒng)中打造池化的內(nèi)存資源是近年來針對算力和存儲間瓶頸問題的比較熱的一個創(chuàng)新方向。為了實現(xiàn) CPU 與 GPU、FPGA 等各種專用加速芯片的高速互聯(lián),英特爾早在 2019 年就牽頭成立了名為 CXL(Compute Express Link)的標(biāo)準(zhǔn)組織。對于存儲來說,CXL 將提供新的內(nèi)存接口,與原來的 DDR 相比,它具有更高的可擴(kuò)展性,更高的帶寬,支持包括傲騰? 產(chǎn)品在內(nèi)的各種存儲方案,而且它的架構(gòu)設(shè)計不局限于單個系統(tǒng),而是可以在多機(jī)之間進(jìn)行連接,實現(xiàn)多機(jī)共享。大內(nèi)存技術(shù)方案的代表性企業(yè) MemVerge 的創(chuàng)始人兼 CEO 范承工評價說,CXL 是一個改變游戲規(guī)則的新技術(shù),它可以實現(xiàn)內(nèi)存和計算的相對獨立,有望實現(xiàn)多機(jī)之間的內(nèi)存池化共享以及真正的可組合基礎(chǔ)設(shè)施,可以動態(tài)地為系統(tǒng)添加計算、內(nèi)存、存儲資源[2]。
存算一體則是讓存儲具備計算的能力,從而解決數(shù)據(jù)反復(fù)搬遷導(dǎo)致的效率低下問題。如今國內(nèi)外眾多企業(yè)都已經(jīng)開展了存算一體技術(shù)的研發(fā),包括英特爾、SK 海力士、IBM、美光、三星、臺積電、阿里等傳統(tǒng)芯片大廠以及眾多新興 AI 和存儲企業(yè)[3]。
不過,這些方案在成本、技術(shù)成熟度等方面還需要更多驗證。
所以,盡管我們都希望看到更多前瞻性解決方案能夠早日落地,但是短期來看,英特爾?傲騰? 持久內(nèi)存仍然是當(dāng)前比較容易實現(xiàn)而且性價比較高的一種內(nèi)存墻解決方案。況且,傲騰? 持久內(nèi)存的容量還在持續(xù)升級,不久之后就可能看到單條 1TB 容量的產(chǎn)品出現(xiàn),想必到了那時,其打破內(nèi)存墻的效果將更加凸顯。
參考鏈接:[1] https://www.oneflow.org/a/share/jishuboke/75.html[2]https://www.51cto.com/article/693956.html[3]http://www.dzsb.net/index.php/2022/05/05/quanqiucunsuanyitijishuyanjiujiliangchanqingkuangzuixinjinzh/
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。