0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何有效處理大規(guī)模用戶數(shù)據(jù)進(jìn)行廣告推薦?

電子工程師 ? 來源:lq ? 2019-05-25 10:55 ? 次閱讀

如何有效處理大規(guī)模用戶數(shù)據(jù)進(jìn)行廣告推薦?對于互聯(lián)網(wǎng)企業(yè)的發(fā)展和進(jìn)步至關(guān)重要。這也是為何快手成立西雅圖實驗室并實現(xiàn)新一代GPU廣告模型訓(xùn)練平臺的原因之一??焓中聞?chuàng)建的“Persia”GPU廣告模型訓(xùn)練平臺比起傳統(tǒng)CPU訓(xùn)練平臺,單機(jī)訓(xùn)練速度提升可達(dá)幾百倍,在約一小時內(nèi)即可訓(xùn)練百T級別數(shù)據(jù)量,并能通過設(shè)計算法得到相對于傳統(tǒng)訓(xùn)練平臺精度更高的模型,對企業(yè)收入、計算資源的節(jié)約和新模型開發(fā)效率產(chǎn)生直觀的提升。

大模型GPU分布式運算存儲

近年來,GPU訓(xùn)練已在圖像識別、文字處理等應(yīng)用上取得巨大成功。GPU訓(xùn)練以其在卷積等數(shù)學(xué)運算上的獨特效率優(yōu)勢,極大地提升了訓(xùn)練機(jī)器學(xué)習(xí)模型,尤其是深度神經(jīng)網(wǎng)絡(luò)的速度。然而,在廣告模型中,由于大量的稀疏樣本存在(比如用戶id),每個id在模型中都會有對應(yīng)的Embedding向量,因此廣告模型常常體積十分巨大,以至于單GPU無法存下模型。目前往往將模型存在內(nèi)存中,由CPU進(jìn)行這部分巨大的Embedding層的運算操作。這既限制了訓(xùn)練的速度,又導(dǎo)致實際生產(chǎn)中無法使用比較復(fù)雜的模型——因為使用復(fù)雜模型會導(dǎo)致對給定輸入CPU計算時間過長,無法及時響應(yīng)請求。

“Persia”系統(tǒng)實現(xiàn)了多GPU分散存儲模型,每個GPU只存儲模型一部分,并進(jìn)行多卡協(xié)作查找Embedding向量訓(xùn)練模型的模式。這既解決了CPU運算速度過慢的問題,又解決了單GPU顯存無法存下模型的問題。當(dāng)模型大小可以放入單個GPU時,“Persia”也支持切換為目前在圖像識別等任務(wù)中流行的AllReduce分布訓(xùn)練模式。據(jù)研究人員透露,對于一個8GPU的計算機(jī),單機(jī)數(shù)據(jù)處理速度可達(dá)原CPU平臺單機(jī)的640倍。

由于普遍使用的傳統(tǒng)異步SGD有梯度的延遲問題,若有n臺計算機(jī)參與計算,每臺計算機(jī)的梯度的計算實際上基于n個梯度更新之前的模型。在數(shù)學(xué)上,對于第t步的模型xt,傳統(tǒng)異步SGD則更新為:

xt+1←xt ? learning rate × g(xt?τt),

其中g(shù)(xt?τt) 是訓(xùn)練樣本的損失函數(shù)在τt個更新之前的模型上的 梯度。而τt的大小一般與計算機(jī)數(shù)量成正比:當(dāng)計算機(jī)數(shù)量增多,xt?τt與xt相差就越大,不可避免地導(dǎo)致模型質(zhì)量的降低?!癙ersia”的訓(xùn)練模式解決了這種梯度延遲的問題,因此模型質(zhì)量也有所提升。

同時,“Persia”訓(xùn)練系統(tǒng)還支持對Embedding運算在GPU上進(jìn)行負(fù)載均衡,使用“貪心算法”將不同Embedding均勻分散在不同GPU上,以達(dá)到均勻利用GPU的目的。給定k個 GPU,當(dāng)模型具有m個Embedding層:e1, e2, …, em,對應(yīng)負(fù)載分別為l1, l2, …, lm,“Persia”將會嘗試將Embedding分為k組S1, S2, …, Sk,并分別存放在對應(yīng)GPU上,使得每組∑i∈Sjli, ?j大致相等。

訓(xùn)練數(shù)據(jù)分布式實時處理

快手“Persia”的高速GPU訓(xùn)練,需要大量數(shù)據(jù)實時輸入到訓(xùn)練機(jī)中,由于不同模型對樣本的需求不同,對于每個新實驗需要的數(shù)據(jù)格式可能也不同??焓帧癙ersia”系統(tǒng)具備基于Hadoop集群的實時數(shù)據(jù)處理系統(tǒng),可以應(yīng)不同實驗需求從HDFS中使用任意多計算機(jī)分布式讀取數(shù)據(jù)進(jìn)行多級個性化處理傳送到訓(xùn)練機(jī)。傳輸使用高效消息隊列,并設(shè)置多級緩存。傳輸過程實時進(jìn)行壓縮以節(jié)約帶寬資源。

未來:分布式多機(jī)訓(xùn)練

未來,快手“Persia”系統(tǒng)即將展開分布式多GPU計算機(jī)訓(xùn)練。有別于成熟的計算機(jī)視覺等任務(wù),由于在廣告任務(wù)中模型大小大為增加,傳統(tǒng)分布式訓(xùn)練方式面臨計算機(jī)之間的同步瓶頸會使訓(xùn)練效率大為降低。“Persia”系統(tǒng)將支持通訊代價更小,并且系統(tǒng)容災(zāi)能力更強(qiáng)的去中心化梯度壓縮訓(xùn)練算法。

快手FeDA智能決策實驗室負(fù)責(zé)人劉霽介紹,該算法結(jié)合新興的異步去中心化訓(xùn)練 (Asynchronous decentralized parallel stochastic gradient descent, ICML 2018)和梯度壓縮補(bǔ)償算法(Doublesqueeze: parallel stochastic gradient descent with double-pass error-compensated compression, ICML 2019), 并有嚴(yán)格理論保證。據(jù)預(yù)計,快手“Persia”系統(tǒng)在多機(jī)情景下在單機(jī)基礎(chǔ)上將有數(shù)倍到數(shù)十倍效率提升。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10702

    瀏覽量

    209373
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128144
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131845

原文標(biāo)題:單機(jī)訓(xùn)練速度提升高達(dá)640倍,快手開發(fā)GPU廣告模型訓(xùn)練平臺

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    閃存的哪些扇區(qū)可用于用戶數(shù)據(jù)存儲?

    我想問一下閃存的哪些扇區(qū)可用于用戶數(shù)據(jù)存儲(例如配置、登錄名/密碼)。目前,我正在使用外部存儲器,但使用板載閃存的某些扇區(qū)會更便宜。我嘗試在用 blank.bin 編寫的一些扇區(qū)中寫入數(shù)據(jù),但最后
    發(fā)表于 07-12 08:13

    CC3200的用戶數(shù)據(jù)用內(nèi)部ROM還是Flash存?

    CC3200 如何存儲用戶數(shù)據(jù),如何使用內(nèi)部ROM或者外部flash存儲用戶數(shù)據(jù),數(shù)據(jù)量比較小,只有幾個字節(jié)。有沒有例程可以提供?是 file_download 與 file_operations嗎?
    發(fā)表于 04-26 14:58

    cc3200 如何存儲用戶數(shù)據(jù)

    如標(biāo)題,3200如何使用內(nèi)部ROM或者外部flash存儲用戶數(shù)據(jù),數(shù)據(jù)量比較小,只有幾個字節(jié)。有沒有例程可以提供? 是 file_download 與 file_operations嗎?
    發(fā)表于 05-14 11:06

    無法保存工作區(qū)的用戶數(shù)據(jù)文件

    這真煩人。我在本地驅(qū)動器下創(chuàng)建了一個項目,第二次嘗試打開它時,PSoC Creator 3.3給出了這個警告:無法保存工作區(qū)的用戶數(shù)據(jù)文件[CyWRK]:(訪問路徑[CyWRK]被拒絕)。當(dāng)我點擊
    發(fā)表于 10-12 10:18

    為什么內(nèi)核訪問用戶數(shù)據(jù)之前要做access

    為什么內(nèi)核訪問用戶數(shù)據(jù)之前,要做access_ok
    發(fā)表于 05-12 12:18

    請問TM4C129如何存儲用戶數(shù)據(jù)?

    各大神好, 本人初接觸TM4C129 目前使用官方提供的ENET_S2E例程,請教下各位,如何在這個FreeRTOS例程里,進(jìn)行用戶數(shù)據(jù)的讀寫?是否有相應(yīng)的庫函數(shù)操作?最好提供些例子程序?謝謝各位!
    發(fā)表于 08-26 06:50

    【STM32F407】第14章 UDP用戶數(shù)據(jù)報協(xié)議基礎(chǔ)知識 精選資料推薦

    最新教程下載:http://www.armbbs.cn/forum.php?mod=viewthread&tid=95243第14章 UDP用戶數(shù)據(jù)報協(xié)議基礎(chǔ)知識本章節(jié)為大家講解UDP
    發(fā)表于 08-04 07:20

    求大神分享UDP用戶數(shù)據(jù)報協(xié)議基礎(chǔ)知識點

    求大神分享UDP用戶數(shù)據(jù)報協(xié)議基礎(chǔ)知識
    發(fā)表于 10-14 09:14

    請問選項字節(jié)編程中用戶數(shù)據(jù)的用途是什么?

    我想知道選項字節(jié)編程中用戶數(shù)據(jù)的用途是什么?它有助于保護(hù)我在 MCU 內(nèi)部的固件,如密碼等?
    發(fā)表于 01-13 06:26

    如何將用戶數(shù)據(jù)存貯到電池供電域數(shù)據(jù)寄存器

    AT32F4xx電池供電域數(shù)據(jù)存儲展示如何將用戶數(shù)據(jù)存貯到電池供電域數(shù)據(jù)寄存器。
    發(fā)表于 10-27 08:17

    基于內(nèi)存數(shù)據(jù)庫的VLR用戶數(shù)據(jù)處理方法

    提出一種對VLR用戶數(shù)據(jù)進(jìn)行處理的方法,采用面向?qū)ο蟮脑O(shè)計方法并以內(nèi)存數(shù)據(jù)庫形式設(shè)計VLR數(shù)據(jù)庫,通過哈希索引技術(shù)將
    發(fā)表于 06-17 09:01 ?19次下載

    CC2533用戶數(shù)據(jù)手冊

    CC2533用戶數(shù)據(jù)手冊 有需要的朋友下來看看
    發(fā)表于 01-12 15:30 ?26次下載

    cc8520用戶數(shù)據(jù)手冊

    cc8520用戶數(shù)據(jù)手冊 有需要的朋友下來看看
    發(fā)表于 01-12 15:31 ?9次下載

    WhatsApp 服務(wù)條款變化引發(fā)用戶大規(guī)模流失,Telegram 等用戶數(shù)大增

    注冊了數(shù)百萬的新用戶。 WhatsApp 新的條款規(guī)定該應(yīng)用有權(quán)與 Facebook 共享用戶數(shù)據(jù),數(shù)以百萬計的 WhatsApp 用戶沒有同意新的條款,而是直接放棄了使用該平臺,轉(zhuǎn)而使用侵入性較低
    的頭像 發(fā)表于 01-13 15:54 ?2502次閱讀

    Avast因違規(guī)處理用戶數(shù)據(jù)被處以罰款

    據(jù)最新報道,安全軟件廠商阿瓦斯(Avast)因違規(guī)處理用戶數(shù)據(jù),遭受捷克個人數(shù)據(jù)保護(hù)部門罰款高達(dá)3.51億捷克克朗(相當(dāng)于約1.09億元人民幣)。該事件并不是阿瓦斯首次因用戶數(shù)據(jù)處理
    的頭像 發(fā)表于 05-08 14:51 ?369次閱讀