PayPal打破「AI記憶體牆」,可省近90%伺服器,反欺詐效率大增

記憶體不夠只能割肉買 DRAM?英特爾:很多時候大可不必。

人們常說,新一代的人工智慧浪潮是由資料、演算法和算力來驅動的。最近幾年模型參數的爆炸式增長更是讓大家看到了算力的基礎性作用。

為了配合企業使用者對於算力的強烈需求,當前的很多 AI 硬體(比如 GPU)都鉚足了勁兒地提高峰值算力,但這種提升通常以簡化或者刪除其他部分(例如記憶體的分層架構)為代價[1],這就造成AI 硬體的記憶體發展速度遠遠落後於算力的增長速度

SOTA Transformer 模型參數量(紅點)和 AI 硬體記憶體大小(綠點)增長趨勢對比。圖源:https://github.com/amirgholami/ai_and_memory_wall/blob/main/imgs/pdfs/model_size_scaling.pdf

因此,在遇到大模型的訓練和推理時,使用者總是感覺視訊記憶體或記憶體不夠用,這就是所謂的「記憶體牆」問題。

為了打破記憶體牆,人們想了很多種辦法,比如前段時間大火的 Colossal-AI 項目就是一個適用於訓練階段的方法。在這個項目中,開發者高效利用了「GPU+CPU 異構記憶體」的策略,使得一塊消費級顯示卡就能訓練 180 億參數的大模型。

而在推理階段,模型對硬體的主要需求就是載入模型的全部參數量,所以對算力要求相對低一些。一般對於計算密集型模型,我們可以採用 INT8 量化或者模型並行等策略,用多張 GPU 及其視訊記憶體資源來推理單個模型。但實際上,還有很多工業界應用場景的機器學習或深度學習模型可以使用 CPU 與記憶體來做推理,例如推薦系統、點選預估等。

對於這些模型,我們除了記憶體容量上的訴求外,可能還需要考量異常情況下的資料恢復時間、硬體成本、維護成本等問題,這也對破解記憶體牆方案的選擇提出了新的要求。

工業界的推理攔路虎:記憶體牆

在工業場景下,海量資料、高維模型確實能帶來更好的效果,但這些資料的高維、稀疏特徵又為計算和儲存帶來了很大的挑戰。畢竟像推薦系統這樣的模型,隱藏層大小可能就是數百萬的量級,總參數量甚至能達到十萬億的量級,是 GPT-3 的百倍大小,所以其使用者往往需要特別強大的記憶體支持系統才能實現更好的線上推理能力。

既然記憶體不夠,那豈不是直接堆記憶體條(如 DRAM)就夠了?這從原理上是可行的,但一方面 DRAM 記憶體的價格不便宜啊,這類模型需要的記憶體又不是幾百 GB,而是動不動就衝上數十 TB,而單條 DRAM 記憶體一般都只有幾十 GB,很少有超過 128GB 的。所以,整體算一下,不論是成本,還是在容量擴展上的能力,這一方案都不太容易被大家接受。

此外,DRAM 記憶體還有一個問題,即資料是易失的,或者說:一斷電就丟資料。有時候模型重啟或者排除故障的時候,只能重新將權重從更慢的儲存設備,如 SSD 或機械硬碟中載入到記憶體裡,非常耽誤時間,這對於線上推理業務來說是很難容忍的。

打破推理記憶體牆,不用 DRAM 用什麼?

那麼,除了添購 DRAM 這個不太划算的選擇外,提供線上推理服務或使用這類應用的企業要打破記憶體牆,還有其他選擇嗎?

如果仔細比較一下不同儲存層級的容量和延遲資料,我們可以發現,DRAM 記憶體和固態盤 / 硬碟儲存之間其實存在很大的差距。如果能開發一種全新的儲存部件或設備來填補這個缺口,那記憶體牆問題可能就會得到緩解。

這就是

這就是英特爾® 傲騰™ 持久記憶體(Intel® OptanePersistent Memory, 簡稱 PMem)誕生的背景。其獨有的傲騰™ 儲存介質與先進的記憶體控制器和其它軟硬體技術相結合,使其在性能上接近 DRAM 記憶體,在容量上又能有數倍的提升(單條容量可達 512GB),用在基於第三代英特爾® 至強® 可擴展處理器的雙路平臺上時,理論上可提供最高達 12TB 的記憶體總容量(4TB DRAM+8TB 持久記憶體),相比之下,基於純 DRAM 的方案不但在容量擴展能力上遠遠不及,在成本上也讓人難以承受。

此外,傲騰™ 持久記憶體還有兩個重要特性:可按位元組定址和資料永續性,分別彙集了記憶體與儲存的優點。傳統儲存需要按塊進行讀寫定址,就如同去圖書館借書時,必須要把放置有目標書籍的整個書架上的書都揹回家再做分揀,而記憶體按位元組定址則相當於能夠精準定位目標書籍的位置並僅將其借出。

傲騰

傲騰™持久記憶體在儲存層級中的位置及作用。

持久記憶體在儲存層級中的位置及作用

用書的存放和查找做例子,來理解不同儲存層級的特點。

資料永續性則補全了 DRAM 記憶體的先天不足,即可在斷電後依然能保留資料,這就讓大體量的記憶體資料庫在計算系統出現計劃內或計劃外停機時,恢復資料及服務的速度大大加快,畢竟中間節省了從固態盤或硬碟上將數百 GB,甚至是 TB 級資料讀回記憶體的耗時。

PayPal 的實踐,證明持久記憶體很划算!

PayPal 的實踐,證明持久記憶體很划算!

光練不說傻把式,光說不練假把式,傲騰™ 持久記憶體能不能幫助使用者打破 AI 記憶體牆,我們還是要眼見為實。

以全球知名的線上支付服務商 PayPal 為例。和其他金融類服務企業一樣,PayPal 也難逃欺詐的挑戰——即便在這方面的應對水平要高於業界的平均水平,每年損失仍會超過 10 億美元。因此 PayPal 對反欺詐格外上心,不但為此早早構建了具備強大反欺詐預防模型的實時決策系統,為了實時識別新出現的欺詐模式,PayPal 還在不斷強化這個系統在處理和分析相關資料時的效率。

圖源:PayPal Newsroom

圖源:PayPal Newsroom

對於本就承擔著上百 PB 資料處理任務的 PayPal IT 基礎設施來說,反欺詐決策平臺資料量的增長和資料處理和分析效率的提升可是一個嚴峻的挑戰。雖然它從 2015 年就匯入了 Aerospike 的資料庫技術,將主索引資料存入記憶體來實現更好的實時性,但隨著主索引資料規模的不斷擴大,節點中的記憶體容量很容易耗盡,進而就會影響資料讀寫和處理的實時性。此時,若要採購新的節點又將耗費高昂的成本。注意,這裡的成本不止包含硬體成本,還有隨之而來的管理人員成本和功耗成本。

所以PayPal 更傾向於能夠提高單位節點儲存密度的方案。

綜合這些訴求,PayPal 選擇了匯入英特爾的傲騰™ 持久記憶體,而這裡也有另一個先決條件,就是 Aerospike 正好是這款創新硬體發佈後第一波支持它的資料庫廠商之一。

藉助 Aerospike 資料庫的混合記憶體架構( HMA),PayPal 可將主索引轉存到傲騰™ 持久記憶體中,而非過去的 DRAM 中。這麼做的好處非常明顯,因為傲騰™ 持久記憶體的單條容量遠高於 DRAM,且每 GB 成本也顯著低於 DRAM,這就可以幫助 PayPal 將每節點的總儲存空間提高為原來的 4 倍(從 3.2 TB 到 12 TB),因此 PayPal 只需使用更小的集群就可以滿足業務所需的高性能,從而讓伺服器數量減少約 50%,每集群的成本降低約 30% 。

將主索引儲存在傲騰™ 持久記憶體中還有一個額外的好處,也就是我們前面提到的資料永續性。這使得 Aerospike 完成索引重建的時間從 59 分鐘縮短至 4 分鐘,滿足了 PayPal 對較長運行時間和更高可靠性的要求。據悉,英特爾和 Aerospike 之間多年的合作還成就了一系列更深層次的最佳化,包括在傲騰™ 持久記憶體中儲存更多資料(不僅僅是索引)。

在採用傲騰™ 持久記憶體加持的 Aerospike 實時資料平臺後,PayPal 以其 2015 年的欺詐資料量和此前使用的平臺為基準做了一個評估,它發現新方案可以將其欺詐計算的服務級別協議 (SLA) 遵守率從 98.5% 提升到 99.95%,漏查的欺詐交易量降到約為原來的 1/30。同時,與先前的基礎設施相比,使用的伺服器總數量可以減少近 90%(從 1024 臺減少到 120 臺),相關的硬體佔用空間可減到約為原來的 1/8,吞吐量可增至原來的 5 倍(每秒事務處理量從 20 萬提升到 100 萬),硬體成本下降為原來的約 1/3( 預計硬體成本從 1250 萬美元省至 350 萬美元)。

需要指出的是,其實在 PayPal 的 IT 基礎設施中,傲騰™ 持久記憶體並不是一個孤立的部件,與它緊密配合且內建了 AI 加速能力(英特爾® 深度學習加速技術)的第二代英特爾® 至強® 可擴展處理器也是這一解決方案的靈魂所在。相信如果把它換成 AI 加速能力以及記憶體子系統頻寬和性能表現更優的第三代英特爾® 至強® 可擴展處理器,這種打破記憶體牆的效果將更加明顯。

AlphaFold2 端到端高通量最佳化

值得一提的是,在 AI for Science 領域,至強® 可擴展處理器 + 傲騰™ 持久記憶體的組合所帶來的突破記憶體牆實踐也開始大放異彩。

以這幾年大火的 AlphaFold2 為例。作為 AI for Science 領域的著名大模型,AlphaFold2 的落地部署在算力和儲存方面都面臨著嚴峻的挑戰,這也給內建高位寬優勢(AVX-512 等技術)的第三代英特爾® 至強® 可擴展處理器和大肚量的傲騰™ 持久記憶體提供了盡情發揮的空間。

圖源:www.exxactcorp.com

圖源:www.exxactcorp.com

據英特爾相關技術專家透露的資訊,他們正在英特爾這套計算 + 儲存的創新產品組合上最佳化 AlphaFold2。一方面,在模型推理階段,他們通過對注意力模組(attention unit)進行大張量切分(tensor slicing),以及使用英特爾® oneAPI 進行運算元融合等最佳化方法,提升了演算法的計算效率和 CPU 利用率,加快了並行推理速度,並緩解了演算法執行中各個環節面臨的記憶體瓶頸等問題。

另一方面,他們通過使用傲騰™ 持久記憶體,為 AlphaFold 2 實現了 TB 級記憶體的戰略級支持,輕鬆解決了多實例並行執行時記憶體峰值疊加的記憶體瓶頸。這個瓶頸有多大?據英特爾專家介紹:在輸入長度為 765aa 的條件下,64 個實例並行執行時,記憶體容量的需求就會突破 2TB。在這種情形下,對廣大使用者來說,使用傲騰™ 持久記憶體是一個可行且可負擔的方案。

除了傲騰™ 持久記憶體,還有哪些方案可以打破記憶體牆?

雖然傲騰™ 持久記憶體的出現為一些應用場景提供了打破記憶體牆的可行路徑,但截至目前,硬體領域還沒有出現一個「一招鮮吃遍天」的記憶體牆解決方案,不過其他一些技術路徑齊頭並進的勢頭,還是讓我們看到了解決這一問題的希望。討論熱度較高的解決方案包括在即將呈爆發式成長的異構系統中實現統一和池化的記憶體資源(把不同運算單元匹配的 HBM、視訊記憶體和系統記憶體集中管理和分配),以及前瞻性的存算一體架構等。

在異構系統中打造池化的記憶體資源是近年來針對算力和儲存間瓶頸問題的比較熱的一個創新方向。為了實現 CPU 與 GPU、FPGA 等各種專用加速晶片的高速互聯,英特爾早在 2019 年就牽頭成立了名為 CXL(Compute Express Link)的標準組織。對於儲存來說,CXL 將提供新的記憶體接口,與原來的 DDR 相比,它具有更高的可擴展性,更高的頻寬,支持包括傲騰™ 產品在內的各種儲存方案,而且它的架構設計不侷限於單個系統,而是可以在多機之間進行連接,實現多機共享。大記憶體技術方案的代表性企業 MemVerge 的創始人兼 CEO 範承工評價說,CXL 是一個改變遊戲規則的新技術,它可以實現記憶體和計算的相對獨立,有望實現多機之間的記憶體池化共享以及真正的可組合基礎設施,可以動態地為系統添加計算、記憶體、儲存資源[2]

存算一體則是讓儲存具備計算的能力,從而解決資料反覆搬遷導致的效率低下問題。如今國內外眾多企業都已經開展了存算一體技術的研發,包括英特爾、SK 海力士、IBM、美光、三星、台積電、阿里等傳統晶片大廠以及眾多新興 AI 和儲存企業[3]

不過,這些方案在成本、技術成熟度等方面還需要更多驗證。

所以,儘管我們都希望看到更多前瞻性解決方案能夠早日落地,但是短期來看,英特爾®傲騰™ 持久記憶體仍然是當前比較容易實現而且價效比較高的一種記憶體牆解決方案。況且,傲騰™ 持久記憶體的容量還在持續升級,不久之後就可能看到單條 1TB 容量的產品出現,想必到了那時,其打破記憶體牆的效果將更加凸顯。

參考連結:

[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/

機器之心原創 / 作者:張倩

相關文章

​摩爾定律的突圍

​摩爾定律的突圍

50多年前,Intel創始人之一摩爾(Gordon Moore)提出了著名的摩爾定律,其內容為:積體電路上可容納的電晶體數目,約每隔兩年便會...

關於「資料中心」的最強入門科普

關於「資料中心」的最強入門科普

小棗君注:前幾天介紹「東數西算」的時候,很多同學問到了關於資料中心的問題。今天專門寫一篇,與大家交流探討。 資料中心,英文縮寫叫IDC,也就...