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

如何在GPU資源受限情況下微調超大模型

人工智能 新聞
在訓練模型過程中,細數那些完勝“CUDA 內存出錯..”報錯的提高內存效率技術。

圖片

提問:模型大小超過GPU 容量怎么辦? 

本文的靈感來自于Yandex數據分析學院教授的“高效深度學習系統”課程。

預備知識:假設讀者已經了解神經網絡的前傳遞和后向傳遞的工作原理,這對理解本文內容至關重要。文中使用PyTorch作為框架。

開始吧!

當試圖使用大型模型(即aka gpt-2-xl),它帶有 5億多個參數,而你的GPU 資源受限,無法將它安裝到GPU上運行,或者在模型訓練期間無法實現論文中定義的批大小,此時該怎么辦?也許可以選擇放棄,使用一個更輕量級版本的模型,或者減小訓練的批大小,這樣的話,便無法獲得論文中描述的訓練結果。

但是,有一些技術可以幫助解決上述問題。

下面來討論一些方法,即如何利用這些方法來微調帶有15億個參數的GPT-2-XL模型。

問題的核心

首先,來了解一下將模型加載到GPU中所需GPU內存問題的實質。

假設模型具有 個FP32(32位浮點)參數,需要在GPU上訓練這個模型,例如,運行Adam優化器。

通過計算,結果令人震驚。

 圖片

假設已有一塊帶有12 GB內存的NVIDIA GeForce RTX 3060。首先, 1e9個FP32參數約占4 GB的GPU內存。

同樣,對于梯度,也將保留相同數量的內存。所以,總共已經保留了8 GB的內存,由于還沒有開始訓練,也沒有加載優化器,加載優化器也同樣需要一定數量的內存。Adam優化器需要為每個參數存儲第一備份和第二備份,即需要8 GB額外內存。算下來,必須有大約16 GB的GPU內存,才能正確地將模型加載到GPU上,在本文的例子中,GPU只有12 GB的空閑內存。看起來很不妙,對吧?

然而,可以通過一些方法來嘗試解決這個問題,以下是相關內容:

  • 梯度積累/微批量;
  • 梯度檢查點;
  • 模型并行訓練;
  • 管道作業;
  • 張量并行化
  • 混合精度訓練;
  • 內存卸載;
  • 優化器8位量化。

接下來,將詳細解讀這些技術。

開始

圖片

提問:模型比GPU容量大,怎么辦?

  • 簡單模式:無法適配批大小為1
  • 專業模式:參數也沒辦法適配

概述

如果模型大于GPU容量,即便將批大小設為1都不夠,那該怎么辦呢?有一個解決方案,即設置梯度檢查點,下面來看看這個概念。對于一個簡單的包含n層的前饋神經網絡來說,梯度的計算圖如下:

 圖片

神經網絡層的激活對應于用f標記的節點,在正向傳遞期間,按順序對所有這些節點進行計算。對應于這些層的激活和參數的損失梯度用b標記的節點表示。在反向傳遞期間,所有這些節點都以相反的順序進行計算。f個節點的計算結果用于計算b個節點,因此所有f個節點在向前傳遞后都保存在內存中。只有當反向傳播進展到足夠計算出f節點的所有依賴關系時,它才能從內存中擦除。這意味著:簡單的反向傳播所需的內存隨神經網絡層數n的變化呈線性增長。

下面是這些節點的計算順序,紫色陰影圓圈表示在給定時間里需要將哪個節點保存到內存之中。

 圖片

梯度檢查點?

如上所述的簡單反向傳播在計算方面是最優的:它只計算每個節點一次。但是,如果重新計算節點,可能會節省大量內存。例如,可以簡單地重新計算每個節點。執行的順序和所使用的內存如下圖所示:

 圖片

這種策略在內存方面是最優的。但是,請注意,節點計算的數量進行了n2次縮放,而先前的縮放系數為n:每個n個節點都按n次順序重新計算。由于計算速度較慢,這種方法并不適用于深度學習。

為了在內存和計算之間取得平衡,需要提出一種策略,允許重新計算節點,但次數不要太頻繁。在這里使用這樣一種策略:將神經網絡激活的一個子集標記為檢查點節點。 

圖片

在本示例中,選擇將第sqrt(n)個節點標記為檢查點。這樣,檢查點節點的數量和檢查點之間的節點數量都在sqrt(n)之間,這意味著:所需的內存量也按n的順序進行了縮放。該策略所需的額外計算量相當于網絡單次前向傳遞所需的計算量。

例程:

在學習了梯度檢查點的細節之后,來看看如何在PyTorch中應用這個概念,看起來并不太難: 

圖片

梯度累積/微批次

圖片

概述

深度學習模型正在越變越大,很難在GPU內存中安裝這樣大型的神經網絡。因此,被迫在訓練時選用較小的批大小,它可能導致較慢的收斂和較低的準確性。

什么是梯度累積?

在訓練神經網絡時,通常會將數據分批量處理,神經網絡預測批處理標簽,用于計算相對于實際目標的損失。接下來,執行反向傳遞計算出梯度,更新模型權值。梯度累積對訓練過程的最后一步進行了修正:在繼續下一個小批之前,保存梯度值,并將新的梯度添加到之前保存的梯度中,用這種方法取代更新每個小批的網絡權重。只有在模型處理了幾個小批次后,才會更新權重。梯度積累模擬了一個更大的批大小,如果想在一個小批中使用64張圖像,如果批大小超過了8,則會報“CUDA內存出錯…”。在這種情況下,可以使用8批圖像,并在模型處理64/8=8批后更新一次權重。如果你從這8個批次中積累每一個梯度,結果將是(幾乎)相同的,這樣便能夠執行訓練啦!

例程:

沒有梯度累積的標準訓練環通常為: 

圖片

在PyTorch中,梯度累積可以很容易地完成。模型利用accumulation_steps處理完成小批之后,便可以執行優化。還可以利用accumulation_steps根據損失函數的性質來劃分運行損失: 

圖片

真漂亮,對嗎?當調用loss.backward() 時計算梯度,并由PyTorch累積,直到調用optimizer.zero_grad()時停止。

重點

某些網絡體系結構使用專用的批處理操作,如BatchNorm,當使用相同的批大小時,結果可能會略有不同。

混合精度訓練

概述?

混合精度訓練是指將部分或全部FP32參數轉換為更小的格式,如FP16、TF16(浮點張量)或BF16(浮點字節)。

主要優勢

混合精度訓練的主要優勢是:

  • 減少內存使用;
  • 性能提速(更高的算術強度或更小的通信占用);
  • 使用專用硬件進行更快地計算。

目前只對第一個優勢感興趣——減少內存的使用量,來看看如何使用PyTorch模型實現它。

例程:

 圖片

結果,在完成.half()操作之后,模型變小了2倍。將模型轉換為不同的格式(即BF16,TF16)后的縮放損失,將在后續的文章中討論。有些操作在FP16中是無法完成的,如Softmax。PyTorch可利用torch.autocast 來處理這些特殊情況。

8位優化器

增加模型尺寸是獲得更佳性能的有效途徑。然而,訓練大模型時需要存儲模型、梯度和優化器的狀態(例如,Adam的指數平滑和及先前梯度的平方和),所有這些都存儲在數量有限的可用內存之中。

將32位優化器降到8位優化器,將數值的范圍從232減少到僅2?=256,會對優化器預留的內存數量產生巨大的影響。

研究人員提出了一種新的8位Adam優化器,論文作者在文中這么說: “它將32位的性能維持到部分原始內存中”。

8位優化器有三個組成部分:(1)塊級量化,隔離異常值,將誤差均勻地分配給每一個比特;(2)動態量化,高精度地量化小值和大值;(3)穩定的嵌入層,以提高詞嵌入優化模型的穩定性。

有了這些組件,可直接使用8位狀態執行優化。將8位優化器狀態量化為32位,執行更新,然后再將狀態量化為8位進行存儲。在寄存器中逐元素進行8位到32位的轉換,無需慢速復制到GPU內存或額外的臨時內存中執行量化和去量化。對于GPU來說,這意味著8位優化器要快于常規的32位優化器。

來看看使用8位Adam之后,鼓舞人心的結果:

 圖片

可以看出,使用量化的Adam可以節省大約8.5 GB的GPU內存,看起來相當棒!

理解了它的可用性之后,再來看看如何用python實現它。

由Facebook提供的Bitsandbytes 包是一個圍繞CUDA自定義函數的輕量級包裝器,封裝了 8位優化器和量化函數,利用它可以實現8位Adam的使用。

例程:

 圖片

如上所述,量化優化器的使用非常簡單,結果也不錯。

綜合上述全部方法,對GPU上的GPT-2-XL進行微調。

最后,在掌握了上述方法之后,利用這些方法來解決實際問題,對擁有15億個參數的GPT-2-XL模型進行微調。顯然,無法將它加載到12 GB內存的NVIDIA GeForce RTX 3060 GPU之上。列出可以使用的全部方法:

  • 梯度檢查點;
  • 混合精度訓練(我設了一個技巧:使用相同模型的兩個樣本。首先,用.half將它加載到GPU上,將其命名為gpu_model;其次,在CPU上,將其命名為cpu_model。評估好GPU模型之后,將 gpu_model的梯度加載到cpu_model中,運行optimizer.step(),將更新后的參數加載到gpu_model上);
  • 使用batch_size=64,minibatch_size=4的梯度累積,需要通過 accumulation_steps來縮放損失;
  • 8位Adam優化器。

把以上方法全部利用起來,查看一下代碼: 

圖片

利用上述所有方法之后,在GPU上實現了對16GB的GPT-2-XL模型微調,絕了!

結論

在本博中,給出了高效使用內存的關鍵概念,它適用于多種艱巨的任務,如上文所述。將在后續的文章中討論其他概念。衷心感謝,撥冗閱讀本文!

責任編輯:張燕妮 來源: 數據派THU
相關推薦

2023-03-02 08:19:43

不加鎖程序實時性

2018-07-31 16:20:12

Windows 10Windows密碼

2018-12-07 11:15:20

設置Windows 10命令

2024-01-17 09:07:32

模型場景

2022-11-15 11:02:21

2025-10-11 04:11:00

2017-07-05 18:25:00

2025-02-13 09:45:31

2018-06-27 23:10:12

數據中心IT管理運維

2019-09-03 09:55:48

DevOps云計算安全

2019-09-10 08:00:00

微軟Account網站瀏覽器

2020-10-13 09:27:18

電腦Windows軟件

2021-02-19 09:44:00

云計算IT服務IT團隊

2023-06-09 08:00:00

QLoRa語言模型微調

2021-07-13 06:23:10

petite-vueVite源碼

2019-07-26 11:51:20

云計算IT系統

2021-11-12 21:15:47

前端技術編程

2023-07-29 00:12:10

2020-08-11 10:25:38

數據成本數據大數據

2017-12-05 13:25:40

PHP開發服務器內存
點贊
收藏

51CTO技術棧公眾號

小明看看成人免费视频| 欧美色图亚洲自拍| 18精品爽视频在线观看| 日韩av午夜| 欧美亚洲图片小说| 热久久最新地址| 青青视频在线观| 久久精品国产久精国产| 久久久久亚洲精品| 精品一区二区视频| 亚洲图片欧美在线| 日韩视频三区| 精品国产一区二区三区在线观看| 国产精品果冻传媒| 久久亚洲精品中文字幕| 亚洲国产wwwccc36天堂| 视频在线99| 日日夜夜精品免费| 国产中文一区二区三区| 日本高清视频精品| 久久久久97国产| 日韩中字在线| 亚洲人av在线影院| 99热超碰在线| 日韩在线成人| 欧美色图第一页| 国产精品无码专区av在线播放 | 伊人开心综合网| 亚洲成人av中文字幕| caoporn超碰97| 国产第一页在线视频| 国产精品理论片| 欧美日本韩国一区二区三区| 性一交一乱一乱一视频| 九九精品视频在线看| 欧美男男青年gay1069videost| 九色自拍视频在线观看| a毛片在线看免费观看| 国产精品视频在线看| 欧美精品在线一区| 午夜视频福利在线观看| 成人午夜视频在线观看| 91国产丝袜在线放| 国产乱淫av免费| 日韩av在线播放中文字幕| 欧美一区二区.| 国产成人在线免费观看视频| 国内精品福利| 欧美精品videossex性护士| 国产精品久久久久久久精| 91精品一区国产高清在线gif| 永久免费看mv网站入口亚洲| 亚洲精品国产91| 欧美日韩国产高清电影| 亚洲欧美中文日韩在线v日本| 疯狂揉花蒂控制高潮h| 欧美丝袜美腿| 亚洲精品色婷婷福利天堂| 欧美做受喷浆在线观看| 欧美91在线| 精品偷拍一区二区三区在线看| 影音先锋人妻啪啪av资源网站| 国产乱人伦精品一区| 日韩第一页在线| 一区二区黄色片| 成人嘿咻视频免费看| 中文字幕亚洲欧美在线| 视频国产一区二区| 国产精品第十页| 国产69精品久久久久9999| 免费观看成人毛片| 日韩精品乱码av一区二区| 国产美女久久精品香蕉69| 国产模特av私拍大尺度| 国产成人亚洲综合色影视| 国产欧美日本在线| 国内精品在线视频| 亚洲人123区| 久久视频这里有精品| 亚洲欧洲高清| 欧美高清视频一二三区| 熟女人妻一区二区三区免费看| 秋霞综合在线视频| 在线观看精品国产视频| 日韩视频中文字幕在线观看| 在线看片欧美| 国产精品露脸av在线| 99热这里只有精品3| heyzo一本久久综合| 视频一区二区三| a毛片在线观看| 欧美性猛xxx| 色哺乳xxxxhd奶水米仓惠香| 黑人玩欧美人三根一起进| 日韩欧美a级成人黄色| www.51色.com| 欧美美乳视频| 九九九热精品免费视频观看网站| 黄色大片网站在线观看| 激情欧美一区二区| 蜜桃av久久久亚洲精品| av毛片在线免费| 色婷婷一区二区| xxxx视频在线观看| 久久精品高清| 日本高清不卡的在线| 性一交一乱一精一晶| 中文字幕在线不卡| 九九九九免费视频| 日韩精品一区二区三区中文在线| 国产亚洲a∨片在线观看| 精品在线免费观看视频| 奇米色一区二区三区四区| 国外成人在线视频网站| 麻豆视频网站在线观看| 日本福利一区二区| 日本久久久久久久久久| 亚洲第一偷拍| 国产精品普通话| 欧美偷拍视频| 亚洲v日本v欧美v久久精品| 午夜不卡福利视频| 日韩电影免费网站| 国产91免费看片| 亚洲AV成人无码一二三区在线| 亚洲欧美日韩精品久久久久| 国产一二三区av| 九九精品在线| 日本久久久久亚洲中字幕| 人妻夜夜爽天天爽| 亚洲国产精品一区二区久久恐怖片| 最新国产黄色网址| 成人在线免费观看网站| 日韩女优在线播放| 国产在线网站| 91福利社在线观看| 人妻少妇无码精品视频区| 国产精品久久久免费 | 无码粉嫩虎白一线天在线观看| 性欧美video另类hd尤物| 一区二区三区天堂av| 波多野结衣视频在线看| 久久天天做天天爱综合色| 国产肥臀一区二区福利视频| 国产精品45p| 久久久久免费视频| 日本美女一级视频| 亚洲 欧美综合在线网络| 亚洲中文字幕无码一区| 亚洲国产mv| 久草一区二区| 亚洲校园激情春色| 国产一区二区日韩| 中文字幕观看视频| 中文字幕一区二区不卡| 亚洲理论中文字幕| 红桃视频欧美| 精品一区二区国产| 日韩久久一区二区三区| 亚洲最新在线视频| 97视频免费在线| 一区二区激情视频| 一级特黄a大片免费| 先锋亚洲精品| 色一情一区二区三区四区| 亚洲精品555| 麻豆乱码国产一区二区三区| 亚洲欧美高清视频| 欧美午夜久久久| 免费福利视频网站| 国产在线精品一区二区不卡了| 亚洲精品国产suv一区88| 风间由美一区二区av101| 日韩av手机在线看| 久草中文在线观看| 亚洲第一区中文字幕| 黄色片网站在线免费观看| 国产欧美一区视频| 日韩高清一二三区| 免费一级欧美片在线播放| 亚洲午夜精品一区二区三区| 日韩视频1区| 茄子视频成人在线| 国产精品刘玥久久一区| 日韩av综合网| 中文字幕第2页| 香蕉成人伊视频在线观看| jizz中文字幕| 不卡av在线免费观看| 制服丝袜综合网| 精品动漫3d一区二区三区免费版| 茄子视频成人在线观看| 久久精品免视看国产成人| 欧美与欧洲交xxxx免费观看 | 国内自拍第二页| 亚洲人人精品| 中文字幕日韩一区二区三区| 红杏aⅴ成人免费视频| 国产精品爽爽爽| 成年人视频免费在线播放| 中文字幕欧美国内| 日韩一卡二卡在线| 91麻豆精品国产自产在线| 欧美h在线观看| 一区二区三区在线播| xxxxx在线观看| 成人国产精品免费观看动漫| 国产aaaaa毛片| 国产精品外国| 国产天堂视频在线观看| 欧美电影免费播放| 日本高清不卡三区| 精品欧美午夜寂寞影院| 91在线无精精品一区二区| 91精品影视| 91chinesevideo永久地址| h片在线免费观看| 日韩中文字幕免费| 国产精品秘入口| 日韩国产高清视频在线| 亚洲成a人片在线| 欧美乱妇20p| 在线观看免费视频一区| 色视频一区二区| 99久久精品国产亚洲| 亚洲一区在线电影| 久久中文免费视频| 日韩美女视频一区二区 | 一区二区三区精品视频| 日本午夜精品视频| 中文字幕乱码一区二区免费| 国产色视频一区二区三区qq号| 粉嫩av一区二区三区在线播放| 五月天丁香花婷婷| 久久精品二区亚洲w码| 熟女少妇精品一区二区| 久久亚洲视频| 麻豆av免费在线| 秋霞午夜av一区二区三区| www日韩视频| 久久综合九色| 992kp快乐看片永久免费网址| 午夜一区不卡| 免费男同深夜夜行网站| 日韩中文欧美在线| 久久久精品麻豆| 久久精品国产一区二区三区免费看| 天堂在线资源视频| 热久久国产精品| 91aaa精品| 国产高清亚洲一区| 黄色激情在线观看| 久久综合一区二区| 国产精品成人无码免费| 国产精品久久久久9999吃药| 日韩在线视频免费看| 亚洲人午夜精品天堂一二香蕉| 国产午夜手机精彩视频| 亚洲尤物视频在线| 97人人澡人人爽人人模亚洲| 一本一本久久a久久精品综合麻豆| 亚洲国产成人精品女人久久| 欧美影院午夜播放| 国产精品欧美综合亚洲| 日韩美女天天操| 亚洲日本在线播放| 一个人www欧美| 成人影院在线观看| 97在线视频免费看| 欧美色片在线观看| 114国产精品久久免费观看| 老汉色老汉首页av亚洲| 日韩精品电影网站| 亚洲成人99| 黄色一级在线视频| 久久精品99国产精品| 日本久久久久久久久久| 国产亚洲一区二区三区四区| 国产黄色小视频网站| 五月天中文字幕一区二区| 欧美日韩综合一区二区三区| 欧美人狂配大交3d怪物一区 | 一二美女精品欧洲| 亚洲电影视频在线| 日韩美女在线看| 国产剧情一区二区在线观看| 久久久久久国产精品一区| 久久神马影院| 国产免费黄色小视频| 免费看日韩精品| 免费不卡的av| |精品福利一区二区三区| 香蕉视频一区二区| 欧美日韩精品福利| 特黄aaaaaaaaa真人毛片| 日韩在线观看你懂的| 阿v视频在线| 成人免费在线视频网址| 精品影片在线观看的网站| 国产女主播av| 男女激情视频一区| 特大黑人巨人吊xxxx| 亚洲最新在线观看| 中文字幕人妻一区二区三区视频| 亚洲国产精品人久久电影| www 日韩| 欧美一区二粉嫩精品国产一线天| 看亚洲a级一级毛片| 日产精品久久久一区二区| 亚洲午夜黄色| 日韩精品视频网址| 国产精品卡一卡二卡三| 麻豆久久久久久久久久| 欧美精品一区二区久久久| 欧美日本高清| 国产精品久久久久久久app| 欧美电影在线观看完整版| 欧美 国产 精品| 久久99精品国产| 九九热免费在线| 狠狠躁夜夜躁久久躁别揉| 国产成人自拍一区| 欧美日韩福利电影| 国产激情一区| 日本黄色a视频| 美女国产一区二区三区| 精品无人区无码乱码毛片国产| 天天综合色天天| 男人天堂av网| 久久久综合av| 国产精东传媒成人av电影| 8x8ⅹ国产精品一区二区二区| 美女一区二区视频| 日韩av片在线免费观看| 欧美在线色视频| 国内精品一区视频| 国产成人aa精品一区在线播放| 亚洲欧洲色图| 成人小视频在线看| 久久精品男人天堂av| 国产九色91回来了| 最近2019好看的中文字幕免费| 日本高清不卡一区二区三区视频 | 色妹子一区二区| 国模吧精品人体gogo| 国产精品91在线观看| 欧洲乱码伦视频免费| 国内自拍视频网| 国产精品久久久久婷婷二区次| 在线观看中文字幕2021| 粗暴蹂躏中文一区二区三区| 国产精品久久久久久av公交车| 成人免费看片视频在线观看| 国产一区二区按摩在线观看| 日韩成人毛片视频| 日韩精品一区二区三区视频 | 91精品小视频| 色综合久久66| jizzjizz在线观看| 91久久国产精品91久久性色| 欧美激情视频一区二区三区免费| 国产人妖在线观看| 无码av免费一区二区三区试看 | 亚洲色欧美另类| 日本91av在线播放| 久久看人人摘| 日本xxxx免费| 日韩欧美黄色动漫| 91官网在线| 99久久综合狠狠综合久久止| 国产日韩高清一区二区三区在线| 国产一二三四五区| 制服.丝袜.亚洲.另类.中文| 色呦呦在线播放| 免费成人av网站| 黑人精品欧美一区二区蜜桃| 久青草视频在线观看| 亚洲女人被黑人巨大进入al| 伦一区二区三区中文字幕v亚洲| 六月婷婷激情网| 久久综合久久久久88| 91丨九色丨蝌蚪丨对白| 久久久爽爽爽美女图片| 国产一区毛片| 国产乱国产乱老熟300部视频| 色婷婷综合久久久久中文一区二区| 久久久久久久久免费视频| 九九九热999| 国内成人精品2018免费看| 日韩人妻无码一区二区三区99 | 日韩亚洲欧美综合| 国产精欧美一区二区三区蓝颜男同| 亚洲制服欧美久久| eeuss鲁片一区二区三区在线观看| 中文有码在线播放| 久久久久久久久亚洲| 91欧美在线| 亚洲天堂久久新| 精品国产不卡一区二区三区| 国精品产品一区|