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

SFT loss計算的那些坑,完美避開!!!

發布于 2024-12-11 10:48
瀏覽
0收藏

?SFT 可以說是 LLM 的基本操作了,如果只是想把 SFT 跑起來是非常簡單的,只需要構造 input_ids 和 labels,然后就可以把訓練跑起來。然而,這樣的訓練效率實際上非常低。

所以在訓練時,通常有兩個加速方法:

  • 多輪合并
  • packing

無論是哪種方法,加速后都需要保證 loss 和原來是等價的。本文主要介紹這兩種加速方法,以及 loss 計算時遇到的問題。

1.多輪合并

假設我們有一個對話,其中 user 和 bot 交互了 3 輪,我們可以構建三個樣本:

SFT loss計算的那些坑,完美避開!!!-AI.x社區

input_ids 就是對應的 token id,labels 輸入部分(白色)使用 -100,輸出部分(綠色)使用 input_ids。

這樣計算的 loss 可以表示為:

SFT loss計算的那些坑,完美避開!!!-AI.x社區

其中 l_i 表示第 i 個樣本的 loss,n_i 表示第 i 個樣本輸出的 token 數量 (對應綠色部分)。

這樣除了訓練比較慢,沒有什么別的問題。因為不同樣本之間有很多重復計算的前綴,實際上這部分計算一次就行。

2.加速計算

SFT loss計算的那些坑,完美避開!!!-AI.x社區

如果將三輪三個樣本合并成一個樣本,可以嘗試這種構造形式。

因為存在 causal attention mask,所以每個 token 只能看到前面的 token,計算上和之前是等價的。

但是這樣有一個坑:如果還是按照剛才的方式構建 input_ids 和 labels (白色用-100,綠色用input_ids)loss 計算是有問題的。

pytorch CrossEntropyLoss 計算 loss 按照下面的方法,默認是"mean"。

SFT loss計算的那些坑,完美避開!!!-AI.x社區

所以我們會得到這樣的 loss:

SFT loss計算的那些坑,完美避開!!!-AI.x社區

當不同輪次的輸出長度不同時,這種 loss 和剛才的不等價。多輪對話中輸出較短的權重被降低了,輸出較長的被提高了。所以結果就是短輸出的數據訓練不夠充分。

3.Packing

假設我們有兩個對話,第一個是單輪對話,第二個是三輪對話。

SFT loss計算的那些坑,完美避開!!!-AI.x社區

正確的 loss:

SFT loss計算的那些坑,完美避開!!!-AI.x社區

其中 l_ij 表示第 i 個樣本第 j 輪對話的 loss,n_ij 同理。

問題:真實場景中的訓練集文本長度長短不一,Padding 后矩陣非常稀疏,只有不到一半是有效計算。

加速計算:

SFT loss計算的那些坑,完美避開!!!-AI.x社區

將所有樣本拼接成一條,并且加入 attention mask 保證后面的樣本看不見前面的 token。

比如在 flash attention 中,可以調用 flash_attn_varlen_qkvpacked_func,并傳入 cu_seqlens 參數。

和之前一樣,如果不修改 loss 計算方法,packing 的樣本之間會存在因為長度不同,導致訓練不充分的問題。

4.正確方法

一般情況下,loss 計算會經歷三次平均:

  • micro batch 維度,分母是這個 micro batch 中的所有 label 不是 -100 的 token 數
  • DP 維度,分母是 DP size (和GPU數量相關)
  • 梯度累加維度,分母是梯度累加數

我們這里要做的就是禁用這三個平均,統一用這個 global batch 的對話輪數作為分母。

在新版 megatron 框架中,開啟開關 --calculate-per-token-loss 即可禁用 DP 和梯度累加的平均,然后修改 loss_func。

每個 micro batch 都需要返回這個 micro batch 的輪數,最后框架會自動將所有輪數求和,作為分母。對于分子,需要除以這個輪次的token 數。

正確實現代碼如下(loss_token_num, turn_num 是在構建 data 的時候構建的):

def loss_func(output_tensor, loss_mask, loss_token_num, turn_num):
    losses = output_tensor.view(-1).float()
    loss_mask = loss_mask.view(-1).float()
    loss_token_num = loss_token_num.view(-1).float()
    # label: [-100, -100, a, a, a, -100, b, b, -100, -100, c, c, c, -100, -100]
    # loss_mask: [0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0]
    # losses: [a0, a1, a2, a3, a4, b0, b1, b2, c0, c1, c2, c3, c4, d0, d1]
    # losses * loss_mask = [0, 0, a2, a3, a4, 0, b1, b2, 0, 0, c2, c3, c4, 0, 0]
    # loss_token_num: [3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3, 3, 3, 1, 1]
    # losses * loss_mask / loss_token_num = [0, 0, a2/3, a3/3, a4/3, 0, b1/2, b2/2, 0, 0, c2/3, c3/3, c4/3, 0, 0]
    # sum = 1/3 (a2 + a3 + a4) + 1/2 (b1 + b2) + 1/3 (c2 + c3 + c4)
    loss = torch.sum(losses * loss_mask / loss_token_num)
    loss_and_turn_num = torch.cat([loss.view(1), turn_num.view(1)])
    # Reduce loss for logging.
    loss_and_turn_num = loss_and_turn_num.clone().detach()
    torch.distributed.all_reduce(loss_and_turn_num, group=mpu.get_data_parallel_group())
    # 新版返回結構,開啟 calculate_per_token_loss 開關后,返回三個值
    # 第一個是反向傳播實際使用的 loss, 所有 packing 的 loss 求和
    # 第二個是 turn_num, 優化器狀態更新時會使用對這個值求和然后縮放梯度
    # 第三個是用于日志打印的 loss, 包含兩個值,第一個是所有 loss 求和作為分子,第二個是所有 turn_num 求和作為分母
    return loss, turn_num, {"lm loss": (loss_and_turn_num[0], loss_and_turn_num[1])}

5.總結

在 SFT 時,如果要加速,需要注意:

  • 不同樣本之間是等價的;
  • 不同輪次之間也是等價的。

在合并多輪 / packing 時,需要修改 loss 計算方法,為每個 token 設置正確的權重,并且關閉 DP / 梯度累加的平均。?

本文轉載自??丁師兄大模型??,作者:Ethan Yan ????

收藏
回復
舉報
回復
相關推薦
日韩影片中文字幕| 国产成人精品a视频| 久久av免费看| 欧美日韩久久久一区| 99中文字幕在线观看| 粉嫩小泬无遮挡久久久久久| 亚洲男人影院| www国产精品com| 人妻 日韩 欧美 综合 制服| 666av成人影院在线观看| 中文字幕字幕中文在线中不卡视频| 超碰97在线资源| 国产寡妇亲子伦一区二区三区四区| 日韩一级毛片| 亚洲精品国产精品国自产观看浪潮| 日本爱爱免费视频| 波多野结衣在线高清| 久久久精品日韩欧美| 99国产视频在线| 波多野结衣视频观看| 国精品一区二区| 国产亚洲美女精品久久久| 最新日本中文字幕| 在线观看欧美| 欧美性做爰猛烈叫床潮| 免费毛片网站在线观看| 韩国av网站在线| 国产亚洲综合色| 国产一区二区自拍| a级片免费观看| 毛片基地黄久久久久久天堂| 96精品视频在线| 欧美日韩中文字幕在线观看| 欧美r级电影| 亚洲色图第一页| 亚洲一区二区三区四区av| 祥仔av免费一区二区三区四区| 色综合久久久久久久久| 蜜臀av色欲a片无码精品一区| 国产一二区在线| 国产欧美日韩精品在线| 久久久久久久免费| 日韩在线观看视频网站| 国产大陆a不卡| 91亚洲永久免费精品| 中文无码精品一区二区三区| 久久亚洲风情| 日本欧美国产在线| 日本免费观看视| 亚洲日韩视频| 国内揄拍国内精品| 国产精品.www| 最新成人av网站| 午夜精品久久久久久久久久久久| 久久综合亚洲色hezyo国产| 亚洲美女视频| 九九热99久久久国产盗摄| 午夜爽爽爽男女免费观看| 999成人网| 久久精品视频在线观看| 欧美手机在线观看| 亚洲精品小说| 欧美日韩第一视频| 久久久.www| 欧美午夜在线视频| 欧美精品videos| 中日韩精品视频在线观看| 成人黄色三级视频| 亚洲 欧美 日韩 在线| 欧美日韩精品一本二本三本| 欧美成人剧情片在线观看| 亚洲综合网在线| 欧美先锋影音| 45www国产精品网站| 99久久精品国产亚洲| 日韩精品高清不卡| 国产精品欧美久久久| 国产又粗又黄视频| 国产东北露脸精品视频| 蜜桃传媒视频第一区入口在线看| 看电影就来5566av视频在线播放| 欧美激情资源网| 国产一区一区三区| h片在线观看| 日韩欧美在线视频| 日韩av片专区| 久久久久久毛片免费看 | 国产伦理久久久久久妇女| 亚洲精品动漫100p| 天堂资源在线视频| 亚洲小说欧美另类婷婷| 欧美最猛性xxxxx(亚洲精品)| 中文字幕视频二区| 国产精品一级黄| 日本不卡一区| 伊人在我在线看导航| 欧美日韩中文字幕| 亚洲欧美日韩三级| 色婷婷av一区二区三区丝袜美腿| 一区二区福利视频| 久久久久久天堂| 日本怡春院一区二区| 亚洲最大成人在线| 黄色av免费在线观看| 亚洲免费成人av| 久久精品99国产| 精品一区二区三区中文字幕在线 | 视频免费在线观看| 全球成人免费直播| 97在线视频观看| 国产又粗又猛又黄| 91在线国产观看| 天堂av免费看| 成人看片毛片免费播放器| 精品久久人人做人人爰| 成人一级黄色大片| 久久国产精品99国产| 99re资源| 超碰porn在线| 欧美网站一区二区| 国产福利短视频| 欧美三级午夜理伦三级中文幕| 国产成人在线视频| 亚洲 欧美 精品| 亚洲午夜av在线| 亚洲妇熟xx妇色黄蜜桃| 欧美精品第一区| 国外成人在线播放| 亚洲av无码乱码在线观看性色| 中日韩免费视频中文字幕| 日本a级片免费观看| silk一区二区三区精品视频| 久久久999精品视频| 国产乱码在线观看| 久久久噜噜噜久久人人看| www.com毛片| 国产区精品视频在线观看豆花| 久久午夜a级毛片| 一级α片免费看刺激高潮视频| 国产性天天综合网| 日本黄网站免费| 亚洲毛片免费看| 51午夜精品视频| 人妻少妇精品无码专区| 亚洲五月六月丁香激情| 麻豆av免费看| 国产精品v日韩精品v欧美精品网站 | 视频一区国产视频| 欧美精品一区二区视频| 日韩伦理在线一区| 日韩福利视频在线观看| 91午夜视频在线观看| av电影天堂一区二区在线| 日本黄大片在线观看| 亚洲日本va| 欧美国产日韩在线| 亚洲黄色在线观看视频| 一卡二卡欧美日韩| 中文字幕人妻熟女在线| 亚洲国产免费看| 国产一区不卡在线观看| 涩涩视频在线| 国产一区二区三区网站| 亚洲天堂网在线观看视频| 中文字幕色av一区二区三区| 岛国av免费在线| 综合色一区二区| julia一区二区中文久久94| 好吊日av在线| 亚洲欧美成人网| 国产精品第6页| 中文字幕在线不卡| 国内精品国产三级国产aⅴ久| 欧美激情综合色综合啪啪| 国产欧美亚洲日本| www.日韩| 色阁综合伊人av| 超碰在线播放97| 图片区日韩欧美亚洲| 一级片视频免费看| 激情综合亚洲精品| 国产美女在线一区| 欧美激情在线免费| 成人精品福利视频| 国产精品69xx| 亚洲天堂成人在线视频| 国产又粗又大又黄| 精品久久久久久久久久ntr影视| 亚洲熟妇无码av| 麻豆精品蜜桃视频网站| av片在线免费| 精品在线91| 亚洲一区二区三区乱码aⅴ| 国产h片在线观看| 中文字幕欧美日韩| 亚洲国产精品18久久久久久| 色婷婷综合激情| 破处女黄色一级片| 久久综合九色综合欧美亚洲| 成人av毛片在线观看| 亚洲精选成人| 熟妇熟女乱妇乱女网站| 国产美女撒尿一区二区| 国产在线精品一区免费香蕉| 精品极品在线| 欧美成人免费视频| 黄色在线观看网| 欧美xfplay| 亚洲一级av毛片| 懂色av中文一区二区三区天美| 亚洲天堂最新地址| www.99精品| 九九热视频免费| 日韩av成人高清| 成人免费观看cn| 68国产成人综合久久精品| 欧美成人综合一区| 综合中文字幕| 91麻豆国产精品| 亚洲天堂1区| 91高潮在线观看| 午夜成年人在线免费视频| 中文国产成人精品| 丝袜视频国产在线播放| 宅男噜噜噜66一区二区66| 欧美亚洲另类小说| 欧美视频国产精品| 日产精品久久久久久久| 一区二区在线免费观看| 欧洲美女女同性互添| 国产欧美精品区一区二区三区 | 久久香蕉精品香蕉| 亚洲最大的免费| 久久久久久久性潮| 国产精品电影一区| 老司机2019福利精品视频导航| 久久久久亚洲精品成人网小说| wwwav在线| 久久精品在线视频| 久操视频在线播放| 日韩在线观看免费| 欧美猛烈性xbxbxbxb| 在线观看免费高清视频97| 精品乱码一区二区三四区视频 | 黄色精品在线观看| 久久精品国产电影| 国产原创视频在线观看| 久久精品国产精品亚洲| 国产黄色在线免费观看| 久久精品一偷一偷国产| 在线中文字幕视频观看| 九九热最新视频//这里只有精品 | 欧美一级视频一区二区| 人人草在线视频| 日本国产精品视频| 性欧美超级视频| 国产精品色视频| 日韩在线激情| 99r国产精品视频| 美女主播精品视频一二三四| 国产精品我不卡| 日韩大片在线免费观看| 免费不卡亚洲欧美| 久久超碰99| 一区二区在线观看网站| 天天综合网网欲色| 永久免费看av| 亚洲伦伦在线| av免费在线播放网站| 久久精品国产免费看久久精品| 婷婷激情5月天| 国产91丝袜在线播放九色| 天堂www中文在线资源| 91美女福利视频| 日本美女bbw| 亚洲免费伊人电影| 日韩精品视频免费看| 日本精品免费观看高清观看| 91丨porny丨在线中文| 日韩女优av电影| 完全免费av在线播放| 亚洲欧美日韩中文在线| 888av在线| 欧美日韩国产成人高清视频| 九九色在线视频| 日本亚洲欧洲色| 91精品国产一区二区在线观看| 国产精品三区在线| 国内黄色精品| 国产一级大片免费看| 欧美在线综合| 久久aaaa片一区二区| 久久这里只有精品视频网| 91ts人妖另类精品系列| 亚洲成人精品一区| 伊人亚洲综合网| 亚洲电影中文字幕| 日本成人网址| 午夜精品一区二区三区在线 | 国产99视频精品免费视频36| 亚州综合一区| 无码人妻精品一区二区三区99v| 99视频一区| 免费一区二区三区在线观看| av影院午夜一区| 美国黄色片视频| 欧美性猛交xxxx免费看| 国产女主播福利| 亚洲天堂av电影| 国产网红女主播精品视频| 国产精品亚洲欧美导航| 亚洲精品亚洲人成在线| 欧洲精品在线播放| 麻豆精品蜜桃视频网站| 欧美亚一区二区三区| 亚洲中国最大av网站| 国产精品国产三级国产普通话对白| 日韩精品免费视频| 超碰97国产精品人人cao| 国产一区视频在线| 久久99性xxx老妇胖精品| av免费看网址| 国产91精品一区二区麻豆网站| 美国黄色特级片| 在线观看免费亚洲| 亚洲 国产 欧美 日韩| 欧美激情a∨在线视频播放| 日韩毛片网站| 午夜精品亚洲一区二区三区嫩草 | 精品毛片在线观看| 日韩在线观看免费| 久久女人天堂| 色就是色欧美| 日韩成人dvd| 中文字幕 自拍| 在线观看免费亚洲| 国产免费永久在线观看| 日本高清+成人网在线观看| 欧美丝袜美腿| 日本三级免费观看| 久久婷婷综合激情| 国产精品免费精品一区| 国产午夜精品久久久 | 国产精品偷伦一区二区| 国产一区二区三区91| 免费在线观看毛片网站| 91免费视频观看| 人人草在线观看| 亚洲欧美日韩天堂| 偷拍视频一区二区三区| 日本免费高清不卡| 日韩av一级片| 狂野欧美性猛交| 在线不卡欧美精品一区二区三区| 欧美日本一道| 99久久久精品免费观看国产| 黄色国产精品| 变态另类丨国产精品| 色综合久久久久综合体桃花网| 国产在线一在线二| 国产精品久久久久久久久久ktv| 日韩成人a**站| 特级西西444www| 亚洲午夜三级在线| 无码国产色欲xxxx视频| 欧美专区在线播放| av一区二区在线播放| 超碰成人在线播放| 一区二区三区免费在线观看| 欧美 日韩 国产 成人 在线 91 | 国产精品一区二区在线播放| 国模无码国产精品视频| 亚洲国产成人久久| 九九热线视频只有这里最精品| 亚洲自拍偷拍二区| 国产成人自拍在线| 国产手机在线视频| 中文字幕亚洲欧美日韩2019| 欧美激情精品| 亚洲午夜精品久久久久久人妖| 国产日本一区二区| 国产日韩欧美一区二区东京热 | 国产成人aaa| 毛片在线免费视频| 久久激情五月丁香伊人| 日韩08精品| 免费男同深夜夜行网站| 国产精品理论片在线观看| 亚洲国产成人一区二区| 国产成人高潮免费观看精品| 亚洲激情中文在线| 在线 丝袜 欧美 日韩 制服| 538在线一区二区精品国产| 国产伦理精品| 亚洲欧洲精品在线| aaa欧美色吧激情视频| 亚洲自拍第二页| 91精品国产色综合| 综合亚洲视频| av永久免费观看|