91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

NVIDIA Merlin深度推薦系統(tǒng)應(yīng)用框架的優(yōu)化方法

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

掃碼添加小助手

加入工程師交流群

推薦系統(tǒng)驅(qū)動(dòng)你在網(wǎng)上采取的每一個(gè)行動(dòng),從你現(xiàn)在正在閱讀的網(wǎng)頁的選擇到更明顯的例子,如網(wǎng)上購物。它們?cè)谕苿?dòng)用戶參與在線平臺(tái)、從成倍增長的可用選項(xiàng)中選擇一些相關(guān)商品或服務(wù)方面發(fā)揮著關(guān)鍵作用。在一些最大的商業(yè)平臺(tái)上,推薦占據(jù)了高達(dá) 30% 的收入。推薦質(zhì)量提高 1% 就可以帶來數(shù)十億美元的收入。

隨著行業(yè)數(shù)據(jù)集規(guī)模的快速增長,深度學(xué)習(xí)( Deep Learning , DL )推薦模型利用了大量的訓(xùn)練數(shù)據(jù),與傳統(tǒng)的基于內(nèi)容、鄰域和潛在因素的推薦方法相比,具有越來越大的優(yōu)勢(shì)。 DL 推薦模型是建立在現(xiàn)有技術(shù)的基礎(chǔ)上的,例如 embeddings 用來處理分類變量,以及 factorization 用來建模變量之間的相互作用。然而,他們也利用大量快速增長的關(guān)于新型網(wǎng)絡(luò)架構(gòu)和優(yōu)化算法的文獻(xiàn)來構(gòu)建和訓(xùn)練更具表現(xiàn)力的模型。

因此,更復(fù)雜的模型和快速數(shù)據(jù)增長的結(jié)合提高了培訓(xùn)所需計(jì)算資源的門檻,同時(shí)也給生產(chǎn)系統(tǒng)帶來了新的負(fù)擔(dān)。為了滿足大規(guī)模 DL 推薦系統(tǒng)訓(xùn)練和推理的計(jì)算需求, NVIDIA 引入了 Merlin 。

Merlin 是一個(gè)基于 – GPU 框架的端到端推薦程序,旨在提供快速功能工程和高訓(xùn)練吞吐量,以實(shí)現(xiàn) DL 推薦程序模型的快速實(shí)驗(yàn)和生產(chǎn)再訓(xùn)練。 Merlin 還支持低延遲、高吞吐量和生產(chǎn)推斷。

在深入研究 Merlin 之前,我們將進(jìn)一步討論大規(guī)模推薦系統(tǒng)目前面臨的挑戰(zhàn)。

推薦系統(tǒng)概述

圖 1 顯示了一個(gè)端到端推薦系統(tǒng)體系結(jié)構(gòu)示例。

end-to-end-recommendation-system-architecture-3-625x401.png

圖 1 。端到端推薦系統(tǒng)架構(gòu)。 FE :特征工程; PP :預(yù)處理; ETL :提取轉(zhuǎn)換負(fù)載。

推薦系統(tǒng)是使用收集到的關(guān)于用戶、項(xiàng)目及其交互(包括印象、點(diǎn)擊、喜歡、提及等等)的數(shù)據(jù)來訓(xùn)練的。這些信息通常存儲(chǔ)在數(shù)據(jù)湖或數(shù)據(jù)倉庫中。

在實(shí)驗(yàn)階段,提取 – 轉(zhuǎn)換 – 加載( ETL )操作準(zhǔn)備并導(dǎo)出用于培訓(xùn)的數(shù)據(jù)集,通常以表格數(shù)據(jù)的形式,可以達(dá)到 TB 或 PB 級(jí)別。這種類型的一個(gè)示例公共數(shù)據(jù)集是 Criteo-Terabyte 點(diǎn)擊日志 dataset ,它包含 24 天內(nèi) 40 億次交互的點(diǎn)擊日志。行業(yè)數(shù)據(jù)集可以大幾個(gè)數(shù)量級(jí),包含多年的數(shù)據(jù)。

在實(shí)驗(yàn)過程中,數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)工程師使用特征工程,通過轉(zhuǎn)換現(xiàn)有特征來創(chuàng)建新的特征;以及預(yù)處理,為模型使用工程特征做準(zhǔn)備。然后使用 DL 框架(如 TensorFlow 、 PyTorch 或 NVIDIA 推薦者特定的訓(xùn)練框架 HugeCTR )執(zhí)行訓(xùn)練。

模型經(jīng)過離線培訓(xùn)和評(píng)估后,可以進(jìn)入生產(chǎn)環(huán)境進(jìn)行在線評(píng)估,通常是通過 A / B 測(cè)試。推薦系統(tǒng)的推理過程包括根據(jù)用戶與候選項(xiàng)交互的預(yù)測(cè)概率對(duì)候選項(xiàng)進(jìn)行選擇和排序。

對(duì)于大型商業(yè)數(shù)據(jù)庫來說,選擇一個(gè)項(xiàng)目子集是必要的,因?yàn)橛袛?shù)百萬個(gè)項(xiàng)目可供選擇。選擇方法通常是一種高效的算法,例如近似最近鄰、隨機(jī)林或基于用戶偏好和業(yè)務(wù)規(guī)則的過濾。 DL 推薦模型對(duì)候選對(duì)象進(jìn)行重新排序,并將預(yù)測(cè)概率最高的候選對(duì)象呈現(xiàn)給用戶。

推薦系統(tǒng)面臨的挑戰(zhàn)

培訓(xùn)大規(guī)模推薦系統(tǒng)時(shí)面臨許多挑戰(zhàn):

龐大的數(shù)據(jù)集: 商業(yè)推薦系統(tǒng)通常是在大數(shù)據(jù)集(通常是 TB 或更多)上訓(xùn)練的。在這種規(guī)模下,數(shù)據(jù) ETL 和預(yù)處理步驟通常比訓(xùn)練 DL 模型花費(fèi)更多的時(shí)間。

復(fù)雜的數(shù)據(jù)預(yù)處理和特征工程管線: 需要對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,并將其轉(zhuǎn)換為與 DL 模型和框架一起使用的適當(dāng)形式。同時(shí),特征工程試驗(yàn)從現(xiàn)有特征中創(chuàng)建了許多新特征集,然后對(duì)這些特征集進(jìn)行有效性測(cè)試。此外,列車時(shí)刻的數(shù)據(jù)加載可能成為輸入瓶頸,導(dǎo)致 GPU 未充分利用。

大量重復(fù)實(shí)驗(yàn): 整個(gè)數(shù)據(jù) ETL 、工程、培訓(xùn)和評(píng)估過程可能必須在許多模型體系結(jié)構(gòu)上重復(fù)多次,這需要大量的計(jì)算資源和時(shí)間。然而,在部署之后,推薦系統(tǒng)還需要定期進(jìn)行再培訓(xùn),以了解新用戶、項(xiàng)目和最新趨勢(shì),以便隨著時(shí)間的推移保持較高的準(zhǔn)確性。

巨大的嵌入表: 嵌入是當(dāng)今處理分類變量的一種普遍使用的技術(shù),尤其是用戶和項(xiàng)目 ID 。在大型商業(yè)平臺(tái)上,用戶和項(xiàng)目庫很容易達(dá)到數(shù)億甚至數(shù)十億的數(shù)量,與其他類型的 DL 層相比,需要大量的內(nèi)存。同時(shí),與其他 DL 操作不同,嵌入查找是內(nèi)存帶寬受限的。雖然 CPU 通常提供更大的內(nèi)存池,但與 GPU 相比,它的內(nèi)存帶寬要低得多。

分布式培訓(xùn): 正如 MLPerf benchmark 所反映的那樣,分布式訓(xùn)練在視覺和自然語言領(lǐng)域的 DL 模型訓(xùn)練中不斷創(chuàng)造新的記錄,但由于與其他領(lǐng)域和大型模型相比,大數(shù)據(jù)的獨(dú)特組合,分布式訓(xùn)練對(duì)于推薦系統(tǒng)來說仍然是一個(gè)相對(duì)較新的領(lǐng)域。它要求模型并行和數(shù)據(jù)并行,因此很難實(shí)現(xiàn)高的擴(kuò)展效率。

在生產(chǎn)中部署大規(guī)模推薦系統(tǒng)的一些顯著挑戰(zhàn)包括:

實(shí)時(shí)推斷: 對(duì)于每個(gè)查詢用戶,即使在候選縮減階段之后,要評(píng)分的用戶項(xiàng)對(duì)的數(shù)量也可能多達(dá)幾千個(gè)。這給 DL 推薦系統(tǒng)推理服務(wù)器帶來了極大的負(fù)擔(dān),它必須處理高吞吐量以同時(shí)為許多用戶提供服務(wù),同時(shí)還必須處理低延遲以滿足在線商務(wù)引擎嚴(yán)格的延遲閾值。

監(jiān)測(cè)和再培訓(xùn): 推薦系統(tǒng)在不斷變化的環(huán)境中運(yùn)行:新用戶注冊(cè)、新項(xiàng)目可用以及熱點(diǎn)趨勢(shì)出現(xiàn)。因此,推薦系統(tǒng)需要不斷的監(jiān)測(cè)和再培訓(xùn),以確保高效率。推理服務(wù)器還必須能夠同時(shí)部署不同版本的模型,并動(dòng)態(tài)加載/卸載模型,以便于 a / B 測(cè)試。

NVIDIA Merlin :在 NVIDIA GPU 上的端到端推薦系統(tǒng)

poYBAGJH75aAKWkvAACHVa4V81o281.png

圖 2 。 Merlin 架構(gòu)。

為了系統(tǒng)地解決上述挑戰(zhàn),NVIDIA 引入了 Merlin。 NVIDIA Merlin 是一個(gè)應(yīng)用程序框架和生態(tài)系統(tǒng),旨在促進(jìn)推薦系統(tǒng)開發(fā)的所有階段,從實(shí)驗(yàn)到生產(chǎn),并在 NVIDIA GPU 上加速。圖 2 顯示了 Merlin 的架構(gòu)圖,包含三個(gè)主要組件:

Merlin ETL 公司: 一組用于在 GPU 上進(jìn)行快速推薦系統(tǒng)功能工程和預(yù)處理的工具。 NVTabular 提供高速的、在 GPU 上的數(shù)據(jù)預(yù)處理和轉(zhuǎn)換功能,以處理 TB 級(jí)的表格數(shù)據(jù)集。 NVTabular 的輸出可以通過 NVTabular 數(shù)據(jù)加載器擴(kuò)展以高吞吐量提供給訓(xùn)練框架,例如 NVTabular 、 PyTorch 或 TensorFlow ,從而消除輸入瓶頸。

Merlin 培訓(xùn): DL 推薦系統(tǒng)模型和培訓(xùn)工具的集合:

HugeCTR 是一種高效的 C ++推薦系統(tǒng)專用培訓(xùn)框架。它具有多點(diǎn) GPU 和多節(jié)點(diǎn)訓(xùn)練,并支持模型并行和數(shù)據(jù)并行擴(kuò)展。 HugeCTR 涵蓋了常見和最新的推薦系統(tǒng)架構(gòu),如 寬而深 ( W & D )、 深交叉網(wǎng)絡(luò) 和 DeepFM ,深度學(xué)習(xí)推薦模型( DLRM )支持即將推出。

DLRM 、 寬深( W & D ) 、 神經(jīng)協(xié)同濾波 和 可變自動(dòng)編碼器( VAE ) 構(gòu)成了 NVIDIA GPU – 加速 DL 模型組合 的一部分,它涵蓋了除推薦系統(tǒng)之外的許多不同領(lǐng)域的廣泛網(wǎng)絡(luò)體系結(jié)構(gòu)和應(yīng)用,包括圖像、文本和語音分析。這些模型是為訓(xùn)練而設(shè)計(jì)和優(yōu)化的 TensorFlow 和 PyTorch 。

Merlin 推論: NVIDIA TensorRT 和 NVIDIA Triton ?聲波風(fēng)廓線儀推斷服務(wù)器 (以前的 TensorRT 推理服務(wù)器)。

NVIDIA TensorRT 是一個(gè)用于高性能 DL 推理的 SDK 。它包括一個(gè) DL 推理優(yōu)化器和運(yùn)行時(shí),為 DL 推理應(yīng)用程序提供低延遲和高吞吐量。

Triton Server 提供了一個(gè)全面的 GPU 優(yōu)化推斷解決方案,允許使用各種后端的模型,包括 PyTorch 、 TensorFlow 、 TensorRT 和開放式神經(jīng)網(wǎng)絡(luò)交換( ONNX )運(yùn)行時(shí)。 Triton Server 自動(dòng)管理和利用所有可用的 GPU ,并提供為模型的多個(gè)版本提供服務(wù)和報(bào)告各種性能指標(biāo)的能力,從而實(shí)現(xiàn)有效的模型監(jiān)控和 a / B 測(cè)試。

在接下來的部分中,我們將依次探討這些組件中的每一個(gè)。

NVTabular :快速表格數(shù)據(jù)轉(zhuǎn)換和加載

對(duì)推薦系統(tǒng)數(shù)據(jù)集執(zhí)行特征工程和預(yù)處理所花費(fèi)的時(shí)間常常超過訓(xùn)練模型本身所花費(fèi)的時(shí)間。作為一個(gè)具體的例子,使用開源提供的腳本處理 Criteo-Terabyte 點(diǎn)擊日志 dataset 需要 5 。 5 天才能完成,而在單個(gè) V100 GPU 上對(duì)已處理數(shù)據(jù)集上的 DLRM 進(jìn)行培訓(xùn)則需要不到一個(gè)小時(shí)的時(shí)間。

NVTabular 是一個(gè)功能工程和預(yù)處理庫,旨在快速方便地操作 TB 級(jí)數(shù)據(jù)集。它特別適用于推薦系統(tǒng),推薦系統(tǒng)需要一種可伸縮的方式來處理附加信息,例如用戶和項(xiàng)目元數(shù)據(jù)以及上下文信息。它提供了一個(gè)高級(jí)抽象,以簡(jiǎn)化代碼并使用 cuDF cuDF 庫加速 GPU 上的計(jì)算。使用 NVTabular ,只需 10-20 行高級(jí) API 代碼,就可以建立一個(gè)數(shù)據(jù)工程管道,與優(yōu)化的基于 CPU 的方法相比,可以實(shí)現(xiàn)高達(dá) 10 倍的加速,同時(shí)不受數(shù)據(jù)集大小的限制,而不管 GPU / CPU 內(nèi)存容量如何。

執(zhí)行 ETL 所用的總時(shí)間是運(yùn)行代碼所用時(shí)間和編寫代碼所用時(shí)間的混合。 RAPIDS 團(tuán)隊(duì)在 GPU 上加速了 Python 數(shù)據(jù)科學(xué)生態(tài)系統(tǒng),并通過 cuDF 、 Apache Spark 3 。 0 和 Dask- cuDF 提供了加速。

NVTabular 使用了這些加速,但提供了一個(gè)更高級(jí)別的 API ,重點(diǎn)放在推薦系統(tǒng)上,這大大簡(jiǎn)化了代碼復(fù)雜性,同時(shí)仍然提供相同級(jí)別的性能。圖 3 顯示了 NVTabular 相對(duì)于其他數(shù)據(jù)幀庫的位置。

pYYBAGJH75iAADViAACd2KU3OKk384.png

圖 3 。 NVTabular 與其他流行數(shù)據(jù)幀庫的定位比較。

下面的代碼示例顯示了轉(zhuǎn)換 1-TB Criteo Ads 數(shù)據(jù)集所需的實(shí)際預(yù)處理工作流,使用 NVTabular 只需十幾行代碼即可實(shí)現(xiàn)。簡(jiǎn)單地說,指定了數(shù)字列和分類列。接下來,我們定義一個(gè) NVTabular 工作流,并提供一組訓(xùn)練和驗(yàn)證文件。然后,將預(yù)處理操作添加到工作流中,并將數(shù)據(jù)持久化到磁盤。相比之下,定制的處理代碼,比如 Facebook 的 DLRM 實(shí)現(xiàn)中基于 NumPy 的 有用數(shù)據(jù) ,在同一管道中可以有 500-1000 行代碼。

import nvtabular as nvt
import glob

cont_names = ["I"+str(x) for x in range(1, 14)] # specify continuous feature names
cat_names = ["C"+str(x) for x in range(1, 27)] # specify categorical feature names
label_names = ["label"] # specify target feature
columns = label_names + cat_names + cont_names # all feature names

# initialize Workflow
proc = nvt.Worfklow(cat_names=cat_names, cont_names=cont_names, label_name=label_names)

# create datsets from input files
train_files = glob.glob("./dataset/train/*.parquet")
valid_files = glob.glob("./dataset/valid/*.parquet")

train_dataset = nvt.dataset(train_files, gpu_memory_frac=0.1)
valid_dataset = nvt.dataset(valid_files, gpu_memory_frac=0.1)

# add feature engineering and preprocessing ops to Workflow
proc.add_cont_feature([nvt.ops.ZeroFill(), nvt.ops.LogOp()])
proc.add_cont_preprocess(nvt.ops.Normalize())
proc.add_cat_preprocess(nvt.ops.Categorify(use_frequency=True, freq_threshold=15))

# compute statistics, transform data, export to disk
proc.apply(train_dataset, shuffle=True, output_path="./processed_data/train", num_out_files=len(train_files))
proc.apply(valid_dataset, shuffle=False, output_path="./processed_data/valid", num_out_files=len(valid_files))

圖 5 顯示了 NVTabular 相對(duì)于原始 DLRM 預(yù)處理腳本的相對(duì)性能,以及在單節(jié)點(diǎn)集群上運(yùn)行的 Spark 優(yōu)化的 ETL 進(jìn)程。值得注意的是培訓(xùn)占用的時(shí)間與 ETL 占用的時(shí)間的百分比。在基線情況下, ETL 與訓(xùn)練的比率幾乎完全符合數(shù)據(jù)科學(xué)家花費(fèi) 75% 時(shí)間處理數(shù)據(jù)的普遍說法。在 NVTabular 中,這種關(guān)系被翻轉(zhuǎn)了。

圖 5 。 NVTabular 準(zhǔn)則比較。

GPU ( Tesla V100 32 GB )與 CPU ( AWS r5d 。 24xl , 96 核, 768 GB RAM

使用原始腳本在 CPU 上處理數(shù)據(jù)集和訓(xùn)練模型所花費(fèi)的總時(shí)間超過一周。通過大量的努力,使用 Spark 進(jìn)行 ETL 和 GPU 上的培訓(xùn)可以減少到四個(gè)小時(shí)。使用本文后面將介紹的 NVTabular 和 HugeCTR ,您可以將單個(gè) GPU 的迭代時(shí)間縮短到 40 分鐘,將 DGX-1 集群的迭代時(shí)間縮短到 18 分鐘。在后一種情況下, 40 億個(gè)交互數(shù)據(jù)集只需 3 分鐘即可處理完畢。

HugeCTR : GPU ——大型 CTR 機(jī)型加速訓(xùn)練

HugeCTR 是一個(gè)高效的 GPU 框架,設(shè)計(jì)用于推薦模型訓(xùn)練,目標(biāo)是高性能和易用性。它既支持簡(jiǎn)單的深層車型,也支持最先進(jìn)的混合動(dòng)力車型,如 W&D 、 深交叉網(wǎng)絡(luò) 和 DeepFM 。我們還致力于使用 HugeCTR 啟用 DLRM 。模型細(xì)節(jié)和超參數(shù)可以用 JSON 格式輕松指定,允許從一系列常見模型中快速選擇。

與 PyTorch 和 TensorFlow 等其他通用 DL 框架相比, HugeCTR 專門設(shè)計(jì)用于加速大規(guī)模 CTR 模型的端到端訓(xùn)練性能。為了防止數(shù)據(jù)加載成為訓(xùn)練中的主要瓶頸,它實(shí)現(xiàn)了一個(gè)專用的數(shù)據(jù)讀取器,該讀取器本質(zhì)上是異步的和多線程的,因此數(shù)據(jù)傳輸時(shí)間與 GPU 計(jì)算重疊。

HugeCTR 中的嵌入表是模型并行的,分布在一個(gè)由多個(gè)節(jié)點(diǎn)和多個(gè) GPU 組成的集群中的所有 GPU 上。這些模型的密集組件是數(shù)據(jù)并行的,每個(gè)模型上有一個(gè)副本 GPU (圖 6 )。

圖 6 。 HugeCTR 模型和數(shù)據(jù)并行架構(gòu)。

對(duì)于高速可擴(kuò)展的節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)通信, HugeCTR 使用 NCCL 。對(duì)于有許多輸入特征的情況, HugeCTR 嵌入表可以分割成多個(gè)槽。將屬于同一時(shí)隙的特征獨(dú)立地轉(zhuǎn)換為相應(yīng)的嵌入向量,然后將其降為單個(gè)嵌入向量。它允許您有效地將每個(gè)插槽中有效功能的數(shù)量減少到可管理的程度。

圖 7a 顯示了 W & D 網(wǎng)絡(luò)的訓(xùn)練性能, HugeCTR 在 Kaggle 數(shù)據(jù)集 上的單個(gè) V100 GPU 上,與相同 GPU 上的 TensorFlow 和雙 20 核 Intel Xeon CPU E5-2698 v4 上的 HugeCTR 相比, HugeCTR 的加速比 TensorFlow CPU 高達(dá) 54 倍,是 TensorFlow GPU 的 4 倍。為了重現(xiàn)結(jié)果, HugeCTR repo 中提供了 寬深樣品 ,包括指令和 JSON 模型配置文件。

圖 7a 。 TensorFlow v2 。 0 CPU 和 GPU 與 HugeCTR v2 。 1 在單個(gè) V100 16-GB GPU 上的性能比較。 CPU :雙 20 核 Intel ( R ) Xeon ( R ) CPU E5-2698 v4 @ 2 。 20GHz ( 80 線程)。型號(hào): W & D , 2 × 1024 FC 層。條形圖表示加速系數(shù) vs 。 TensorFlow CPU 。越高越好。括號(hào)中的數(shù)字表示一次迭代所用的平均時(shí)間。

圖 7b 顯示了 HugeCTR 在 DGX-1 上對(duì)全精度模式( FP32 )和混合精度模式( FP16 )采用更深入的 W & D 模型的強(qiáng)縮放結(jié)果。

圖 7b 。 HugeCTR 8X V100 16-GB GPU 上的強(qiáng)縮放結(jié)果。批量: 16384 。型號(hào): W & D , 7 × 1024 FC 層。

NVIDIA 推薦系統(tǒng)模型組合

DLRM 、 寬而深 、 NCF 和 VAE 構(gòu)成較大的 NVIDIA GPU – 加速 DL 模型組合 的一部分。在本節(jié)中,我們將展示 DLRM 的參考實(shí)現(xiàn)。

與其他基于 DL 的方法一樣, DLRM 被設(shè)計(jì)成同時(shí)使用分類和數(shù)字輸入,這通常存在于推薦系統(tǒng)的訓(xùn)練數(shù)據(jù)中。模型架構(gòu)如圖 8 所示。

為了處理分類數(shù)據(jù),嵌入層將每個(gè)分類映射到一個(gè)密集的表示,然后再將其輸入多層感知器( MLP )。數(shù)字特征可以直接輸入 MLP 。在下一級(jí),通過計(jì)算所有嵌入向量對(duì)和處理后的密集特征之間的點(diǎn)積,顯式地計(jì)算不同特征的二階交互作用。這些成對(duì)交互被輸入到頂級(jí) MLP 中,以計(jì)算用戶和項(xiàng)目對(duì)之間交互的可能性。

圖 8 。 DLRM 體系結(jié)構(gòu)。

與其他基于 DL 的推薦方法相比, DLRM 在兩個(gè)方面有所不同。首先,它顯式計(jì)算特征交互,同時(shí)將交互順序限制為成對(duì)交互。其次, DLRM 將每個(gè)嵌入的特征向量(對(duì)應(yīng)于分類特征)視為一個(gè)單元,而其他方法(如 Deep 和 Cross )將特征向量中的每個(gè)元素視為一個(gè)新單元,該單元應(yīng)產(chǎn)生不同的交叉項(xiàng)。這些設(shè)計(jì)選擇有助于降低計(jì)算和內(nèi)存成本,同時(shí)保持具有競(jìng)爭(zhēng)力的準(zhǔn)確性。

圖 9 顯示了 TB 數(shù)據(jù)集 上的 DLRM 訓(xùn)練結(jié)果。在采用第三代張量核技術(shù)的 NVIDIA A100 GPU 上,采用混合精度訓(xùn)練,與 CPU 上的訓(xùn)練相比,訓(xùn)練時(shí)間縮短了 67 倍。

圖 9 。 DLRM 訓(xùn)練性能。條形圖表示 GPU 與 CPU 。 CPU :雙 Intel ( R ) Xeon ( R ) Platinum 8168 @ 2 。 7 GHz ( 96 線程)。 GPU : Tesla A100 40 GB 。越高越好。

TensorRT 和 Triton Server 進(jìn)行推斷

NVIDIA TensorRT 是一個(gè)用于高性能 DL 推理的 SDK 。它包括一個(gè) DL 推理優(yōu)化器和運(yùn)行時(shí),為推理應(yīng)用程序提供低延遲和高吞吐量。 TensorRT 可以使用一個(gè)公共接口,即開放式神經(jīng)網(wǎng)絡(luò)交換格式( ONNX ),從所有 DL 框架接受經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)。

TensorRT 可以使用垂直和水平層融合等操作,并使用降低的精度( FP16 , INT8 )利用了 NVIDIA GPU s 上張量核的高混合精度算術(shù)吞吐量。 TensorRT 還根據(jù)手頭的任務(wù)和目標(biāo) GPU 體系結(jié)構(gòu)自動(dòng)選擇最佳內(nèi)核。對(duì)于進(jìn)一步的特定于模型的優(yōu)化, TensorRT 是高度可編程和可擴(kuò)展的,允許您插入自己的插件層。

NVIDIA Triton 推斷服務(wù)器提供了一個(gè)針對(duì) NVIDIA GPU s 優(yōu)化的云推斷解決方案。服務(wù)器通過 HTTP 或 gRPC 端點(diǎn)提供推斷服務(wù),允許遠(yuǎn)程客戶端請(qǐng)求對(duì)服務(wù)器管理的任何模型進(jìn)行推斷。 Triton Server 可以使用多種后端為 DL 推薦程序模型提供服務(wù),包括 TensorFlow 、 PyTorch ( TorchScript )、 ONNX 運(yùn)行時(shí)和 TensorRT 運(yùn)行時(shí)。使用 DLRM ,我們展示了如何使用 Triton ?聲波風(fēng)廓線儀部署預(yù)訓(xùn)練的 PyTorch 模型,與 CPU 相比, A100 GPU 的延遲減少了 9 倍,如圖 10 所示。

圖 10 。 DLRM 使用 Triton 推理服務(wù)器進(jìn)行推理。條形圖表示 GPU 與 CPU 的加速系數(shù)。批量大小 2048 。 CPU :雙 Intel ( R ) Xeon ( R ) Platinum 8168 @ 2 。 7 GHz ( 96 線程)。 GPU : Tesla A100 40 GB 。越高越好。

在最近發(fā)表在 在 GPU s 上加速 Wide & Deep 推薦推理 上的文章中,作者詳細(xì)介紹了優(yōu)化方法,使用 TensorFlow 估算器 API 訓(xùn)練的 W & D 模型適合大規(guī)模生產(chǎn)部署。通過實(shí)現(xiàn)融合嵌入查找內(nèi)核來利用 GPU 高內(nèi)存帶寬,運(yùn)行在 Triton Server 自定義后端, GPU W & D TensorRT 推理管道與同等的 CPU 推理管道相比,延遲減少了 18 倍,吞吐量提高了 17 。 6 倍。所有這些都是使用 Triton Server 部署的,以提供生產(chǎn)質(zhì)量指標(biāo)并確保生產(chǎn)健壯性。

結(jié)論

NVIDIA Merlin 的組件已作為開源項(xiàng)目提供:

NVTabular

HugeCTR

DLRM and other DL 推薦系統(tǒng)模型

TensorRT

Triton 推斷服務(wù)器

關(guān)于作者

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

Even Oldridge 是 NVIDIA 的高級(jí)應(yīng)用研究科學(xué)家,并領(lǐng)導(dǎo)開發(fā) NVTabular 的團(tuán)隊(duì)。他擁有計(jì)算機(jī)視覺博士學(xué)位,但在過去的五年里,他一直在推薦系統(tǒng)領(lǐng)域工作,專注于基于深度學(xué)習(xí)的推薦系統(tǒng)。

About Minseok Lee

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5627

    瀏覽量

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

    關(guān)注

    28

    文章

    5213

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    研華科技受邀亮相NVIDIA GTC 2026

    研華科技受邀亮相NVIDIA GTC 2026,展示與 NVIDIA 生態(tài)系的深度合作成果,通過整合硬件平臺(tái)、軟件框架與產(chǎn)業(yè)應(yīng)用解決方案,加速 Physical AI 在各產(chǎn)業(yè)的應(yīng)用落
    的頭像 發(fā)表于 03-18 15:00 ?147次閱讀

    超擎數(shù)智為您深度解析NVIDIA Quantum-X800 InfiniBand平臺(tái)

    NVIDIA
    專精特新
    發(fā)布于 :2026年01月08日 19:47:03

    NVIDIA RTX PRO 5000 Blackwell GPU的深度評(píng)測(cè)

    NVIDIA RTX PRO 5000 Blackwell 是 NVIDIA RTX 5000 Ada Generation 的升級(jí)迭代產(chǎn)品,其各項(xiàng)核心指標(biāo)均針對(duì) GPU 加速工作流的高性能
    的頭像 發(fā)表于 01-06 09:51 ?2698次閱讀
    <b class='flag-5'>NVIDIA</b> RTX PRO 5000 Blackwell GPU的<b class='flag-5'>深度</b>評(píng)測(cè)

    使用OpenUSD與NVIDIA Halos構(gòu)建安全物理AI系統(tǒng)

    全新 NVIDIA 安全框架與技術(shù)正在推進(jìn)開發(fā)者構(gòu)建安全物理 AI 的方式。 本文是洞悉 Omniverse 系列文章?!岸聪?Omniverse”重點(diǎn)介紹開發(fā)者、3D 從業(yè)者與企業(yè)
    的頭像 發(fā)表于 12-24 10:22 ?779次閱讀

    新思科技攜手微軟、英偉達(dá)發(fā)布可實(shí)時(shí)優(yōu)化動(dòng)態(tài)制造流程框架

    新思科技(納斯達(dá)克代碼:SNPS)近日攜手技術(shù)合作伙伴在微軟 Ignite 大會(huì)上發(fā)布了一套仿真技術(shù)驅(qū)動(dòng)的可實(shí)時(shí)優(yōu)化動(dòng)態(tài)制造流程框架。該框架已經(jīng)被全球領(lǐng)先的灌裝包裝系統(tǒng)集成商 Kron
    的頭像 發(fā)表于 11-30 09:53 ?553次閱讀

    NVIDIA TensorRT LLM 1.0推理框架正式上線

    TensorRT LLM 作為 NVIDIA 為大規(guī)模 LLM 推理打造的推理框架,核心目標(biāo)是突破 NVIDIA 平臺(tái)上的推理性能瓶頸。為實(shí)現(xiàn)這一目標(biāo),其構(gòu)建了多維度的核心實(shí)現(xiàn)路徑:一方面,針對(duì)需
    的頭像 發(fā)表于 10-21 11:04 ?1217次閱讀

    NVIDIA助力Axio團(tuán)隊(duì)打造全新DPU數(shù)據(jù)面開發(fā)框架

    在第三屆 NVIDIA DPU 黑客松競(jìng)賽中,我們見證了開發(fā)者與 NVIDIA 網(wǎng)絡(luò)技術(shù)的深度碰撞。在 23 支參賽隊(duì)伍中,有 5 支隊(duì)伍脫穎而出,展現(xiàn)了在 AI 網(wǎng)絡(luò)、存儲(chǔ)和安全等領(lǐng)域的創(chuàng)新突破。
    的頭像 發(fā)表于 08-30 15:58 ?1508次閱讀

    安森美助力NVIDIA AI系統(tǒng)檢測(cè)實(shí)驗(yàn)室

    物理AI正在為自動(dòng)駕駛和機(jī)器人開發(fā)技術(shù)的交叉領(lǐng)域釋放新的可能性,尤其是加速了自動(dòng)駕駛汽車的開發(fā)。正確的技術(shù)與框架對(duì)確保自動(dòng)駕駛汽車駕駛員、乘客和行人的安全至關(guān)重要。近日,NVIDIA推出
    的頭像 發(fā)表于 07-10 16:21 ?852次閱讀

    歐洲借助NVIDIA Nemotron優(yōu)化主權(quán)大語言模型

    NVIDIA 正攜手歐洲和中東的模型構(gòu)建商與云提供商,共同優(yōu)化主權(quán)大語言模型 (LLM),加速該地區(qū)各行業(yè)采用企業(yè)級(jí) AI。
    的頭像 發(fā)表于 06-12 15:42 ?1234次閱讀

    NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了機(jī)器人仿真參考應(yīng)用 NVIDIA Isaac Sim 和機(jī)器人學(xué)習(xí)框架 NVIDIA Isaac Lab 的更新,以加速各種形態(tài)
    的頭像 發(fā)表于 05-28 10:06 ?2175次閱讀

    第三屆NVIDIA DPU黑客松開啟報(bào)名

    第三屆 NVIDIA DPU 中國虛擬黑客松(Hackathon)將于 6 月 28 日 - 6 月 30 日正式開啟!作為備受廣大開發(fā)者期待的年度賽事,它將提供與 NVIDIA 加速網(wǎng)絡(luò)技術(shù)深度
    的頭像 發(fā)表于 05-27 10:16 ?920次閱讀

    NVIDIA將為每家AI工廠提供網(wǎng)絡(luò)安全

    NVIDIA DOCA Argus 框架可檢測(cè) AI 工作負(fù)載中的威脅并對(duì)之做出響應(yīng),同時(shí)與企業(yè)安全系統(tǒng)無縫集成,從而提供實(shí)時(shí)洞察。
    的頭像 發(fā)表于 05-07 15:11 ?1005次閱讀
    <b class='flag-5'>NVIDIA</b>將為每家AI工廠提供網(wǎng)絡(luò)安全

    NVIDIA NVLink 深度解析

    引言 NVIDIA NVLink 是一種關(guān)鍵的高速互連技術(shù),專為加速計(jì)算而設(shè)計(jì),尤其是在多 GPU 系統(tǒng)以及 GPU 和支持 CPU 之間 ^1^。NVLink 的出現(xiàn)標(biāo)志著傳統(tǒng)互連瓶頸的突破,凸顯
    的頭像 發(fā)表于 05-06 18:14 ?5342次閱讀

    百度飛槳框架3.0正式版發(fā)布

    、推理等任務(wù)都離不開深度學(xué)習(xí)框架優(yōu)化與支撐。 飛槳框架3.0,從設(shè)計(jì)理念上實(shí)現(xiàn)了從底層硬件適配到頂層開發(fā)體驗(yàn)的全面進(jìn)化,在訓(xùn)練效率、性能、兼容性等關(guān)鍵指標(biāo)上建立了新標(biāo)桿。 其中, “
    的頭像 發(fā)表于 04-02 19:03 ?1219次閱讀
    百度飛槳<b class='flag-5'>框架</b>3.0正式版發(fā)布

    NVIDIA Halos自動(dòng)駕駛汽車安全系統(tǒng)發(fā)布

    自動(dòng)駕駛汽車的開發(fā)。正確的技術(shù)與框架對(duì)確保自動(dòng)駕駛汽車駕駛員、乘客和行人的安全至關(guān)重要。 因此,NVIDIA 推出了NVIDIA Halos綜合安全系統(tǒng),將
    的頭像 發(fā)表于 03-25 14:51 ?1204次閱讀