大模型原理與技術(shù)-課件 chap5 大模型訓(xùn)練與優(yōu)化_第1頁
大模型原理與技術(shù)-課件 chap5 大模型訓(xùn)練與優(yōu)化_第2頁
大模型原理與技術(shù)-課件 chap5 大模型訓(xùn)練與優(yōu)化_第3頁
大模型原理與技術(shù)-課件 chap5 大模型訓(xùn)練與優(yōu)化_第4頁
大模型原理與技術(shù)-課件 chap5 大模型訓(xùn)練與優(yōu)化_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

大模型訓(xùn)練與優(yōu)化計算機科學(xué)與技術(shù)學(xué)院智周萬物?道濟天下o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

數(shù)據(jù)獲取:l

收集類別豐富的樣本l

篩選高質(zhì)量的樣本o

數(shù)據(jù)增強:l

擴充數(shù)據(jù)規(guī)模l

提高數(shù)據(jù)多樣性o

訓(xùn)練數(shù)據(jù)配比和課程設(shè)置:l

確定數(shù)據(jù)的比例l

編排數(shù)據(jù)使用順序大模型展現(xiàn)出卓越性能的一個關(guān)鍵原因:海量的高質(zhì)量訓(xùn)練數(shù)據(jù)

訓(xùn)練數(shù)據(jù)準備文本圖像點云o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

通用文本:

l

來源:包括在線論壇、社交媒體、新聞、博客、書籍、期刊等l

主題:涵蓋社會、科技、娛樂、健康等l

表達:囊括不同人群、地區(qū)和文化背景的表達方式o

三個主要來源:

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)獲取1.文本數(shù)據(jù)來源網(wǎng)頁數(shù)據(jù)新聞文章博客百科數(shù)據(jù)社交媒體對話數(shù)據(jù)電子郵件對話論壇帖子社交媒體對話書籍?dāng)?shù)據(jù)社會人文類歷史類科技類小說數(shù)據(jù)量大內(nèi)容豐富理解對話邏輯表達規(guī)范長文本理解o

專業(yè)文本:

l

數(shù)據(jù)占比較低l

包含大量專業(yè)術(shù)語以及特定的語法句式o

常見的專業(yè)文本數(shù)據(jù):

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)獲取1.文本數(shù)據(jù)來源科學(xué)文本數(shù)據(jù)學(xué)術(shù)論文技術(shù)報告教材行業(yè)專業(yè)文本法律法規(guī)合同工程文檔代碼文本開源代碼倉庫編程競賽和挑戰(zhàn)平臺開發(fā)者社區(qū)論壇賦予模型理解科學(xué)問題的能力注重實際應(yīng)用、業(yè)務(wù)操作和解決特定問題的需求具有特定的語法規(guī)則及準確的執(zhí)行邏輯o

通用圖像數(shù)據(jù):

l

涵蓋了人類日常生活中的各種場景l(fā)

從互聯(lián)網(wǎng)收集得到;

各種常規(guī)的便攜設(shè)備,如手機、平板電腦、相機等拍攝獲取l

比文本的信息更加密集,包含豐富的視覺特征,如顏色、紋理、形狀等o

確保數(shù)據(jù)多樣性需要考慮:

l

天氣條件:收集圖像時考慮不同的天氣條件,包括晴天、陰天、雨天、雪天等l

時間變化:收集一天不同時間段下拍攝的圖像,這能夠捕捉到光照、陰影等方面的變化l

人群多樣性:確保圖像中包含不同人群的照片,考慮年齡、性別、種族等因素l

物體類別:涵蓋多個物體類別,包括不同的動植物、建筑物、交通工具等l

場景多樣性:需要包括常見的室內(nèi)及室外場景,如辦公室、臥室、城市街景l(fā)

文化多樣性:考慮在不同社會環(huán)境中收集圖像,涵蓋不同文化、習(xí)慣和社交活動

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)獲取2.圖像數(shù)據(jù)來源o

專業(yè)圖像數(shù)據(jù):

l

針對特定領(lǐng)域或?qū)I(yè)需求采集的圖像數(shù)據(jù)l

使用專業(yè)設(shè)備或者在特定場景下采集l

例如,通過X光機、CT掃描獲得醫(yī)學(xué)圖像;l

通過衛(wèi)星或航空器獲取的地球表面的遙感圖像;l

工業(yè)生產(chǎn)線上拍攝得到的產(chǎn)品缺陷檢測圖像;

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)獲取2.圖像數(shù)據(jù)來源o

常見的三維數(shù)據(jù)表示形式有:

點云、三角網(wǎng)格、體素、隱式表達

o

點云定義:l

三維點的數(shù)據(jù)集合o

屬性:l

三維坐標l

強度l

顏色o

采集設(shè)備:l

激光掃描儀、深度相機、雙目相機、光學(xué)相機多視角重建、結(jié)構(gòu)光設(shè)備

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)獲取3.點云數(shù)據(jù)來源o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

低質(zhì)去除:

l

目標:去除那些質(zhì)量較差,以及不符合標準的文本數(shù)據(jù)l

基于分類器的方法:使用一組精選的文本(包括維基百科、書籍等),訓(xùn)練一個分類器用于判斷文本的質(zhì)量,將與訓(xùn)練數(shù)據(jù)類似的數(shù)據(jù)給定較高的分數(shù)。利用該分類器評估數(shù)據(jù)的內(nèi)容質(zhì)量l

基于啟發(fā)式的方法:自定義規(guī)則,對數(shù)據(jù)進行篩選例如:去除單詞數(shù)量少于50個或者大于100000個的文檔去除符號與單詞的比例大于0.1的文件

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分o

冗余去除:

l

目標:去除文本數(shù)據(jù)中的冗余信息,精簡數(shù)據(jù)集,防止模型在預(yù)測時陷入重復(fù)循環(huán)l

句子級別:構(gòu)建過濾方法,識別重復(fù)句子例如,提取并過濾文檔間超過一定長度的相同字符串(公共子串匹配)l

段落或者文檔級別:基于文本之間的特征相似度來進行冗余去除例如,計算兩個段落或者文檔之間的13-gram的Jaccard相似度來判斷它們是否重復(fù)

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分補充知識:N-gram是一種文本特征表示方法,它將文本分解為連續(xù)的n個單詞或字符序列。常用的是基于單詞的n-gram,其中n表示連續(xù)的單詞的數(shù)量。例如,在句子"Thisisanexample"中,2-gram表示為[“Thisis”,“isan”,“anexample”]。對于文本,可以將其表示為n-gram序列,然后計算n-gram序列之間的Jaccard指數(shù)來比較兩個文本的相似性o

隱私去除:

l

目標:刪除或替換文本數(shù)據(jù)中個人姓名、電話號碼、電子郵件地址等敏感信息l

基于規(guī)則的算法:例如,可使用命名實體識別算法,從文本中檢測姓名、地址、電話號碼等信息

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分o

詞元劃分:

l

目標:將連續(xù)的文本劃分為有意義的詞元(tokens)

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分o

詞粒度劃分:將連續(xù)文本以單詞為基本單元進行劃分

o

缺點:l

只能處理預(yù)先定義的詞表內(nèi)的詞l

詞表中可能存在常委分布,使得模型對稀有詞的理解不佳l

對于英語等語言,無法正確處理不同時態(tài)的單詞o

字符劃分:將字符視為詞元來構(gòu)建詞表

o

缺點:l

字符作為詞元的語義表達不足l

一個單詞需要由多個字符來表示,計算成本增加o

子詞劃分:基于某種規(guī)則對單詞進行拆分,高頻詞保持原狀,將低頻詞拆分成子詞例如,對于單詞token不進行拆分,對于單詞tokenization則拆分為token和ization。o

詞元劃分:

l

常見的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)l

基本流程:1.構(gòu)建詞表2.基于詞表進行分詞

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分Byte-PairEncoding(BPE)

構(gòu)建詞表:1.準備足夠大的訓(xùn)練語料,并確定期望的Subword詞表大小;語料詞表high</t>:3次oldest</t>:6次newest</t>:3次</t>是插入到每個單詞后的終止符,用于區(qū)分單詞邊界o

詞元劃分:

l

常見的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)l

基本流程:1.構(gòu)建詞表2.基于詞表進行分詞

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分Byte-PairEncoding(BPE)

構(gòu)建詞表:1.準備足夠大的訓(xùn)練語料,并確定期望的Subword詞表大小;2.將單詞拆分為成最小單元。比如英文中26個字母加上各種符號,這些作為初始詞表;語料詞表high</t>:3次oldest</t>:6次newest</t>:3次h,i,g,o,l,d,e,s,t,n,w,</t></t>是插入到每個單詞后的終止符,用于區(qū)分單詞邊界o

詞元劃分:

l

常見的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)l

基本流程:1.構(gòu)建詞表2.基于詞表進行分詞

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分Byte-PairEncoding(BPE)

構(gòu)建詞表:1.準備足夠大的訓(xùn)練語料,并確定期望的Subword詞表大??;2.將單詞拆分為成最小單元。比如英文中26個字母加上各種符號,這些作為初始詞表;3.在語料上統(tǒng)計單詞內(nèi)相鄰單元對的頻數(shù),選取頻數(shù)最高的單元對合并成新的Subword單元;語料詞表high</t>:3次oldest</t>:6次newest</t>:3次h,i,g,o,l,d,e,s,t,n,w,</t>,es最高連續(xù)出現(xiàn)的子詞對是e+s,共出現(xiàn)了9次,進行合并語料中不存在s了,需要刪除o

詞元劃分:

l

常見的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)l

基本流程:1.構(gòu)建詞表2.基于詞表進行分詞

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分Byte-PairEncoding(BPE)

構(gòu)建詞表:1.準備足夠大的訓(xùn)練語料,并確定期望的Subword詞表大小;2.將單詞拆分為成最小單元。比如英文中26個字母加上各種符號,這些作為初始詞表;3.在語料上統(tǒng)計單詞內(nèi)相鄰單元對的頻數(shù),選取頻數(shù)最高的單元對合并成新的Subword單元;4.重復(fù)第3步直到達到第1步設(shè)定的Subword詞表大小或下一個最高頻數(shù)為1語料詞表high</t>:3次oldest</t>:6次newest</t>:3次h,i,g,o,l,d,e,s,t,n,w,</t>,eso

詞元劃分:

l

常見的方法:Byte-PairEncoding(BPE)、WordPiece、UnigramLanguageModel(ULM)l

基本流程:1.構(gòu)建詞表2.基于詞表進行分詞

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理1.文本數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除隱私去除詞元劃分Byte-PairEncoding(BPE)

基于詞表進行分詞:1.將詞表中的所有子詞按照長度由大到小進行排序;2.對于給定單詞,遍歷詞表。查看當(dāng)前子詞是否是該單詞的子字符串,如果是,則輸出當(dāng)前子詞,并對剩余單詞字符串繼續(xù)匹配;3.如果遍歷完字典后,仍然有子字符串沒有匹配,則將剩余字符串替換為特殊符號;4.使用上述遍歷過程中得到的字詞來表示單詞解碼過程:如果相鄰子詞間沒有終止符,則將兩子詞直接拼接,否則兩子詞之間添加終止符o

低質(zhì)去除:

l

目標:去除質(zhì)量較低的圖像,如模糊、過曝或者有嚴重噪聲的圖像l

基于啟發(fā)式的規(guī)則:-圖像損壞:通過檢查數(shù)據(jù)集中數(shù)據(jù)是否能正常讀取來判斷文件是否損壞-圖像模糊:一種常用的方法是拉普拉斯算子。模糊圖像通常具有較少的邊界信息,其經(jīng)過拉普拉斯算子計算后得到的圖像像素值的方差也會較小,可以根據(jù)方差的大小來判斷圖像是否模糊-圖像格式:去除GIF等不符合常規(guī)圖像數(shù)據(jù)集要求的格式-圖像分辨率:去除分辨率過小的圖像-圖像內(nèi)容質(zhì)量:去除水印、廣告

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理2.圖像數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除o

冗余去除:

l

目標:度量圖像之間的相似度,去除數(shù)據(jù)集中內(nèi)容相似的圖像l

基于直方圖的方法:對于RGB圖像,計算三個顏色通道的灰度直方圖,使用某種距離或者相似度度量方法來比較圖像的直方圖

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理2.圖像數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除o

冗余去除:

l

目標:度量圖像之間的相似度,去除數(shù)據(jù)集中內(nèi)容相似的圖像l

基于直方圖的方法:對于RGB圖像,計算三個顏色通道的灰度直方圖,使用某種距離或者相似度度量方法來比較圖像的直方圖l

基于哈希值的方法:將圖像轉(zhuǎn)換為一個固定長度的二進制字符串(哈希值),并且認為相似的圖像會有相似的哈希值,包括:均值哈希、感知哈希和差值哈希以差值哈希為例:1.縮小圖像2.圖像灰度化3.計算差異值4.生成哈希值5.哈希值比較

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理2.圖像數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除00000000001100000011000000100000011100000010000000110000011100000030302070203070(2進制轉(zhuǎn)16進制)o

冗余去除:

l

目標:度量圖像之間的相似度,去除數(shù)據(jù)集中內(nèi)容相似的圖像l

基于直方圖的方法:對于RGB圖像,計算三個顏色通道的灰度直方圖,使用某種距離或者相似度度量方法來比較圖像的直方圖l

基于哈希值的方法:將圖像轉(zhuǎn)換為一個固定長度的二進制字符串(哈希值),并且認為相似的圖像會有相似的哈希值,包括:均值哈希、感知哈希和差值哈希l

基于余弦距離的方法:余弦相似度是一種常用的衡量向量之間相似度的方法。在圖像相似度的計算中,可以先生成圖像的特征向量,然后計算向量夾角的余弦值。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理2.圖像數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除o

冗余去除:

l

目標:度量圖像之間的相似度,去除數(shù)據(jù)集中內(nèi)容相似的圖像l

基于直方圖的方法:對于RGB圖像,計算三個顏色通道的灰度直方圖,使用某種距離或者相似度度量方法來比較圖像的直方圖l

基于哈希值的方法:將圖像轉(zhuǎn)換為一個固定長度的二進制字符串(哈希值),并且認為相似的圖像會有相似的哈希值,包括:均值哈希、感知哈希和差值哈希l

基于余弦距離的方法:余弦相似度是一種常用的衡量向量之間相似度的方法。在圖像相似度的計算中,可以先生成圖像的特征向量,然后計算向量夾角的余弦值。l

基于結(jié)構(gòu)相似度的方法:結(jié)構(gòu)相似度是一種基于人眼視覺感知的圖像相似度度量方法。它考慮了亮度、對比度和結(jié)構(gòu)三個方面的差異,并通過比較圖像的塊、窗口和圖像整體來計算相似度。結(jié)構(gòu)相似度的取值范圍為[1,1],越接近1表示圖像越相似。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理2.圖像數(shù)據(jù)預(yù)處理低質(zhì)去除冗余去除o

去噪:

l

去除采集到的點云的噪聲,常見的點云去噪算法有統(tǒng)計濾波、高斯濾波、中值濾波、基于距離的濾波等。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理3.點云數(shù)據(jù)預(yù)處理o

去噪:

l

去除采集到的點云的噪聲,常見的點云去噪算法有統(tǒng)計濾波、高斯濾波、中值濾波、基于距離的濾波等。o

配準:l

將來自不同視角或傳感器的點云數(shù)據(jù)進行對齊。點云配準通常可分為粗配準和精配準兩個步驟,粗配準方法有RANSAC、4PCS等,精配準方法有ICP、基于深度學(xué)習(xí)的方法等

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理3.點云數(shù)據(jù)預(yù)處理o

去噪:

l

去除采集到的點云的噪聲,常見的點云去噪算法有統(tǒng)計濾波、高斯濾波、中值濾波、基于距離的濾波等。o

配準:l

將來自不同視角或傳感器的點云數(shù)據(jù)進行對齊。點云配準通常可分為粗配準和精配準兩個步驟,粗配準方法有RANSAC、4PCS等,精配準方法有ICP、基于深度學(xué)習(xí)的方法等o

補全:l

補全由于遮擋或者設(shè)備限制等原因得到的缺失點云。常見的點云補全方法包括插值法、基于幾何特征的方法,以及基于學(xué)習(xí)的方法等。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)預(yù)處理3.點云數(shù)據(jù)預(yù)處理o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

數(shù)據(jù)增強是指通過對原始數(shù)據(jù)進行一系列變換和擴充,生成更多的訓(xùn)練樣本的過程

o

一般可分為離線數(shù)據(jù)增強和在線數(shù)據(jù)增強:l

離線數(shù)據(jù)增強是指在訓(xùn)練前,對原始數(shù)據(jù)進行一系列變換和擴充,生成增強后的數(shù)據(jù)集。l

在線數(shù)據(jù)增強是指在每次模型訓(xùn)練的過程中,動態(tài)地對原始數(shù)據(jù)進行隨機變換和擴充。這些變換和擴充可以在每個訓(xùn)練迭代中隨機選擇,并根據(jù)需求實時調(diào)整。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)增強o

同義詞替換:

l

將文本中的某些詞替換為它們的同義詞,以增加文本的多樣性o

隨機插入:l

在文本中隨機插入一些額外的單詞或短語,以增加文本的長度和多樣性o

隨機刪除:l

隨機刪除文本中的某些單詞或短語,以模擬文本的不完整或遺漏情況o

隨機交換:l

隨機交換文本中兩個單詞的位置o

隨機重排:l

打亂文本中單詞的順序o

文本生成:l

使用文本生成模型生成新的文本樣本,其與原始文本相似但不完全相同o

回譯:l

將文本翻譯成其他語言,再將翻譯后的文本翻譯回原語言,生成新的文本樣本

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)增強1.文本數(shù)據(jù)增強o

掩碼語言模型:l

先利用預(yù)訓(xùn)練好的BERT、Roberta等模型,對原句子進行部分掩碼,然后讓模型預(yù)測掩碼部分,從而得到新的句子o

語法樹增強:l

使用自然語言處理工具分析句子的依存關(guān)系得到語法樹,制定一些語法規(guī)則,如改變名詞短語的結(jié)構(gòu)、替換動詞、調(diào)整從句的位置等?;谛薷暮蟮恼Z法樹,生成相應(yīng)的文本o

詞混合:l

對兩個詞嵌入或者句子以一定的比例進行混合o

基于預(yù)定規(guī)則的方法:

l

事先定義好一些規(guī)則或變換方式,通常可分為單樣本數(shù)據(jù)增強和多樣本數(shù)據(jù)增強l

單樣本數(shù)據(jù)增強:進行數(shù)據(jù)增強時僅圍繞當(dāng)前樣本進行各種變換-幾何變換:翻轉(zhuǎn)、旋轉(zhuǎn)、縮放、平移、裁剪等-顏色變換:加噪、模糊、顏色擾動(對亮度、對比度、飽和度、色相的調(diào)整)l

多樣本數(shù)據(jù)增強:使用多個樣本來生成新的樣本-CutMix:在一幅圖像上隨機選擇一個矩形區(qū)域,將選定的矩形區(qū)域剪切并粘貼到另一幅圖像上-MixUp:將兩幅圖像按照一定比例融合-Mosaic:從訓(xùn)練數(shù)據(jù)中隨機選擇4幅圖像,在待拼接的大圖中隨機選擇一個中心點,將4幅圖像按照選定的中心點進行縮放和平移,使它們圍繞中心點排列o

基于無監(jiān)督的方法:l

生成新樣本:使用預(yù)訓(xùn)練的生成模型,例如對抗生成網(wǎng)絡(luò),生成與輸入分布一致的圖像l

學(xué)習(xí)增強策略:自動學(xué)習(xí)數(shù)據(jù)增強的策略,該類方法能夠推薦應(yīng)該使用何種數(shù)據(jù)增強、推薦的數(shù)據(jù)增強方法的使用概率以及數(shù)據(jù)增強方法的超參數(shù)-例如,AutoAugment、RandAugment

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)增強2.圖像數(shù)據(jù)增強CutMixMixUpMosaico

基于預(yù)定規(guī)則,通常包括旋轉(zhuǎn)、平移、縮放、加噪、隨機丟棄等方法

o

對于具有物體級別標簽(對場景中的所有物體進行標注)的數(shù)據(jù),可進行局部的數(shù)據(jù)增強

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)增強3.點云數(shù)據(jù)增強對包圍框內(nèi)的物體進行旋轉(zhuǎn)和縮放o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

定義:

l

在大模型訓(xùn)練過程中設(shè)置不同類別和領(lǐng)域的數(shù)據(jù)樣本的比例o

為什么要進行數(shù)據(jù)配比:l

不同類型的數(shù)據(jù)含有的信息量不同,合理的數(shù)據(jù)配比能夠使得訓(xùn)練數(shù)據(jù)的信息含量最大化-例如,對于文本數(shù)據(jù)而言,百科類文本信息密度大,普通的網(wǎng)頁文本則包含一些長尾(出現(xiàn)頻率較低)詞匯且容易存在錯誤及冗余數(shù)據(jù),通常信息密度較低l

多樣性的數(shù)據(jù)能夠反映人類日常生活的整體概貌,合理的數(shù)據(jù)配比能夠模擬真實的生活環(huán)境,幫助模型學(xué)習(xí)到符合人類習(xí)慣的知識l

合理地混合不同難度的數(shù)據(jù)能夠提升模型收斂速度及激發(fā)模型的潛能-簡單的數(shù)據(jù)樣本,如日常交流用語構(gòu)成的文本數(shù)據(jù)、僅包含單個物體的圖像數(shù)據(jù)等,有助于模型在訓(xùn)練初期穩(wěn)定收斂,而高難度的數(shù)據(jù)能夠提升模型性能的上限

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)配比與課程設(shè)置1.數(shù)據(jù)配比o

如何設(shè)置數(shù)據(jù)配比:

l

在大模型訓(xùn)練的不同階段,即預(yù)訓(xùn)練、二次預(yù)訓(xùn)練(如果有的話)、微調(diào),通常會設(shè)置不同的數(shù)據(jù)配比-預(yù)訓(xùn)練需要保證大模型能夠?qū)W習(xí)到通用特征,具備一些通用功能,訓(xùn)練數(shù)據(jù)中的通用數(shù)據(jù)應(yīng)該具有更高的比例-垂直大模型通?;谕ㄓ么竽P瓦M行二次開發(fā),通過二次預(yù)訓(xùn)練給大模型注入領(lǐng)域知識,需要添加專業(yè)數(shù)據(jù),但仍需讓通用數(shù)據(jù)參與訓(xùn)練-在微調(diào)階段,專業(yè)數(shù)據(jù)的比例可以適當(dāng)提高

l

確定數(shù)據(jù)配比的策略:-使用不同的數(shù)據(jù)配比訓(xùn)練一系列小模型,選擇令小模型達到最佳性能的數(shù)據(jù)配比來訓(xùn)練大模型-訓(xùn)練一個小型的代理模型來找到最佳的數(shù)據(jù)配比

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)配比與課程設(shè)置1.數(shù)據(jù)配比無論是二次預(yù)訓(xùn)練階段還是微調(diào)階段,都需要混合通用數(shù)據(jù),否則容易出現(xiàn)災(zāi)難性遺忘現(xiàn)象o

定義:

l

編排訓(xùn)練數(shù)據(jù)的使用順序o

設(shè)置方式:l

課程設(shè)置需要依據(jù)領(lǐng)域知識和實驗經(jīng)驗l

在訓(xùn)練初期可選擇簡單、易于理解的樣本進行訓(xùn)練,有助于模型快速收斂,建立對任務(wù)的基本認知l

隨后可以不斷增加樣本難度,引入更多噪聲,令模型適應(yīng)復(fù)雜情況。

訓(xùn)練數(shù)據(jù)準備—數(shù)據(jù)配比與課程設(shè)置2.課程設(shè)置o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

SQuAD:

l

用于機器閱讀理解任務(wù),從維基百科中選取了一系列文章段落,涉及歷史、科學(xué)、人文等不同主題和領(lǐng)域。針對這些段落,創(chuàng)建了問題和與之相關(guān)的答案

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集1.開源文本數(shù)據(jù)集o

SQuAD:

l

用于機器閱讀理解任務(wù),從維基百科中選取了一系列文章段落,涉及歷史、科學(xué)、人文等不同主題和領(lǐng)域。針對這些段落,創(chuàng)建了問題和與之相關(guān)的答案o

WMT:l

用于機器翻譯任務(wù),包含源語言和目標語言的句子對,涵蓋一些主流的國際用語:中英、英法等,以及一些小語種的翻譯

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集1.開源文本數(shù)據(jù)集/wmt24/mtdata/o

SQuAD:

l

用于機器閱讀理解任務(wù),從維基百科中選取了一系列文章段落,涉及歷史、科學(xué)、人文等不同主題和領(lǐng)域。針對這些段落,創(chuàng)建了問題和與之相關(guān)的答案o

WMT:l

用于機器翻譯任務(wù),包含源語言和目標語言的句子對,涵蓋一些主流的國際用語:中英、英法等,以及一些小語種的翻譯o

THUCNews:l

中文新聞文本分類數(shù)據(jù)集,包含大量的從互聯(lián)網(wǎng)獲取的新聞文本,涵蓋政治、經(jīng)濟、體育、娛樂等多個主題。每篇新聞都被標記為一個或多個類別,使得該數(shù)據(jù)集適用于多標簽分類任務(wù)

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集1.開源文本數(shù)據(jù)集o

SQuAD:

l

用于機器閱讀理解任務(wù),從維基百科中選取了一系列文章段落,涉及歷史、科學(xué)、人文等不同主題和領(lǐng)域。針對這些段落,創(chuàng)建了問題和與之相關(guān)的答案o

WMT:l

用于機器翻譯任務(wù),包含源語言和目標語言的句子對,涵蓋一些主流的國際用語:中英、英法等,以及一些小語種的翻譯o

THUCNews:l

中文新聞文本分類數(shù)據(jù)集,包含大量的從互聯(lián)網(wǎng)獲取的新聞文本,涵蓋政治、經(jīng)濟、體育、娛樂等多個主題。每篇新聞都被標記為一個或多個類別,使得該數(shù)據(jù)集適用于多標簽分類任務(wù)o

WikiText:l

用于語言建模任務(wù)的英文文本數(shù)據(jù)集,從維基百科的優(yōu)質(zhì)文章和標桿文章中提取得到,可用于評估語言模型的生成能力、上下文理解和長序列建模等方面的性能

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集1.開源文本數(shù)據(jù)集o

MNIST:

l

手寫數(shù)字識別數(shù)據(jù)集,包含大約70000幅28像素×28像素的手寫數(shù)字圖像,這些數(shù)字包括0到9

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集2.開源圖像數(shù)據(jù)集o

MNIST:

l

手寫數(shù)字識別數(shù)據(jù)集,包含大約70000幅28像素×28像素的手寫數(shù)字圖像,這些數(shù)字包括0到9o

ImageNet:l

大規(guī)模圖像數(shù)據(jù)集,包含來自各種場景的上千萬幅圖像,具有兩萬多個類別

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集2.開源圖像數(shù)據(jù)集o

MNIST:

l

手寫數(shù)字識別數(shù)據(jù)集,包含大約70000幅28像素×28像素的手寫數(shù)字圖像,這些數(shù)字包括0到9o

ImageNet:l

大規(guī)模圖像數(shù)據(jù)集,包含來自各種場景的上千萬幅圖像,具有兩萬多個類別o

COCO:l

用于多種計算機視覺任務(wù)的大型圖像數(shù)據(jù)集,為目標檢測、實例分割和關(guān)鍵點檢測等任務(wù)提供了豐富且多樣的標注

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集2.開源圖像數(shù)據(jù)集o

MNIST:

l

手寫數(shù)字識別數(shù)據(jù)集,包含大約70000幅28像素×28像素的手寫數(shù)字圖像,這些數(shù)字包括0到9o

ImageNet:l

大規(guī)模圖像數(shù)據(jù)集,包含來自各種場景的上千萬幅圖像,具有兩萬多個類別o

COCO:l

用于多種計算機視覺任務(wù)的大型圖像數(shù)據(jù)集,為目標檢測、實例分割和關(guān)鍵點檢測等任務(wù)提供了豐富且多樣的標注o

SA-1B:l

圖像注釋數(shù)據(jù)集,包含約11M個具有多樣性、高分辨率的圖像,以及約1.1B個高質(zhì)量的分割掩碼

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集2.開源圖像數(shù)據(jù)集o

ModelNet:

l

包含來自40個不同的物體類別,如椅子、桌子、汽車、飛機等的三維數(shù)據(jù)

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集3.開源三維數(shù)據(jù)集o

ModelNet:

l

包含來自40個不同的物體類別,如椅子、桌子、汽車、飛機等的三維數(shù)據(jù)o

ShapeNet:l

ShapeNet數(shù)據(jù)集提供了豐富的標注信息,包括每個模型的類別、局部區(qū)域類別標簽,以及與每個模型相關(guān)的2D圖像

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集3.開源三維數(shù)據(jù)集o

ModelNet:

l

包含來自40個不同的物體類別,如椅子、桌子、汽車、飛機等的三維數(shù)據(jù)o

ShapeNet:l

ShapeNet數(shù)據(jù)集提供了豐富的標注信息,包括每個模型的類別、局部區(qū)域類別標簽,以及與每個模型相關(guān)的2D圖像o

ScanNet:l

大規(guī)模室內(nèi)場景三維掃描數(shù)據(jù)集,包含從多種室內(nèi)場景中采集的三維掃描數(shù)據(jù),包括住宅、辦公室、商店等,該數(shù)據(jù)集提供了多種類型的數(shù)據(jù),包括RGB圖像、深度圖像和三維點云

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集3.開源三維數(shù)據(jù)集o

ModelNet:

l

包含來自40個不同的物體類別,如椅子、桌子、汽車、飛機等的三維數(shù)據(jù)o

ShapeNet:l

ShapeNet數(shù)據(jù)集提供了豐富的標注信息,包括每個模型的類別、局部區(qū)域類別標簽,以及與每個模型相關(guān)的2D圖像o

ScanNet:l

大規(guī)模室內(nèi)場景三維掃描數(shù)據(jù)集,包含從多種室內(nèi)場景中采集的三維掃描數(shù)據(jù),包括住宅、辦公室、商店等,該數(shù)據(jù)集提供了多種類型的數(shù)據(jù),包括RGB圖像、深度圖像和三維點云o

KITTI:l

用于自動駕駛和計算機視覺研究的開源數(shù)據(jù)集,數(shù)據(jù)集創(chuàng)建團隊使用了一輛搭載了激光雷達、相機、慣性測量單元等多種傳感器的車輛進行數(shù)據(jù)采集

訓(xùn)練數(shù)據(jù)準備—開源數(shù)據(jù)集3.開源三維數(shù)據(jù)集o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片

并行化與分布式訓(xùn)練—大模型訓(xùn)練的挑戰(zhàn)大模型時代算力需快速增長,增速快于摩爾定律

并行化與分布式訓(xùn)練—大模型訓(xùn)練的挑戰(zhàn)大模型時代算力需快速增長,增速快于摩爾定律用一塊A100進行訓(xùn)練,按照半精度峰值計算性能,需要32年時間80G顯存無法訓(xùn)練GPT-3計算墻顯存墻GPT-3:1750億參數(shù)分布式訓(xùn)練通信墻

并行化與分布式訓(xùn)練—大模型訓(xùn)練的挑戰(zhàn)o

分布式訓(xùn)練系統(tǒng)是由多個計算節(jié)點構(gòu)成的網(wǎng)絡(luò),各個計算節(jié)點可由一臺或多臺主機構(gòu)成o

兩個關(guān)鍵問題:l

如何有效地組織和劃分訓(xùn)練數(shù)據(jù)和模型參數(shù)

(并行化策略)l

如何在分布式環(huán)境中實現(xiàn)高效的數(shù)據(jù)通信,確保各個節(jié)點之間能夠同步更新模型參數(shù)

(節(jié)點間數(shù)據(jù)通信)o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

基本實現(xiàn)方式:

l

完整的模型被復(fù)制到每個計算節(jié)點上,對訓(xùn)練數(shù)據(jù)進行切分,并分發(fā)到不同的節(jié)點上進行計算l

每個節(jié)點獨立地使用被分配到的數(shù)據(jù)計算損失函數(shù)和梯度,并定期將梯度傳遞給特定節(jié)點進行聚合,獲取全局梯度l

利用全局梯度更新整個模型參數(shù)l

可為基于樣本的數(shù)據(jù)并行和基于樣本維度的數(shù)據(jù)并行

并行化與分布式訓(xùn)練—并行化策略1.數(shù)據(jù)并行o

基于樣本的數(shù)據(jù)并行:

l

以樣本為單位,按照一定的規(guī)則劃分數(shù)據(jù)子集分配給各個節(jié)點l

有放回地隨機采樣:假設(shè)當(dāng)前有m個數(shù)據(jù)樣本,n個計算節(jié)點,執(zhí)行m/n次有放回的隨機采樣獲得子集l

局部(全局)置亂采樣:將m個樣本打亂順序并隨機劃分為n個子集(不一定是等分),按照節(jié)點的計算能力進行分配o

基于樣本維度的數(shù)據(jù)并行:l

對每個樣本所具有的d維的屬性進行拆分,將某個屬性維度分到對應(yīng)計算節(jié)點

并行化與分布式訓(xùn)練—并行化策略1.數(shù)據(jù)并行o

基本實現(xiàn)方式:

l

將原始模型劃分為若干子模型,隨后分配給每個節(jié)點l

每個節(jié)點負責(zé)執(zhí)行該子模型的前向傳播和反向傳播l

模型并行除了需要在不同設(shè)備之間傳遞梯度,還需要傳遞子模型產(chǎn)生的中間結(jié)果l

對模型的劃分通常有垂直劃分(張量并行)和水平劃分(流水線并行)兩種方式

并行化與分布式訓(xùn)練—并行化策略2.模型并行o

流水線并行:

l

對模型按層進行拆分l

當(dāng)使用樸素的流水線并行時,中間層需要等待前一層的所有數(shù)據(jù)處理完成后才能開始計算,大部分的計算節(jié)點都處于空閑狀態(tài)l

為了解決上述問題,目前使用最廣泛的是微批次流水線并行:-將傳入的小批次(minibatch)分塊為微批次(microbatch),并人為創(chuàng)建流水線來解決GPU空閑問題-主流的流水線并行方法GPipe和PipeDream都采用微批次流水線并行方案-基本思想:利用數(shù)據(jù)并行的思想,將minibatch的數(shù)據(jù)再進行劃分,例如,假設(shè)共有有4個minibatch,將每個minibatch繼續(xù)劃分為4個microbatch,記為Bi,j,第一個下標是第minibatch的索引,第二個是microbatch的索引。先將B0,0送入GPU0中,處理完后可送入GPU1,此時GPU0空閑,可處理B0,1,待GPU1處理完B0,0,可以立即處理B0,1

并行化與分布式訓(xùn)練—并行化策略2.模型并行第四層第三層第二層第一層數(shù)據(jù)GPU1GPU0模型o

張量并行:

l

在同一層中,將層的參數(shù)張量劃分為多個子張量l

以矩陣乘法為例,神經(jīng)網(wǎng)絡(luò)中存在著大量的參數(shù)乘法,張量并行主要利用了矩陣的分塊乘法的概念,將參數(shù)矩陣進行切分,隨后部署到各個計算節(jié)點假設(shè)有一個輸入矩陣X(大小為m×n)、權(quán)重矩陣W(大小為n×p)、和偏置向量b。計算過程可以表示為Y=X·W+b將W分為q個子矩陣(如列分塊):W=W1,W2,…,Wq,每個Wi是n×(p/q)大小的矩陣。隨后可以將權(quán)重分配給各個節(jié)點,并行計算輸出Yi: Yi=X·Wi+b將所有的Yi匯總以獲得最終的輸出矩陣Y

并行化與分布式訓(xùn)練—并行化策略2.模型并行第四層第三層第二層第一層數(shù)據(jù)GPU1GPU0模型o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

對于數(shù)據(jù)并行,需要在節(jié)點之間傳遞模型參數(shù)和梯度

o

對于模型并行則需要傳遞各個計算節(jié)點的中間結(jié)果(包括前向推理和反向傳播)o

在訓(xùn)練時,計算節(jié)點之間需要頻繁地進行通信來傳輸大量的數(shù)據(jù)需設(shè)計合理的通信機制來有效地管理和優(yōu)化節(jié)點間的信息傳遞o

節(jié)點間的通信機制主要涉及:l

計算節(jié)點的拓撲l

通信原語l

同步方式

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信o

指各個節(jié)點之間的連接方式,通常包含物理拓撲和邏輯拓撲兩種概念

o

物理拓撲:l

描述了計算節(jié)點在硬件層面上的連接方式和布局,涉及對服務(wù)器、交換機等設(shè)備的連接和部署o

邏輯拓撲:l

在分布式系統(tǒng)中,計算節(jié)點之間抽象的連接方式,其更關(guān)注節(jié)點間的通信模式、數(shù)據(jù)流和任務(wù)分配l

可分為中心化架構(gòu)和去中心化架構(gòu)

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲o

中心化架構(gòu):l

存在若干中心節(jié)點負責(zé)協(xié)調(diào)和管理整個分布式訓(xùn)練過程l

典型代表:參數(shù)服務(wù)器架構(gòu)o

參數(shù)服務(wù)器架構(gòu):l

計算節(jié)點被分為兩類:服務(wù)器(server)節(jié)點和工作(worker)節(jié)點

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲服務(wù)器節(jié)點#1工作節(jié)點#1工作節(jié)點#2工作節(jié)點#m···o

中心化架構(gòu):l

存在若干中心節(jié)點負責(zé)協(xié)調(diào)和管理整個分布式訓(xùn)練過程l

典型代表:參數(shù)服務(wù)器架構(gòu)o

參數(shù)服務(wù)器架構(gòu):l

計算節(jié)點被分為兩類:服務(wù)器(server)節(jié)點和工作(worker)節(jié)點-參數(shù)服務(wù)器節(jié)點負責(zé)存儲和管理模型的參數(shù),工作節(jié)點負責(zé)計算模型的局部梯度

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲工作節(jié)點#1工作節(jié)點#2工作節(jié)點#m···上傳梯度拉取權(quán)重服務(wù)器節(jié)點#1o

中心化架構(gòu):l

存在若干中心節(jié)點負責(zé)協(xié)調(diào)和管理整個分布式訓(xùn)練過程l

典型代表:參數(shù)服務(wù)器架構(gòu)o

參數(shù)服務(wù)器架構(gòu):l

計算節(jié)點被分為兩類:服務(wù)器(server)節(jié)點和工作(worker)節(jié)點-參數(shù)服務(wù)器節(jié)點負責(zé)存儲和管理模型的參數(shù),工作節(jié)點負責(zé)計算模型的局部梯度l

當(dāng)使用模型并行時,參數(shù)服務(wù)器架構(gòu)會包含一個服務(wù)器組(ServerGroup),其內(nèi)部包含多個服務(wù)器節(jié)點,每個服務(wù)器節(jié)點維護一部分模型參數(shù)-每個服務(wù)器節(jié)點所負責(zé)的模型參數(shù)可能被多個工作節(jié)點使用,同時每個工作節(jié)點也可能使用多個服務(wù)器節(jié)點所負責(zé)的參數(shù)。

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲服務(wù)器節(jié)點#1服務(wù)器節(jié)點#n···模型子模型#1子模型#n···子模型#1工作節(jié)點#1子模型#1工作節(jié)點#2子模型#a工作節(jié)點#m子模型#n···上傳梯度拉取權(quán)重服務(wù)器組o

中心化架構(gòu):l

存在若干中心節(jié)點負責(zé)協(xié)調(diào)和管理整個分布式訓(xùn)練過程l

典型代表:參數(shù)服務(wù)器架構(gòu)o

參數(shù)服務(wù)器架構(gòu):l

計算節(jié)點被分為兩類:服務(wù)器(server)節(jié)點和工作(worker)節(jié)點-參數(shù)服務(wù)器節(jié)點負責(zé)存儲和管理模型的參數(shù),工作節(jié)點負責(zé)計算模型的局部梯度l

當(dāng)使用模型并行時,參數(shù)服務(wù)器架構(gòu)會包含一個服務(wù)器組(ServerGroup),其內(nèi)部包含多個服務(wù)器節(jié)點,每個服務(wù)器節(jié)點維護一部分模型參數(shù)-每個服務(wù)器節(jié)點所負責(zé)的模型參數(shù)可能被多個工作節(jié)點使用,同時每個工作節(jié)點也可能使用多個服務(wù)器節(jié)點所負責(zé)的參數(shù)。l

若使用數(shù)據(jù)并行策略,可以將數(shù)據(jù)集劃分后分配給各個工作節(jié)點。

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲服務(wù)器節(jié)點#1服務(wù)器節(jié)點#n···數(shù)據(jù)塊#1數(shù)據(jù)塊#k···數(shù)據(jù)集模型子模型#1子模型#n···子模型#1工作節(jié)點#1子模型#1工作節(jié)點#2子模型#a工作節(jié)點#m子模型#n···數(shù)據(jù)塊#2上傳梯度拉取權(quán)重服務(wù)器組右圖:1.服務(wù)器組包含n個服務(wù)器節(jié)點,用來管理原始模型的n個子模型。2.對于一號服務(wù)器節(jié)點,其所管理的一號子模型被一號和二號工作節(jié)點使用,因此一號服務(wù)器節(jié)點需要管理兩個工作節(jié)點。3.第m個工作節(jié)點需要使用第a個和第n個子模型,因此其被第a個和第n個服務(wù)器節(jié)點所管理。4.在該例子中,數(shù)據(jù)集也被劃分為k份,分配給k個工作節(jié)點。o

參數(shù)服務(wù)器架構(gòu)總流程:l

初始化:服務(wù)器節(jié)點初始化模型參數(shù),并將參數(shù)分發(fā)給所有工作節(jié)點,同時分發(fā)數(shù)據(jù)到每個工作節(jié)點l

每個工作節(jié)點并行訓(xùn)練o

工作節(jié)點流程:l

初始化:載入分配的訓(xùn)練數(shù)據(jù),從服務(wù)器節(jié)點拉取初始模型參數(shù)l

迭代訓(xùn)練:-利用本節(jié)點的數(shù)據(jù)計算梯度-將局部梯上傳到服務(wù)器節(jié)點-從服務(wù)器節(jié)點中拉取新的模型參數(shù)o

服務(wù)器點流程:l

匯總來自工作節(jié)點的梯度l

利用匯總的梯度更新模型參數(shù)

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲服務(wù)器節(jié)點#1服務(wù)器節(jié)點#n···數(shù)據(jù)塊#1數(shù)據(jù)塊#k···數(shù)據(jù)集模型子模型#1子模型#n···子模型#1工作節(jié)點#1子模型#1工作節(jié)點#2子模型#a工作節(jié)點#m子模型#n···數(shù)據(jù)塊#2上傳梯度拉取權(quán)重服務(wù)器組o

去中心化架構(gòu):l

沒有中心節(jié)點,所有計算節(jié)點直接進行通信和協(xié)作l

典型代表:RingAllreduce、Gossip、Ring-reduceo

在RingAllreduce架構(gòu)下實現(xiàn)數(shù)據(jù)并行:l

每個節(jié)點從它的右鄰居接收梯度數(shù)據(jù),向左鄰居發(fā)送梯度數(shù)據(jù),通過散射規(guī)約和全局聯(lián)集兩個通信原語完成通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信1.計算節(jié)點的拓撲節(jié)點#1節(jié)點#m節(jié)點#2節(jié)點#3節(jié)點#4節(jié)點#5數(shù)據(jù)塊#1數(shù)據(jù)塊#n···數(shù)據(jù)集數(shù)據(jù)塊#2···傳遞梯度傳遞梯度傳遞梯度傳遞梯度傳遞梯度o

基本通信方式:l

點對點通信(P2P)和集合通信(CC)-點對點通信是兩個節(jié)點之間進行通信,只有一個發(fā)送者和接收者(效率較低)-集合通信則是多個節(jié)點進行一對多或者多對多通信,有多個發(fā)送者和接收者

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語o

發(fā)送(Send)和接收(Receive):l

指節(jié)點之間消息的發(fā)送和接收,是最基礎(chǔ)的通信原語o

廣播(Broadcast):l

將某個節(jié)點的數(shù)據(jù)廣播到其他節(jié)點上,屬于一對多通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作AGPU0GPU1GPU2GPU3BroadcastAGPU0AAAGPU1GPU2GPU3o

發(fā)送(Send)和接收(Receive):l

指節(jié)點之間消息的發(fā)送和接收,是最基礎(chǔ)的通信原語o

廣播(Broadcast):l

將某個節(jié)點的數(shù)據(jù)廣播到其他節(jié)點上,屬于一對多通信o

散射(Scatter):l

將數(shù)據(jù)劃分之后再分發(fā)給指定節(jié)點,屬于一對多通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作ScatterGPU0GPU1GPU2GPU3A1B1C1D1GPU0GPU1GPU2GPU3A1B1C1D1o

發(fā)送(Send)和接收(Receive):l

指節(jié)點之間消息的發(fā)送和接收,是最基礎(chǔ)的通信原語o

廣播(Broadcast):l

將某個節(jié)點的數(shù)據(jù)廣播到其他節(jié)點上,屬于一對多通信o

散射(Scatter):l

將數(shù)據(jù)劃分之后再分發(fā)給指定節(jié)點,屬于一對多通信o

聚集(Gather):l

將多個節(jié)點的數(shù)據(jù)收集到一個節(jié)點上,屬于多對一通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作GPU0GPU1GPU2GPU3GatherGPU0GPU1GPU2GPU3ABCDABCDo

發(fā)送(Send)和接收(Receive):l

指節(jié)點之間消息的發(fā)送和接收,是最基礎(chǔ)的通信原語o

廣播(Broadcast):l

將某個節(jié)點的數(shù)據(jù)廣播到其他節(jié)點上,屬于一對多通信o

散射(Scatter):l

將數(shù)據(jù)劃分之后再分發(fā)給指定節(jié)點,屬于一對多通信o

聚集(Gather):l

將多個節(jié)點的數(shù)據(jù)收集到一個節(jié)點上,屬于多對一通信o

規(guī)約(Reduce):l

把多個節(jié)點的數(shù)據(jù)規(guī)約運算到某個節(jié)點上,屬于多對一通信-常見的規(guī)約運算操作有求和(SUM)、乘法(PROD)、最小值(MIN)、最大值(MAX)、邏輯或(LOR)、邏輯與(LAND)、邏輯異或(LXOR)、按位或(BOR)、按位與(BAND)、按位異或(BOXR)等

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作AGPU0GPU1GPU2GPU3BCDReduceSumGPU0GPU1GPU2GPU3A+B+C+Do

全局聚集(AllGather):l

收集所有節(jié)點的數(shù)據(jù)并分發(fā)到所有節(jié)點,其可以看作是先執(zhí)行聚集操作,再執(zhí)行廣播操作,屬于多對多通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作GPU0GPU1GPU2GPU3ABCDAllGatherGPU0GPU1GPU2GPU3ABCDABCDABCDABCDo

全局聚集(AllGather):l

收集所有節(jié)點的數(shù)據(jù)并分發(fā)到所有節(jié)點,其可以看作是先執(zhí)行聚集操作,再執(zhí)行廣播操作,屬于多對多通信o

散射規(guī)約(ReduceScatter):l

將所有節(jié)點的數(shù)據(jù)切分成若干塊,每個節(jié)點對相同排序索引的數(shù)據(jù)塊進行規(guī)約操作,屬于多對多通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作ReduceScatterGPU0GPU1GPU2GPU3A1B1C1D1A3B3C3D3A2B2C2D2A4B4C4D4A1+A2+A3+A4GPU0GPU1GPU2GPU3A1+A2+A3+A4A1+A2+A3+A4A1+A2+A3+A4o

全局聚集(AllGather):l

收集所有節(jié)點的數(shù)據(jù)并分發(fā)到所有節(jié)點,其可以看作是先執(zhí)行聚集操作,再執(zhí)行廣播操作,屬于多對多通信o

散射規(guī)約(ReduceScatter):l

將所有節(jié)點的數(shù)據(jù)切分成若干塊,每個節(jié)點對相同排序索引的數(shù)據(jù)塊進行規(guī)約操作,屬于多對多通信o

全局規(guī)約(AllReduce):l

將所有節(jié)點的數(shù)據(jù)進行規(guī)約,規(guī)約的結(jié)果將傳遞給所有節(jié)點,其可看作是先執(zhí)行規(guī)約/散射規(guī)約操作,再執(zhí)行廣播/全局聚集操作,屬于多對多通信

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作AGPU0GPU1GPU2GPU3BCDAllReduceSumGPU0GPU1GPU2GPU3A+B+C+DA+B+C+DA+B+C+DA+B+C+Do

全局聚集(AllGather):l

收集所有節(jié)點的數(shù)據(jù)并分發(fā)到所有節(jié)點,其可以看作是先執(zhí)行聚集操作,再執(zhí)行廣播操作,屬于多對多通信o

散射規(guī)約(ReduceScatter):l

將所有節(jié)點的數(shù)據(jù)切分成若干塊,每個節(jié)點對相同排序索引的數(shù)據(jù)塊進行規(guī)約操作,屬于多對多通信o

全局規(guī)約(AllReduce):l

將所有節(jié)點的數(shù)據(jù)進行規(guī)約,規(guī)約的結(jié)果將傳遞給所有節(jié)點,其可看作是先執(zhí)行規(guī)約/散射規(guī)約操作,再執(zhí)行廣播/全局聚集操作,屬于多對多通信o

全交換(AlltoAll):l

將所有節(jié)點的數(shù)據(jù)切分成若干塊,每個節(jié)點獲取相同排序索引的數(shù)據(jù)塊

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信2.通信原語:實現(xiàn)節(jié)點間通信的基本操作AlltoAllGPU0GPU1GPU2GPU3A1B1C1D1A1B1C1D1A1B1C1D1A1B1C1D1GPU0GPU1GPU2GPU3A1A2A3A4B1B2B3B4C1C2C3C4D1D2D3D4o

目標:l

維護不同節(jié)點上模型副本之間的一致性l

現(xiàn)有的同步方式可分為同步算法和異步算法o

同步算法:l

各個節(jié)點在進行計算時需要等待其他所有節(jié)點完成計算,然后進行模型參數(shù)的更新-參數(shù)服務(wù)器架構(gòu)及去中心化架構(gòu)都可使用同步算法進行通信o

異步算法:l

各個節(jié)點可以獨立進行計算和參數(shù)更新,每個節(jié)點在上傳梯度之后立即更新模型,而不需要等待其他節(jié)點

并行化與分布式訓(xùn)練—節(jié)點間數(shù)據(jù)通信3.同步方式o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

PyTorch—DP&DDP:l

PyTorch提供了分布式訓(xùn)練的相關(guān)模塊,主要包括兩種模式:DataParallel(DP)和DistributedDataParallel(DDP),均為數(shù)據(jù)并行-DP采用參數(shù)服務(wù)器架構(gòu),需要由主GPU來匯總梯度-DDP為每個GPU產(chǎn)生一個進程,采用全局規(guī)約模式進行通信o

TensorFlow-distribute.Strategy:l

提供了tf.distribute.StrategyAPI,用于指定分布式訓(xùn)練策略,均為數(shù)據(jù)并行l(wèi)

目前所支持的策略有:-MirroredStrategy:在每個GPU上都建立一個模型副本并使用全局規(guī)約進行節(jié)點間通信-MultiWorkerMirroredStrategy與MirroredStrategy的區(qū)別在于前者支持多機多卡訓(xùn)練-ParameterServerStrategy采用參數(shù)服務(wù)器架構(gòu),支持多機多卡訓(xùn)練

并行化與分布式訓(xùn)練—分布式訓(xùn)練框架o

DeepSpeed:l

專注于使用數(shù)據(jù)并行進行分布式訓(xùn)練l

兼容多種深度學(xué)習(xí)框架,包括TensorFlow、PyTorch、MXNet等o

PaddlePaddle:l

提供了多種并行策略的組合方式-對于十億至百億參數(shù)的模型,官方推薦使用分組參數(shù)切片的數(shù)據(jù)并行方式-對于更大規(guī)模的模型,提供了多維混合并行策略,融合了純數(shù)據(jù)并行、分組參數(shù)切片的數(shù)據(jù)并行、張量并行、流水線并行、專家并行等多種并行策略o

Megatron:l

專注于訓(xùn)練超大規(guī)模Transformer模型,基于PyTorch實現(xiàn),同時支持數(shù)據(jù)并行和模型并行o

DeepSpeed:l

專注于提高深度學(xué)習(xí)模型在分布式訓(xùn)練環(huán)境中的性能,實現(xiàn)了零冗余優(yōu)化器(ZeroRedundancyOptimizer,ZeRO)支持的數(shù)據(jù)并行、張量并行和流水線并行

并行化與分布式訓(xùn)練—分布式訓(xùn)練框架o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片

模型壓縮—量化浮點數(shù)精度更高模型訓(xùn)練時需要精確捕捉微小梯度變化訓(xùn)練時使用浮點數(shù)模型參數(shù)量大,推理速度慢降低數(shù)值精度模型性能下降模型量化的核心:在顯著減小模型規(guī)模的同時,最大限度維持模型的性能水平

模型壓縮—量化o

定點數(shù):l

使用固定的小數(shù)點位置來表示實數(shù),其不包含指數(shù)部分-在一個8位的計算機中,可規(guī)定前5位表示整數(shù)部分,后三位表示小數(shù)部分-以十進制的20.125為例,其二進制表示中,整數(shù)部分20對應(yīng)二進制的10100,小數(shù)部分0.125對應(yīng)二進制的0.001,因此,整體可以使用10100001來表示20.125o

浮點數(shù):l

采用科學(xué)計數(shù)法來表示實數(shù),包括兩個部分:尾數(shù)和指數(shù)-例如,十進制的浮點數(shù)1.23可以表示為1.23×100,其中1.23是尾數(shù),0是指數(shù)l

由于指數(shù)部分可以為負數(shù)、小數(shù)及整數(shù),因此浮點數(shù)具有相比于定點數(shù)更廣泛的表示范圍l

使用IEEE754標準表示,它將一個數(shù)分成三個部分:符號位、尾數(shù)(或稱為有效數(shù)字)和指數(shù)

模型壓縮—量化1.浮點數(shù)與定點數(shù)o

模型量化可以看作是一種建立定點數(shù)與浮點數(shù)之間映射關(guān)系的過程l

將數(shù)據(jù)的連續(xù)值轉(zhuǎn)化為多個離散值,并以最小的代價保持模型原有的性能l

根據(jù)是否對連續(xù)的數(shù)值范圍進行均勻的區(qū)間劃分,量化可分為均勻量化和非均勻量化兩種o

均勻量化:l

將數(shù)值范圍均勻地劃分為相等的間隔,每個間隔映射到一個固定的離散值,常見的子類別包括二值化和線性量化-二值化:將模型的權(quán)重和激活值量化為只有兩個值,通常為+1和1-線性量化:將數(shù)值范圍均勻地劃分為等間距的離散值o

非均勻量化:l

允許不同區(qū)間的間隔大小不同,以更加適應(yīng)模型參數(shù)的實際分布情況,包括對數(shù)量化、自適應(yīng)量化等-對數(shù)量化:使用對數(shù)函數(shù)來劃分數(shù)值范圍

模型壓縮—量化2.量化基本原理以線性量化為例,介紹量化的基本原理o

映射公式其中,Q和R分別為量化之后和量化之前的數(shù);S是縮放因子;Z稱為ZeroPoint,表示原值域中的0經(jīng)過量化后對應(yīng)的值l

參數(shù)S和Z決定了映射關(guān)系l

Z=0(對稱量化)Z!=0(非對稱量化)

模型壓縮—量化2.量化基本原理o

映射公式l

Z可設(shè)置為:l

minR是量化對象R的數(shù)值下界l

S可設(shè)置為:l

minR和maxR是量化對象R的數(shù)值下界和上界,n是量化目標定點數(shù)的位數(shù)

模型壓縮—量化2.量化基本原理o

映射公式l

Z可設(shè)置為:l

minR是量化對象R的數(shù)值下界l

S可設(shè)置為:l

minR和maxR是量化對象R的數(shù)值下界和上界,n是量化目標定點數(shù)的位數(shù)l

對于兩個主要的量化對象:權(quán)重和激活值-在推理階段,權(quán)重是固定值,容易確定上下界-激活值隨著輸入數(shù)據(jù)而改變,是動態(tài)的數(shù)字

模型壓縮—量化2.量化基本原理o

映射公式l

Z可設(shè)置為:l

minR是量化對象R的數(shù)值下界l

S可設(shè)置為:l

minR和maxR是量化對象R的數(shù)值下界和上界,n是量化目標定點數(shù)的位數(shù)l

對于兩個主要的量化對象:權(quán)重和激活值-在推理階段,權(quán)重是固定值,容易確定上下界-激活值隨著輸入數(shù)據(jù)而改變,是動態(tài)的數(shù)字l

需進行校準,即使用額外的數(shù)據(jù)集進行采樣來確定上下界

模型壓縮—量化2.量化基本原理o

映射公式l

Z可設(shè)置為:l

minR是量化對象R的數(shù)值下界l

S可設(shè)置為:l

minR和maxR是量化對象R的數(shù)值下界和上界,n是量化目標定點數(shù)的位數(shù)l

直接選擇量化對象的最大值和最小值作為上界和下界,則很容易受到離群點或者數(shù)值分布不均勻的影響l

引入clip操作,將那些信息較為稀疏的區(qū)域切除,公式更新為:l

α和β分別是設(shè)定的上界和下界;round表示四舍五入操作

模型壓縮—量化2.量化基本原理o

映射公式o

反量化

l

量化與反量化不是完全互逆的過程,量化時的clip和round操作會帶來量化誤差l

量化算法就是選取恰當(dāng)?shù)牧炕瘏?shù),如縮放因子、ZeroPoint、α、β及數(shù)據(jù)映射方式,使得原始的浮點數(shù)映射到定點數(shù)后盡可能減少精度丟失

模型壓縮—量化2.量化基本原理o

映射公式l

對于上述映射關(guān)系,量化的關(guān)鍵在于確定α和βl

基于統(tǒng)計近似的方法:-最大最小值法:直接使用浮點數(shù)的最大值和最小值來確定動態(tài)范圍-滑動平均最大最小值法:使用動量更新的方式來逐步更新動態(tài)范圍的上下界,c是超參數(shù),在PyTorch中默認設(shè)置為0.01-KL距離采樣法:使用KL散度來度量量化前后的數(shù)據(jù)分布之間的差異l

基于優(yōu)化的方法、基于可微分的方法及基于貝葉斯的方法等

模型壓縮—量化2.量化基本原理o

根據(jù)量化參數(shù)的共用范圍,或者哪些量化對象使用相同的量化參數(shù)進行區(qū)分

o

逐通道量化:對張量的每個通道都配備一個獨立的量化參數(shù)o

逐層量化:每個張量具有獨立的量化參數(shù)o

分組量化:以組為單位,每組使用相同的量化參數(shù),它的粒度介于逐通道量化和逐層量化之間o

全局量化:整個網(wǎng)絡(luò)模型使用相同的量化參數(shù)

模型壓縮—量化3.量化粒度o

量化感知訓(xùn)練l

在模型訓(xùn)練期間引入偽量化算子,使得模型在訓(xùn)練過程中適應(yīng)低精度表示-偽量化算子:先進行量化,在進行反量化(引入量化誤差)l

從頭訓(xùn)練:時間成本較高,需要充足的數(shù)據(jù)l

微調(diào):確保已經(jīng)訓(xùn)練好的模型在量化為較低位的精度時仍然保持性能l

一般流程:-在數(shù)據(jù)集上以浮點數(shù)精度(如FP32)訓(xùn)練模型,得到預(yù)訓(xùn)練的模型(若是從頭訓(xùn)練的,則不需要此步驟)-構(gòu)建模擬量化網(wǎng)絡(luò):確定量化器、量化粒度,插入量化算子-設(shè)置權(quán)重和激活值的動態(tài)范圍的初始值-訓(xùn)練模型-訓(xùn)練完成后,根據(jù)量化參數(shù)對模型進行量化,同時刪除偽量化算子l

Round操作梯度為0,使用Straight-ThroughEstimator(STE)方法,讓偽量化算子輸出的梯度等于輸入的梯度

模型壓縮—量化4.量化感知訓(xùn)練與訓(xùn)練后量化o

訓(xùn)練后量化l

在模型完成訓(xùn)練后應(yīng)用量化l

權(quán)重量化:只有模型的權(quán)重被量化,而激活值仍然保持浮點數(shù)-模型的權(quán)重具有固定的上界和下界,因此權(quán)重量化不需要額外的校準數(shù)據(jù)集l

全量化:對權(quán)重和激活值都進行量化-使用校準數(shù)據(jù)集。校準數(shù)據(jù)集一般可以是來自訓(xùn)練集或者真實場景的數(shù)據(jù)集,通常只需要少量數(shù)據(jù)集即可l

PyTorch提供了兩種訓(xùn)練后量化方式,分別為動態(tài)量化和靜態(tài)量化-動態(tài)量化根據(jù)對輸入數(shù)據(jù)的觀察動態(tài)地計算縮放因子和ZeroPoint,隨后對當(dāng)前網(wǎng)絡(luò)層的輸入張量進行量化-靜態(tài)量化同時對權(quán)重和偏置進行量化,其使用校準數(shù)據(jù)集,提前確定所有待量化的張量所需的參數(shù)

模型壓縮—量化4.量化感知訓(xùn)練與訓(xùn)練后量化o

訓(xùn)練數(shù)據(jù)準備l

數(shù)據(jù)獲取l

數(shù)據(jù)預(yù)處理l

數(shù)據(jù)增強l

數(shù)據(jù)配比與課程設(shè)置l

開源數(shù)據(jù)集o

并行化與分布式訓(xùn)練l

大模型訓(xùn)練的挑戰(zhàn)l

并行化策略l

節(jié)點間數(shù)據(jù)通信l

分布式訓(xùn)練框架

目錄o

模型壓縮l

量化l

剪枝l

知識蒸餾o

華為昇騰芯片o

隨著模型規(guī)模的增大,模型可能學(xué)到了一些對于任務(wù)并不重要的特征或者大量神經(jīng)元激活值趨近于0模型剪枝的核心思想是從經(jīng)過訓(xùn)練的深度學(xué)習(xí)模型中識別和刪除不必要的連接、權(quán)重甚至整個神經(jīng)元。刪除這些冗余的組件能夠顯著減小模型的規(guī)模,同時能夠提高模型的效率和泛化能力。

模型壓縮—剪枝o

非結(jié)構(gòu)化剪枝l

以模型的單個參數(shù)為單位進行剪枝操作l

通過設(shè)定一個閾值或使用稀疏正則化等方法來判斷參數(shù)的重要性,將權(quán)重或激活值較小的參數(shù)設(shè)置為零

模型壓縮—剪枝1.剪枝粒度o

非結(jié)構(gòu)化剪枝l

以模型的單個參數(shù)為單位進行剪枝操作l

通過設(shè)定一個閾值或使用稀疏正則化等方法來判斷參數(shù)的重要性,將權(quán)重或激活值較小的參數(shù)設(shè)置為零l

優(yōu)點:對模型的任意參數(shù)進行剪枝,不受模型的限制,并且理論上來說能夠提供較高的壓縮率l

缺點:剪枝后的模型存在大量的零參數(shù),引入了稀疏性,需要額外的處理與優(yōu)化,嚴重依賴于計算庫和硬件-針對稀疏模型,其權(quán)重可以使用僅存儲非零元素的位置和值的稀疏矩陣表示。在計算時,只需對非零元素進行計算,而忽略零元素,從而減少計算量-特定的硬件可以設(shè)計稀疏計算單元,用于處理稀疏權(quán)重。稀疏計算單元可以檢測和跳過輸入中對應(yīng)的零元素,只計算非零權(quán)重對應(yīng)的乘法和累加操作。

模型壓縮—剪枝1.剪枝粒度o

結(jié)構(gòu)化剪枝l

直接對權(quán)重矩陣進行剪枝,其在剪枝過程中保持了模型的整體結(jié)構(gòu)l

目前主流的結(jié)構(gòu)化剪枝可分為濾波器/卷積核剪枝和通道剪枝l

濾波器剪枝:減少卷積層權(quán)重矩陣的濾波器數(shù)量來實現(xiàn)模型剪枝l

通道剪枝:改變?yōu)V波器的尺寸來減小模型的規(guī)模

模型壓縮—剪枝1.剪枝粒度o

剪枝的重要性評估標準通常都是啟發(fā)式的o

根據(jù)所使用的信息,重要性評估方法可以分為基于模型參數(shù)的方法和基于數(shù)據(jù)的方法兩類o

基于模型參數(shù)的方法l

不需要輸入額外的數(shù)據(jù),只需根據(jù)現(xiàn)有的模型參數(shù)來評估重要性l

根據(jù)模型權(quán)重的大小評估重要性:一般認為絕對值接近于0的權(quán)重可以被剪去-對于結(jié)構(gòu)化剪枝,可計算每個濾波器的權(quán)重的范數(shù)作為重要性分數(shù)l

根據(jù)幾何中位數(shù)評估:計算每個卷積層中的濾波器的幾何中位數(shù),丟棄接近幾何中位數(shù)的濾波器l

根據(jù)余弦相似度評估:權(quán)重向量相似的神經(jīng)元具有更小的余

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論