一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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ū)動你在網(wǎng)上采取的每一個行動,從你現(xiàn)在正在閱讀的網(wǎng)頁的選擇到更明顯的例子,如網(wǎng)上購物。它們在推動用戶參與在線平臺、從成倍增長的可用選項中選擇一些相關(guān)商品或服務(wù)方面發(fā)揮著關(guān)鍵作用。在一些最大的商業(yè)平臺上,推薦占據(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)勢。 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)所需計算資源的門檻,同時也給生產(chǎn)系統(tǒng)帶來了新的負(fù)擔(dān)。為了滿足大規(guī)模 DL 推薦系統(tǒng)訓(xùn)練和推理的計算需求, NVIDIA 引入了 Merlin 。

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

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

推薦系統(tǒng)概述

圖 1 顯示了一個端到端推薦系統(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)于用戶、項目及其交互(包括印象、點擊、喜歡、提及等等)的數(shù)據(jù)來訓(xùn)練的。這些信息通常存儲在數(shù)據(jù)湖或數(shù)據(jù)倉庫中。

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

在實驗過程中,數(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)和評估后,可以進(jìn)入生產(chǎn)環(huán)境進(jìn)行在線評估,通常是通過 A / B 測試。推薦系統(tǒng)的推理過程包括根據(jù)用戶與候選項交互的預(yù)測概率對候選項進(jìn)行選擇和排序。

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

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

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

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

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

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

巨大的嵌入表: 嵌入是當(dāng)今處理分類變量的一種普遍使用的技術(shù),尤其是用戶和項目 ID 。在大型商業(yè)平臺上,用戶和項目庫很容易達(dá)到數(shù)億甚至數(shù)十億的數(shù)量,與其他類型的 DL 層相比,需要大量的內(nèi)存。同時,與其他 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ù)的獨特組合,分布式訓(xùn)練對于推薦系統(tǒng)來說仍然是一個相對較新的領(lǐng)域。它要求模型并行和數(shù)據(jù)并行,因此很難實現(xiàn)高的擴(kuò)展效率。

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

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

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

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

poYBAGJH75aAKWkvAACHVa4V81o281.png

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

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

Merlin ETL 公司: 一組用于在 GPU 上進(jìn)行快速推薦系統(tǒng)功能工程和預(yù)處理的工具。 NVTabular 提供高速的、在 GPU 上的數(shù)據(jù)預(yù)處理和轉(zhuǎn)換功能,以處理 TB 級的表格數(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)框架。它具有多點 GPU 和多節(jié)點訓(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é)同濾波 和 可變自動編碼器( VAE ) 構(gòu)成了 NVIDIA GPU – 加速 DL 模型組合 的一部分,它涵蓋了除推薦系統(tǒng)之外的許多不同領(lǐng)域的廣泛網(wǎng)絡(luò)體系結(jié)構(gòu)和應(yīng)用,包括圖像、文本和語音分析。這些模型是為訓(xùn)練而設(shè)計和優(yōu)化的 TensorFlow 和 PyTorch 。

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

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

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

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

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

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

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

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

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

pYYBAGJH75iAADViAACd2KU3OKk384.png

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

下面的代碼示例顯示了轉(zhuǎn)換 1-TB Criteo Ads 數(shù)據(jù)集所需的實際預(yù)處理工作流,使用 NVTabular 只需十幾行代碼即可實現(xiàn)。簡單地說,指定了數(shù)字列和分類列。接下來,我們定義一個 NVTabular 工作流,并提供一組訓(xùn)練和驗證文件。然后,將預(yù)處理操作添加到工作流中,并將數(shù)據(jù)持久化到磁盤。相比之下,定制的處理代碼,比如 Facebook 的 DLRM 實現(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 相對于原始 DLRM 預(yù)處理腳本的相對性能,以及在單節(jié)點集群上運行的 Spark 優(yōu)化的 ETL 進(jìn)程。值得注意的是培訓(xùn)占用的時間與 ETL 占用的時間的百分比。在基線情況下, ETL 與訓(xùn)練的比率幾乎完全符合數(shù)據(jù)科學(xué)家花費 75% 時間處理數(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)練模型所花費的總時間超過一周。通過大量的努力,使用 Spark 進(jìn)行 ETL 和 GPU 上的培訓(xùn)可以減少到四個小時。使用本文后面將介紹的 NVTabular 和 HugeCTR ,您可以將單個 GPU 的迭代時間縮短到 40 分鐘,將 DGX-1 集群的迭代時間縮短到 18 分鐘。在后一種情況下, 40 億個交互數(shù)據(jù)集只需 3 分鐘即可處理完畢。

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

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

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

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

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

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

圖 7a 顯示了 W & D 網(wǎng)絡(luò)的訓(xùn)練性能, HugeCTR 在 Kaggle 數(shù)據(jù)集 上的單個 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 在單個 V100 16-GB GPU 上的性能比較。 CPU :雙 20 核 Intel ( R ) Xeon ( R ) CPU E5-2698 v4 @ 2 。 20GHz ( 80 線程)。型號: W & D , 2 × 1024 FC 層。條形圖表示加速系數(shù) vs 。 TensorFlow CPU 。越高越好。括號中的數(shù)字表示一次迭代所用的平均時間。

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

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

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

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

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

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

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

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

圖 9 顯示了 TB 數(shù)據(jù)集 上的 DLRM 訓(xùn)練結(jié)果。在采用第三代張量核技術(shù)的 NVIDIA A100 GPU 上,采用混合精度訓(xùn)練,與 CPU 上的訓(xùn)練相比,訓(xùn)練時間縮短了 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 是一個用于高性能 DL 推理的 SDK 。它包括一個 DL 推理優(yōu)化器和運行時,為推理應(yīng)用程序提供低延遲和高吞吐量。 TensorRT 可以使用一個公共接口,即開放式神經(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)自動選擇最佳內(nèi)核。對于進(jìn)一步的特定于模型的優(yōu)化, TensorRT 是高度可編程和可擴(kuò)展的,允許您插入自己的插件層。

NVIDIA Triton 推斷服務(wù)器提供了一個針對 NVIDIA GPU s 優(yōu)化的云推斷解決方案。服務(wù)器通過 HTTP 或 gRPC 端點提供推斷服務(wù),允許遠(yuǎn)程客戶端請求對服務(wù)器管理的任何模型進(jìn)行推斷。 Triton Server 可以使用多種后端為 DL 推薦程序模型提供服務(wù),包括 TensorFlow 、 PyTorch ( TorchScript )、 ONNX 運行時和 TensorRT 運行時。使用 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)部署。通過實現(xiàn)融合嵌入查找內(nèi)核來利用 GPU 高內(nèi)存帶寬,運行在 Triton Server 自定義后端, GPU W & D TensorRT 推理管道與同等的 CPU 推理管道相比,延遲減少了 18 倍,吞吐量提高了 17 。 6 倍。所有這些都是使用 Triton Server 部署的,以提供生產(chǎn)質(zhì)量指標(biāo)并確保生產(chǎn)健壯性。

結(jié)論

NVIDIA Merlin 的組件已作為開源項目提供:

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

About Minseok Lee

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5309

    瀏覽量

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

    關(guān)注

    28

    文章

    4943

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    安森美助力NVIDIA AI系統(tǒng)檢測實驗室

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

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

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

    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 ?576次閱讀

    第三屆NVIDIA DPU黑客松開啟報名

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

    NVIDIA NVLink 深度解析

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

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

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

    利用NVIDIA DPF引領(lǐng)DPU加速云計算的未來

    越來越多的企業(yè)開始采用加速計算,從而滿足生成式 AI、5G 電信和主權(quán)云的需求。NVIDIA 推出了 DOCA 平臺框架(DPF),該框架提供了基礎(chǔ)構(gòu)建模塊來釋放 NVIDIA Blu
    的頭像 發(fā)表于 01-24 09:29 ?702次閱讀
    利用<b class='flag-5'>NVIDIA</b> DPF引領(lǐng)DPU加速云計算的未來

    NVIDIA宣布NVIDIA Isaac重要更新

    ,更為全球開發(fā)者提供了更加強大、高效的工具,以加速AI機(jī)器人的開發(fā)進(jìn)程。 NVIDIA Isaac是一個綜合性的平臺,它集成了加速庫、應(yīng)用框架和AI模型等多種資源。這些組件協(xié)同工作,為開發(fā)者提供了一個從底層算法到上層應(yīng)用的全方位支持環(huán)境。通過利用
    的頭像 發(fā)表于 01-17 14:45 ?532次閱讀

    簡述NVIDIA Isaac的重要更新

    在 2025 CES,NVIDIA 宣布了對NVIDIA Isaac的重要更新。NVIDIA Isaac 是一個由加速庫、應(yīng)用框架和 AI 模型組成的平臺,可加速 AI 機(jī)器人的開發(fā)。
    的頭像 發(fā)表于 01-17 09:57 ?997次閱讀
    簡述<b class='flag-5'>NVIDIA</b> Isaac的重要更新

    Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務(wù)平臺的一部分,它負(fù)責(zé)將深度學(xué)習(xí)模型轉(zhuǎn)換為優(yōu)化的格式,以便在NVIDIA GPU上高效運行。Trito
    的頭像 發(fā)表于 12-24 18:13 ?986次閱讀

    【AIBOX應(yīng)用】通過 NVIDIA TensorRT 實現(xiàn)實時快速的語義分割

    設(shè)計,高效散熱,保障在高溫運行狀態(tài)下的運算性能和穩(wěn)定性,滿足各種工業(yè)級的應(yīng)用需求。NVIDIATensorRTNVIDIA系列AIBOX支持深度學(xué)習(xí)框架Tensor
    的頭像 發(fā)表于 12-18 16:33 ?832次閱讀
    【AIBOX應(yīng)用】通過 <b class='flag-5'>NVIDIA</b> TensorRT 實現(xiàn)實時快速的語義分割

    SSM框架的性能優(yōu)化技巧 SSM框架中RESTful API的實現(xiàn)

    SSM框架的性能優(yōu)化技巧 SSM(Spring + Spring MVC + MyBatis)框架的性能優(yōu)化是提升Java Web應(yīng)用性能的關(guān)鍵環(huán)節(jié)。以下是一些常用的性能
    的頭像 發(fā)表于 12-17 09:10 ?787次閱讀

    NVIDIA RTX AI套件簡化AI驅(qū)動的應(yīng)用開發(fā)

    NVIDIA 于近日發(fā)布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應(yīng)用開發(fā)者定制、優(yōu)化和部署適用于 Windows 應(yīng)用的 AI 模型。該套件免費提供,不要求使用者具備 AI
    的頭像 發(fā)表于 09-06 14:45 ?878次閱讀

    NVIDIA推出全新深度學(xué)習(xí)框架fVDB

    在 SIGGRAPH 上推出的全新深度學(xué)習(xí)框架可用于打造自動駕駛汽車、氣候科學(xué)和智慧城市的 AI 就緒型虛擬表示。
    的頭像 發(fā)表于 08-01 14:31 ?1141次閱讀

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

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