chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

百度智算峰會精彩回顧:視覺大模型訓(xùn)練與推理優(yōu)化

NVIDIA英偉達 ? 來源:未知 ? 2022-12-29 00:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在昨日舉行的 “2022 百度云智峰會·智算峰會” 上,百度智能云發(fā)布國內(nèi)首個全棧自研的 AI 基礎(chǔ)設(shè)施 “百度 AI 大底座”,引發(fā)行業(yè)的廣泛關(guān)注。其中,百度百舸·AI 異構(gòu)計算平臺作為 AI IaaS 層的重要構(gòu)成,是 AI 大底座堅實的基礎(chǔ)設(shè)施。百度百舸·AI 異構(gòu)計算平臺整合了百度自研的 AI 芯片 “昆侖芯”,在 AI 計算、存儲、加速、容器方面進行系統(tǒng)優(yōu)化,發(fā)揮算力的最佳性能和效率。

在本次峰會上,NVIDIA GPU 計算專家陳庾分享了以 “視覺大模型訓(xùn)練與推理優(yōu)化” 為題的演講,以 Swin Transformer 模型為例,介紹了 NVIDIA 在視覺大模型訓(xùn)練與推理優(yōu)化上的探索和實踐經(jīng)驗,包括在 Swin Transformer 的訓(xùn)練和推理上采用到的加速技巧以及對應(yīng)的加速效果。這些加速方法目前已經(jīng)應(yīng)用到百度百舸·AI 異構(gòu)計算平臺的 AIAK 加速功能中,助力各行業(yè)客戶的 AI 業(yè)務(wù)加速落地。

以下為演講內(nèi)容概要。

視覺大模型簡介:Swim Transformer

32acaef2-86c8-11ed-bfe3-dac502259ad0.png

在介紹 Swin Transformer 之前,我們可以先回顧一下 Vision Transformer (ViT) 的模型結(jié)構(gòu)。如左圖所示,ViT 會將一個圖像分割成一系列的圖像塊(patch),然后通過基于 Transformer 的編碼器對這一系列圖像塊進行編碼,最后得到可用于分類等任務(wù)的特征。

而 Swin Transformer,它引入了 window attention 的概念,不同于 ViT 對整個圖像進行注意力計算(attention)。Swin Transformer 會先將圖像劃分成若干個窗口(window),然后僅對窗口內(nèi)部的圖像塊進行對應(yīng)的注意力計算,從而減少計算量。為了彌補窗口帶來的邊界問題,Swin Transformer 進一步引入 window shift 的操作。同時為了使得模型有更豐富的位置信息,Swin Transformer 還在注意力計算時引入了 relative position bias。

在 Swin Transformer 的網(wǎng)絡(luò)結(jié)構(gòu)中,我們也可以看到, Swin Transformer 被劃分為多個階段(stage),其中每個階段的分辨率是不一樣的,從而形成了一個分辨率金字塔,這樣也使得每個階段的計算復(fù)雜程度也逐漸降低。每個階段中對應(yīng)若干個 transformer block。

接下來,我們從具體操作的角度來對 Swin Transformer 進行算子的劃分??梢钥吹剑粋€ transformer block 中涉及到三大部分,第一部分是如 window shift、partition、reverse 的一些窗口相關(guān)的操作,第二部分是注意力計算,第三部分是 FFN 計算。而 attention 和 FFN 部分又可以進一步細(xì)分為若個算子,最終如圖所示,我們可以將整個模型細(xì)分為幾十個算子的組合。這樣的算子劃分,對于我們進行性能分析,定位性能瓶頸以及開展加速優(yōu)化而言,都是非常重要的。

32e27ab4-86c8-11ed-bfe3-dac502259ad0.png

視覺大模型 Swim Transformer 的訓(xùn)練加速

接下來,介紹 NVIDIA 在 Swim Transformer 模型訓(xùn)練加速上進行的優(yōu)化工作。對于 Swin Transformer 而言,我們一般采用數(shù)據(jù)并行的方式進行多 GPU 訓(xùn)練,我們發(fā)現(xiàn)卡間通訊的開銷占比會相對較少,所以在這里,我們優(yōu)先對單 GPU 上的計算瓶頸進行優(yōu)化。

32f7f90c-86c8-11ed-bfe3-dac502259ad0.png

首先,我們通過 nsight system 性能分析工具來看一下整個 baseline 的性能表現(xiàn)。左圖所示的是 FP32 的 baseline,可以看到它的 GPU 利用率是很高的,而其中占比最高的是矩陣乘法相關(guān)的 kernel。

那么對于矩陣乘法而言,我們的一個優(yōu)化手段,就是充分利用 tensor core 進行加速,可以考慮直接采用 tf32 tensor core 或者在混合精度下采用 fp16 tensor core。在這里,我們采用了混合精度的方案,可以看到右圖中,矩陣乘法的 kernel 由于采用了 fp16 tensor core,其耗時占比有了明顯下降。此外,采用混合精度的方式,我們也可以在 kernel io 上取得一定的收益。整體而言,在 Swin-Large 模型上,通過混合精度的方式,我們可以取得了 1.63 倍的吞吐提升。

下一個優(yōu)化方案是算子融合。算子融合一般而言可以為我們帶來兩個好處:一個是減少 kernel launch 的開銷。如左圖所示,兩個 cuda kernel 的執(zhí)行需要兩次 launch,那樣可能會導(dǎo)致 kernel 之間存在一定的空隙,使得 GPU 空閑。

如果我們將兩個 cuda kernel 融合成一個 cuda kernel,一方面節(jié)省了一次 launch,同時也可以避免 gap 的產(chǎn)生。另外一個好處是減少了 global memory 的訪問,因為 global memory 的訪問是非常耗時的。而兩個獨立的 cuda kernel 之間要進行結(jié)果傳遞,都需要通過 global memory,將兩個 cuda kernel 融合成一個 kernel,我們就可以在寄存器或者 shared memory 上進行結(jié)果傳遞,從而避免了一次 global memory 寫和讀,從而提升性能。

對于算子融合,我們第一步,是采用現(xiàn)成的 apex 庫來進行 Layernorm 和 Adam 中操作的融合。可以看通過簡單的指令替換,我們可以使能 apex 的 fused layernorm 和 fused Adam,從而使得加速效果從 1.63 倍提升至 2.11 倍。

除了利用現(xiàn)有的 apex 庫,NVIDIA 也進行了手工的融合算子開發(fā)。這里展示的是,我們針對 Swin Transformer 特有的 window 相關(guān)操作,如 window partition、shift、merge 等進行的融合算子開發(fā)。可以看到,通過引入我們的定制化融合算子,可以將加速比進一步提升至 2.19 倍。

接下來展示的是,NVIDIA 對 mha 部分的融合工作。Mha 部分是 transformer 模型中一個占比很大的模塊,因此對它的優(yōu)化往往可以帶來較大的加速效果。從圖中可以看到,在沒有進行算子融合之前,mha 部分的操作占比為 37.69%,其中包括了不少 elementwise 的 kernel。我們通過將相關(guān)操作融合成一個獨立的 fmha kernel,從而將加速比進一步提升 2.85 倍。

上述是我們在單卡上取得的訓(xùn)練加速效果。我們再來看一下單機 8 卡的訓(xùn)練情況,可以看到,通過上述優(yōu)化,我們可以將訓(xùn)練吞吐從 1,612 提升至 3,733,取得 2.32 倍的加速。

3316be6e-86c8-11ed-bfe3-dac502259ad0.png

視覺大模型 Swim Transformer 的推理加速

接下來,介紹 NVIDIA 在 Swim Transformer 模型推理加速上進行的優(yōu)化工作。

跟訓(xùn)練一樣,推理的加速離不開算子融合這一方案。不過相對于訓(xùn)練而言,在推理上進行算子融合有兩個好處:一,推理上的算子融合不需要考慮反向,所以 kernel 開發(fā)過程中不需要考慮保存計算梯度所需要的中間結(jié)果;二,推理過程允許預(yù)處理,我們可以對一些只需要一次計算便可重復(fù)使用的操作,提前算好,保留結(jié)果,每次推理時直接調(diào)用從而避免重復(fù)計算。

在推理側(cè),NVIDIA 進行了不少算子融合,在這里挑選了兩個加速效果比較明顯的算子進行介紹。

首先是 mha 部分的算子融合,我們將 position bias lookup 這一操作提前到預(yù)處理部分,從而避免每次推理時都進行 lookup,然后將 batch gemm、softmax、batch gemm 融合成一個獨立的 fmha kernel。可以看到,融合后,該部分取得了 10 倍的加速,而端到端也取得了 1.58 倍的加速。

另一個算子融合是 QKV gemm + bias 的融合,gemm 和 bias 的融合是一個十分常見的融合手段。在這里為了配合我們前面提到的 fmha kernel,我們需要對 weight 和 bias 提前進行格式上的變換,這種提前變換也體現(xiàn)了上文提到的,推理上進行算子融合的靈活性。最后,通過 QKV gemm+bias 的融合,我們可以進一步取得 1.1 倍的端到端加速。

除算子融合以外,我們使用了矩陣乘法 padding 的優(yōu)化手段。在 Swin Transformer 的計算中,有時候我們會遇到主維為奇數(shù)的矩陣乘法,這時候并不利于我們的矩陣乘法 kernel 進行向量化讀寫,從而使得 kernel 的運行效率變低。這時候我們可以考慮對參與運算的矩陣主維進行 padding 操作,使其變?yōu)?8 的倍數(shù),這樣一來,矩陣乘法 kernel 就可以以 alignment=8,一次讀寫 8 個元素的方式來進行向量化讀寫,提升性能。

如下表所示,我們將 n 從 49 padding 到 56 后,矩陣乘法的 latency 從 60.54us(微秒) 下降為 40.38us,取得了 1.5 倍的加速比。

33317920-86c8-11ed-bfe3-dac502259ad0.png

下一個優(yōu)化手段,是巧用 half2 或者 char4 這樣的數(shù)據(jù)類型。

以 half2 為例,可以帶來以下三個好處:

一,向量化讀寫可以提升顯存的帶寬利用率并降低訪存指令數(shù)。如右圖所示,通過 half2 的使用,訪存指令減少了一半,同時 memory 的 SOL 也有顯著提升。

二, 結(jié)合 half2 專有的高吞吐的數(shù)學(xué)指令,可以減低 kernel 的時延。

三,在進行 reduction 時,采用 half2 數(shù)據(jù)類型意味著一個 cuda 線程同時處理兩個元素,可以有效減少空閑的線程數(shù)。最終通過使用 half2,我們可以觀察到圖示的 addBiasResidual 這一個 kernel,latency 從 20.96us 下降為 10.78us,加速 1.94 倍。

下一個優(yōu)化手段,是巧用寄存器數(shù)組。在我們進行 layernorm 或者 softmax 等 Transformer 模型常見的算子優(yōu)化時,我們經(jīng)常需要在一個 kernel 中多次使用同一個輸入數(shù)據(jù),那么相對于每次都從 global memory 讀取,我們可以采用寄存器數(shù)組來緩存數(shù)據(jù),從而避免重復(fù)讀取 global memory。

由于寄存器是每個 cuda 線程獨占的,所以在進行 kernel 設(shè)計時,我們需要提前設(shè)定好每個 cuda 線程所需要緩存的元素個數(shù),從而開辟對應(yīng)大小的寄存器數(shù)組,并且在分配每個 cuda 線程所負(fù)責(zé)元素時,需要確保我們可以做到合并訪問。

如右圖所示,當(dāng)我們有 8 個線程時,0 號線程可以處理 0 號元素,當(dāng)我們有 4 個線程是,0 號線程則處理 0 號和 4 號元素,如此類推。我們一般建議可以采用模板函數(shù)的方式,通過模板參數(shù)來控制每個 cuda 線程的寄存器數(shù)組大小。

33517478-86c8-11ed-bfe3-dac502259ad0.png

此外,在使用寄存器數(shù)組時,需要保證我們的下標(biāo)是常量,如果是循環(huán)變量作為下標(biāo),我們應(yīng)該盡量保證可以進行循環(huán)展開,這樣可以避免編譯器將數(shù)據(jù)放到了時延很高的 local memory 中,如圖所示,我們在循環(huán)條件中添加限制,通過 ncu 報告可以看到,避免了 local memory 的使用。

最后一個我想介紹優(yōu)化手段是 INT8 量化。INT8 量化是推理加速非常重要的加速手段,對于 Transformer based 的模型而言,INT8 量化往往可以帶來不錯的加速效果。

而對于 Swin Transformer 來說,通過結(jié)合合適的 PTQ 或 QAT 量化方案,可以在取得良好加速效果的同時,保證量化精度。通過 QAT,我們可以保證精度損失在千分之 5 以內(nèi)。

而在 PTQ 那一列,我們可以看到 swin large 的掉點比較嚴(yán)重。我們可以通過禁用 FC2 和 PatchMerge 中的部分量化結(jié)點,來進一步提升量化精度,這其實就是一個性能和精度的 tr 平衡了。

接下來介紹 NVIDIA 在推理側(cè)取得的加速效果。

337cd258-86c8-11ed-bfe3-dac502259ad0.png

左上圖優(yōu)化后 跟 pytorch 的時延對比,右下圖為優(yōu)化后 FP16 下跟 pytorch 以及 INT8 優(yōu)化跟 FP16 優(yōu)化的加速比??梢钥吹?,通過優(yōu)化,在 FP16 精度上,我們可以取得,相對于 pytorch 2.82x~7.34x 的加速,結(jié)合 INT8 量化,我們可以在此基礎(chǔ)上進一步取得 1.2x~1.5x 的加速。

總結(jié):視覺大模型 Swim Transformer 訓(xùn)練與推理加速技巧

本次分享中我們介紹了一系列訓(xùn)練與推理加速技巧,其中包括 :

一,混合精度訓(xùn)練、低精度推理,使用更高性能的 Tensor Core 進行計算矩陣乘法或卷積計算;

二、算子融合;

三、cuda kernel 優(yōu)化技巧 :如矩陣補零,向量化讀寫,巧用寄存器數(shù)組等。

結(jié)合上述優(yōu)化技巧,加速效果:

在訓(xùn)練上,以 Swin-Large 模型為例,取得了單卡 ~2.85x 的加速比,8 卡 2.32x 的加速比;

在推理上,以 Swin-tiny 模型為例,在 FP16 精度下取得了 2.82x - 7.34x 的加速比,結(jié)合 INT8 量化,進一步取得 1.2x - 1.5x 的加速比。

上述介紹的視覺大模型訓(xùn)練與推理的加速方法,已經(jīng)在百度百舸·AI 異構(gòu)計算平臺的 AIAK 加速功能中實現(xiàn)。


原文標(biāo)題:百度智算峰會精彩回顧:視覺大模型訓(xùn)練與推理優(yōu)化

文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    23

    文章

    4068

    瀏覽量

    98438
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    3579

    瀏覽量

    5077

原文標(biāo)題:百度智算峰會精彩回顧:視覺大模型訓(xùn)練與推理優(yōu)化

文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    2025百度世界大會精彩回顧

    百度創(chuàng)始人李彥宏在演講時表示,“我們更關(guān)心如何讓AI跟我們要做的每一項任務(wù),都能夠進行有機的結(jié)合,讓AI成為企業(yè)發(fā)展和個人成長的原生推動力。”
    的頭像 發(fā)表于 11-17 15:01 ?628次閱讀

    科技上線赤兔推理引擎服務(wù),創(chuàng)新解鎖FP8大模型

    模型輕量化部署方案。用戶通過遠(yuǎn)程力平臺預(yù)置的模型鏡像與AI工具,僅需50%的GPU力即可解鎖大模型
    的頭像 發(fā)表于 07-30 21:44 ?818次閱讀

    寧暢與與百度文心大模型展開深度技術(shù)合作

    近日,百度正式開源文心大模型4.5系列模型。作為文心開源合作伙伴,寧暢在模型開源首日即實現(xiàn)即刻部署,做到“開源即接入、發(fā)布即可用”。據(jù)悉,文心4.5開源系列全部基于飛槳深度學(xué)習(xí)框架進行
    的頭像 發(fā)表于 07-07 16:26 ?758次閱讀

    65%央企大模型落地首選百度智能云

    今天,很榮幸地分享一個好消息,百度智能云已牽手65%的央企,共同推進大模型產(chǎn)業(yè)落地。得益于全棧的AI能力,百度聯(lián)合眾多央國企伙伴,針對各類不同業(yè)務(wù)場景,打造了一大批可推廣、可復(fù)制的標(biāo)桿案例。
    的頭像 發(fā)表于 06-11 15:44 ?817次閱讀

    百度文心大模型X1 Turbo獲得信通院當(dāng)前大模型最高評級證書

    ,16項達5分,綜合評級獲當(dāng)前最高級“4+級”, 成為國內(nèi)首款通過該測評的大模型 。文心X1 Turbo邏輯推理、代碼推理、推理效果優(yōu)化等技
    的頭像 發(fā)表于 05-21 18:19 ?1187次閱讀
    <b class='flag-5'>百度</b>文心大<b class='flag-5'>模型</b>X1 Turbo獲得信通院當(dāng)前大<b class='flag-5'>模型</b>最高評級證書

    百度智能云兩大基礎(chǔ)設(shè)施再升級

    近日,在Create2025百度AI開發(fā)者大會上,沈抖分享了百度智能云在智能基礎(chǔ)設(shè)施建設(shè)方面的最新成果,并在力、模型及應(yīng)用等方面發(fā)布一系列全新產(chǎn)品。
    的頭像 發(fā)表于 04-30 10:20 ?806次閱讀

    格靈深瞳與百度智能云達成戰(zhàn)略合作,共筑AI力新基建

    4月25日,在Create2025百度AI開發(fā)者大會期間,百度智能云與格靈深瞳正式簽署戰(zhàn)略合作協(xié)議。雙方將以“技術(shù)互補、生態(tài)共建、價值共生”為原則,聚焦大模型與行業(yè)場景深度融合,共同構(gòu)建國產(chǎn)化AI
    的頭像 發(fā)表于 04-27 10:20 ?1049次閱讀

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

    模型訓(xùn)練成本高?推理效率低?硬件適配難? 4月1日,百度發(fā)布 飛槳框架3.0正式版 !五大特性專為大模型設(shè)計。 作為大
    的頭像 發(fā)表于 04-02 19:03 ?1109次閱讀
    <b class='flag-5'>百度</b>飛槳框架3.0正式版發(fā)布

    百度發(fā)布文心大模型4.5和文心大模型X1

    文心大模型4.5是百度自主研發(fā)的新一代原生多模態(tài)基礎(chǔ)大模型,通過多個模態(tài)聯(lián)合建模實現(xiàn)協(xié)同優(yōu)化,多模態(tài)理解能力優(yōu)秀;具備更精進的語言能力,理解、生成、邏輯、記憶能力全面提升,去幻覺、邏輯
    的頭像 發(fā)表于 03-18 16:29 ?762次閱讀

    壁仞科技支持DeepSeek-V3滿血版訓(xùn)練推理

    DeepSeek-V3滿血版在國產(chǎn)GPU平臺的高效全棧式訓(xùn)練推理,實現(xiàn)國產(chǎn)大模型與國產(chǎn)GPU的深度融合優(yōu)化,開啟國產(chǎn)力新篇章。
    的頭像 發(fā)表于 03-04 14:01 ?2076次閱讀

    百度文心大模型將升級并開源

    百度近日宣布,其文心大模型系列將迎來新版本升級,計劃在未來數(shù)月內(nèi)逐步推出文心大模型4.5系列。這一消息無疑為AI領(lǐng)域注入了新的活力。 據(jù)悉,百度文心大
    的頭像 發(fā)表于 02-14 14:25 ?808次閱讀

    百度文心大模型4月1日起全面免費開放

    近日,百度公司正式對外宣布,其備受關(guān)注的文心大模型在經(jīng)過一系列迭代與優(yōu)化后,將于4月1日零時全面免費開放給所有用戶。此次免費開放的覆蓋范圍廣泛,包括所有PC端及App端用戶,讓用戶能夠盡情體驗文心系
    的頭像 發(fā)表于 02-14 09:19 ?742次閱讀

    百度智能云發(fā)布昆侖芯三代萬卡集群及DeepSeek-R1/V3上線

    支持,同時有效提升了百度和客戶的資源整體利用率,降低大模型訓(xùn)練成本,推動了模型降本的趨勢,為整個行業(yè)提供了新的思路和方向。 02百度智能云宣
    的頭像 發(fā)表于 02-11 10:58 ?1032次閱讀

    百度智能云四款大模型應(yīng)用接入DeepSeek

    近日,百度智能云旗下四款重量級大模型應(yīng)用產(chǎn)品——客悅、曦靈、一見、甄知,正式迎來了全新升級,接入了先進的DeepSeek模型。這一重要更新,標(biāo)志著百度智能云在為企業(yè)智能化轉(zhuǎn)型提供更強動
    的頭像 發(fā)表于 02-10 18:00 ?1219次閱讀

    百度智能云四款大模型應(yīng)用完成DeepSeek適配

    生成、視覺智能分析、知識管理等高價值業(yè)務(wù)場景提供更加豐富的AI大模型應(yīng)用選擇,滿足用戶多元化的落地需求。這些應(yīng)用場景不僅覆蓋了企業(yè)的日常運營,還涉及到了數(shù)字人、視覺分析等前沿技術(shù)領(lǐng)域,展現(xiàn)了
    的頭像 發(fā)表于 02-10 10:47 ?806次閱讀