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

圖 1. SOK embedding 工作流程
SOK 以數據并行的方式接收輸入數據,然后在 SOK 內部做黑盒式地模型轉換,最后將計算結果以數據并行的方式傳遞給初始 GPU。這種方式可以盡可能少地修改用戶已有的代碼,以更方便、快捷地在多個 GPU 上進行擴展。
SOK 不僅僅是加速了 TensorFlow 中的算子,而是根據業界中的實際需求提供了對應的新解決方案,比如說 GPU HashTable。SOK 可以與 TensorFlow 1.15 和 TensorFlow 2.x 兼容使用;既可以使用 TensorFlow 自帶的通信工具,也可以使用 Horovod 等第三方插件來作為 embedding parameters 以為參數的通信工具。
使用 MLPerf 的標準模型 DLRM 來對 SOK 的性能進行測試。

圖 2. SOK性能測試數據
相比于 NVIDIA 的 DeepLearning Examples,使用 SOK 可以獲得更快的訓練速度以及更高的吞吐量。
3. API
SOK 提供了簡潔的、類 TensorFlow 的 API;使用 SOK 的方式非常簡單、直接;讓用戶通過修改幾行代碼就可以使用 SOK。
定義模型結構

左側是使用 TensorFlow 的 API 來搭建模型,右側是使用 SOK 的 API 來搭建相同的模型。使用 SOK 來搭建模型的時候,只需要將 TensorFlow 中的 Embedding Layer 替換為 SOK 對應的 API 即可。
使用 Horovod 來定義 training loop

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

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

在開始訓練過程時,使用 SOK 與使用 TensorFlow 時所用代碼完全一致。
4. 結語
SOK 將 HugeCTR 中的高級特性包裝為 TensorFlow 可以直接使用的模塊,通過修改少數幾行代碼即可在已有模型代碼中利用上 HugeCTR 的的先進設計。
關于作者
NVIDIA GPU 計算專家研發團隊成立于2020年7月,主要面向全球用戶開發基于英偉達通用計算產品的軟件解決方案。 目前團隊致力于推薦系統訓練框架 Merlin HugeCTR的開發。作為Merlin 系統三大核心軟件之一,Merlin HugeCTR 是一套針對于推薦系統設計的模型訓練框架。項目啟動于2018年,目前產品應用于多家國際互聯網公司,自2020年以來,HugeCTR持續參與并推動國際性競賽MLPerf DLRM訓練項目,從而實現了業界領先的優化性能。 NVIDIA GPU 計算專家研發團隊是一個小型國際化工程團隊,核心成員來自于多個國家(中國,韓國,荷蘭,德國),客戶分布于世界各地。日常工作使用英語溝通。 團隊主要工作圍繞軟件產品開發展開,涉及產品維護、文檔、測試、發布、部署,日常工作中與各國硬件、產品、工程、客戶支持團隊有著緊密的合作。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
5594瀏覽量
109754 -
gpu
+關注
關注
28文章
5194瀏覽量
135468
發布評論請先 登錄
面包自動化包裝產線數據采集解決方案
工業顯示器在真空包裝機中的應用
食品廠自動包裝產線物聯網解決方案
倍加福超聲波技術解決智能包裝貼標難題
中國包裝行業權威專家一行蒞臨匯川技術參觀指導
用visionboard進行視覺項目,如何將openmv中示例項目燒錄到開發板中脫機運行?
羅克韋爾助力逸超包裝實現設備智能化升級
油類包裝機遠程監控物聯網解決方案
利用普源示波器進行功率器件動態特性測試的研究
PCBA電路板運輸包裝全攻略:防靜電、防潮、防震,一個都不能少!
Modbus老鐵別掉隊!EtherCAT閃電俠帶你狂飆包裝流水線!
怎么正確操作泡罩包裝密封測試儀才能獲取精準結果
MAP氣調包裝頂空氣體檢測技術中會用到哪些傳感器?
包裝密封測試儀:操作技巧助你事半功倍
SOK將HugeCTR中的高級特性進行包裝使用
評論