你還在頭疼于經(jīng)典模型的復(fù)現(xiàn)嗎?不知何處可以得到全面可參照的 Benchmark?
為了讓飛槳開發(fā)者可以快速復(fù)現(xiàn)頂尖的精度和超高的性能,NVIDIA 與飛槳團(tuán)隊(duì)合作開發(fā)了基于 ResNet50 的模型示例,并將持續(xù)開發(fā)更多的基于 NLP 和 CV 等領(lǐng)域的經(jīng)典模型,后續(xù)陸續(xù)發(fā)布的模型有 BERT、PP-OCR、PP-YOLO 等,歡迎持續(xù)關(guān)注。
深度學(xué)習(xí)模型是什么?
深度學(xué)習(xí)包括訓(xùn)練和推理兩個環(huán)節(jié)。訓(xùn)練是指通過大數(shù)據(jù)訓(xùn)練出一個復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,即用大量標(biāo)記過的數(shù)據(jù)來“訓(xùn)練”相應(yīng)的系統(tǒng),使之可以適應(yīng)特定的功能。推理是指利用訓(xùn)練好的模型,使用新數(shù)據(jù)推理出各種結(jié)論。深度學(xué)習(xí)模型是在訓(xùn)練工作過程中生成,并將其保存,用于推理當(dāng)中。
深度學(xué)習(xí)訓(xùn)練推理示意圖
NVIDIA Deep Learning Examples
全新上線飛槳 ResNet50
NVIDIA Deep Learning Examples 倉庫上線了基于飛槳實(shí)現(xiàn)的 ResNet50 模型的性能優(yōu)化結(jié)果,該示例全面適配各類 NVIDIA GPU 和各種硬件拓?fù)洌▎螜C(jī)單卡,單機(jī)多卡),極致優(yōu)化性能。值得一提的是,Deep Learning Examples 中飛槳 ResNet50 模型訓(xùn)練速度已超過對應(yīng)的 PyTorch 版 ResNet50。
NVIDIA Deep Learning Examples 倉庫中基于飛槳與 PyTorch 的 ResNet50 模型在同等 GPU 配置下的訓(xùn)練性能比較,GPU 配置為 NVIDIA DGX A100(8x A100 80GB)。
*數(shù)據(jù)來源:[1][2]
NVIDIA Deep Learning Examples 倉庫中飛槳 ResNet50 有哪些優(yōu)勢?
優(yōu)勢一:通過使用 DALI 等工具,加速 GPU 數(shù)據(jù)預(yù)處理性能
NVIDIA Data Loading Library( DALI )專注于使用 GPU 加速深度學(xué)習(xí)應(yīng)用中的數(shù)據(jù)加載和預(yù)處理。深度學(xué)習(xí)數(shù)據(jù)預(yù)處理涉及到復(fù)雜的、多個階段的處理過程,如 ResNet50 模型訓(xùn)練過程中,在 CPU 上處理圖片的加載、解碼、裁剪、翻轉(zhuǎn)、縮放和其他數(shù)據(jù)增強(qiáng)等操作會成為瓶頸,限制訓(xùn)練和推理的性能和可擴(kuò)展性。DALI 將這些操作轉(zhuǎn)移到 GPU 上,最大限度地提高輸入流水線的吞吐量,并且其中數(shù)據(jù)預(yù)取,并行執(zhí)行和批處理的操作對用戶是透明的。
優(yōu)勢二:通過使用 AMP,ASP 等工具,提高推理性能
飛槳內(nèi)置支持 AMP(自動混合精度)及 ASP(自動稀疏化)模塊,AMP 模塊可在模型訓(xùn)練過程中,自動為算子選擇合適的計算精度(FP32/FP16),充分利用 Tensor Cores 的性能,在不影響模型精度的前提下,大幅加速模型訓(xùn)練。
ASP 模塊實(shí)現(xiàn)了一個工作流將深度學(xué)習(xí)模型從稠密修剪為 2:4 的稀疏模式,經(jīng)過重訓(xùn)練之后,可恢復(fù)到與稠密模型相當(dāng)?shù)木?。稀疏模型可以充分利?A100 Tensor Core GPU 的加速特性,被修剪的權(quán)重矩陣參數(shù)存儲量減半,并且可以獲得理論上 2 倍的計算加速,從而大幅提高推理性能。
優(yōu)勢三:通過集成 TensorRT,優(yōu)化推理模型
飛槳推理集成了 TensorRT,稱為 Paddle-TRT。它可以把部分模型子圖交給 TensorRT 加速,而其他部分仍然用飛槳執(zhí)行,從而達(dá)到最佳的推理性能。
優(yōu)勢四:豐富的 Benchmark
NVIDIA Deep Learning Examples 倉庫中
有哪些 Benchmark?
NVIDIA Deep Learning Examples 倉庫中的 Benchmark 主要包含訓(xùn)練精度結(jié)果、訓(xùn)練性能結(jié)果、推理性能結(jié)果、Paddle-TRT 性能結(jié)果幾個方面。
1、訓(xùn)練精度結(jié)果
訓(xùn)練精度: NVIDIA DGX A100 (8x A100 80GB)
*數(shù)據(jù)來源:[1]
集成 ASP 的提高精度: NVIDIA DGX A100 (8x A100 80GB)
*數(shù)據(jù)來源:[1]
2、訓(xùn)練性能結(jié)果
訓(xùn)練性能: NVIDIA DGX A100 (8x A100 80GB)
*數(shù)據(jù)來源:[1]
集成 ASP 的訓(xùn)練性能: NVIDIA DGX A100 (8x A100 80GB)
*數(shù)據(jù)來源:[1]
3、推理性能結(jié)果
推理性能: NVIDIA DGX A100 (1x A100 80GB)
*數(shù)據(jù)來源:[1]
4、Paddle-TRT 性能結(jié)果
Paddle-TRT 性能結(jié)果: NVIDIA DGX A100 (1x A100 80GB)
*數(shù)據(jù)來源:[1]
Paddle-TRT 性能結(jié)果: NVIDIA A30 (1x A30 24GB)
*數(shù)據(jù)來源:[1]
Paddle-TRT 性能結(jié)果: NVIDIA A10 (1x A10 24GB)
*數(shù)據(jù)來源:[1]
如何下載 NVIDIA Deep Learning Examples 中的飛槳 ResNet50?
登錄 GitHub NVIDIA Deep Learning Examples 倉庫, 找到 PaddlePaddle/Classification/RN50/1.5,下載模型源代碼即可。
NVIDIA Deep Learning Examples 飛槳 ResNet50 下載頁面
飛槳容器如何安裝?
容器包含了深度學(xué)習(xí)框架在運(yùn)行時所需的所有部件(包括驅(qū)動,工具包等),它具有輕量化與可復(fù)制性、打包和執(zhí)行環(huán)境合二為一以及簡化應(yīng)用程序部署等優(yōu)勢,因此,被認(rèn)為是在同一環(huán)境中實(shí)現(xiàn)“構(gòu)建、測試、部署”的最佳平臺。容器允許我們創(chuàng)建標(biāo)準(zhǔn)化可復(fù)制的輕量級開發(fā)環(huán)境,擺脫來自 Hypervisor 所帶來運(yùn)行開銷。應(yīng)用程序可以基于 Container Runtime 運(yùn)行在“任意”系統(tǒng)中。
NVIDIA 與百度飛槳聯(lián)合開發(fā)了 NGC 飛槳容器,將最新版本的飛槳與最新的 NVIDIA 的軟件棧進(jìn)行了無縫的集成與性能優(yōu)化,最大程度的釋放飛槳框架在 NVIDIA 最新硬件上的計算能力。這樣,用戶不僅可以快速開啟 AI 應(yīng)用,專注于創(chuàng)新和應(yīng)用本身,還能夠在 AI 訓(xùn)練和推理任務(wù)上獲得飛槳+NVIDIA 帶來的飛速體驗(yàn)。
NGC 飛槳容器已經(jīng)集成入飛槳官網(wǎng)主頁。你可以選擇 “飛槳版本”+“Linux”+“Docker”+“CUDA 11.7”找到對應(yīng)的 Container 下載指令。
并參考《NGC 飛槳容器安裝指南》下載安裝:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/install_NGC_PaddlePaddle_ch.html
運(yùn)行結(jié)果如下:
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4818瀏覽量
102645 -
模型
+關(guān)注
關(guān)注
1文章
3073瀏覽量
48582 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8838瀏覽量
137141 -
飛槳
+關(guān)注
關(guān)注
0文章
32瀏覽量
2272
原文標(biāo)題:NVIDIA Deep Learning Examples飛槳ResNet50模型上線訓(xùn)練速度超PyTorch ResNet50
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論