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

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

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

使用NVIDIA TensorRT優(yōu)化T5和GPT-2

星星科技指導員 ? 來源:NVIDIA ? 作者:NVIDIA ? 2022-03-31 17:25 ? 次閱讀

這個transformer 體系結構完全改變了(雙關語)自然語言處理( NLP )的領域。近年來,在 transformer 構建塊 BERT 、 GPT 和 T5 上構建了許多新穎的網(wǎng)絡體系結構。隨著品種的增加,這些型號的尺寸也迅速增加。

雖然較大的神經(jīng)語言模型通常會產(chǎn)生更好的結果,但將它們部署到生產(chǎn)環(huán)境中會帶來嚴重的挑戰(zhàn),尤其是對于在線應用程序,在這些應用程序中,幾十毫秒的額外延遲可能會對用戶體驗產(chǎn)生顯著的負面影響。

使用最新TensorRT8.2 ,我們優(yōu)化了 T5 和 GPT-2 模型,以實現(xiàn)實時推理。您可以將 T5 或 GPT-2 模型轉(zhuǎn)換為 TensorRT 引擎,然后將此引擎用作推理工作流中原始 PyTorch 模型的插件替換。與 PyTorch GPU 推理相比,此優(yōu)化導致延遲減少 3-6 倍,與 PyTorch CPU 推理相比,延遲減少 9-21 倍。

在這篇文章中,我們將向您詳細介紹如何實現(xiàn)相同的延遲減少,使用我們最新發(fā)布的基于 Hugging Face transformers 的示例腳本和筆記本,使用 GPT-2 進行開放式文本生成,使用 T5 進行翻譯和摘要。

T5 和 GPT-2 簡介

在本節(jié)中,我們將簡要介紹 T5 和 GPT-2 模型。

T5 用于回答問題、總結、翻譯和分類

T5或文本到文本傳輸 transformer 是谷歌最近創(chuàng)建的一種體系結構。它將所有自然語言處理( NLP )任務重新構造為統(tǒng)一的文本到文本格式,其中輸入和輸出始終是文本字符串。 T5 的體系結構允許將相同的模型、損失函數(shù)和超參數(shù)應用于任何 NLP 任務,如機器翻譯、文檔摘要、問答和分類任務,如情感分析。

T5 模式的靈感來源于遷移學習在 NLP 中產(chǎn)生了最先進的結果。遷移學習背后的原理是,基于大量可用的未經(jīng)訓練的數(shù)據(jù)和自我監(jiān)督任務的模型可以在較小的任務特定標記數(shù)據(jù)集上針對特定任務進行微調(diào)。事實證明,這些模型比從頭開始針對特定任務數(shù)據(jù)集訓練的模型具有更好的結果。

基于遷移學習的概念, Google 在用統(tǒng)一的文本到文本轉(zhuǎn)換器探索遷移學習的局限性中提出了 T5 模型。在本文中,他們還介紹了龐大的干凈爬網(wǎng)語料庫( C4 )數(shù)據(jù)集。在該數(shù)據(jù)集上預訓練的 T5 模型在許多下游 NLP 任務上實現(xiàn)了最先進的結果。已發(fā)布的預訓練 T5 車型的參數(shù)范圍高達 3B 和 11B 。

GPT-2 用于生成優(yōu)秀的類人文本

生成性預訓練 transformer 2 (GPT-2)是 OpenAI 最初提出的一種自回歸無監(jiān)督語言模型。它由 transformer 解碼器塊構建,并在非常大的文本語料庫上進行訓練,以預測段落中的下一個單詞。它生成優(yōu)秀的類人文本。更大的 GPT-2 模型,最大參數(shù)達到 15 億,通常能寫出更好、更連貫的文本。

使用 TensorRT 部署 T5 和 GPT-2

使用 TensorRT 8.2 ,我們通過構建并使用 TensorRT 發(fā)動機作為原始 PyTorch 模型的替代品,優(yōu)化了 T5 和 GPT-2 模型。我們將帶您瀏覽scripts和 Jupyternotebooks,并重點介紹基于擁抱面部變形金剛的重要內(nèi)容。有關更多信息,請參閱示例腳本和筆記本以獲取詳細的分步執(zhí)行指南。

設置

最方便的開始方式是使用 Docker 容器,它為實驗提供了一個隔離、獨立和可復制的環(huán)境。

構建并啟動 TensorRT 容器:

pYYBAGJFc9SAPvxgAAAaKW2vWGI162.png

這些命令啟動 Docker 容器和 JupyterLab 。在 web 瀏覽器中打開 JupyterLab 界面:pYYBAGJFdAKAcbUvAAAEMDAJOjM560.png在 JupyterLab 中,要打開終端窗口,請選擇?File?、?New?、?Terminal?。編譯并安裝 TensorRT OSS 包:

poYBAGJFdA2AQncNAAALSmQMGn0122.png

現(xiàn)在,您已經(jīng)準備好繼續(xù)使用模型進行實驗。在下面的順序中,我們將演示 T5 模型的步驟。下面的代碼塊并不意味著可以復制粘貼運行,而是引導您完成整個過程。為了便于復制,請參閱 GitHub 存儲庫上的notebooks。

在高層次上,使用 TensorRT 優(yōu)化用于部署的擁抱面 T5 和 GPT-2 模型是一個三步過程:

從 HuggingFace 模型動物園下載模型。

將模型轉(zhuǎn)換為優(yōu)化的 TensorRT 執(zhí)行引擎。

使用 TensorRT 引擎進行推理。

使用生成的引擎作為 HuggingFace 推理工作流中原始 PyTorch 模型的插件替換。

從 HuggingFace 模型動物園下載模型

首先,從 HuggingFace 模型中心下載原始的 Hugging Face PyTorch T5 模型及其關聯(lián)的標記器。

poYBAGJFdCeAbgptAAANxtLgEjs368.png

然后,您可以將此模型用于各種 NLP 任務,例如,從英語翻譯為德語:

pYYBAGJFdC-ATa1bAAAU9hCPQ6k530.png

TensorRT 8.2 支持 GPT-2 至“ xl ”版本( 1.5B 參數(shù))和 T5 至 11B 參數(shù),這些參數(shù)可在 HuggingFace model zoo 上公開獲得。根據(jù) GPU 內(nèi)存可用性,也可支持較大型號。

將模型轉(zhuǎn)換為優(yōu)化的 TensorRT 執(zhí)行引擎。

在將模型轉(zhuǎn)換為 TensorRT 引擎之前,請將 PyTorch 模型轉(zhuǎn)換為中間通用格式。 ONNX 是機器學習深度學習模型的開放格式。它使您能夠?qū)?TensorFlow 、 PyTorch 、 MATLAB 、 Caffe 和 Keras 等不同框架中的深度學習和機器學習模型轉(zhuǎn)換為單一的統(tǒng)一格式。

轉(zhuǎn)換為 ONNX

對于 T5 型號,使用實用功能分別轉(zhuǎn)換編碼器和解碼器。

pYYBAGJFdDiACUfkAAAhAI8eZnI041.png

轉(zhuǎn)換為 TensorRT

現(xiàn)在,您已經(jīng)準備好解析 T5 ONNX 編碼器和解碼器,并將它們轉(zhuǎn)換為優(yōu)化的 TensorRT 引擎。由于 TensorRT 執(zhí)行了許多優(yōu)化,例如融合操作、消除轉(zhuǎn)置操作和內(nèi)核自動調(diào)優(yōu),以在目標 GPU 體系結構上找到性能最佳的內(nèi)核,因此此轉(zhuǎn)換過程可能需要一些時間。

pYYBAGJFdE6AQLHtAAAcENHunE8781.png

使用 TensorRT 引擎進行推理

最后,您現(xiàn)在有了一個針對 T5 模型的優(yōu)化 TensorRT 引擎,可以進行推斷。

pYYBAGJFdGyATjkzAAAfAAkkvFE954.png

類似地,對于 GPT-2 模型,您可以按照相同的過程生成 TensorRT 引擎。優(yōu)化的 TensorRT 引擎可作為 HuggingFace 推理工作流中原始 PyTorch 模型的插件替代品。

TensorRT transformer 優(yōu)化細節(jié)

基于轉(zhuǎn)換器的模型是 transformer 編碼器或解碼器塊的堆棧。編碼器(解碼器)塊具有相同的結構和參數(shù)數(shù)量。 T5 由 transformer 編碼器和解碼器的堆棧組成,而 GPT-2 僅由 transformer 解碼器塊組成(圖 1 )。

t5-architecture.png

圖 1a 。 T5 架構

poYBAGJFc5-AeDgfAABnQisiZW4320.png

圖 1b 。 GPT-2 體系結構

每個 transformer 塊,也稱為自我注意塊,通過使用完全連接的層將輸入投影到三個不同的子空間,稱為查詢( Q )、鍵( K )和值( V ),由三個投影組成。然后將這些矩陣轉(zhuǎn)換為 QT和 KT用于計算標準化點積注意值,然后與 V 組合T生成最終輸出(圖 2 )。

pYYBAGJFc6GAKbmGAAC5J-rjuz4450.png

圖 2 。自我注意塊

TensorRT 通過逐點層融合優(yōu)化自我注意塊:

還原與電源操作相融合(用于圖層模板和剩余添加圖層)。

電子秤與 softmax 融合在一起。

GEMM 與 ReLU / GELU 激活融合。

此外, TensorRT 還優(yōu)化了推理網(wǎng)絡:

消除轉(zhuǎn)置操作。

將三個 KQV 投影融合為一個 GEMM 。

當指定 FP16 模式時,控制逐層精度以保持精度,同時運行 FP16 中計算最密集的運算。

TensorRT 對 PyTorch CPU 和 GPU 基準

通過 TensorRT 進行的優(yōu)化,我們看到 PyTorch GPU 推理的加速比高達 3-6 倍,而 PyTorch CPU 推理的加速比高達 9-21 倍。

圖 3 顯示了批量為 1 的 T5-3B 模型的推理結果,該模型用于將短短語從英語翻譯成德語。 A100 GPU 上的 TensorRT 引擎與在雙插槽 Intel Platinum 8380 CPU 上運行的 PyTorch 相比,延遲減少了 21 倍。

poYBAGJFc6KAct-cAABCQhQEBKM339.png

圖 3 。 A100 GPU 上的 T5-3B 模型推斷比較 TensorRT 提供的延遲比 PyTorch CPU 推斷小 21 倍。

CPU :英特爾白金 8380 , 2 個插槽。
GPU:NVIDIA A100 PCI Express 80GB 。軟件: PyTorch 1.9 , TensorRT 8.2.0 EA 。
任務:“將英語翻譯成德語:這很好?!?/p>

結論

在這篇文章中,我們向您介紹了如何將擁抱臉 PyTorch T5 和 GPT-2 模型轉(zhuǎn)換為優(yōu)化的 TensorRT 推理引擎。 TensorRT 推理機用作原始 HuggingFace T5 和 GPT-2 PyTorch 模型的替代品,可提供高達 21x CPU 的推理加速比。要為您的模型實現(xiàn)此加速,從 TensorRT 8.2 開始今天的學習.

關于作者

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

About Nikhil Srihari是 NVIDIA 的深入學習軟件技術營銷工程師。他在自然語言處理、計算機視覺和語音處理領域擁有廣泛的深度學習和機器學習應用經(jīng)驗。 Nikhil 曾在富達投資公司和 Amazon 工作。他的教育背景包括布法羅大學的計算機科學碩士學位和印度蘇拉斯卡爾卡納塔克邦國家理工學院的學士學位。

About Parth Chadha是 NVIDIA 的深度學習軟件工程師。他在 TensorRT 上工作,這是一個高性能的深度學習推理 SDK 。 Parth 在卡內(nèi)基梅隆大學獲得電氣和計算機工程碩士學位,主要研究機器學習和并行計算機體系結構。

About Charles Chen20 歲時在加州大學圣地亞哥分校獲得計算機科學碩士學位后, Charles Chen 專注于為尖端人工智能框架、發(fā)展中國家的計算機教育和人機交互做出貢獻。在 NVIDIA , Charles 是一名深度學習軟件工程師,致力于 TensorRT ,一款高性能的深度學習推理 SDK 。

About Joohoon Lee領導 NVIDIA 的汽車深度學習解決方案架構師團隊。他專注于將深度學習研究轉(zhuǎn)化為用于生產(chǎn)部署的真實世界自主駕駛軟件。他的團隊使汽車客戶能夠使用英偉達驅(qū)動平臺進行 DNN 培訓、微調(diào)、優(yōu)化和部署。在加入 NVIDIA 之前,他曾擔任 GPU 軟件架構師,負責加速 DNN 算法。 Joohoon 在卡內(nèi)基梅隆大學獲得電氣和計算機工程學士和碩士學位。

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

審核編輯:郭婷

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

    關注

    68

    文章

    10804

    瀏覽量

    210829
  • NVIDIA
    +關注

    關注

    14

    文章

    4855

    瀏覽量

    102711
收藏 人收藏

    評論

    相關推薦

    NVIDIA Nemotron-4 340B模型幫助開發(fā)者生成合成訓練數(shù)據(jù)

    Nemotron-4 340B 是針對 NVIDIA NeMo 和 NVIDIA TensorRT-LLM 優(yōu)化的模型系列,該系列包含最先進的指導和獎勵模型,以及一個用于生成式 AI
    的頭像 發(fā)表于 09-06 14:59 ?248次閱讀
    <b class='flag-5'>NVIDIA</b> Nemotron-4 340B模型幫助開發(fā)者生成合成訓練數(shù)據(jù)

    魔搭社區(qū)借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社區(qū)是中國最具影響力的模型開源社區(qū),致力給開發(fā)者提供模型即服務的體驗。魔搭社區(qū)利用NVIDIA TensorRT-LLM,大大提高了大語言模型的推理性能,方便了模型應用部署,提高了大模型產(chǎn)業(yè)應用效率,更大規(guī)模地釋放大模型的應用價值?!?/div>
    的頭像 發(fā)表于 08-23 15:48 ?353次閱讀

    寶塔面板Docker一鍵安裝:部署GPTAcademic,開發(fā)私有GPT學術優(yōu)化工具

    使用寶塔Docker-compose,5分鐘內(nèi)在海外服務器上搭建gpt_academic。這篇文章講解如何使用寶塔面板的Docker服務搭建GPT 學術優(yōu)化 (
    的頭像 發(fā)表于 07-02 11:58 ?2395次閱讀
    寶塔面板Docker一鍵安裝:部署GPTAcademic,開發(fā)私有<b class='flag-5'>GPT</b>學術<b class='flag-5'>優(yōu)化</b>工具

    OpenAI CEO: GPT-4o and GPT-5引領未來12個月編程領域,GPT-5更具潛力

    據(jù)報道,OpenAI首席執(zhí)行官阿萊夫·阿爾特曼在接受Redpoint風投公司LoganBartlett的專訪中,透露了最近發(fā)布的GPT-40以及即將面世的GPT-5。
    的頭像 發(fā)表于 05-17 16:25 ?495次閱讀

    NVIDIA加速微軟最新的Phi-3 Mini開源語言模型

    NVIDIA 宣布使用 NVIDIA TensorRT-LLM 加速微軟最新的 Phi-3 Mini 開源語言模型。TensorRT-LLM 是一個開源庫,用于
    的頭像 發(fā)表于 04-28 10:36 ?462次閱讀

    奇瑞捷途T5山海版首展,續(xù)航1400km預計明年上市

    據(jù)悉,4 月 25 日,在北京車展上,奇瑞汽車旗下捷途品牌的全新車型——捷途山海 T5 正式亮相。這是捷途品牌首款采用非承載式車身結構的 SUV,搭載 2.0T 混合動力引擎,綜合續(xù)航里程達到 1400km 左右,預計將于明年上市銷售。
    的頭像 發(fā)表于 04-26 10:46 ?1169次閱讀

    利用NVIDIA組件提升GPU推理的吞吐

    本實踐中,唯品會 AI 平臺與 NVIDIA 團隊合作,結合 NVIDIA TensorRTNVIDIA Merlin HierarchicalKV(HKV)將推理的稠密網(wǎng)絡和熱
    的頭像 發(fā)表于 04-20 09:39 ?614次閱讀

    Bota Systems推出一款新型力扭矩傳感器SensONE T5

    據(jù)麥姆斯咨詢報道,近期,多軸力扭矩傳感器的先驅(qū)Bota Systems(簡稱:Bota)推出了新型力扭矩傳感器SensONE T5,它在Bota SensONE系列傳感器中具有最高的靈敏度。
    的頭像 發(fā)表于 03-25 09:20 ?642次閱讀

    OpenAI預計最快今年夏天發(fā)布GPT-5

    OpenAI正計劃在未來數(shù)月內(nèi),可能是今年夏季,發(fā)布備受矚目的GPT-5模型。據(jù)悉,部分企業(yè)客戶已提前體驗了OpenAI最新模型及其ChatGPT工具的改進版Demo。一位CEO在體驗后贊不絕口:“它真的令人驚艷,相較于之前的版本,GPT-5帶來了實質(zhì)性的飛躍?!?/div>
    的頭像 發(fā)表于 03-22 10:40 ?702次閱讀

    極狐阿爾法T5限時優(yōu)惠2.5萬元,起售價13.08萬元

    阿爾法T5擁有四款車型可供選擇,提供兩種里程配置,分別是520公里和660公里,指導價在15.58-19.98萬之間。折扣后價格范圍在13.08-17.48萬元之間。
    的頭像 發(fā)表于 03-08 14:07 ?640次閱讀

    Google Gemma優(yōu)化后可在NVIDIA GPU上運行

    2024 年 2 月 21 日,NVIDIA 攜手 Google 在所有 NVIDIA AI 平臺上發(fā)布面向 Gemma 的優(yōu)化功能,Gemma 是 Google 最先進的新型輕量級
    的頭像 發(fā)表于 02-25 11:01 ?426次閱讀

    TensorRT LLM加速Gemma!NVIDIA與谷歌牽手,RTX助推AI聊天

    NVIDIA今天在其官方博客中表示,今天與谷歌合作,在所有NVIDIA AI平臺上為Gemma推出了優(yōu)化
    的頭像 發(fā)表于 02-23 09:42 ?539次閱讀
    <b class='flag-5'>TensorRT</b> LLM加速Gemma!<b class='flag-5'>NVIDIA</b>與谷歌牽手,RTX助推AI聊天

    Torch TensorRT是一個優(yōu)化PyTorch模型推理性能的工具

    那么,什么是Torch TensorRT呢?Torch是我們大家聚在一起的原因,它是一個端到端的機器學習框架。而TensorRT則是NVIDIA的高性能深度學習推理軟件工具包。Torch Te
    的頭像 發(fā)表于 01-09 16:41 ?1452次閱讀
    Torch <b class='flag-5'>TensorRT</b>是一個<b class='flag-5'>優(yōu)化</b>PyTorch模型推理性能的工具

    500篇論文!最全代碼大模型綜述

    經(jīng)典 Transformer 使用不可學習的余弦編碼,加在模型底層的詞向量輸入上。GPT、BERT將其改為可學習的絕對位置編碼,并沿用到了RoBERTa、BART、GPT-2、GPT-3等經(jīng)典模型。
    的頭像 發(fā)表于 11-17 17:31 ?1232次閱讀

    三星推出移動固態(tài)硬盤T5 EVO:具有超大可用容量、超快速度, 設計緊湊耐用

    ?容量高達8TB,傳輸速度是移動機械硬盤的3.8倍即使從高達兩米的位置跌落仍可保護數(shù)據(jù)不受影響【4】 韓國首爾2023年11月14日消息 ——三星電子今日推出一款輕型移動固態(tài)硬盤T5 EVO,可提供
    的頭像 發(fā)表于 11-15 09:03 ?514次閱讀
    三星推出移動固態(tài)硬盤<b class='flag-5'>T5</b> EVO:具有超大可用容量、超快速度, 設計緊湊耐用