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

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

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

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

利用NVIDIA安培結(jié)構(gòu)和TensorRT部署神經(jīng)網(wǎng)絡(luò)

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:About Jeff Pool,Abo ? 2022-03-31 16:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在部署神經(jīng)網(wǎng)絡(luò)時,考慮如何使網(wǎng)絡(luò)運行更快或占用更少的空間是很有用的。一個更高效的網(wǎng)絡(luò)可以在有限的時間預(yù)算內(nèi)做出更好的預(yù)測,對意外的輸入做出更快的反應(yīng),或者適應(yīng)受限的部署環(huán)境。

稀疏性是一種有希望達到這些目標的優(yōu)化技術(shù)。如果網(wǎng)絡(luò)中有零,則不需要對其進行存儲或操作。稀疏的好處似乎很簡單。要實現(xiàn)承諾的收益,長期以來存在三個挑戰(zhàn)。

Acceleration – 細粒度、非結(jié)構(gòu)化、權(quán)重稀疏缺乏結(jié)構(gòu),無法使用高效硬件中可用的向量和矩陣指令來加速常見的網(wǎng)絡(luò)操作。標準稀疏格式對于除高稀疏以外的所有格式都是低效的。

Accuracy – 為了實現(xiàn)具有細粒度、非結(jié)構(gòu)化稀疏性的有用加速,必須使網(wǎng)絡(luò)稀疏,這通常會導(dǎo)致精度損失。嘗試使加速更容易的替代修剪方法,例如去除權(quán)重塊、通道或整個層的粗粒度修剪,可能更快地遇到精度問題。這限制了潛在的性能優(yōu)勢。

Workflow – 當(dāng)前在網(wǎng)絡(luò)修剪方面的許多研究都可以作為有用的存在性證明。研究表明,網(wǎng)絡(luò) A 可以實現(xiàn)稀疏性 X 。當(dāng)您嘗試將稀疏性 X 應(yīng)用于網(wǎng)絡(luò) B 時,麻煩就來了。由于網(wǎng)絡(luò)、任務(wù)、優(yōu)化器或任何超參數(shù)的不同,它可能無法工作。

在本文中,我們將討論 NVIDIA 安培體系結(jié)構(gòu)如何應(yīng)對這些挑戰(zhàn)。今天, NVIDIA 發(fā)布了 TensorRT 版本 8 。 0 ,它引入了對 NVIDIA 安培體系結(jié)構(gòu) GPU 上可用的稀疏張量核的支持。

TensorRT 是一個用于高性能深度學(xué)習(xí)推理的 SDK ,它包括一個優(yōu)化器和運行時,可以最大限度地減少延遲和提高生產(chǎn)中的吞吐量。稀疏張量核通過一個簡單的訓(xùn)練流程和 TensorRT 8 。 0 部署,可以消除神經(jīng)網(wǎng)絡(luò)中不必要的計算,與密集網(wǎng)絡(luò)相比,可以獲得 30% 以上的性能/瓦特增益。

稀疏張量核加速了 2 : 4 細粒度結(jié)構(gòu)稀疏性

NVIDIA A100 GPU 為其張量核增加了對細粒度結(jié)構(gòu)稀疏性的支持,稀疏張量核加速了 2 : 4 的稀疏模式。在四個值的每個連續(xù)塊中,兩個值必須為零。這自然會導(dǎo)致 50% 的稀疏度,這是細粒度的。沒有矢量或塊結(jié)構(gòu)修剪在一起。這樣的規(guī)則模式易于壓縮,并且元數(shù)據(jù)開銷較低(圖 1 )。

圖 1 。 2 : 4 結(jié)構(gòu)稀疏矩陣 W 及其壓縮表示

稀疏張量核通過只對壓縮矩陣中的非零值進行運算來加速這種格式。它們使用與非零一起存儲的元數(shù)據(jù)僅從另一個未壓縮的操作數(shù)中提取必要的值。因此,對于 2x 的稀疏性,它們可以在一半的時間內(nèi)完成相同的有效計算。表 1 顯示了稀疏張量核支持的各種數(shù)據(jù)類型的詳細信息。

表 1 。稀疏張量核在 NVIDIA 安培結(jié)構(gòu)中的性能。

2 : 4 結(jié)構(gòu)化稀疏網(wǎng)絡(luò)保持精度

當(dāng)然,沒有良好的準確性,性能是毫無意義的。我們開發(fā)了一個簡單的培訓(xùn)工作流程,可以輕松生成 2 : 4 結(jié)構(gòu)化稀疏網(wǎng)絡(luò),匹配密集網(wǎng)絡(luò)的精度:

從密集的網(wǎng)絡(luò)開始。我們的目標是從一個已知的好模型開始,該模型的權(quán)重已經(jīng)收斂,從而得到有用的結(jié)果。

在稠密網(wǎng)絡(luò)上,對權(quán)值進行剪枝以滿足 2 : 4 的結(jié)構(gòu)稀疏性準則。在每四個元素中,只刪除兩個。

重復(fù)原來的培訓(xùn)程序。

此工作流在步驟 2 中使用一次修剪。在修剪階段之后,稀疏模式被修復(fù)。有很多方法可以做出修剪的決定。哪些權(quán)重應(yīng)該保留,哪些權(quán)重應(yīng)該強制為零?我們發(fā)現(xiàn)一個簡單的答案很有效:重量大小。我們更喜歡刪減已經(jīng)接近零的值。

正如您所料,突然將網(wǎng)絡(luò)中的一半權(quán)重變?yōu)榱銜绊懢W(wǎng)絡(luò)的精度。第三步通過足夠多的權(quán)重更新步驟來恢復(fù)精度,讓權(quán)重收斂,并且有足夠高的學(xué)習(xí)率讓權(quán)重充分移動。在廣泛的網(wǎng)絡(luò)中,它生成一個稀疏模型,從步驟 1 開始保持密集網(wǎng)絡(luò)的精度。

表 2 是我們使用 PyTorch 庫 自動稀疏( ASP ) 中實現(xiàn)的此工作流獲得的 FP16 精度結(jié)果示例。有關(guān) FP16 和 INT8 的完整結(jié)果的更多信息,請參閱 加速稀疏深度神經(jīng)網(wǎng)絡(luò) 白皮書。

表 2 。用我們的配方訓(xùn)練的 2 : 4 結(jié)構(gòu)化稀疏網(wǎng)絡(luò)的樣本精度。

案例研究: ResNeXt-10132x8d

以下是以 ResNeXt-10132x8d 為目標使用工作流的簡單程度。

生成稀疏模型

您使用 torchvision 預(yù)訓(xùn)練的 model ,因此步驟 1 已經(jīng)完成。因為您使用的是 ASP ,所以第一個代碼更改是導(dǎo)入庫:

加載此訓(xùn)練運行的預(yù)訓(xùn)練模型。不過,與其訓(xùn)練密集權(quán)重,不如在訓(xùn)練循環(huán)之前修剪模型并準備優(yōu)化器(工作流的步驟 2 ):

就這樣。訓(xùn)練循環(huán)正常進行,默認命令從預(yù)訓(xùn)練模型開始,該模型重用原始超參數(shù)和優(yōu)化器設(shè)置進行再訓(xùn)練:

當(dāng)訓(xùn)練完成(第 3 步)時,網(wǎng)絡(luò)精度應(yīng)恢復(fù)到與預(yù)訓(xùn)練模型的精度相匹配,如表 2 所示。通常,性能最好的檢查點可能不是來自最后一個歷元。

準備推理

對于推理,使用 TensorRT 8 。 0 導(dǎo)入訓(xùn)練模型的稀疏檢查點。在導(dǎo)入 TensorRT 之前,需要將模型從本機框架格式轉(zhuǎn)換為 ONNX 格式??梢园凑?quickstart/IntroNotebooks GitHub repo 中的筆記本進行轉(zhuǎn)換。

我們已經(jīng)將稀疏 ResNeXt-10132x8d 轉(zhuǎn)換為 ONNX 格式。你可以從 NGC 下載這個模型。如果沒有安裝 NGC ,請使用以下命令安裝 NGC :

安裝 NGC 后,通過運行以下命令下載 ONNX 格式的稀疏 ResNeXt-10132x8d :

要將 ONNX 模型導(dǎo)入到 TensorRT ,請克隆 TensorRT repo 并設(shè)置 Docker 環(huán)境,如 NVIDIA / TensorRT 自述 中所述。

進入 trtexec 根目錄后,使用 TensorRT 將稀疏 ONNX 模型轉(zhuǎn)換為 TensorRT 引擎。創(chuàng)建一個目錄以存儲模型和引擎:

將下載的 ResNext ONNX 模型復(fù)制到 /workspace/TensorRT/model 目錄,然后執(zhí)行 trtexec 命令,如下所示:

名為 resnext101 _ engine 。 trt 的新文件創(chuàng)建于/ workspace / TensorRT / model /。 resnext101 _ engine 。 trt 文件現(xiàn)在可以通過以下方法之一序列化以執(zhí)行推斷:

TensorRT 運行時的 C ++或 Python ,如在這個 示例筆記本 中所示

NVIDIA Triton ?聲波風(fēng)廓線儀推斷服務(wù)器

TensorRT 8 。 0 中的性能

將 TensorRT 8 。 0 中的稀疏模型在 A100 GPU 上以不同批量大小進行基準測試顯示了兩個重要趨勢:

性能優(yōu)勢隨著 A100 所做的工作量的增加而增加。更大的批量通常會帶來更大的改進,在高端接近 20% 。

在較小的批處理規(guī)模下, A100 時鐘速度可以保持在較低的水平,使用稀疏性可以將它們推到更低的水平,以獲得相同的性能,從而導(dǎo)致比性能本身更大的功率效率改進,從而獲得高達 36% 的性能/瓦增益。

別忘了,這個網(wǎng)絡(luò)和密集基線的精確度是一樣的。這種額外的效率和性能不需要懲罰的準確性。

圖 2 。性能和能效方面的稀疏性改進(以密集為基準)

概括

稀疏性是神經(jīng)網(wǎng)絡(luò)壓縮和簡化研究的熱點。不過,到目前為止,細粒度稀疏性還沒有兌現(xiàn)其性能和準確性的承諾。我們開發(fā)了 2 : 4 細粒度結(jié)構(gòu)稀疏性,并將支持直接構(gòu)建到 NVIDIA 安培結(jié)構(gòu)稀疏張量核中。通過這個簡單的三步稀疏再訓(xùn)練工作流,您可以生成與基線精度匹配的稀疏神經(jīng)網(wǎng)絡(luò), TensorRT 8 。 0 在默認情況下對其進行加速。

關(guān)于作者

About Jeff Pool

Jeff Pool 是深入學(xué)習(xí)體系結(jié)構(gòu)團隊的高級架構(gòu)師,負責(zé)研究高效的 DL 方法。在 2012 年加入 NVIDIA 之后,他對各種體系結(jié)構(gòu)的許多領(lǐng)域做出了貢獻,但最近他一直在使用稀疏神經(jīng)網(wǎng)絡(luò)。 Jeff 擁有計算機科學(xué)博士學(xué)位,專注于高效圖形硬件。

About Abhishek Sawarkar

Abhishek Sawarkar 責(zé)在 NVIDIA Jarvis 框架上開發(fā)和展示以深度學(xué)習(xí)為重點的內(nèi)容。他的背景是計算機視覺機器學(xué)習(xí),但目前他正致力于整個 Jarvis 多模式管道,包括 ASR 、 NLP 、 TTS 和 CV 。他是卡內(nèi)基梅隆大學(xué)的一名應(yīng)屆畢業(yè)生,具有電氣和計算機工程碩士學(xué)位。

About Jay Rodge

Jay Rodge 是 NVIDIA 的產(chǎn)品營銷經(jīng)理,負責(zé)深入學(xué)習(xí)和推理產(chǎn)品,推動產(chǎn)品發(fā)布和產(chǎn)品營銷計劃。杰伊在芝加哥伊利諾伊理工學(xué)院獲得計算機科學(xué)碩士學(xué)位,主攻計算機視覺和自然語言處理。在 NVIDIA 之前,杰伊是寶馬集團的人工智能研究實習(xí)生,為寶馬最大的制造廠使用計算機視覺解決問題。

審核編輯:郭婷

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

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103648
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5309

    瀏覽量

    106428
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1077

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何在魔搭社區(qū)使用TensorRT-LLM加速優(yōu)化Qwen3系列模型推理部署

    TensorRT-LLM 作為 NVIDIA 專為 LLM 推理部署加速優(yōu)化的開源庫,可幫助開發(fā)者快速利用最新 LLM 完成應(yīng)用原型驗證與產(chǎn)品部署
    的頭像 發(fā)表于 07-04 14:38 ?671次閱讀

    無刷電機小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究

    摘要:論文通過對無刷電機數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實現(xiàn)轉(zhuǎn)角預(yù)測,并采用改進遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    NVIDIA實現(xiàn)神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強功能

    近日,NVIDIA 宣布了 NVIDIA RTX 神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強功能。NVIDIA 與微軟合作,將在 4 月的 Microsoft DirectX 預(yù)覽版中增加
    的頭像 發(fā)表于 04-07 11:33 ?446次閱讀

    BP神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計原則

    BP(back propagation)神經(jīng)網(wǎng)絡(luò)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計原則主要基于以下幾個方面: 一、層次結(jié)構(gòu) 輸入層 :接收外部輸入信號,不
    的頭像 發(fā)表于 02-12 16:41 ?745次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)在多個方面存在顯著差異,以下是對兩者的比較: 一、結(jié)構(gòu)特點 BP神經(jīng)網(wǎng)絡(luò) : BP神經(jīng)網(wǎng)絡(luò)是一種多層的前饋
    的頭像 發(fā)表于 02-12 15:53 ?673次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之間存在著密切的關(guān)系,以下是對它們之間關(guān)系的介紹: 一、BP神經(jīng)網(wǎng)絡(luò)的基本概念 BP神經(jīng)網(wǎng)絡(luò),即反向傳播神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural N
    的頭像 發(fā)表于 02-12 15:15 ?863次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的基本原理

    BP神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)的基本原理涉及前向傳播和反向傳播兩個核心過程。以下是關(guān)于BP神經(jīng)網(wǎng)絡(luò)基本原理的介紹: 一、網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-12 15:13 ?863次閱讀

    深度學(xué)習(xí)入門:簡單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實現(xiàn)

    / (1 + np.exp(-x)) ? 定義神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)初始化: 收起 python ? # 輸入層節(jié)點數(shù)input_size = 2# 隱藏層節(jié)點數(shù)hidden_size = 3# 輸出層節(jié)點數(shù)output
    的頭像 發(fā)表于 01-23 13:52 ?531次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    在上一篇文章中,我們介紹了傳統(tǒng)機器學(xué)習(xí)的基礎(chǔ)知識和多種算法。在本文中,我們會介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。 01 人工神經(jīng)網(wǎng)絡(luò) ? 人工神經(jīng)網(wǎng)絡(luò)模型之所
    的頭像 發(fā)表于 01-09 10:24 ?1203次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    在深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識別、自然語言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常見的模型。 1. 結(jié)構(gòu)差異 1.1 傳統(tǒng)
    的頭像 發(fā)表于 11-15 14:53 ?1878次閱讀

    RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別

    傳統(tǒng)神經(jīng)網(wǎng)絡(luò)(前饋神經(jīng)網(wǎng)絡(luò)) 2.1 結(jié)構(gòu) 傳統(tǒng)神經(jīng)網(wǎng)絡(luò),通常指的是前饋神經(jīng)網(wǎng)絡(luò)(Feedforward Neural Networks,
    的頭像 發(fā)表于 11-15 09:42 ?1133次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與工作機制

    結(jié)構(gòu)與工作機制的介紹: 一、LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要包括以下幾個部分: 記憶單元(Memory Cell) :
    的頭像 發(fā)表于 11-13 10:05 ?1632次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別

    神經(jīng)網(wǎng)絡(luò)(RNN) RNN的基本結(jié)構(gòu) RNN是一種特殊的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù)。在RNN中,每個時間步的輸入都會通過一個循環(huán)結(jié)構(gòu)傳遞到下一個時間步,使得
    的頭像 發(fā)表于 11-13 09:58 ?1218次閱讀

    Moku人工神經(jīng)網(wǎng)絡(luò)101

    Moku3.3版更新在Moku:Pro平臺新增了全新的儀器功能【神經(jīng)網(wǎng)絡(luò)】,使用戶能夠在Moku設(shè)備上部署實時機器學(xué)習(xí)算法,進行快速、靈活的信號分析、去噪、傳感器調(diào)節(jié)校準、閉環(huán)反饋等應(yīng)用。如果您
    的頭像 發(fā)表于 11-01 08:06 ?667次閱讀
    Moku人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>101

    matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析

    matlab神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析 精通的可以討論下
    發(fā)表于 09-18 15:14