KGNN 整體訓(xùn)練流程

解決方案:英特爾傲騰持久內(nèi)存助力 KGNN 的實(shí)現(xiàn)

由于 KGNN 平臺(tái)需要對(duì)于大量快速變化的超大規(guī)模圖片進(jìn)行實(shí)時(shí)訓(xùn)練,因此對(duì)于異構(gòu)圖存儲(chǔ)層的讀寫采樣能力以及數(shù)據(jù)吞吐能力提出了極高的要求,傳統(tǒng)解決方案是使用高性能的DRAM 內(nèi)存來(lái)拓展異構(gòu)圖存儲(chǔ),滿足讀寫采樣對(duì)于性能的要求。但是,企業(yè)級(jí) DRAM 內(nèi)存的單條容量往往只有 32 GB, 再加上服務(wù)器的內(nèi)存擴(kuò)展插槽的限制,單機(jī)服務(wù)器可擴(kuò)展內(nèi)存的最大容量受到極大限制。如果要滿足對(duì)超大規(guī)模動(dòng)態(tài)圖的處理需求,需要對(duì)圖進(jìn)行大量分片,不僅影響訓(xùn)練性能,也會(huì)限制多機(jī)擴(kuò)展性。同時(shí),由于動(dòng)態(tài)全局帶權(quán)負(fù)采樣管理、動(dòng)態(tài)高階負(fù)采樣等復(fù)雜算法會(huì)針對(duì)各種實(shí)例進(jìn)行很多低效操作,對(duì)性能造成比較大影響,導(dǎo)致這些算法難以實(shí)現(xiàn)。

使用英特爾傲騰持久內(nèi)存來(lái)替代傳統(tǒng)的 DRAM 內(nèi)存可以解決上述挑戰(zhàn)。英特爾傲騰持久內(nèi)存提供了融合高速、高性價(jià)比、大容量、持久數(shù)據(jù)保護(hù)、高級(jí)加密等優(yōu)勢(shì)于一體的內(nèi)存選項(xiàng)。不同于傳統(tǒng)的 DRAM 內(nèi)存,它集大容量、經(jīng)濟(jì)性和持久性于一身,讀寫帶寬比 NVMe 設(shè)備高數(shù)倍,并大幅降低了延時(shí)問(wèn)題。

英特爾傲騰持久內(nèi)存提供了兩種不同的操作模式:內(nèi)存模式(Memory Mode)和應(yīng)用直接訪問(wèn)模式(App DirectMode)。在內(nèi)存模式中,它與普通的易失性(非持久性)系統(tǒng)存儲(chǔ)器完全一樣,但成本更低,能在保持系統(tǒng)預(yù)算的同時(shí)實(shí)現(xiàn)更高容量。英特爾傲騰持久內(nèi)存模塊的容量有 128 GB、256 GB 和 512GB 幾個(gè)版本,遠(yuǎn)超 DRAM 內(nèi)存,能夠在單臺(tái)服務(wù)器中提供TB 級(jí)別的內(nèi)存總?cè)萘俊?/p>

快手 KGNN 平臺(tái)使用了英特爾傲騰持久內(nèi)存的 App Direct 模式,在這種模式下,應(yīng)用程序和操作系統(tǒng)會(huì)有兩種可用的內(nèi)存。系統(tǒng)將決定是從 DRAM 還是英特爾傲騰持久內(nèi)存中寫入或讀取數(shù)據(jù)。要求最低延遲且不需要永久數(shù)據(jù)存儲(chǔ)的操作可以在 DRAM 上執(zhí)行,必須長(zhǎng)期保留的大型數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)將由英特爾傲騰持久內(nèi)存進(jìn)行存儲(chǔ)。在此模式下,即使系統(tǒng)關(guān)閉電源,數(shù)據(jù)仍保留在內(nèi)存中。

快手 KGNN 平臺(tái)的異構(gòu)圖存儲(chǔ)層針對(duì)英特爾傲騰持久內(nèi)存進(jìn)行了針對(duì)性優(yōu)化,能夠提供更高性能的讀寫采樣以及利用非易失性特征提供快速恢復(fù)等高可用能力,提高了整體流程的吞吐和穩(wěn)定性。

基于英特爾傲騰持久內(nèi)存的 KGNN 平臺(tái)架構(gòu)

英特爾傲騰持久內(nèi)存化解了存儲(chǔ)性能與容量的瓶頸,能夠以 2 臺(tái)服務(wù)器提供 4TB 的容量,可以實(shí)現(xiàn)點(diǎn)規(guī)模 10 億級(jí)別、邊規(guī)模百億級(jí)別的大規(guī)模實(shí)時(shí)動(dòng)態(tài)圖的處理,減少分圖,從而支持處理更復(fù)雜的算法,獲取更好的推薦效果。

此外,高階采樣在分布式情況下需要處理各種異常情況,代碼復(fù)雜度高,容易出錯(cuò),而且如果出現(xiàn)異常,則會(huì)對(duì)流水線化執(zhí)行造成沖擊。此外,英特爾傲騰持久內(nèi)存下高階采樣的不同階段之間可以并行化,而分布式情況下一般只能等每一跳結(jié)束后才能進(jìn)入下一輪。在實(shí)際業(yè)務(wù)圖復(fù)雜的情況下,英特爾傲騰持久內(nèi)存預(yù)估會(huì)有至少 5-10 倍的性能提升。

在穩(wěn)定性與可用性方面,針對(duì)大規(guī)模實(shí)時(shí)動(dòng)態(tài)圖訓(xùn)練過(guò)程,一旦某些分片因?yàn)殄礄C(jī)而自動(dòng)停止訓(xùn)練,就必須等待所有分片重啟,從而會(huì)損失大量訓(xùn)練實(shí)時(shí)精度。盡管可以通過(guò) Check Point(校驗(yàn)點(diǎn))機(jī)制來(lái)挽回部分損失,但是重啟會(huì)導(dǎo)致整體多分片必須退回到同一個(gè) Check Point,其終端恢復(fù)的時(shí)間預(yù)計(jì)會(huì)高達(dá) 12 小時(shí)。在線學(xué)習(xí)場(chǎng)景下,一旦出現(xiàn)此類可用性問(wèn)題,快手還需要讓訓(xùn)練消費(fèi)回退,防止出現(xiàn)訓(xùn)練穿越的問(wèn)題,這使得在線學(xué)習(xí)的效果損失非常大。

英特爾傲騰持久內(nèi)存可以減少分片,同時(shí)其具備持久內(nèi)存的特性,在宕機(jī)之后數(shù)據(jù)不會(huì)消失,從而將恢復(fù)時(shí)間從 12 小時(shí)降低到 2 分鐘,恢復(fù)時(shí)間減少 99% 以上。

效果:更高性能、更低 TCO、更高可用性

得益于英特爾傲騰持久內(nèi)存的卓越特性,快手 KGNN 平臺(tái)的性能實(shí)現(xiàn)了顯著提升,能夠更有效地應(yīng)對(duì)算法推薦應(yīng)用所帶來(lái)的挑戰(zhàn):

1、提升實(shí)時(shí)動(dòng)態(tài)圖處理的性能:英特爾傲騰持久內(nèi)存提供了更大的單機(jī)存儲(chǔ)容量,能夠顯著降低超大實(shí)時(shí)動(dòng)態(tài)圖分片所帶來(lái)的性能影響。測(cè)試數(shù)據(jù)顯示,英特爾傲騰持久內(nèi)存可帶來(lái)立竿見影的性能提升,同時(shí)也能支持更多復(fù)雜算法。

2、降低算法推薦系統(tǒng) TCO:與 DRAM 內(nèi)存相比,同等容量的英特爾傲騰持久內(nèi)存采購(gòu)價(jià)格更低。此外,英特爾傲騰持久內(nèi)存提供有更高的單模塊容量,使得快手可以大幅降低實(shí)現(xiàn)TB 級(jí)存儲(chǔ)容量所需要的服務(wù)器節(jié)點(diǎn),顯著節(jié)省 TCO。

3、故障恢復(fù)時(shí)間更低:基于英特爾傲騰持久內(nèi)存的快手KGNN 平臺(tái)實(shí)現(xiàn)了更低的恢復(fù)時(shí)間,這有利于快手提升 KGNN 平臺(tái)的穩(wěn)定性與可用性,降低運(yùn)維負(fù)擔(dān)。

展望:生態(tài)助力數(shù)據(jù)價(jià)值挖掘

快手 KGNN 的選型與優(yōu)化實(shí)踐證明,英特爾傲騰持久內(nèi)存能夠在內(nèi)存容量要求高的場(chǎng)景中扮演重要角色,在單位成本內(nèi)提供更有競(jìng)爭(zhēng)力的性能。目前,快手 KGNN 還在繼續(xù)迭代中, 進(jìn)一步推動(dòng)在英特爾傲騰持久內(nèi)存方面的應(yīng)用探索,應(yīng)對(duì)推薦場(chǎng)景給算法、算力等帶來(lái)的挑戰(zhàn)。

除了英特爾傲騰持久內(nèi)存之外,英特爾還將與快手在技術(shù)、產(chǎn)品、應(yīng)用和生態(tài)建設(shè)等多個(gè)層面開展合作,共同驗(yàn)證前沿硬件及軟件技術(shù)在用戶推薦等場(chǎng)景中的落地與優(yōu)化。雙方將基于端到端的數(shù)據(jù)分析與人工智能解決方案,挖掘海量數(shù)據(jù)中蘊(yùn)藏的價(jià)值,驅(qū)動(dòng)大數(shù)據(jù)分析和人工智能創(chuàng)新,為用戶帶來(lái)更加個(gè)性化、智慧化的應(yīng)用體驗(yàn)。

分享到

崔歡歡

相關(guān)推薦