第四范式推出業(yè)界首個(gè)基于持久內(nèi)存、支持毫秒級(jí)恢復(fù)的萬(wàn)億維線上預(yù)估系統(tǒng)
        2020-06-30

        線上預(yù)估服務(wù)是AI在企業(yè)應(yīng)用落地的關(guān)鍵環(huán)節(jié),企業(yè)通常會(huì)采用分布式計(jì)算架構(gòu)在內(nèi)存中完成實(shí)時(shí)數(shù)據(jù)處理和高達(dá)萬(wàn)億維的模型特征存儲(chǔ),并通過(guò)多集群副本解決傳統(tǒng)純內(nèi)存(DRAM)天生的易“失”性隱患,以達(dá)到線上實(shí)時(shí)服務(wù)質(zhì)量(Quality of Service)效果。然而,隨著企業(yè)AI應(yīng)用模型大小和數(shù)量的增長(zhǎng),線上預(yù)估服務(wù)所需要的硬件資源也呈幾何倍數(shù)增加。


        為進(jìn)一步滿足企業(yè)線上預(yù)估需求,第四范式定制開(kāi)發(fā)了基于持久內(nèi)存技術(shù)、支持實(shí)時(shí)恢復(fù)的萬(wàn)億維線上預(yù)估系統(tǒng),為企業(yè)提供高可用性、毫秒級(jí)恢復(fù)的在線預(yù)估服務(wù),同時(shí)將企業(yè)總擁有成本降低80%。該系統(tǒng)基于第四范式AI算力平臺(tái)SageOne的持久內(nèi)存進(jìn)行了軟硬一體設(shè)計(jì),與其他預(yù)估系統(tǒng)相比,可實(shí)現(xiàn)每秒億級(jí)KV查詢的高性能,并能夠與第四范式自研的高維機(jī)器學(xué)習(xí)框架以及TensorFlow等AI開(kāi)源框架無(wú)縫對(duì)接。保證了在線預(yù)估服務(wù)無(wú)論在發(fā)生物理故障或者程序崩潰的情況下,均具備毫秒級(jí)故障實(shí)時(shí)恢復(fù)特性,是企業(yè)低成本實(shí)現(xiàn)高可用AI線上預(yù)估服務(wù)的最佳選擇。


        第四范式自研的基于持久內(nèi)存的萬(wàn)億維級(jí)參數(shù)服務(wù)器 – HyperPS是該線上預(yù)估系統(tǒng)的關(guān)鍵基礎(chǔ)組件。HyperPS參數(shù)服務(wù)器具備高性能底層序列化框架、鏈路共享、多級(jí)訪存優(yōu)化、雙端參數(shù)合并及動(dòng)態(tài)擴(kuò)縮容等特性?;诔志脙?nèi)存設(shè)計(jì)和優(yōu)化后,HyperPS在保持與基于純內(nèi)存參數(shù)服務(wù)器幾乎一致性能的同時(shí),展現(xiàn)出在線上預(yù)估應(yīng)用中數(shù)據(jù)實(shí)時(shí)恢復(fù)和應(yīng)用成本低的巨大優(yōu)勢(shì)。


        持久內(nèi)存加持 參數(shù)服務(wù)器性能升級(jí)


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


        持久內(nèi)存的大容量、高性能、非易失性屬性,為其帶來(lái)了高安全性、低成本等優(yōu)勢(shì),改善了目前純內(nèi)存容量小、成本高、災(zāi)備恢復(fù)慢等問(wèn)題。針對(duì)持久內(nèi)存這些應(yīng)用優(yōu)點(diǎn),第四范式針對(duì)HyperPS參數(shù)服務(wù)器的底層系統(tǒng)架構(gòu)和存取性能等進(jìn)行了軟硬一體設(shè)計(jì)。首先,針對(duì)節(jié)點(diǎn)內(nèi)的shard重新設(shè)計(jì)了新的存儲(chǔ)引擎,采用持久化哈希表為底層數(shù)據(jù)結(jié)構(gòu)儲(chǔ)存特征,保證高并行度性能的同時(shí),對(duì)持久內(nèi)存數(shù)據(jù)組織格式進(jìn)行優(yōu)化,達(dá)到接近于純內(nèi)存哈希表的性能;其次,對(duì)參數(shù)服務(wù)器災(zāi)難恢復(fù)機(jī)制調(diào)優(yōu),使用持久化智能指針記錄哈希表的核心數(shù)據(jù)結(jié)構(gòu)和根指針,實(shí)現(xiàn)業(yè)界首創(chuàng)的參數(shù)服務(wù)器實(shí)時(shí)恢復(fù)能力;再次,利用PMDK的transaction機(jī)制,使用pmempool分配和管理持久內(nèi)存空間,確保持久內(nèi)存數(shù)據(jù)一致性;最后,針對(duì)影響性能的持久化操作進(jìn)行策略性的降低,進(jìn)一步提高性能。


        在實(shí)際測(cè)試環(huán)境中,基于持久內(nèi)存的HyperPS表現(xiàn)出更低的擁有成本和巨大的實(shí)時(shí)恢復(fù)優(yōu)勢(shì),以及與純內(nèi)存近乎一致的性能表現(xiàn)。


        01. 企業(yè)AI應(yīng)用內(nèi)存預(yù)估


        AI為企業(yè)帶來(lái)出眾的業(yè)務(wù)效果,同時(shí)企業(yè)也要承擔(dān)AI產(chǎn)生的成本壓力,特別是當(dāng)AI規(guī)模化應(yīng)用時(shí)。以某著名手機(jī)終端廠商為例,分別采用配備384GB 純內(nèi)存服務(wù)器和配備2TB持久內(nèi)存的服務(wù)器為預(yù)估單節(jié)點(diǎn)基準(zhǔn)。每上線一個(gè)模型在在純內(nèi)存的參數(shù)服務(wù)器上占用內(nèi)存空間大概是128GB?;诔志脙?nèi)存的數(shù)據(jù)結(jié)構(gòu)由于其有額外的持久化邏輯,在空間復(fù)雜度上會(huì)略高于純內(nèi)存數(shù)據(jù)結(jié)構(gòu),其空間占用大概是204GB。在此基礎(chǔ)上,估算企業(yè)上線1-100個(gè)模型參數(shù)服務(wù)器所需的純內(nèi)存物理節(jié)點(diǎn)數(shù)和配備持久內(nèi)存的物理節(jié)點(diǎn)數(shù)量。



        從預(yù)估結(jié)果來(lái)看,企業(yè)需要采用持久內(nèi)存的物理節(jié)點(diǎn)數(shù)量和純內(nèi)存的物理節(jié)點(diǎn)數(shù)量比為1:3.4-4,而持久內(nèi)存的參數(shù)服務(wù)器總成本最多下降80%。


        02. 數(shù)據(jù)恢復(fù)速度測(cè)試:


        當(dāng)系統(tǒng)節(jié)點(diǎn)出現(xiàn)故障時(shí),采用純內(nèi)存的參數(shù)服務(wù)器需要從數(shù)據(jù)存儲(chǔ)集群(如HDFS)重新申請(qǐng)模型參數(shù)數(shù)據(jù)恢復(fù),耗時(shí)長(zhǎng),嚴(yán)重影響線上服務(wù)質(zhì)量。采用持久內(nèi)存的HyperPS則完全不同,節(jié)點(diǎn)發(fā)生故障或者程序崩潰后,數(shù)據(jù)依然保存在持久內(nèi)存中,服務(wù)重啟后只需要調(diào)用優(yōu)化過(guò)的數(shù)據(jù)一致性檢查函數(shù),即可實(shí)現(xiàn)毫秒級(jí)實(shí)時(shí)恢復(fù)。


        以恢復(fù)6千萬(wàn)維參數(shù)模型為例,純內(nèi)存參數(shù)服務(wù)器恢復(fù)模型需要花費(fèi)58秒,而持久性內(nèi)存參數(shù)服務(wù)器只需要0.03秒,故障恢復(fù)時(shí)長(zhǎng)縮短將近2000倍。


        恢復(fù)20個(gè)模型總計(jì)12億維參數(shù)測(cè)試中,純內(nèi)存參數(shù)服務(wù)器數(shù)據(jù)恢復(fù)時(shí)間隨著數(shù)據(jù)總量增加而大幅增長(zhǎng),而持久內(nèi)存的參數(shù)服務(wù)器幾乎沒(méi)有受到影響,只需檢查哈希表元數(shù)據(jù)后即可提供服務(wù),其恢復(fù)時(shí)長(zhǎng)縮短17114倍。

        03. 預(yù)估性能測(cè)試:


        HyperPS不僅大幅降低了總擁有成本并提升數(shù)據(jù)恢復(fù)速度,也展現(xiàn)出和純內(nèi)存模式下同水準(zhǔn)的性能表現(xiàn)。在非高壓(1個(gè)請(qǐng)求線程)和高壓(56個(gè)并發(fā)請(qǐng)求線程)的情況下的請(qǐng)求延遲(TP99)。結(jié)果表明,基于持久內(nèi)存的HyperPS參數(shù)服務(wù)器在延遲上,與采用純內(nèi)存的參數(shù)服務(wù)器性能相近。單線程和56線程兩個(gè)測(cè)試中,持久內(nèi)存的參數(shù)服務(wù)器均僅比采用純內(nèi)存的參數(shù)服務(wù)器延遲多1毫秒。


        在吞吐性能對(duì)比測(cè)試項(xiàng)目中,基于持久內(nèi)存的參數(shù)服務(wù)器在56線程的高壓負(fù)載測(cè)試中的QPS僅比純內(nèi)存參數(shù)服務(wù)器低3.5%。


        此次,通過(guò) “軟件定義算力”的全新方式,第四范式將自研HyperPS萬(wàn)億維參數(shù)服務(wù)器與英特爾?傲騰?持久內(nèi)存進(jìn)行軟硬一體優(yōu)化設(shè)計(jì),保證線上推理服務(wù)超高性能的同時(shí),大幅降低企業(yè)AI整體投入成本,提升線上服務(wù)質(zhì)量,進(jìn)一步掃清了企業(yè)AI規(guī)?;瘧?yīng)用的前進(jìn)障礙。

        主站蜘蛛池模板: 若尔盖县| 丰县| 依安县| 原阳县| 长春市| 盐山县| 怀集县| 武冈市| 门源| 文登市| 新龙县| 辽阳县| 东山县| 靖安县| 潼南县| 富源县| 南投县| 塔城市| 阿拉尔市| 黄骅市| 宕昌县| 边坝县| 丹江口市| 兰考县| 龙岩市| 山东| 吴堡县| 湛江市| 西乌珠穆沁旗| 屏南县| 莎车县| 寿宁县| 神池县| 义马市| 行唐县| 黑龙江省| 北海市| 水城县| 顺平县| 福建省| 盐源县|