精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

新聞 前端
4月9日,英偉達x量子位分享了一期nlp線上課程,來自NVIDIA的GPU計算專家、FasterTransformer 2.0開發者之一的薛博陽老師,與數百位開發者共同探討。

本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。

 4月9日,英偉達x量子位分享了一期nlp線上課程,來自NVIDIA的GPU計算專家、FasterTransformer 2.0開發者之一的薛博陽老師,與數百位開發者共同探討了:

  • FasterTransformer 2.0 新增功能介紹
  • 如何針對Decoder和Decoding進行優化
  • 如何使用Decoder和Decoding
  • Decoder和Decoding能夠帶來什么樣的加速效果

應讀者要求,我們將分享內容整理出來,與大家一起學習。文末附有本次直播回放、PPT鏈接,大家也可直接觀看。

以下為本次分享的內容整理:

大家好,今天為大家介紹的是FasterTransformer 2.0的原理與應用

什么是FasterTransformer?

首先,參加本期直播的朋友對Transformer架構應該都有了一定了解。這個架構是在“Attention is All You Need”這篇論文中提出的。在BERT Encoder中使用了大量Transformer,效果很好。因此,Transformer已成為 NLP 領域中非常熱門的深度學習網絡架構。

但是,Transformer計算量通常是非常大的。因此,Transformer的時延往往難以滿足實際應用的需求。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

△Attention is All You Need截圖

Transformer架構可以應用于Encoder或Decoder上。在Encoder中,Transformer包含1個multi-head attention和1個feed forward網絡,在Decoder中,包含2個multi-head attention和1個feed forward網絡。

其中,純Encoder架構在目前的很多應用中都有很好的表現,比如Q&A系統、廣告推薦系統等,因此,針對Encoder的優化是非常有必要的。

而在一些場景中,如翻譯場景,我們需要Encoder和Decoder架構。在這種架構下,Decoder消耗的時間占比是非常高的,可能達到90%以上,是推理的主要瓶頸。因此,針對Decoder的優化也是一項重要的工作,能帶來明顯的加速效果。

實際應用中,FasterTransformer 1.0版本針對BERT中的Encoder為目標做了很多優化和加速。在2.0版本中,則主要新增了針對Decoder的優化,其優越的性能將助力于翻譯、對話機器人、文字補全修正等多種生成式的場景。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

上表比較了Encoder和Decoder計算量的不同。當我們需要編解碼一個句子的時候,Encoder可以同時編碼很多個字,甚至可以直接編碼一個句子。

但是Decoder是一個解碼的過程,每次只能解碼一個字,因此,解碼一個句子時我們需要多次Decoder的forward,對GPU更不友善。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

△Faster Transformer框架

上圖列出了FasterTransformer中針對BERT優化的模塊。在編碼方面,以BERT為基準,提供了一個單層的、等價于BERT Transformer 的模塊,供使用者做調用。當我們需要多層的Transformer時,只需調用多次Encoder即可。

解碼方面更為復雜,為了兼顧靈活性與效率,我們提供兩個不同大小和效果的模塊:

Decoder(黃色區塊) 由單層的 Transformer layer 組成,它包含兩個attention和一個feed forward 網絡;而Decoding(藍色區塊)除了包含多層的 Transformer layer 之外,還包括了其他函數,例如 embedding_lookup、beam search、position Encoding 等等。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

我們用一個簡單的虛擬碼展示Decoder和Decoding的區別。

在Decoding中通常有兩個終止條件,一是是否達到預先設定的最大的sequence length,第二個條件是所有的句子是否都已經翻譯完畢,未終止時會不斷循環。

以句子長度為128的句子翻譯場景為例,若其 Decoder 是由6層的 Transformer layer 組成的,總共需要調用 128x6=768 次的Decoder;如果是使用 Decoding 的話,則只需要調用一次Decoding,因此Decoding的推理效率更高。

小結

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

首先,FasterTransformer提供了高度優化過的Transformer layer:在Encoder方面是基于BERT實現的;在Decoder方面基于OpenNMT-TensorFlow開源的庫做為標準;Decoding包含了翻譯的整個流程,也是基于OpenNMT-TensorFlow。

其次,FasterTransformer 2.0的底層由CUDA和cuBLAS實現,支持FP16 和 FP32 兩種計算模式,目前提供C++ API和TF OP。

現在,FasterTransformer 2.0已經開源,大家可以在DeepLearningExamples/FasterTransformer/v2 at master · NVIDIA/DeepLearningExamples · GitHub獲取全部源代碼。

如何進行優化?

先以Encoder為例。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

△TF Encoder Transformer layer

參數:no XLA,batch size 1,12 heads,size per head 64,FP 32

圖中藍色方塊表示GPU在實際運行,空白的表示GPU在閑置,因此GPU在很多時間是閑置狀態。造成GPU閑置的原因是kernels太小,GPU要不斷閑置以等待CPU啟動kernel的時間,這也稱為kernel launch bound問題。

如何解決這個問題?

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

我們嘗試開啟TF的XLA,其他參數不變。圖中我們看到,從原本計算1層Transformer layer需要50個kernel縮減到24個左右。大部分kernel變得比較寬,雖有加速,但是閑置的時間還是比較多。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

因此,我們提出FasterTransformer針對Encoder進行優化。

首先,我們把矩陣計算部分挑選出來,用NVIDIA高度優化的庫cuBLAS 來計算,此外的部分,我們把能融合的kernel都盡可能融合起來。

最終的結果如上圖右邊,經過整體的優化后,我們只需要8個矩陣計算加6個kernel就可以完成單層Transformer layer計算,也就是說所需kernel從24個減少到14個。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

我們可以看到,優化后每一個 kernel 都相對比較大,時間占比小的kernel也減少了。但還是有很多空白的片段。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

我們直接調用C++ API,如圖,GPU閑置的時間幾乎沒有了。因此,小batch size情況下,我們推薦使用C++ API以獲得更快的速度。當batch size比較大時,GPU閑置時間會比較少。

接下來我們看下Decoder。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

參數:no XLA,batch size 1,8 heads,size per head 64,FP32

經過統計,TF需要使用70個左右kernel來計算1層Transformer layer。直觀來看,非常小、時間占比非常短的kernel更多。因此,batch size比較小的情況下,優化效果會更明顯。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

Decoder的優化同上述Encoder,特別之處是,Decoder里面的矩陣計算量非常少,因此我們把整個multi-head attention以一個kernel來完成。經過優化之后,原本需要70個kernel才能完成的計算,只需要使用16個kernel就能夠完成。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

在更大的Decoding模塊中,另一個時間占比較多的kernel是beam search,這里我們針對top k做出優化。在GPU中可以同時執行多個block和多個warp,并行運算,大大節省時間。

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

△更多優化細節

如何使用FasterTransformer?

大家可以在DeepLearningExamples/FasterTransformer/v2 at master · NVIDIA/DeepLearningExamples · GitHub根目錄下找到對應資料:

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用
如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用
如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

針對 Decoder 和 Decoding,FasterTransformer 分別提供了 C++ 和 TensorFlow OP 這兩種接口。

C++接口

首先創建一個Eecoder,超參數如圖:

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

其次,設定訓練好的模型權重;

設置好后,直接調用forward即可。

TF OP接口

首先,我們需要先載入OP。這里以Decoder為例,會自動創建TF需要使用的庫,調用接口時先導入.so文件(圖中已標紅):

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

然后調用Decoder,放入input、權重、超參數,然后針對out put 做Session run。

這里需要注意的是,參數里有一個虛擬的輸入 (pseudo input)。這個輸入是為了避免 TensorFlow 的 decoder 和 FasterTransformer Decoder 發生并行,因為我們發現并行執行時,Decoder中的memory可能會被污染。實際應用的時候可以將這個輸入拿掉。

優化效果

最后我們來看下優化的效果如何。首先測試環境設置:

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

使用的GPU是NVIDIA的Tesla T4和V100。

Encoder模塊在Tesla V100的結果

超參數設置:12 layers,32 sequence length,12 heads,64 size per head(BERT base),under FP 16

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

結果如上圖,batch size從100逐步增加到500的過程中,FasterTransformer對比TF開啟XLA,大概可以提供1.4倍的加速。

Decoder和Decoding模塊在Tesla T4的結果

超參數設置:Batch size 1,beam width 4,8 heads,64 size per head,6 layers,vocabulary size 30000,FP 32

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

結果如上圖,不同的sequence length下,相比于TF,FasterTransformer Decoder可以帶來3.4倍左右的加速效果,Decoding可以帶來7-8倍的加速,效率更高。

超參數設置:Batch size 256,sequence length 32,beam width 4,8 heads,64 size per head,6 layers,vocabulary size 30000

如何突破Decoder性能瓶頸?揭秘FasterTransformer的原理與應用

結果如上圖,把batch size固定在較高值時,不同的FP下,FasterTransformer Decoder和Decoding也帶來一定的加速效果。

責任編輯:張燕妮 來源: 量子位
相關推薦

2023-04-17 08:04:15

Redis性能內存

2019-08-13 08:32:14

MySQL數據庫性能調優

2025-01-02 10:19:18

2023-08-02 09:28:28

計算機性能CPU

2023-09-07 14:04:58

計算機CPU內存

2009-11-25 13:43:02

CDN內容分布網絡

2024-01-25 16:19:27

2009-07-02 15:55:03

2013-05-22 13:06:14

aerohive協同控制WLAN

2024-03-06 09:00:00

大語言模型人工智能

2025-05-19 09:20:08

2021-06-24 10:21:41

IT管理技術

2024-12-31 08:16:15

2020-09-01 10:54:14

電信市場瓶頸電信業務

2025-02-27 10:55:44

2025-10-10 09:16:47

2019-10-31 11:50:19

MySQL數據庫Windows

2021-04-30 15:45:42

存儲人工智能數據
點贊
收藏

51CTO技術棧公眾號

岛国一区二区在线观看| 西野翔中文久久精品国产| 久久久国产午夜精品| 国产精品美女午夜av| 性欧美疯狂猛交69hd| 日韩一二三区在线观看| 欧美日韩免费观看中文| 曰韩不卡视频| 亚洲 精品 综合 精品 自拍| 奇米色777欧美一区二区| 久久成人免费视频| 麻豆av免费观看| 精品视频一二| 91福利视频久久久久| av磁力番号网| 国产一区二区三区福利| 福利一区二区在线观看| 国产精品视频自拍| 男女啊啊啊视频| 一本一本久久a久久综合精品| 亚洲精品99久久久久| 天天干天天草天天| av影院在线免费观看| ...av二区三区久久精品| 久久综合中文色婷婷| 精品久久久无码中文字幕| 欧美a一区二区| 羞羞色国产精品| 青青草激情视频| 久久精品国产68国产精品亚洲| 精品国产一区二区三区不卡| 天天影视色综合| 日本欧美一区| 欧美性猛交xxxxx免费看| www.夜夜爱| 国产青青草在线| www.久久久久久久| 国产乱码精品一区二区三区亚洲人| 福利精品视频在线| 欧美大黑帍在线播放| 久久日韩视频| 中文字幕一区二区三区不卡在线| 日韩不卡av| 男女污视频在线观看| 99久久夜色精品国产网站| eeuss一区二区三区| 国产日韩一级片| 精品一区二区三区日韩| 国产一区二区丝袜高跟鞋图片| 国产成人精品777777| 蜜桃久久av| 日本欧美一级片| 亚洲图片在线视频| 久久精品首页| 日本一区二区不卡| 免费在线不卡av| 日av在线不卡| 成人久久一区二区三区| 99国产精品99| 国产成人aaa| 国产伦理一区二区三区| 天堂网在线播放| 久久综合久久综合久久综合| 免费在线一区二区| 浮生影视网在线观看免费| 国产视频一区在线播放| 在线成人激情视频| a天堂中文字幕| 久久亚洲精品中文字幕蜜潮电影| 日韩在线小视频| 男的操女的网站| 欧美视频导航| 91精品国产91久久久久久吃药| 日韩精品1区2区| 久热精品视频| 91视频国产一区| 亚洲精品97久久中文字幕| 成人91在线观看| 欧美日本亚洲| 国产精品久久久久久久乖乖| www.国产麻豆| 成人av电影在线网| 欧美日韩电影一区二区| aaa在线观看| 亚洲激情av在线| 国产日产欧美视频| 久久人体av| 日韩欧美你懂的| 中文字幕一区二区三区人妻不卡| 久久一级电影| 午夜美女久久久久爽久久| 天天干天天操天天爱| 精品亚洲欧美一区| 精品一区二区三区免费毛片| av免费在线一区二区三区| 一区二区视频在线| 无码人妻丰满熟妇区毛片| 白嫩亚洲一区二区三区| 亚洲精品suv精品一区二区| 亚洲一二三精品| 黄色欧美成人| 国产精品美女在线| 午夜影院免费视频| 成人欧美一区二区三区白人| 国产亚洲欧美在线视频| 亚洲精品伊人| 亚洲午夜av电影| 久久久久成人精品无码| 日本中文字幕一区二区视频| yy111111少妇影院日韩夜片| 国产区视频在线播放| 亚洲成人免费看| 超碰在线免费av| 成人黄色小视频| 97在线视频免费播放| 国产美女明星三级做爰| 久久久不卡影院| 国产69精品久久久久久久| 午夜不卡一区| 欧美日韩在线观看一区二区 | 亚洲成人av综合| 日韩av一区二区在线影视| 国产女主播一区二区| 免费网站免费进入在线| 色综合久久天天综合网| 午夜剧场免费看| **女人18毛片一区二区| 国产精品情侣自拍| 男同在线观看| 偷拍日韩校园综合在线| 欧美色图校园春色| 婷婷六月综合| 国产日韩中文字幕在线| 精品视频一二区| 欧美午夜激情在线| 中文字幕一区二区久久人妻网站| 国产一区二区三区四区三区四| 亚洲一区二区三区xxx视频| 午夜在线播放| 欧美日韩国产大片| 日本xxxxxxxxx18| 爽好多水快深点欧美视频| 久久人人97超碰人人澡爱香蕉| 俺来俺也去www色在线观看| 日韩精品一区二区三区四区| 成人免费黄色小视频| 老司机午夜精品| 一区二区三区视频| 日韩一区二区三免费高清在线观看| 一本色道久久88综合亚洲精品ⅰ| 日本黄色一级视频| 国产日韩精品一区二区三区| 午夜dv内射一区二区| 国产99精品一区| 国产精品久久久久久久久久三级 | 国产有码在线观看| 国产精品久久久久一区二区三区 | 国产熟女一区二区丰满| 亚洲三级电影全部在线观看高清| 五月花丁香婷婷| 欧美激情黑人| 欧美99久久| 国产精品美女999| av亚洲在线| 欧美一级久久久久久久大片| 国产67194| 不卡一区二区三区四区| 欧美精品99久久| 日本不卡免费一区| 成人黄色在线观看| 成人在线免费观看黄色| 日韩精品视频观看| av首页在线观看| 麻豆视频观看网址久久| 一区二区在线高清视频| 视频在线观看免费影院欧美meiju| 久久久久久久久久久国产| 瑟瑟在线观看| 欧美日韩成人综合天天影院| 三级影片在线看| 91香蕉视频黄| 最新免费av网址| 亚洲激情不卡| 性刺激综合网| 大奶在线精品| 国产精品高潮呻吟久久av无限| 国产高清一区二区三区视频| 亚洲国内精品视频| 一级黄色免费看| 亚洲r级在线视频| 黄色国产在线播放| www.久久精品| 色91精品久久久久久久久| 在线精品在线| 亚洲一区二区三区乱码| 老汉色老汉首页av亚洲| 国产欧亚日韩视频| 九色porny丨首页入口在线| 中文字幕亚洲一区二区三区| www.日日夜夜| 欧美视频在线不卡| 一区二区三区视频免费看| 国产精品女同互慰在线看| 无码国产69精品久久久久网站| 麻豆久久久久久| 波多野结衣乳巨码无在线| 99视频精品全国免费| 久久综合中文色婷婷| 视频国产精品| 国产美女搞久久| 天堂av中文在线观看| 欧美二区在线播放| 伊人成色综合网| 色综合天天色| 69国产精品成人在线播放| 尤物视频在线免费观看| 精品视频在线播放免| 亚洲奶汁xxxx哺乳期| 欧美女孩性生活视频| 国产成人无码一区二区在线播放| 亚洲影院免费观看| 成年人免费视频播放| 国产亚洲精品7777| 一级少妇精品久久久久久久| 国产在线播放一区三区四| 999精品视频在线| 国产日韩一区二区三区在线| 国产精品三级一区二区| 亚洲不卡av不卡一区二区| 美乳视频一区二区| 久久黄色影视| 国产精品一区二区三区免费| 精品国产乱码一区二区三区| 成人在线精品视频| 欧美电影在线观看网站| 国产精品99久久久久久久久久久久| 毛片在线网站| 91国产美女在线观看| 黄色小说在线播放| 久久99热精品这里久久精品| 欧美成人视屏| 日韩中文字幕av| av在线资源站| 日韩中文在线视频| 欧美人xxx| 久色乳综合思思在线视频| 久草免费在线| 久久久av电影| 在线xxxx| 国内外成人免费激情在线视频| 久色国产在线| 2018中文字幕一区二区三区| h片在线观看视频免费免费| 久久久久久久国产| free性欧美| 欧美亚洲成人网| 国产精品伦理| 国产精品夜间视频香蕉| 57pao成人永久免费| 成人网在线观看| 亚洲无线观看| 久久99国产精品| 国产一区二区三区91| 亚洲高清视频一区| 91精品一区二区三区综合在线爱 | 亚洲一级电影视频| 国产av第一区| 欧美在线不卡| 亚洲人精品午夜射精日韩| 国产精品色网| 99视频在线视频| 国产一区二区h| 中文字幕无码人妻少妇免费| 久久久不卡影院| 欧美三级黄色大片| 亚洲一级二级三级| 黄色av一区二区| 911精品国产一区二区在线| www.中文字幕| 亚洲老板91色精品久久| av福利在线播放| 欧美成人精品在线观看| 中文字幕影音在线| 成人亚洲激情网| 欧美精品国产白浆久久久久| 日韩国产一区久久| 在线电影一区二区| 9久久9毛片又大又硬又粗| 日本中文字幕一区| 亚洲精品久久一区二区三区777| 2021久久国产精品不只是精品| 欧美日韩国产一二三区| 亚洲国产精品嫩草影院| 日韩精品在线一区二区三区| 欧美大肚乱孕交hd孕妇| 国产综合视频一区二区三区免费| 欧美成人一二三| 日日av拍夜夜添久久免费| 99热最新在线| 日韩在线观看| 国产精品333| 国产又黄又大久久| 国产精品亚洲无码| 亚洲精品国产高清久久伦理二区| 国产成人无码一区二区在线播放| 日韩午夜电影av| av网站无病毒在线| 91精品国产色综合久久不卡98口 | 91网在线免费观看| 蜜桃a∨噜噜一区二区三区| 神马午夜伦理影院| 免费在线观看日韩欧美| 一出一进一爽一粗一大视频| 一区二区三区欧美久久| 免费看av在线| 国产视频久久久| 毛片网站在线看| 91久久久精品| 欧美日韩在线二区| 激情综合在线观看| 丰满放荡岳乱妇91ww| 91麻豆精品成人一区二区| 色播五月激情综合网| 污污视频在线免费看| 国产剧情av麻豆香蕉精品| 亚洲国产激情一区二区三区| 美女精品一区| 制服丝袜第二页| 午夜精品123| 丰满人妻一区二区三区四区53| 久久亚洲精品一区| 亚洲一区导航| 一区二区三区免费看| 日本vs亚洲vs韩国一区三区二区| 法国伦理少妇愉情| 天天综合色天天综合| 亚洲乱码精品久久久久..| 欧美成人黑人xx视频免费观看| 精品一区二区三区亚洲| 亚洲欧洲一二三| 久久精品免费观看| www.99re6| 91麻豆精品国产91久久久使用方法| 国产午夜精品一区理论片| 国产成人精品免高潮在线观看| 亚洲欧洲免费| 国产福利一区视频| 日本一区二区三区高清不卡| 久久永久免费视频| 中文在线不卡视频| 国产伊人久久| av动漫免费观看| 国产乱子轮精品视频| 欧美成人精品欧美一级私黄| 欧美一区二区三区在线看 | 欧美大片免费观看在线观看网站推荐| 精品一区91| 日韩小视频网站| 91色视频在线| 少妇又紧又色又爽又刺激视频 | 蜜桃av一区二区| а天堂中文在线资源| 91精品在线一区二区| 青草av在线| 免费久久一级欧美特大黄| 久久亚洲欧美| 一级片一级片一级片| 欧美α欧美αv大片| 国产一二三在线| 日本精品一区二区| 九九视频精品免费| 久久影院一区二区| 亚洲欧美999| 亚洲成a人片777777久久| 日本阿v视频在线观看| 91啪亚洲精品| 亚洲综合免费视频| 久久久久久18| 精品久久影院| 久久精品无码一区二区三区毛片| 国产一区视频导航| 国产亚洲欧美精品久久久久久| 国产视频精品一区二区三区| 日韩福利影视| 男人天堂av片| 中文字幕精品一区二区精品绿巨人| 国产美女精品视频国产| 97在线视频国产| 蜜桃传媒一区二区亚洲av| 亚洲亚洲人成综合网络| 黄视频在线观看免费| 亚洲xxxxx电影| 免费在线亚洲| 中文字幕av免费在线观看| 亚洲精品在线不卡| 日本在线一区二区三区| 欧美少妇性生活视频| 亚洲高清三级视频| 欧美私人网站| 日韩精品另类天天更新|