99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

HugeCTR系列第2部分:訓(xùn)練大型深度學(xué)習(xí)推薦模型

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:Vinh Nguyen ? 2022-04-02 14:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在 Merlin HugeCTR 博文系列的第一部分,我們討論了訓(xùn)練大型深度學(xué)習(xí)推薦系統(tǒng)所面臨的挑戰(zhàn),以及 HugeCTR 如何解決這些問(wèn)題。

深度學(xué)習(xí)推薦系統(tǒng)可能包含超大型嵌入表,這些嵌入表可能會(huì)超出主機(jī)或 GPU 顯存。

我們專(zhuān)為推薦系統(tǒng)設(shè)計(jì)了 HugeCTR。

這是一個(gè)專(zhuān)門(mén)用于在 GPU 上訓(xùn)練和部署大型推薦系統(tǒng)的框架。

它為在多個(gè) GPU 或節(jié)點(diǎn)上分配單個(gè)嵌入表提供了不同的策略。

HugeCTR 是 NVIDIA Merlin] 的主要訓(xùn)練引擎,后者是一種 GPU 加速框架,旨在為推薦系統(tǒng)工作提供一站式服務(wù),從數(shù)據(jù)準(zhǔn)備、特征工程、多 GPU 訓(xùn)練到本地或云中的生產(chǎn)級(jí)推理。

訓(xùn)練性能和可擴(kuò)展性一直是 HugeCTR 的突出特性,為 MLPerf 訓(xùn)練 v0.7 推薦任務(wù)中的 NVIDIA 獲獎(jiǎng)作品提供支持,但我們近期采納了早期采用者和客戶(hù)的反饋,以幫助改進(jìn)易用性。

這篇博文將著重討論我們?cè)谝子眯苑矫娴某掷m(xù)承諾和近期改進(jìn)。

HugeCTR 是一種定制的深度學(xué)習(xí)框架,使用 CUDA C++ 編寫(xiě),專(zhuān)用于推薦系統(tǒng)。

起初,超參數(shù)和神經(jīng)網(wǎng)絡(luò)架構(gòu)在 JSON 配置中定義,然后通過(guò)命令行接口執(zhí)行。

近期,我們添加了 Python API,使其更易于使用。

表 1 匯總了命令行和 Python API 之間的主要區(qū)別。

我們建議使用 Python API,并將在后面部分中重點(diǎn)介紹。

但是,如果您對(duì)命令行界面感興趣,可以在此處找到一些示例。

表 1:HugeCTR 接口比較。

直接從 Python 配置和訓(xùn)練 HugeCTR

自 v2.3 版本起,HugeCTR 開(kāi)始提供易于使用的 Python 接口,用于定義模型架構(gòu)、超參數(shù)、數(shù)據(jù)加載程序以及訓(xùn)練循環(huán)。

此接口使 HugeCTR 更接近于數(shù)據(jù)科學(xué) Python 生態(tài)系統(tǒng)和實(shí)踐。

利用此接口的方法有兩種:

1. 類(lèi)似于 Keras 的高級(jí) Python API

HugeCTR 現(xiàn)在提供了一個(gè)類(lèi)似 Keras 的高級(jí) Python API 套件,用于定義模型、層、優(yōu)化器和執(zhí)行訓(xùn)練。

下文提供了一個(gè)示例代碼段。

如下所示,此 API 模擬熱門(mén)的 Keras 構(gòu)建-編譯-適應(yīng)范式。

2. 低級(jí) Python API

HugeCTR 低級(jí) Python API 允許從 JSON 文件讀取模型定義和優(yōu)化器配置,從而提供向后兼容性。

此外,此 API 允許使用 Python 循環(huán)不斷手動(dòng)執(zhí)行訓(xùn)練,從而獲得對(duì)訓(xùn)練的精細(xì)控制。

在本博客的動(dòng)手實(shí)踐部分中,我們將詳細(xì)介紹如何使用此 API 基于兩個(gè)數(shù)據(jù)集訓(xùn)練模型。

我們將在以下示例中演示此 API。

使用預(yù)訓(xùn)練的 HugeCTR 模型進(jìn)行預(yù)測(cè)

隨著 v3.0 版本的發(fā)布,HugeCTR 增加了對(duì)基于 GPU 的推理的支持,可生成許多批次的預(yù)測(cè)。

HugeCTR 將參數(shù)服務(wù)器、嵌入緩存和推理會(huì)話(huà)分離開(kāi)來(lái),以便更好地管理資源以及更有效地利用 GPU。

參數(shù)服務(wù)器用于加載和管理嵌入表。

對(duì)于超過(guò) GPU 顯存的嵌入表,參數(shù)服務(wù)器將嵌入表存儲(chǔ)在 CPU 內(nèi)存上。

嵌入緩存為模型提供嵌入查找服務(wù)?;顒?dòng)嵌入條目存儲(chǔ)在 GPU 顯存上,以便快速查找。

推理會(huì)話(huà)將這兩者與模型權(quán)重和其他參數(shù)結(jié)合起來(lái),以執(zhí)行前向傳播。

下文提供了初始化 HugeCTR 推理的函數(shù)調(diào)用序列示例。

我們將使用 config_file、embedding_cache 和 parameter_server 初始化 InferenceSession。

HugeCTR Python 推理 API 需要一個(gè) JSON 格式的推理配置文件,該文件類(lèi)似于訓(xùn)練配置 JSON。

但是,在添加推理子句時(shí),我們需要省略?xún)?yōu)化器和求解器子句。

我們還需要將輸出層更改為 Sigmoid 類(lèi)型。

推理子句中的 dense_model_file 和 sparse_model_file 參數(shù)應(yīng)設(shè)置為指向由 HugeCTR 訓(xùn)練的模型文件(_dense_xxxx.model 和 0_sparse_xxxx.model)。

我們?cè)?Github 存儲(chǔ)庫(kù)中提供了多個(gè)完整示例:電子商務(wù)行為數(shù)據(jù)集和 Microsoft 新聞數(shù)據(jù)集。

我們一起來(lái)看一些示例

我們?cè)?Github 存儲(chǔ)庫(kù)中提供了 HugeCTR API 的多個(gè)端到端示例。這些筆記本基于實(shí)際數(shù)據(jù)集和應(yīng)用領(lǐng)域提供了完整的 Merlin 演練,從數(shù)據(jù)下載、預(yù)處理和特征工程到模型訓(xùn)練和推理。

1. 高級(jí) Python API 與 Criteo 數(shù)據(jù)集

Criteo 1TB Click Logs 數(shù)據(jù)集是公開(kāi)可用于推薦系統(tǒng)的大型數(shù)據(jù)集。

它包含約 40 億個(gè)示例的 1.3TB 未壓縮點(diǎn)擊日志。

在我們的示例中,數(shù)據(jù)集使用 Pandas 或 NVTabular 進(jìn)行預(yù)處理,以規(guī)范化連續(xù)特征,并對(duì)分類(lèi)特征進(jìn)行分類(lèi)。

之后,我們使用 HugeCTR 的高級(jí) API 訓(xùn)練深度和交叉神經(jīng)網(wǎng)絡(luò)架構(gòu)。

首先,我們定義求解器和優(yōu)化器,以使用它初始化 HugeCTR 模型。

然后,我們可以逐層添加,這類(lèi)似于 TensorFlow Keras API。

最后,我們只需要調(diào)用 .fit() 函數(shù)。

2. 低級(jí) Python API 與電子商務(wù)行為數(shù)據(jù)集

在此演示筆記本中,我們將使用 REES46 營(yíng)銷(xiāo)平臺(tái)中的多品類(lèi)商店的電子商務(wù)行為數(shù)據(jù)[/u]作為我們的數(shù)據(jù)集。

此筆記本基于 RecSys 2020 大會(huì)上的 NVIDIA 教程構(gòu)建而成。

我們使用 NVTabular 進(jìn)行特征工程和預(yù)處理,并使用 HugeCTR 訓(xùn)練 Facebook 深度學(xué)習(xí)推薦系統(tǒng)模型 (DLRM)。

我們針對(duì) Criteo 點(diǎn)擊日志數(shù)據(jù)集改編了一個(gè)示例 Json 配置文件。

需要編輯以與此數(shù)據(jù)集匹配的幾個(gè)參數(shù)為:

slot_size_array:分類(lèi)變量的基數(shù),可以從 NVTabular 工作流程對(duì)象獲取。

dense_dim:密集特征的數(shù)量

slot_num:分類(lèi)變量的數(shù)量

以下 Python 代碼會(huì)按批執(zhí)行參數(shù)更新。

同樣,我們針對(duì) Microsoft 新聞數(shù)據(jù)集提供了第 2 個(gè)示例。

嘗試使用 HugeCTR 的命令行和 Python API 訓(xùn)練推薦系統(tǒng)管線(xiàn)

我們致力于提供用戶(hù)友好且易于使用的體驗(yàn),以簡(jiǎn)化推薦系統(tǒng)工作流程。

我們近期根據(jù)早期采用者和客戶(hù)的反饋對(duì) HugeCTR 接口進(jìn)行了改進(jìn)。

HugeCTR Github 存儲(chǔ)庫(kù)提供了有關(guān)如何基于多個(gè)公共數(shù)據(jù)集(從小型到大型數(shù)據(jù)集都包含在內(nèi))使用此新接口的示例。

我們想邀請(qǐng)您針對(duì)您自己的領(lǐng)域改編這些示例,并見(jiàn)證 Merlin 的處理能力。

和往常一樣,我們希望通過(guò) Github 以及其他渠道獲得您的反饋。

這是我們 HugeCTR 系列中關(guān)于“使用 HugeCTR 的新 API 訓(xùn)練大型深度學(xué)習(xí)推薦系統(tǒng)模型”的第二篇博文。

下一篇博文將討論如何部署到生產(chǎn)。

關(guān)于作者

Vinh Nguyen 是一位深度學(xué)習(xí)的工程師和數(shù)據(jù)科學(xué)家,發(fā)表了 50 多篇科學(xué)文章,引文超過(guò) 2500 篇。在 NVIDIA ,他的工作涉及廣泛的深度學(xué)習(xí)和人工智能應(yīng)用,包括語(yǔ)音、語(yǔ)言和視覺(jué)處理以及推薦系統(tǒng)。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106465
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1624

    瀏覽量

    64072
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122818
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    智能網(wǎng)聯(lián)汽車(chē)云控系統(tǒng)2部分:車(chē)云數(shù)據(jù)交互規(guī)范

    智能網(wǎng)聯(lián)汽車(chē)云控系統(tǒng) 2部分 車(chē)云數(shù)據(jù)交互規(guī)范
    發(fā)表于 11-18 15:04 ?1次下載

    AI大模型深度學(xué)習(xí)的關(guān)系

    人類(lèi)的學(xué)習(xí)過(guò)程,實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)的學(xué)習(xí)和識(shí)別。AI大模型則是指模型的參數(shù)數(shù)量巨大,需要龐大的計(jì)算資源來(lái)進(jìn)行訓(xùn)練和推理。
    的頭像 發(fā)表于 10-23 15:25 ?2905次閱讀

    直播預(yù)約 |數(shù)據(jù)智能系列講座4期:預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)

    鷺島論壇數(shù)據(jù)智能系列講座4期「預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)」10月30日(周三)20:00精彩開(kāi)播期待與您云相聚,共襄學(xué)術(shù)盛宴!|直播信息
    的頭像 發(fā)表于 10-18 08:09 ?610次閱讀
    直播預(yù)約 |數(shù)據(jù)智能<b class='flag-5'>系列</b>講座<b class='flag-5'>第</b>4期:預(yù)<b class='flag-5'>訓(xùn)練</b>的基礎(chǔ)<b class='flag-5'>模型</b>下的持續(xù)<b class='flag-5'>學(xué)習(xí)</b>

    優(yōu)化多相穩(wěn)壓器的高端FET電壓振鈴(2部分)

    電子發(fā)燒友網(wǎng)站提供《優(yōu)化多相穩(wěn)壓器的高端FET電壓振鈴(2部分).pdf》資料免費(fèi)下載
    發(fā)表于 09-25 10:12 ?1次下載
    優(yōu)化多相穩(wěn)壓器的高端FET電壓振鈴(<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>)

    如何進(jìn)行電源設(shè)計(jì)-1部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)-1部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:10 ?0次下載
    如何進(jìn)行電源設(shè)計(jì)-<b class='flag-5'>第</b>1<b class='flag-5'>部分</b>

    如何進(jìn)行電源設(shè)計(jì)–2部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–2部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:09 ?0次下載
    如何進(jìn)行電源設(shè)計(jì)–<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>

    如何進(jìn)行電源設(shè)計(jì)–3部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–3部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:08 ?0次下載
    如何進(jìn)行電源設(shè)計(jì)–<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>

    如何進(jìn)行電源設(shè)計(jì)–6部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–6部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 15:05 ?0次下載
    如何進(jìn)行電源設(shè)計(jì)–<b class='flag-5'>第</b>6<b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-5部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-5部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 14:58 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b>5<b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-6部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-6部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 14:57 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b>6<b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-3部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-3部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 14:56 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-2部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-2部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:42 ?2次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-1部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-1部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:40 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b>1<b class='flag-5'>部分</b>

    電源設(shè)計(jì)方法-4部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-4部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:39 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b>4<b class='flag-5'>部分</b>

    如何進(jìn)行電源供應(yīng)設(shè)計(jì)-3部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源供應(yīng)設(shè)計(jì)-3部分.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:16 ?0次下載
    如何進(jìn)行電源供應(yīng)設(shè)計(jì)-<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>