《華為云:2024EMS彈性內存存儲技術白皮書(24頁).pdf》由會員分享,可在線閱讀,更多相關《華為云:2024EMS彈性內存存儲技術白皮書(24頁).pdf(24頁珍藏版)》請在三個皮匠報告上搜索。
1、 EMS 彈性內存存儲技術白皮書 Elastic Memory Service Whitepaper 文檔版本 01 發布日期 2024-06-21 華為云計算技術有限公司華為云計算技術有限公司 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 i 版權所有版權所有 華為云計算技術有限公司華為云計算技術有限公司 2024。保留一切權利。保留一切權利。非經本公司書面許可,任何單位和個人不得擅自摘抄、復制本文檔內容的部分或全部,并不得以任何形式傳播。商標聲明商標聲明 和其他華為商標均為華為技術有限公司的商標。本文檔提及的其他所有商標或注冊商標,由各自的所有人擁有。注意注意
2、您購買的產品、服務或特性等應受華為云計算技術有限公司商業合同和條款的約束,本文檔中描述的全部或部分產品、服務或特性可能不在您的購買或使用范圍之內。除非合同另有約定,華為云計算技術有限公司對本文檔內容不做任何明示或暗示的聲明或保證。由于產品版本升級或其他原因,本文檔內容會不定期進行更新。除非另有約定,本文檔僅作為使用指導,本文檔中的所有陳述、信息和建議不構成任何明示或暗示的擔保。華為云計算技術有限公司 地址:貴州省貴安新區黔中大道交興功路華為云數據中心 郵編:550029 網址:https:/ 存儲服務技術白皮書 目 錄 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司
3、ii 目目 錄錄 1 概述概述.3 2 背景和動機背景和動機.4 2.1 AI 技術的發展.4 2.2 AI 場景中的存力痛點.5 2.2.1 持久化存儲性能不足.5 2.2.2 DRAM 利用率低.6 2.2.3 HBM 內存墻.6 2.3 EMS 的構建動機.8 3 產品架構和關鍵技術產品架構和關鍵技術.10 3.1 軟件架構.10 3.2 內存解耦池化.11 3.2.1 內存池融合部署架構.11 3.2.2 內存池分離部署架構.12 3.2.3 分級存儲.12 3.2.4 數據冗余.12 3.3 面向 AI 推理的加速技術.13 3.3.1 以存代算.14 3.3.2 顯存擴展.15 3
4、.3.3 計算卸載.16 3.4 面向 AI 訓練的加速技術.16 3.4.1 并行訓練拓撲感知的檢查點保存.17 3.4.2 基于 NPU 通信的檢查點恢復.18 3.4.3 選擇性檢查點持久化.18 3.5 面向推薦模型的加速技術.19 3.5.1 Embedding 池化存儲.20 3.5.2 Embedding 均衡打散.20 3.5.3 增量檢查點.21 4 總結總結.22 5 縮略語縮略語.23 存儲服務技術白皮書 1 概述 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 3 1 概述概述 基于大模型的生成式 AI 技術的重大突破推動了人工智能的應用范圍從
5、傳統的分類任務擴展至廣泛的生成任務,引發了 AI 應用的爆發性增長,并引領 IT 產業邁入全新的“AI 時代”。隨著 AI 產業的迅猛發展,云計算基礎設施也在從以通用算力為核心向以智能算力為核心轉變。在這種新型云計算基礎設施中,數據的“算力”和“存力”是相輔相成的。盡管云數據中心在智能算力方面取得了顯著進步,但是在存力方面的不足已成為制約效率的關鍵瓶頸。存力問題主要表現在三個方面:持久化存儲性能不足、DRAM 利用率低、以及 HBM 內存墻問題。為解決這些存力問題,華為云推出了全球首創的彈性內存存儲服務 EMS(Elastic Memory Service),一種以內存為主要存儲介質的云基礎設
6、施服務。通過 EMS,華為云將傳統的“計算-存儲”分離的兩層云架構升級為“計算-內存-存儲”分離的三層云架構,其中新增的“內存層”即為 EMS。這種新型的三層云架構能有效解決上述存力痛點,從而具有高資源彈性、高資源利用率和高性能等優勢。具體來說,EMS通過以下方式解決三大存力問題:1)作為計算與存儲之間的高性能緩存層,使用 DRAM 介質緩存來自HDD 和 SSD 的數據,顯著提升數據訪問速度,解決“持久化存儲性能不足”問題;2)將 AI 服務器中的DRAM 資源解耦并池化,形成 EMS 內存池,實現 DRAM 資源的按需分配和高效利用,解決“DRAM 利用率低”問題;3)擴展 AI 加速器中
7、的 HBM 內存,通過 DRAM 內存容量和帶寬的補充,大幅提升 AI 訓練和推理的性能,解決“HBM 內存墻”問題。EMS 的軟件架構主要由分布式內存池、領域專用服務 SDK 和管理控制面三部分組成,具備易用性、彈性擴展和高可用性。分布式內存池提供跨節點的內存管理、數據負載均衡和數據恢復等功能,確保內存數據存儲的低成本、高擴展性和高可用性。領域專用服務 SDK 提供針對不同 AI 場景的內存加速技術,如在 AI 推理場景中,通過以存代算、顯存擴展和計算卸載技術降低首 token 時延,提升解碼吞吐量,并支持更長的序列長度。在 AI 訓練場景中,通過并行訓練拓撲感知的檢查點讀寫技術,實現極低的
8、檢查點操作時延。在推薦模型場景中,通過 Embedding 存取優化技術,實現高性能訪問。存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 4 2 背景和動機背景和動機 2.1 AI 技術的發展 近年來,隨著基于大模型的生成式 AI 技術的顯著進步,人工智能的應用領域已從傳統的分類任務擴展至包括文本對話、圖片生成、視頻生成、代碼生成、Copilot、數字人等在內的生成類任務。這一變革推動了 IT 產業進入了一個全新的時代“AI 時代”,也預示著整個世界正邁向一個更加智能、高效、互聯的未來。據 Gartner 預測,到 2026 年,超
9、過 80%的企業將采用生成式 AI 模型或在生產環境中部署支持此類技術的應用;到 2028 年,75%的企業軟件工程師將依賴 AI 編碼助手1。此外,AI 技術的廣泛應用預計將創造巨大的經濟價值,根據 Mckinsey 的預測,生成式 AI 有望為全球經濟貢獻約 7 萬億美元,其中中國預計將貢獻約 2 萬億美元2。隨著AI 產業的快速發展,云計算基礎設施正從以通用算力為核心轉向以智能算力為核心。OpenAI 的統計數據顯示,自 2012 年以來,最大規模的人工智能訓練任務所需的計算量每 3.4 個月翻一番,至 2018年該指標已增長了 30 萬倍3。大模型的性能通常遵循規模法則(Scaling
10、 Law)4,即模型參數、訓練數據量和訓練計算量的增加會帶來模型性能的相應提升。這意味著,為了提高大模型的性能,訓練和推理所需的算力將持續大幅增長。在未來,智能算力規模將遠超通用算力規模。IDC 預測,2022 至 2027 年間,中國智能算力規模的年復合增長率將達到 33.9%,而同期通用算力規模的年復合增長率為 16.6%,到 2027年,智能算力(FP16)規模將達到 1117.4 EFLOPS,而通用算力(FP64)規模是 117.3EFLOPS5。華為預測,到 2030 年,全球 AI 計算(FP16)總量將達到 105 ZFLOPS,較 2020 年增長 500 倍,而通用算力(F
11、P32)總量是 3.3ZFLOPS6。在以智能算力為中心的新型云計算基礎設施中,數據的“算力”和“存力”是相輔相成的。一方面,強大的數據算力(包括 GPU、NPU 等算力單元)需要充足的數據存力(如 HBM、DRAM、SSD 等存儲單 1“Top Strategic Technology Trends for 2024”,Gartner,October 2023.2 生成式 AI 在中國:2 萬億美元的經濟價值,麥肯錫,2023 年 9 月.3“AI and Compute”,OpenAI,May 2018.4 Kaplan et al.Scaling Laws for Neural Lang
12、uage Models.arXiv preprint arXiv:2001.08361(2020).5 中國人工智能計算力發展評估報告,2023-2024,IDC,2023 年 12 月.6 智能世界 2030,華為,2021 年 9 月.存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 5 元)來保證數據處理的連續性和穩定性。另一方面,高效的數據存力也需要數據算力的支持,以便對存儲的數據進行有效處理和利用。數據的算力和存力之間存在著緊密的聯系和相互依賴。2.2 AI 場景中的存力痛點 盡管云數據中心中的 AI 算力持續增強,數據存力
13、的不足已成為制約其效率的關鍵瓶頸。存力的痛點主要表現在三個方面:持久化存儲性能不足、DRAM 利用率低、以及 HBM 內存墻問題。2.2.1 持久化存儲性能不足 隨著AI 大模型和AI 系統技術的迅速發展,傳統的持久化存儲介質已難以滿足大模型訓練和推理的高性能需求。近年來,大模型的參數數量呈指數級增長,導致模型大小急劇增加。例如,GPT-3 的參數數量為 1750 億,而據推測 GPT-4 的參數數量將達到 1.76 萬億。若使用 FP16 格式存儲模型參數,GPT-3 的模型大小約為 350GB,GPT-4 則約為 3.52TB。在模型訓練過程中,除了模型參數外,還需存儲如優化器狀態等其它信
14、息,使得模型的 Checkpoint 大小通常是模型參數大小的 6倍左右。在云環境中,這些大模型的參數和 Checkpoint 通常存儲在持久化存儲服務(如對象存儲服務 OBS)中,而云廠商提供的對象存儲服務中單個租戶桶的訪問帶寬一般在幾十 Gbps。因此,從對象存儲服務中讀取或寫入一個模型往往需要幾十分鐘到數小時,這種長時間的讀寫延遲是不可接受的,會導致 AI 集群的計算資源等待,從而大幅增加AI 集群的使用成本。圖 2-1:持久化存儲的模型讀取耗時與推理和訓練的時延需求對比 在模型推理過程中,AI 加速器需要將模型參數加載到其 HBM 內存中進行推理。在 Serverless 推理場景中,
15、AI 加速器還需頻繁切換不同的模型以滿足不同用戶的推理任務需求,這種模型切換的時延需求通常在秒級別。在模型訓練過程中,AI 集群的故障是不可避免的。當故障發生時,AI 集群需要讀取模型Checkpoint 來恢復訓練,此時所有參與訓練的 AI 加速器(通常在幾千到上萬卡級別)都需要等待存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 6 Checkpoint 的讀取,這種讀取時延需求也在秒級別。此外,在訓練過程中,AI 集群還需周期性地保存Checkpoint,Checkpoint 的保存頻率越高,故障發生時的訓練時間損失越小。在保存
16、 Checkpoint 的過程中,通常會造成 AI 加速器的阻塞,因此對 Checkpoint 寫入的性能要求更高,寫入時延需求在毫秒級別。如圖2-1 所示,AI 推理和訓練對大模型參數的讀寫時延需求與當前持久化存儲的實際讀寫耗時之間存在 2 至 4個數量級的差距。2.2.2 DRAM 利用率低 當前的 AI 集群不僅包含 AI 加速器,還配備了大量的 DRAM 內存資源。例如,一臺昇騰 910 服務器配置了 8 張 NPU 卡和 1.5TB 的 DRAM,而 NVIDIA GH200 服務器中每張 GPU 卡則配備了 512GB 的DRAM。然而,在運行流行的大語言模型訓練和推理任務時,這些
17、 DRAM 資源的利用率卻非常低。一項研究論文分析了兩個較大規模的 GPU 集群的資源利用率情況,結果顯示其中一個集群在 90%的使用時間內 DRAM 利用率低于 25%,另一個集群在 76%的使用時間內 DRAM 利用率同樣低于 25%,且在幾乎整個使用過程中,兩個集群的 DRAM 利用率均未超過 50%7。AI 集群中 DRAM 利用率低的主要原因在于,AI 服務器上的 DRAM 資源通常是按照各種負載場景的最大需求進行配置的,以確保能夠運行所有類型的負載。這種配置策略導致在某些特定負載下 DRAM 利用率較高,而在大多數其它負載下 DRAM 利用率則較低。例如,在華為云的一個 GPU 服
18、務器集群上,運行推薦模型訓練時 DRAM 利用率接近 100%,運行 CV 模型訓練時 DRAM 利用率可達 70%,但在運行大語言模型(LLM)訓練時,DRAM 利用率則低于 35%。由于目前 AI 集群主要由 LLM 負載主導,因此DRAM 的整體利用率普遍偏低。2.2.3 HBM 內存墻 AI 加速器(如 GPU、NPU、TPU 等)面臨的 HBM 內存墻問題,已成為限制 AI 算力充分發揮的關鍵障礙。HBM 內存墻主要包括內存容量墻和內存帶寬墻兩個方面。在內存容量墻方面,AI 加速器的HBM內存容量增長速度遠遠落后于大模型存儲需求的增長速度。如圖 2-2 所示,典型的 Transfor
19、mer 大模型的參數量每兩年以 240 倍的速度增長,而業界典型的商用 AI 加速器的內存容量僅每兩年翻兩倍。這種大模型參數量與AI加速器HBM內存容量增長速度之間的巨大差距,意味著訓練和推理一個模型需要更多的 AI 加速器,這將顯著增加 AI 訓練和推理的成本。此外,增加 AI加速器數量的主要目的是為了讓大模型能夠存儲在 AI 加速器的 HBM 內存中,這通常會導致 AI 算力的利用率低下。7 Hu,et al.Characterization of large language model development in the datacenter.In 21st USENIX Sympo
20、sium on Networked Systems Design and Implementation(NSDI 24),pp.709-729.2024.存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 7 圖 2-2:SOTA 模型的參數量增長趨勢和 AI 硬件 HBM 內存容量增長趨勢8 在內存帶寬墻方面,AI 加速器的 HBM 內存帶寬的增長速度遠低于其算力的增長速度。如圖 2-3 所示,過去 20 年間,單個 AI 加速器的峰值計算能力增長了 9 萬倍,而內存訪問帶寬僅提高了 30 倍。這是因為提升硬件算力的工藝相對容易,而增
21、加內存帶寬的硬件工藝則難度較大。AI 加速器內存帶寬與算力增長速度之間的巨大差距,意味著在進行 AI 計算時,往往需要等待數據從內存中讀取,這導致算力的利用率降低。8 Amir Gholami,Zhewei Yao,Sehoon Kim,Coleman Hooper,Michael W.Mahoney,and Kurt Keutzer.Ai and memory wall.IEEE Micro(2024).存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 8 圖 2-3:AI 加速器的計算能力、內存帶寬和互聯帶寬的增長趨勢8 2.3
22、EMS 的構建動機 為了解決云基礎設施中存在的上述三大存力痛點,華為云推出了全球首創的彈性內存存儲服務 EMS(Elastic Memory Service),一種以內存(如 DRAM、HBM 等)為主要存儲介質的云基礎設施服務。華為云將傳統的“計算-存儲”分離的兩層架構升級為“計算-內存-存儲”分離的三層架構,如圖 2-4 所示,其中新增的“內存層”即為彈性內存存儲服務 EMS。這種包含 EMS 的新型三層云基礎設施架構具有高資源彈性、高資源利用率和高性能等優勢,能夠有效解決上述三大存力痛點。首先,針對 AI 場景中“持久化存儲性能不足”的問題,EMS 作為計算層與存儲層之間的高性能緩存層,
23、利用 DRAM 介質緩存來自 HDD 和 SSD 介質的數據,顯著提升數據訪問速度。其次,針對 AI 場景中“DRAM 利用率低”的問題,EMS 將 AI 服務器中的 DRAM 資源進行解耦并池化,形成 EMS 內存池。EMS 內存池中的 DRAM 資源根據不同計算任務的需求進行動態分配,從而實現內存資源的高效利用。計算層與內存層之間通過華為專有的高性能網絡總線連接,確保內存資源解耦池化后的高訪問性能。最后,針對 AI 加速器中的“HBM 內存墻”問題,EMS 利用內存池中的 DRAM 資源擴展 AI 加速器的 HBM 內存,通過增加 DRAM 容量來擴展 HBM 容量,并利用 DRAM 帶寬
24、補充 HBM 帶寬,從而大幅提升 AI 訓練和推理的整體性能。存儲服務技術白皮書 2 背景和動機 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 9 圖 2-4:“計算-內存-存儲”分離的新型三層云架構演進 存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 10 3 產品架構和關鍵技術產品架構和關鍵技術 本章將首先闡述 EMS 的軟件架構,隨后探討 EMS 內存解耦池化的關鍵技術,最后介紹 EMS 針對不同 AI 場景的內存加速關鍵技術。3.1 軟件架構 EMS 的軟件架構主要由三部分組成:領域專用服
25、務 SDK、分布式內存池和管理控制面,如圖 3-1 所示。EMS 的軟件面向高易用性、高彈性擴展性和高可用性設計。圖 3-1:EMS 軟件架構 領域專用服務 SDK 包含一系列面向不同 AI 應用場景的插件和接口服務 SDK,提供業務系統接入、業務數據布局和近數據處理等功能,實現業務請求的內存加速。目前,該技術主要應用于大語言模型、多模態模型、推薦模型等的訓練和推理,通過分布式內存池提升處理效率并降低成本。領域專用服務 SDK的具體技術細節將在第 3.3 章、第 3.4 章和第 3.5 章中詳細介紹。分布式內存池負責跨節點的內存空間管理、數據負載均衡和數據恢復等任務,通過空間池化、共享訪問和故
26、障切換等機制,確保系統具有低成本、高擴展性和高可用性。內存池提供兩種部署模式:a)融合部署,即利用 AI 服務器中的 DRAM,將 DRAM 內存池化以實現分布式共享,并進行本地親和的調度和訪問;b)分離式部署,即使用獨立內存服務器提供內存池空間,通過高速內存總線實現對內存池空間的訪問。分布式內存池的具體技術將在第 3.2 章中詳細介紹。存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 11 管理控制面負責服務的部署、監控、升級及運維管理等功能,通過華為云的云原生基礎設施為用戶提供一站式的云上運維解決方案。3.2 內存解耦池化
27、 在 AI 訓練和推理場景中,AI 服務器的數量可達數千至數萬臺,每個服務器上的 DRAM 內存通常按照最大需求進行配置和預留。然而,實際操作中,服務器間的內存利用率往往不均衡。由于 DRAM 是 AI服務器成本的重要組成部分,池化 DRAM 以提高利用率和降低成本顯得尤為重要。此外,隨著“HBM內存墻”問題的日益凸顯,EMS 通過在 HBM 和 DRAM 之間進行卸載及相應的數據管理來解決這一問題。EMS 內存池需要滿足池化和卸載兩個關鍵需求,具體技術將在后續章節詳細介紹。3.2.1 內存池融合部署架構 圖 3-2:內存池融合部署架構 內存池融合部署架構通過利用 AI 服務器內的本地 DRA
28、M 進行池化管理,提升內存利用率,如圖 2-2所示。內存池化還帶來了共享能力,使得卡間能夠進行高效的數據共享,具體技術點如下。1)服務器內 DRAM 池化:AI 加速卡根據需求從內存池中分配 DRAM,避免了按卡粒度預留導致的卡間使用不均和利用率低的問題。2)服務器間 DRAM 池化:整個 AI 服務器集群形成一個大的內存池,解決了服務器間內存利用率不均的問題,提高了利用率并降低了成本。此外,任意 AI 節點能夠訪問任意緩存數據的能力,為 AI 訓練和推理場景下的加速技術(如基于內存 checkpoint 的故障快速恢復、長文本推理和PD 分離等)的應用提供了支持。3)數據訪問親和性調度:在典
29、型場景下(如大模型訓練 Checkpoint 和 KV Cache 存儲),通過親和感知、動態均衡和預加載的方式,確保訓練和推理過程中的高帶寬內存訪問需求,并在一定程度上解決了內存利用不均衡的問題。存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 12 3.2.2 內存池分離部署架構 基于高速網絡總線加速的分離式內存池,是 EMS 內存池化和容量卸載的最終形態,如圖 3-3 所示。通過引入 DRAM 專有服務器硬件最大化降低成本,在內存使用均衡性、利用率和共享方面都提供了最優解。對外以一個整體展示,即體現在整柜硬件交付,也體現
30、在如全局地址空間的空間管理能力。圖 3-3:內存池分離部署架構 3.2.3 分級存儲 通過 DRAM 卸載解決 HBM 的內存容量墻問題,但在某些場景下,DRAM 同樣面臨容量不足和成本過高的問題。EMS 進一步將數據卸載到高速持久化存儲介質(如 SSD),最終形成多級的分層卸載存儲形式,如圖 3-4 所示。通過引入 AI 訓練和推理流程感知的算法,進行 HBM 和 DRAM 之間、DRAM 和SSD 之間的主動卸載和取回調度,使得在訓推效率和成本上達成平衡。圖 3-4:分級存儲技術示例 3.2.4 數據冗余 在云數據中心中,通常擁有成千上萬的 AI 服務器。EMS 為如此大規模的 AI 服務
31、器提供內存存儲服務,也會具有較大的分布式規模。AI 訓練和推理過程中卸載到 EMS 中的數據如果丟失,將會造成 AI 任存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 13 務的中斷或重新執行。EMS 內存池提供基于副本和糾刪碼的內存數據冗余能力,以大幅提升數據的可用性,如圖 3-5 所示。圖 3-5:內存數據冗余技術示例 3.3 面向 AI 推理的加速技術 在本章節中,將首先探討 AI 推理的背景及其面臨的問題,隨后詳細介紹 EMS 針對 AI 推理的加速技術。在 AI 推理過程中,Transformer 模型接收用戶的問
32、題輸入,并通過迭代方式生成相應的回答。每個Transformer 層由自注意力模塊和前饋網絡模塊組成。在自注意力模塊中,上下文詞元(token)與模型參數結合,生成中間數據 K(鍵)和 V(值),并進行注意力計算。為避免在迭代生成過程中重復計算 KV,生成的 KV 中間數據被存儲在 AI 加速器的 HBM 內存中,形成 KV 緩存。每個詞元的 KV 緩存大小取決于模型的維度、層數以及數據精度,計算公式為:單個詞元的 KV 緩存大小=模型維度*模型層數*數據精度*2。例如,GPT3 模型的數據維度和層數分別為 12288 和 96,在雙字節精度下,單個詞元的 KV緩存大小為 12288*96*2
33、*2 字節=4.5MB。在推理過程中,每個推理請求所需的 KV 緩存大小與上下文長度成線性關系。例如,在 GPT3 模型的推理中,長度為 2048 的上下文將占用 4.5MB*2048=10GB 的 AI 加速器 HBM 內存空間。然而,AI 加速器通常只能提供幾十 GB 的 HBM 容量,其中一部分用于存儲模型參數,僅剩余有效的空間用于 KV 緩存。例如,使用 8 張 64GB 的 AI 加速器部署 GPT3 模型,系統 HBM 總容量為 8*64GB=512GB,其中 350GB 用于模型參數,剩余 162GB 僅能支持 162GB/10GB=16 個 2048 上下文長度的推理請求緩存
34、KV 值。因此,AI加速器能夠同時處理的請求數量受限于 HBM 內存容量。綜上所述,Transformer 模型推理中存在嚴重的 HBM 內存墻問題。為解決這一問題,EMS 提供了以下三種技術以加速 AI 推理:以存帶算、顯存擴展和計算卸載,如圖 3-6 所示。存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 14 圖 3-6:AI 推理場景中的 EMS 關鍵技術 3.3.1 以存代算 在 Transformer 模型的推理過程中,由于 AI 加速器的 HBM 內存容量限制,現有的推理系統無法在 AI加速器的 HBM 中持續保
35、存多輪對話的 KV 緩存。為了應對這一問題,系統通常會丟棄已處理對話的 KV 緩存,以騰出 HBM 空間來服務新的請求。然而,當這些被丟棄的 KV 緩存對應的對話再次出現時,系統必須重新計算這些 KV 緩存,如圖 3-7a 所示。這種重復計算不僅浪費了計算資源,還增加了推理成本。為了減少成本并提升推理性能,EMS 服務引入了以存代算技術 CachedAttention9,如圖 3-7b 所示。該技術利用 EMS 中的大容量多級內存池來存儲和復用多輪對話中產生的 KV 緩存,而不是直接丟棄它們。具體操作是,當一個會話變為非活躍狀態時,將相應的 KV 緩存保存到 EMS 中。當該對話重新激活時,再
36、從 EMS 中加載并復用這些 KV 緩存,從而避免了重復計算。此外,EMS 還采用了以下技術來優化緩存系統性能,如圖 3-8 所示:(1)采用逐層預加載和異步保存策略,以減少加載和保存 KV 緩存的時間;(2)利用多級緩存結構,通過更大容量的存儲介質提供充足的緩存空間;(3)通過自動感知調度器中的任務隊列信息,實現多層次存儲介質間的緩存調度,以提高訪問效率;(4)將位置編碼從 KV 緩存中分離,確保在模型上下文窗口長度溢出時 KV 緩存的可重用性。通過以存代算技術,EMS 有效地避免了多輪對話中的重復計算,顯著降低了首字時延,提高了預填充階段的吞吐量,并降低了端到端的推理成本。9 Bin Ga
37、o,Zhuomin He,Puru Sharma,Qingxuan Kang,Djordje Jevdjic,Junbo Deng,Xingkun Yang,Zhou Yu,Pengfei Zuo,“Cost-Efficient Large Language Model Serving for Multi-turn Conversations with CachedAttention”,in Proceedings of the 2024 USENIX Annual Technical Conference(USENIX ATC),2024.存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本
38、 01(2024-03-301)版權所有 華為云計算技術有限公司 15 圖 3-7:多輪對話中使用 EMS 圖 3-8:EMS 以存代算技術 3.3.2 顯存擴展 由于 AI 加速器中的 HBM 內存容量限制,AI 加速器可能無法容納大的模型,或者即使能夠容納,也無法使用較大的批處理大?。˙atch Size)。為了解決這一問題,EMS 采用了顯存擴展技術,以增加 AI 加速器的可用顯存,從而支持運行超出 HBM 容量的模型或增加推理的批處理大小。在推理過程中,EMS 將HBM 中的 KV 緩存、模型權重等數據動態卸載到一個大容量的共享彈性內存池中,如圖 3-9 所示。通過利用計算層與內存池之
39、間的高性能網絡總線,EMS 實現了數據傳輸與計算過程的流水線并行,有效減少了內存池的訪問開銷。得益于這種大容量、高性能、共享訪問的彈性內存池,EMS 的顯存擴展技術能夠增加推理的批處理大小,進而提升 AI 推理的整體吞吐率。圖 3-9:EMS 顯存擴展技術 存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 16 3.3.3 計算卸載 針對 Transformer 模型推理中遇到的 HBM 內存墻問題,EMS 通過計算卸載技術將自注意力模塊相關的KV 緩存數據和輕量級算子卸載到內存池中,利用 EMS 中的 DRAM 容量擴展 H
40、BM 的容量,并通過 DRAM 的內存帶寬補充 HBM 的帶寬,如圖 3-10 所示。具體而言,Transformer 模型的自注意力模塊需要加載整個推理上下文的 KV 緩存以完成注意力分數的計算,這一過程涉及大量 KV 數據的讀取,而相關算子的計算量相對較小。與此相反,前饋網絡模塊主要由計算需求較大的全連接網絡算子構成,對存儲容量的需求較小。EMS 根據這些不同的計算特性,將自注意力模塊和前饋網絡模塊分別在計算能力較小但存儲能力較大的CPU 側和計算能力較大但存儲能力較小的 AI 加速器上完成。同時,EMS 根據推理任務的服務級別協議(SLA)需求,智能地決定卸載的時機和粒度,通過彈性內存池
41、的大容量和大帶寬優勢緩解了 HBM 內存墻問題,采用異構推理方案提升了 AI 推理的端到端性能和性價比。圖 3-10:EMS 計算卸載技術 3.4 面向 AI 訓練的加速技術 在 AI 大模型的訓練場景中,通常需要成千上萬張卡進行并行分布式訓練。由于參與的機器數量眾多,故障率也隨之升高,這成為了提升大模型訓練效率的一個主要障礙。例如,在 OPT 模型的訓練報告中,平均每天會發生兩次故障。為了確保訓練任務能夠在故障后恢復,訓練過程中必須定期保存檢查點(checkpoint),并在故障發生時加載這些檢查點。因此,檢查點的保存和加載速度對于訓練效率至關重要。傳統的做法是將檢查點直接保存到持久化存儲系
42、統中,而 EMS提出了一種新的方案,即使用分布式內存池來保存檢查點,如圖 3-11 所示。通過將檢查點保存在 EMS 內存池中的 DRAM 介質上,故障后可以直接從 DRAM 內存中快速加載檢查點,顯著提高了保存和加載的速度。EMS 內存池的多副本冗余機制確保了檢查點的高可用性。此外,EMS 還會根據需要將內存中的檢查點保存到遠程持久化存儲系統,如 SFS Turbo或 OBS,形成內存與持久化存儲相結合的多級存儲方案,以解決 DRAM 介質的易失性問題。EMS 的全內存檢存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 17
43、 查點方案包括三項關鍵技術:并行訓練拓撲感知的檢查點保存、基于參數面通信的檢查點恢復和選擇性檢查點持久化。圖 3-11:AI 訓練場景使用 EMS 的架構 3.4.1 并行訓練拓撲感知的檢查點保存 由于 DRAM 內存的易失性,為了確保在 EMS 中保存的檢查點數據具有高可用性,必須實施數據冗余策略。為此,EMS 采用了一種結合并行訓練和拓撲感知的檢查點保存技術,該技術在實現數據冗余的同時,也大幅提升了保存性能。這種技術利用了數據并行訓練中 NPU卡之間的模型重復性,實現了內存檢查點的多副本存儲,也顯著提升了檢查點的保存效率。在數據并行訓練中,模型冗余是自然產生的,這使得我們可以將同一數據并行
44、組內各卡上的檢查點視為相互冗余的副本。例如,當數據并行度設置為 32 時,意味著有 32 個相同的模型在并行訓練。如果 EMS 需要保留 3 個檢查點副本,那么在同一數據并行組內的 32張卡中,每張卡只需保存 3/32 的檢查點數據。所有卡的數據合起來,就能形成 3 個完整的檢查點副本,滿足 EMS 對副本數量的需求。在融合部署架構下,每張卡僅需將檢查點數據寫入到本節點的 EMS 上。這與傳統的多副本備份方法不同,后者需要跨節點傳輸完整的檢查點數據。而 EMS通過在本地保存檢查點數據即可實現多副本,極大地提高了訓練效率,如圖 3-12 所示。存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本
45、 01(2024-03-301)版權所有 華為云計算技術有限公司 18 圖 3-12:EMS 中并行訓練感知的檢查點保存技術 3.4.2 基于 NPU 通信的檢查點恢復 在使用數據并行的分布式訓練中(并行度=N),在進行故障恢復時,N 個 NPU 卡需要讀取相同的檢查點。如果通過 VPC 網絡進行恢復,性能會受到限制。為此,EMS 采用了一種基于 NPU 通信的檢查點恢復方法,如圖 3-13 所示。該方法首先感知模型訓練的并行拓撲,識別出需要同一檢查點的 NPU 卡。然后,利用本地內存先讀取檢查點,并根據感知的拓撲結構,通過 NPU卡間的參數面通信來補全檢查點。與傳統的跨節點通信方式相比,EM
46、S 利用了高速的卡間帶寬來獲取檢查點,從而大大提升了檢查點的恢復效率。圖 3-13:EMS 基于 NPU 通信的檢查點恢復技術 3.4.3 選擇性檢查點持久化 由于 DRAM 內存中的檢查點可能因意外而丟失,因此進行持久化存儲是必要的。然而,如果每次都將DRAM 內存中的檢查點保存到持久化存儲中,將會嚴重影響性能,并可能阻塞對新的內存檢查點的寫入。為了解決這一問題,EMS 采用了選擇性持久化技術,如圖 3-14 所示。用戶可以指定哪些檢查點需要保存到持久化存儲中,或者配置一個策略來決定檢查點的持久化頻率。這樣,EMS 只用將部分版本的檢查點寫入到持久化存儲中,而其它版本的檢查點會在內存中被覆蓋
47、寫。采用此技術,EMS 能夠有效降低對持久化存儲的壓力,并防止對內存檢查點寫入的阻塞。另外,EMS 采用了雙快照機制來保存檢查點,以保證 EMS中總是有一份最新的完整檢查點用于訓練時的故障恢復。具體來說,EMS 維護兩個固定的緩沖區用于保存存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 19 內存級別的檢查點。在這兩個緩沖區中,一個用于存儲正在寫入的檢查點,另一個則負責存儲上一個次已完成寫入的檢查點。兩個緩沖區交替執行寫入操作,確保 EMS 中的檢查點始終有一份最新的完整檢查點。圖 3-14:EMS 中選擇性持久化技術 3.
48、5 面向推薦模型的加速技術 推薦模型在廣告、新聞和視頻推薦等多個領域得到了廣泛應用。與大型語言模型和視覺模型不同,推薦模型的輸入特征中包含大量 ID 類型的數據,如用戶 ID、新聞 ID 和視頻 ID 等。這些 ID 特征通常具有極高的維度且非常稀疏,難以直接被神經網絡處理。為了解決這一問題,推薦模型采用了 Embedding加多層感知器(MLP)的架構。通過 Embedding 技術,ID 類型特征被映射到低維向量,從而縮小了與神經網絡之間的差距。推薦模型中包含多個 Embedding表,每個表負責將特定類型的 ID特征轉換為Embedding。圖 3-15 展示了推薦模型的前向計算過程:I
49、D 特征首先通過 Embedding 表轉換為 Embedding,然后這些Embedding 經過池化處理,如求和或平均,最終輸入 MLP 以生成最終的推薦標簽。由于 ID 類型特征的基數龐大,推薦模型中 Embedding 層的參數量非常大。例如,億級的視頻 ID 特征可能需要一個擁有萬億參數的 Embedding 表。因此,Embedding 通常占據了推薦模型中超過 99.9%的參數。與計算機視覺和大語言模型不同,推薦模型訓練面臨的一個主要挑戰是數據更新迅速且特征極其稀疏,例如高維的 one-hot 或 multi-hot 向量。此外,新數據的不斷加入可能導致特征向量達到百萬甚至億級,
50、使得模型規模達到萬億字節,難以存儲在單個 NPU 或單臺機器的內存中。在訓練和在線推理過程中,神經網絡計算中涉及的 Embedding 數據量相對較小,通常不到總數據量的 1%。因此,業界普遍采用一個獨立的全局 Embedding 存儲服務(或參數服務器)來提供統一的 Embedding 管理、存儲和計算能力。EMS作為推薦模型訓練和推理過程中的 Embedding 存儲服務,旨在實現高資源利用率和高的訪問性能。EMS 提供 Embedding 存儲服務的關鍵技術將在下文中介紹。存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司
51、 20 圖 3-15:典型的推薦模型結構圖 3.5.1 Embedding 池化存儲 在推薦模型訓練過程中,EMS提供全量的Embedding池化存儲,如圖3-16所示。另外,在每個訓練節點中,本地Embedding模塊用于緩存頻繁訪問的Embedding,并負責與上層推理框架進行交互。當訓練節點需要獲取Embedding時,首先嘗試從本地Embedding緩存中讀取。若緩存未命中,則該節點會從EMS中拉取所需數據。在訓練過程中,梯度更新任務由數據分片(shard)所屬的計算節點執行,并異步將更新后的數據推送回EMS。圖 3-16:推薦場景使用 EMS 的架構 3.5.2 Embedding
52、均衡打散 由于Embedding數據量可能高達十TB甚至百TB,為了提高存取效率,需要將這些數據均勻分散到不同的節點上。EMS采用分片(Shard)機制來分散數據,通過計算鍵(key)的哈希值,將Embedding數據均存儲服務技術白皮書 3 產品架構和關鍵技術 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 21 勻分配到各個節點。在每個節點內部,再根據哈希值將負載均衡分配給多個分片線程,確保表數據在節點和線程的分片上均衡分布。分片與線程綁定,實現了無鎖操作,從而提升了效率和性能。3.5.3 增量檢查點 在大規模推薦模型訓練中,訓練過程中更新的Embedding會被
53、存儲到EMS中。在進行訓練檢查點(Checkpoint)時,也需要保存這些Embedding。EMS提供了增量檢查點的功能,只存儲更新過的Embedding,而不是每次都存儲全部Embedding,這樣可以節省存儲空間并提高效率。增量檢查點的實現基于類似寫時復制(COW)的原理,在更新Embedding時記錄邏輯時間戳,保存檢查點時根據時間戳來判斷是否需要保存。存儲服務技術白皮書 4 總結 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 22 4 總結總結 彈性內存存儲服務 EMS 是一種以內存為主要存儲介質的云基礎設施服務。EMS 推動華為云基礎設施從傳統的“計算-
54、存儲”分離的兩層架構,演進成“計算-內存-存儲”分離的三層架構。這種新型架構通過將 DRAM 內存解耦并池化,有效解決了持久化存儲性能低、計算側 DRAM 利用率不足以及 HBM 內存墻三大存力痛點。從而使得云基礎設施架構具有高的資源彈性、高的資源利用率、高性能等優勢。EMS廣泛應用于大語言模型、多模態模型、推薦模型等不同模型的推理和訓練場景,并為這些場景提供領域專用的服務 SDK,以實現極致的加速效果。AI 場景是 EMS 的首個應用領域,本書重點介紹了 EMS 在 AI 場景中的關鍵技術。在未來,EMS 將持續演進,并擴展至通用計算場景,包括在線事務處理(OLTP)數據庫、混合事務/分析處
55、理(HTAP)數據庫、向量數據庫、Redis 緩存系統、大數據分析等應用領域。EMS 彈性內存存儲技術白皮書 5 縮略語 文檔版本 01(2024-03-301)版權所有 華為云計算技術有限公司 23 5 縮略語縮略語 縮略語縮略語 英文解釋英文解釋 中文解釋中文解釋 EMS Elastic Memory Service 彈性內存存儲服務 OBS Object Storage Service 對象存儲服務 SDK Software Development Kit 軟件開發套件 GPU Graphics Processing Unit 圖像處理器 NPU Neural Processing Un
56、it 神經處理器 TPU Tensor Processing Unit 張量處理器 HBM High-Bandwidth Memory 高帶寬內存 DRAM Dynamic Random Access Memory 動態隨機訪問內存 SSD Solid-State Drive 固態盤 LLM Large Language Model 大語言模型 CV Computer Vision 計算機視覺 SOTA State-Of-The-Art 業界領先 K/V Key/Value 鍵/值 SLA Service-level Agreement 服務級別協議 MLP Multi-Layer Perception 多層感知機 OLTP On-line Transaction Process 在線事務處理 HTAP Hybrid Transaction/Analysis Process 混合事務/分析處理