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

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

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

HugeCTR能夠高效地利用GPU來進行推薦系統(tǒng)的訓(xùn)練

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2022-04-01 09:40 ? 次閱讀

1. Introduction

HugeCTR 能夠高效地利用 GPU 來進行推薦系統(tǒng)的訓(xùn)練,為了使它還能直接被其他 DL 用戶,比如 TensorFlow 所直接使用,我們開發(fā)了 SparseOperationKit (SOK),來將 HugeCTR 中的高級特性封裝為 TensorFlow 可直接調(diào)用的形式,從而幫助用戶在 TensorFlow 中直接使用 HugeCTR 中的高級特性來加速他們的推薦系統(tǒng)。

796b3d68-b14e-11ec-aa7f-dac502259ad0.png

圖 1. SOK embedding 工作流程

SOK 以數(shù)據(jù)并行的方式接收輸入數(shù)據(jù),然后在 SOK 內(nèi)部做黑盒式地模型轉(zhuǎn)換,最后將計算結(jié)果以數(shù)據(jù)并行的方式傳遞給初始 GPU。這種方式可以盡可能少地修改用戶已有的代碼,以更方便、快捷地在多個 GPU 上進行擴展。

SOK 不僅僅是加速了 TensorFlow 中的算子,而是根據(jù)業(yè)界中的實際需求提供了對應(yīng)的新解決方案,比如說 GPU HashTable。SOK 可以與 TensorFlow 1.15 和 TensorFlow 2.x 兼容使用;既可以使用 TensorFlow 自帶的通信工具,也可以使用 Horovod 等第三方插件來作為 embedding parameters 的通信工具。

2. TF2 Comparison/Performance

使用 MLPerf 的標準模型 DLRM 來對 SOK 的性能進行測試。

798ed8f4-b14e-11ec-aa7f-dac502259ad0.png

圖 2. SOK 性能測試數(shù)據(jù)

相比于 NVIDIA 的 DeepLearning Examples,使用 SOK 可以獲得更快的訓(xùn)練速度以及更高的吞吐量。

3. API

SOK 提供了簡潔的、類 TensorFlow 的 API;使用 SOK 的方式非常簡單、直接;讓用戶通過修改幾行代碼就可以使用 SOK。

1. 定義模型結(jié)構(gòu)

79ad3c54-b14e-11ec-aa7f-dac502259ad0.png

左側(cè)是使用 TensorFlow 的 API 來搭建模型,右側(cè)是使用 SOK 的 API 來搭建相同的模型。使用 SOK 來搭建模型的時候,只需要將 TensorFlow 中的 Embedding Layer 替換為 SOK 對應(yīng)的 API 即可。

2. 使用 Horovod 來定義 training loop

79d96892-b14e-11ec-aa7f-dac502259ad0.png

同樣的,左側(cè)是使用 TensorFlow 來定義 training loop,右側(cè)是使用 SOK 時,training loop 的定義方式。可以看到,使用 SOK 時,只需要對 Embedding Variables 和 Dense Variables 進行分別處理即可。其中,Embedding Variables 部分由 SOK 管理,Dense Variables 由 TensorFlow 管理。

3. 使用 tf.distribute.MirroredStrategy 來定義 training loop

79f46584-b14e-11ec-aa7f-dac502259ad0.png

類似的,還可以使用 TensorFlow 自帶的通信工具來定義 training loop。

4. 開始訓(xùn)練

7a0c4bae-b14e-11ec-aa7f-dac502259ad0.png

在開始訓(xùn)練過程時,使用 SOK 與使用 TensorFlow 時所用代碼完全一致。

4. 結(jié)語

SOK 將 HugeCTR 中的高級特性包裝為 TensorFlow 可以直接使用的模塊,通過修改少數(shù)幾行代碼即可在已有模型代碼中利用上 HugeCTR 的先進設(shè)計。

審核編輯 :李倩

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

    關(guān)注

    27

    文章

    4639

    瀏覽量

    128471
  • SOK
    SOK
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    6323

原文標題:Merlin HugeCTR Sparse Operation Kit 系列之一

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么ai模型訓(xùn)練要用gpu

    GPU憑借其強大的并行處理能力和高效的內(nèi)存系統(tǒng),已成為AI模型訓(xùn)練不可或缺的重要工具。
    的頭像 發(fā)表于 10-24 09:39 ?84次閱讀

    GPU服務(wù)器在AI訓(xùn)練中的優(yōu)勢具體體現(xiàn)在哪些方面?

    能力特別適合于深度學(xué)習中的大規(guī)模矩陣運算和高維度數(shù)據(jù)處理,這些是AI訓(xùn)練中常見的計算密集型任務(wù)。 2、高效的數(shù)據(jù)處理:AI訓(xùn)練通常涉及大量的數(shù)據(jù),GPU服務(wù)器
    的頭像 發(fā)表于 09-11 13:24 ?262次閱讀

    蘋果承認使用谷歌芯片訓(xùn)練AI

    蘋果公司最近在一篇技術(shù)論文中披露,其先進的人工智能系統(tǒng)Apple Intelligence背后的兩個關(guān)鍵AI模型,是在谷歌設(shè)計的云端芯片上完成預(yù)訓(xùn)練的。這一消息標志著在尖端AI訓(xùn)練領(lǐng)域,大型科技公司正積極探索并實踐著英偉達
    的頭像 發(fā)表于 07-30 17:03 ?637次閱讀

    SOK在手機行業(yè)的應(yīng)用案例

    通過封裝 NVIDIA Merlin HugeCTR,Sparse Operation Kit(以下簡稱 SOK)使得 TensorFlow 用戶可以借助 HugeCTR 的一些相關(guān)特性和優(yōu)化加速 GPU 上的分布式 Embed
    的頭像 發(fā)表于 07-25 10:01 ?254次閱讀
    SOK在手機行業(yè)的應(yīng)用案例

    電磁干擾訓(xùn)練系統(tǒng)原理是什么

    智慧華盛恒輝電磁干擾訓(xùn)練系統(tǒng)的原理主要基于電磁干擾(EMI)的基本原理,即利用電磁波對電子設(shè)備或系統(tǒng)產(chǎn)生的干擾,通過模擬真實的電磁環(huán)境,對受訓(xùn)人員
    的頭像 發(fā)表于 07-22 16:34 ?259次閱讀

    海上電磁干擾訓(xùn)練系統(tǒng)

    多個關(guān)鍵組件組成,包括高性能的電磁信號模擬設(shè)備、數(shù)據(jù)處理中心、仿真訓(xùn)練軟件以及相應(yīng)的硬件支持設(shè)備。該系統(tǒng)能夠模擬出復(fù)雜的海上電磁環(huán)境,包括各種通信信號、雷達信號、干擾信號等,為人員提供逼真的訓(xùn)
    的頭像 發(fā)表于 07-15 16:05 ?199次閱讀

    llm模型訓(xùn)練一般用什么系統(tǒng)

    LLM(Large Language Model,大型語言模型)是近年來在自然語言處理領(lǐng)域取得顯著成果的一種深度學(xué)習模型。它通常需要大量的計算資源和數(shù)據(jù)進行訓(xùn)練。以下是關(guān)于LLM模型訓(xùn)練
    的頭像 發(fā)表于 07-09 10:02 ?293次閱讀

    如何利用Matlab進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練

    ,使得神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓(xùn)練和仿真變得更加便捷。本文將詳細介紹如何利用Matlab進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,包括網(wǎng)絡(luò)創(chuàng)建、數(shù)據(jù)預(yù)處理、訓(xùn)練過程、參數(shù)調(diào)
    的頭像 發(fā)表于 07-08 18:26 ?1389次閱讀

    如何提高自動駕駛汽車感知模型的訓(xùn)練效率和GPU利用

    由于采用了多攝像頭輸入和深度卷積骨干網(wǎng)絡(luò),用于訓(xùn)練自動駕駛感知模型的 GPU 內(nèi)存占用很大。當前減少內(nèi)存占用的方法往往會導(dǎo)致額外的計算開銷或工作負載的失衡。
    的頭像 發(fā)表于 04-29 09:12 ?776次閱讀
    如何提高自動駕駛汽車感知模型的<b class='flag-5'>訓(xùn)練</b>效率和<b class='flag-5'>GPU</b><b class='flag-5'>利用</b>率

    如何利用一些小技巧實現(xiàn)SVM的增量式訓(xùn)練

    同時根據(jù)測試精度,可以看出,通過添加第一次訓(xùn)練多得到的支持向量,而非將全體數(shù)據(jù)進行二次訓(xùn)練,能夠達到同樣的效果。
    發(fā)表于 04-25 11:05 ?720次閱讀
    如何<b class='flag-5'>利用</b>一些小技巧實現(xiàn)SVM的增量式<b class='flag-5'>訓(xùn)練</b>

    AI訓(xùn)練,為什么需要GPU?

    隨著由ChatGPT引發(fā)的人工智能熱潮,GPU成為了AI大模型訓(xùn)練平臺的基石,甚至是決定性的算力底座。為什么GPU能力壓CPU,成為炙手可熱的主角呢?要回答這個問題,首先需要了解當前人工智能(AI
    的頭像 發(fā)表于 04-24 08:05 ?1075次閱讀
    AI<b class='flag-5'>訓(xùn)練</b>,為什么需要<b class='flag-5'>GPU</b>?

    大模型訓(xùn)練如何應(yīng)對GPU萬卡互聯(lián)難題

    為了增強對訓(xùn)練穩(wěn)定性和性能的監(jiān)控,開發(fā)了一個精度達到毫秒級的監(jiān)控系統(tǒng)。采用不同級別的監(jiān)控跟蹤各種指標。
    發(fā)表于 04-07 10:55 ?562次閱讀
    大模型<b class='flag-5'>訓(xùn)練</b>如何應(yīng)對<b class='flag-5'>GPU</b>萬卡互聯(lián)難題

    FPGA在深度學(xué)習應(yīng)用中或?qū)⑷〈?b class='flag-5'>GPU

    上漲,因為事實表明,它們的 GPU訓(xùn)練和運行 深度學(xué)習模型 方面效果明顯。實際上,英偉達也已經(jīng)對自己的業(yè)務(wù)進行了轉(zhuǎn)型,之前它是一家純粹做 GPU 和游戲的公司,現(xiàn)在除了作為一家云
    發(fā)表于 03-21 15:19

    應(yīng)用大模型提升研發(fā)效率的實踐與探索

    對于模型訓(xùn)練,我們可以采用 3D 并行訓(xùn)練的方式實現(xiàn)。將模型參數(shù)和梯度張量劃分為多個分區(qū),分配到不同 GPU 卡上進行計算。每張卡負責自己
    的頭像 發(fā)表于 02-22 11:47 ?562次閱讀
    應(yīng)用大模型提升研發(fā)效率的實踐與探索

    如何搭建高效推薦系統(tǒng)?用Milvus和NVIDIA Merlin搭建高效推薦系統(tǒng)

    如何搭建一個高效的推薦系統(tǒng)? 簡單來說,現(xiàn)代推薦系統(tǒng)訓(xùn)練/推斷流水線(pipeline)組成,涉及數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、模型訓(xùn)練和調(diào)整檢索
    的頭像 發(fā)表于 11-01 09:30 ?900次閱讀
    如何搭建<b class='flag-5'>高效</b>推薦<b class='flag-5'>系統(tǒng)</b>?用Milvus和NVIDIA Merlin搭建<b class='flag-5'>高效</b>推薦<b class='flag-5'>系統(tǒng)</b>