第四範式推出業界首個基于持久內存、支持毫秒級恢複的萬億維線上預估系統

作者:第四范式 | 日期:2020-07-01 18:17:18

線上預估服務是AI在企業應用落地的關鍵環節,企業通常會采用分布式計算架構在內存中完成實時數據處理和高達萬億維的模型特征存儲,並通過多集群副本解決傳統純內存(DRAM)天生的易“失”性隱患,以達到線上實時服務質量(Quality of Service)效果。然而,隨著企業AI應用模型大小和數量的增長,線上預估服務所需要的硬件資源也呈幾何倍數增加。

爲進一步滿足企業線上預估需求,第四範式定制開發了基于持久內存技術、支持實時恢複的萬億維線上預估系統,爲企業提供高可用性、毫秒級恢複的在線預估服務,同時將企業總擁有成本降低80%。該系統基于第四範式AI算力平台SageOne的持久內存進行了軟硬一體設計,與其他預估系統相比,可實現每秒億級KV查詢的高性能,並能夠與第四範式自研的高維機器學習框架以及TensorFlowAI開源框架無縫對接。保證了在線預估服務無論在發生物理故障或者程序崩潰的情況下,均具備毫秒級故障實時恢複特性,是企業低成本實現高可用AI線上預估服務的最佳選擇。

第四範式自研的基于持久內存的萬億維級參數服務器-HyperPS是該線上預估系統的關鍵基礎組件。HyperPS參數服務器具備高性能底層序列化框架、鏈路共享、多級訪存優化、雙端參數合並及動態擴縮容等特性。基于持久內存設計和優化後,HyperPS在保持與基于純內存參數服務器幾乎一致性能的同時,展現出在線上預估應用中數據實時恢複和應用成本低的巨大優勢。

持久内存加持 参数服务器性能升级

參數服務器通常將所有數據放在純內存中處理,AI模型越大,分布式參數服務器的內存需求越大。此外,純內存雖然性能優秀,但因其易失性(volatile)特性,一旦硬件或者軟件發生故障,內存丟失的全部數據必須從持久性存儲設備(HDD/SSD)中讀取日志恢複,恢複速度慢,嚴重影響線上性能服務質量。

持久內存的大容量、高性能、非易失性屬性,爲其帶來了高安全性、低成本等優勢,改善了目前純內存容量小、成本高、災備恢複慢等問題。針對持久內存這些應用優點,第四範式針對HyperPS參數服務器的底層系統架構和存取性能等進行了軟硬一體設計。首先,針對節點內的shard重新設計了新的存儲引擎,采用持久化哈希表爲底層數據結構儲存特征,保證高並行度性能的同時,對持久內存數據組織格式進行優化,達到接近于純內存哈希表的性能;其次,對參數服務器災難恢複機制調優,使用持久化智能指針記錄哈希表的核心數據結構和根指針,實現業界首創的參數服務器實時恢複能力;再次,利用PMDKtransaction機制,使用pmempool分配和管理持久內存空間,確保持久內存數據一致性;最後,針對影響性能的持久化操作進行策略性的降低,進一步提高性能。

在實際測試環境中,基于持久內存的HyperPS表現出更低的擁有成本和巨大的實時恢複優勢,以及與純內存近乎一致的性能表現。

01.企業AI應用內存預估:

AI为企業带来出众的业务效果,同时企業也要承担AI産生的成本壓力,特別是當AI規模化應用時。以某著名手機終端廠商爲例,分別采用配備384GB 純內存服務器和配備2TB持久內存的服務器爲預估單節點基准。每上線一個模型在在純內存的參數服務器上占用內存空間大概是128GB。基于持久內存的數據結構由于其有額外的持久化邏輯,在空間複雜度上會略高于純內存數據結構,其空間占用大概是204GB。在此基础上,估算企業上线1-100個模型參數服務器所需的純內存物理節點數和配備持久內存的物理節點數量。

从预估结果来看,企業需要采用持久内存的物理节点数量和纯内存的物理节点数量比为1:3.4-4,而持久內存的參數服務器總成本最多下降80%

02.數據恢複速度測試:

當系統節點出現故障時,采用純內存的參數服務器需要從數據存儲集群(如HDFS)重新申請模型參數數據恢複,耗時長,嚴重影響線上服務質量。采用持久內存的HyperPS則完全不同,節點發生故障或者程序崩潰後,數據依然保存在持久內存中,服務重啓後只需要調用優化過的數據一致性檢查函數,即可實現毫秒級實時恢複

以恢複6千萬維參數模型爲例,純內存參數服務器恢複模型需要花費58秒,而持久性內存參數服務器只需要0.03秒,故障恢複時長縮短將近2000倍。

恢複20個模型總計12亿维参数测试中,纯内存参数服务器数据恢複时间随着数据总量增加而大幅增长,而持久内存的参数服务器几乎没有受到影响,只需检查哈希表元数据后即可提供服务,其恢複时长缩短17114倍。

03.預估性能測試:

HyperPS不仅大幅降低了总拥有成本并提升数据恢複速度,也展现出和纯内存模式下同水准的性能表现。在非高压(1個請求線程)和高壓(56個並發請求線程)的情況下的請求延遲(TP99)。結果表明,基于持久內存的HyperPS參數服務器在延遲上,與采用純內存的參數服務器性能相近。單線程和56線程兩個測試中,持久內存的參數服務器均僅比采用純內存的參數服務器延遲多1毫秒。

在吞吐性能對比測試項目中,基于持久內存的參數服務器在56線程的高壓負載測試中的QPS僅比純內存參數服務器低3.5%

此次,通過軟件定義算力的全新方式,第四範式將自研HyperPS萬億維參數服務器與英特爾?傲騰?持久内存进行软硬一体优化设计,保证线上推理服务超高性能的同时,大幅降低企業AI整体投入成本,提升线上服务质量,进一步扫清了企業AI規模化應用的前進障礙。

(內容摘自“第四範式”微信公衆號,2020630日)