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

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

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

Merlin HugeCTR第三代 Embedding 功能優(yōu)化

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

Merlin HugeCTR(以下簡稱 HugeCTR)是 GPU 加速的推薦框架,旨在在多個 GPU 和節(jié)點之間分配訓(xùn)練并估計點擊率(Click-through rate)。

版本新增內(nèi)容

HugeCTR 第三代 Embedding 更新:

第三代 Embedding 功能優(yōu)化:自從在 v3.7 中引入新一代 HugeCTR Embedding 以來,進行了一些更新和優(yōu)化,包括代碼重構(gòu)以提高可用性。此版本的增強功能如下:

優(yōu)化了稀疏查找在 warp 間負載不平衡方面的性能。稀疏操作工具包 (SOK) 利用了此優(yōu)化來提高性能。

修復(fù)了用于確定 GlobalEmbeddingData 和 LocalEmbeddingData 類中的最大 Embedding 向量大小的問題。

Sparse Operation Kit 1.1.4 版可以使用 Pip 安裝,并包括前面提到的優(yōu)化。

Embedding 表放置策略的 interface 簡化:第三代 Embedding 現(xiàn)在為您提供了一種更簡單的方法來配置 Embedding 表的放置策略。您可以使用函數(shù)參數(shù)配置嵌入表放置策略,而不是使用 JSON。您只需提供 shard_matrix、

table_group_strategy和 table_placement_strategy 參數(shù)。使用這些參數(shù),第三代 Embedding 可以將不同的表組合在一起,并根據(jù) shard_matrix 參數(shù)放置它們。請參閱示例:https://github.com/NVIDIA-Merlin/HugeCTR/blob/master/test/embedding_collection_test/dlrm_train.py

HugeCTR 分層參數(shù)服務(wù)器(HPS)更新:

用于 HPS 查找的 on-device 輸入鍵:HPS 查找支持在推理期間位于 GPU 內(nèi)存上的輸入 Embedding 鍵。此功能移除了主機到設(shè)備的副本,并使用 DLPack lookup_fromdlpack() 接口,使得 embedding key 的 DLPack 包裝可以是一個 GPU tensor。

使用可配置的比例來初始化 Embedding Cache:在以前的版本中,cache_refresh_percentage_per_iteration 參數(shù)的默認值為 0.1。在此版本中,默認值更改為 0.0,并且該參數(shù)提供了額外的用途。如果您將參數(shù)設(shè)置為大于 0.0 的值并且還將模型的 use_gpu_embedding_cache 設(shè)置為 True,則當(dāng)分層參數(shù)服務(wù)器 (HPS) 啟動時,HPS 通過從模型的稀疏文件對 Embedding Cache 進行初始化時,HPS 在會創(chuàng)建日志記錄,日志記錄類似于模型的 EC 初始化:“《model-name》”、num_tables:《int》 和設(shè)備上的 EC 初始化:《int》。這樣將會減少預(yù)熱階段的持續(xù)時間。

HPS 插件的隱式初始化:在此版本中,當(dāng)您使用 Triton 推理服務(wù)器部署 TensorFlow 的 SavedModel 時,首次執(zhí)行加載的模型時會隱式初始化 HPS。在以前的版本中,您需要顯式運行 hps.Init(ps_config_file, global_batch_size)。

ddbb187e-4fb9-11ed-a3b6-dac502259ad0.png

HugeCTR 分層參數(shù)服務(wù)器(HPS)架構(gòu)

HugeCTR I/O 模塊更新:

支持了 AWS S3 文件系統(tǒng):Parquet DataReader 現(xiàn)在可以從 Amazon Web Services S3 文件系統(tǒng)讀取數(shù)據(jù)集。您還可以在訓(xùn)練期間從 S3 加載和存儲模型。

文件系統(tǒng)使用的簡化:您不再需要傳遞 DataSourceParams 來使用遠端文件系統(tǒng)進行模型的加載和存儲。 FileSystem 類會根據(jù)您在構(gòu)建模型時指定的路徑 URI 自動推斷正確的文件系統(tǒng)類型:本地、HDFS 或 S3。例如,路徑 hdfs://localhost:9000/ 將被推斷為 HDFS 文件系統(tǒng),路徑

https://mybucket.s3.myregion.amazonaws.com/ 將被推斷為 S3 文件系統(tǒng)。

支持將模型從遠程文件系統(tǒng)加載到 HPS:此版本使您能夠在推理期間將模型從 HDFS 和 S3 遠程文件系統(tǒng)加載到 HPS。要使用這個新功能,請在 InferenceParams 中為模型文件路徑提供準(zhǔn)確的 HDFS 或者 S3 URL。

dde854a6-4fb9-11ed-a3b6-dac502259ad0.png

HugeCTR I/O 框架

文檔和示例更新:

新的 MMoE 模型示例:

https://github.com/NVIDIA-Merlin/HugeCTR/tree/master/samples/mmoe

新的 HPS 示例筆記本:

https://github.com/NVIDIA-Merlin/HugeCTR/tree/master/hierarchical_parameter_server/notebooks

HPS 文檔樣式更新:https://nvidia-

merlin.github.io/HugeCTR/master/hierarchical_parameter_server/index.html

刪除了兩個已棄用的教程 triton_tf_deploy 和 dump_to_tf。

增加了 Performance 相關(guān)頁面:https://nvidia-merlin.github.io/HugeCTR/master/performance.html

其他更新:

對重疊 Pipeline 進行了更精細的粒度控制:我們棄用了舊的重疊 Pipeline knob,并引入了四個新的 knob:

train_intra_iteration_overlap

train_inter_iteration_overlap

eval_intra_iteration_overlap

eval_inter_iteration_overlap

以幫助用戶更好地控制重疊行為。有關(guān)詳細信息,請參閱 API 文檔

https://nvidia-merlin.github.io/HugeCTR/master/api/python_interface.html#createsolver-method

支持在訓(xùn)練過程中將 Tensor 的值導(dǎo)出到 Numpy Array: 為 Model 和 InferenceModel 類新增了 check_out_tensor() 方法?,F(xiàn)在用戶可以使用這個 Pyhon 方法將 Tensor 的值導(dǎo)出,方便 debug。

修復(fù)的問題

InteractionLayer 類已修復(fù),它可以在 num_feas 》 30 時正常工作了。

通過增加工作空間大小和添加結(jié)尾掩碼來更正 cuBLASLt 配置。

用于演示特征交叉的示例的預(yù)處理腳本已修復(fù)。

異步數(shù)據(jù)讀取器是固定的。以前,由于不正確的 I/O 塊大小和 I/O 對齊問題,它會掛起并報錯。AsyncParam 類已更改以實現(xiàn)修復(fù)。io_block_size 參數(shù)被 max_nr_request 參數(shù)替換,并且異步讀取器使用的實際 I/O 塊大小會相應(yīng)計算

修復(fù)了在調(diào)試模式下觸發(fā)的構(gòu)建錯誤。

使用 Parquet DataReader 時,如果 metadata.json 中指定的 Parquet 數(shù)據(jù)集文件不存在,HugeCTR 不再崩潰,而是跳過丟失的文件并顯示警告消息。

已知問題

以下是目前 HugeCTR 存在的已知問題,我們將在之后的版本中盡快修復(fù):

HugeCTR 使用 NCCL 在隊列之間共享數(shù)據(jù),并且 NCCL 可能需要共享系統(tǒng)內(nèi)存用于 IPC 和固定(頁面鎖定)系統(tǒng)內(nèi)存資源。如果您在容器內(nèi)使用 NCCL,請在啟動容器時通過指定參數(shù) -shm-size=1g -ulimit memlock=-1 來增加這些資源。

即使目標(biāo) Kafka 代理沒有響應(yīng),KafkaProducers 啟動也會成功。為避免與來自 Kafka 的流模型更新相關(guān)的數(shù)據(jù)丟失,您必須確保足夠數(shù)量的 Kafka 代理正在運行、正常運行,并且可以從運行 HugeCTR 的節(jié)點訪問。

文件列表中的數(shù)據(jù)文件數(shù)量應(yīng)大于或等于數(shù)據(jù)讀取器工作人員的數(shù)量。否則,不同的 worker 會映射到同一個文件,并且數(shù)據(jù)加載不會按預(yù)期進行。

暫時不支持使用正則化器的聯(lián)合損失訓(xùn)練。

暫時不支持將 Adam 優(yōu)化器狀態(tài)導(dǎo)出到 AWS S3。

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

    關(guān)注

    27

    文章

    4638

    瀏覽量

    128464
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2952

    瀏覽量

    73738
  • 工具包
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    9513

原文標(biāo)題:HugeCTR v4.0 & v4.1 發(fā)布說明

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

收藏 人收藏

    評論

    相關(guān)推薦

    什么是第三代移動通信

    什么是第三代移動通信答復(fù):第三代移動通信系統(tǒng)IMT2000,是國際電信聯(lián)盟(ITU)在1985年提出的,當(dāng)時稱為陸地移動系統(tǒng)(FPLMTS)。1996年正式更名為IMT2000。與現(xiàn)有的第二移動
    發(fā)表于 06-13 22:49

    第三代移動通信過渡技術(shù)—EDGE

    僅限于新的2GHz頻段, EDGE技術(shù)也能夠讓使用800、900、1800、1900MHz頻段的網(wǎng)絡(luò)提供第三代移動通信網(wǎng)絡(luò)的部分功能。在此基礎(chǔ)上,Ericsson公司于1997年第一次向ETSI提出了EDGE
    發(fā)表于 11-13 21:32

    什么是IR-III技術(shù)(第三代紅外)?

    IR-III技術(shù)定義(IR-III Technology Definition)IR-III技術(shù)即紅外夜視第三代技術(shù),根植于上世紀(jì)60年美國貝爾實驗室發(fā)明的紅外夜視技術(shù),屬于一種主動式紅外
    發(fā)表于 02-19 09:34

    第三代紅外技術(shù)(IR-III)并不是陣列式

    、帕特羅(PATRO)多功能會議視頻攝像機、帕特羅(PATRO)網(wǎng)絡(luò)視頻服務(wù)器廣州精典科技有限公司的帕特羅(PATRO)第三代紅外攝像機就是以IR-III技術(shù)研究開發(fā)的,將作為紅外夜視領(lǐng)域的領(lǐng)先產(chǎn)品
    發(fā)表于 02-19 09:35

    liklon的第三代MP3

    `第一沒有留下痕跡。第二之前在論壇展示過:https://bbs.elecfans.com/jishu_282495_1_1.html現(xiàn)在第三代誕生:`
    發(fā)表于 08-10 15:35

    第三代半導(dǎo)體科普,國產(chǎn)任重道遠

    硅材料的研究也非常透徹?;诠璨牧仙掀骷脑O(shè)計和開發(fā)也經(jīng)過了許多的結(jié)構(gòu)和工藝優(yōu)化和更新,正在逐漸接近硅材料的極限,基于硅材料的器件性能提高的潛力愈來愈小。以氮化鎵、碳化硅為代表的第三代半導(dǎo)體具備優(yōu)異
    發(fā)表于 05-15 17:09

    第三代移動通信技術(shù)定義

    3G定義 3G是英文3rd Generation的縮寫,至第三代移動通信技術(shù)。相對于第一模擬制式手機(1G)和第二GSM、TDMA等數(shù)字手機(2G)來說,第三代手機是指將無線通信與
    發(fā)表于 07-01 07:19

    什么是第三代移動通信網(wǎng)絡(luò)規(guī)劃?

    隨著第三代移動通信技術(shù)的興起,UMTS網(wǎng)絡(luò)的建立將帶來一場深刻的革命,這對網(wǎng)絡(luò)規(guī)劃也提出了更高的要求。在德國轟動一時的UMTS執(zhí)照拍賣,引起了公眾對這一新技術(shù)的極大興趣。第三代移動通信網(wǎng)絡(luò)的建設(shè)正方
    發(fā)表于 08-15 07:08

    基于第三代移動通信系統(tǒng)標(biāo)準(zhǔn)的ALC控制方案研究

    基于第三代移動通信系統(tǒng)標(biāo)準(zhǔn)的ALC控制方案的設(shè)計與實現(xiàn)
    發(fā)表于 01-13 06:07

    淺析第三代移動通信功率控制技術(shù)

    淺析第三代移動通信功率控制技術(shù)
    發(fā)表于 06-07 07:07

    中國第三代半導(dǎo)體名單!精選資料分享

    據(jù)業(yè)內(nèi)權(quán)威人士透露,我國計劃把大力支持發(fā)展第三代半導(dǎo)體產(chǎn)業(yè),寫入“十四五”規(guī)劃,計劃在2021-2025年期間,在教育、科研、開發(fā)、融資、應(yīng)用等等各個方面,大力支持發(fā)展第三代半導(dǎo)體產(chǎn)業(yè),...
    發(fā)表于 07-27 07:58

    第三代LonWorks技術(shù)和產(chǎn)品介紹

    第三代LonWorks技術(shù)和產(chǎn)品介紹 文章介紹了第三代LonWorks技術(shù)的應(yīng)用方向和結(jié)構(gòu),以及美國Echelon公司新推出的一系列的第三代LonWorks產(chǎn)品以及它們的主要技術(shù)特點
    發(fā)表于 03-18 09:55 ?17次下載

    第三代iPad今夏來襲?

    據(jù)一向不靠譜的臺灣媒體DigiTimes報道,蘋果將于今年夏季發(fā)布新款第三代iPad。新款第三代iPad將配備來自夏普的IGZO顯示屏,這種技術(shù)將使iPad變得更薄,電池更耐用。在第三代iPad發(fā)布之
    發(fā)表于 06-30 11:48 ?659次閱讀

    什么是第三代半導(dǎo)體?第三代半導(dǎo)體受市場關(guān)注

    繼5G、新基建后,第三代半導(dǎo)體概念近日在市場上的熱度高居不下。除了與5G密切相關(guān)外,更重要是有證券研報指出,第三代半導(dǎo)體有望納入重要規(guī)劃,消息傳出后多只概念股受到炒作。證券業(yè)人士提醒,有個人投資者
    發(fā)表于 09-21 11:57 ?3971次閱讀

    Merlin HugeCTR v4.3 發(fā)布說明

    Embedding 更新: 第三代 Embedding 功能優(yōu)化: 自從在 v3.7 中引入新一
    的頭像 發(fā)表于 01-05 11:55 ?700次閱讀