精品欧美一区二区三区在线观看 _久久久久国色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 ????

收藏
回復
舉報
回復
相關推薦
爱情岛亚洲播放路线| 久久久久久久久久久免费| 性欧美视频videos6一9| 久久久久久香蕉| 国产一区二区视频在线观看免费| www.综合网.com| 六月丁香婷婷久久| 亚洲成av人片在线观看无码| 91爱爱小视频k| theporn国产精品| 日本国产在线| 亚洲精品小说| 欧美丝袜第三区| 精品国产综合| 欧美成人一二三区| 伊人亚洲精品| 中文字幕不卡三区| 97超级碰碰碰| 国产黄a三级三级| 日本午夜大片a在线观看| 国产一区二区视频在线| 国产午夜精品全部视频在线播放 | 国产三级精品在线观看| 欧美日韩123| 亚洲国产一区二区三区| 7777精品伊久久久大香线蕉语言| 精品无码在线观看| 自拍在线观看| 99久久精品免费观看| 欧美成在线观看| 亚洲一区二区偷拍| a级影片在线| 狠狠色狠狠色综合| 久久久国产成人精品| 性刺激的欧美三级视频| www.国产精品.com| 久久精品观看| 亚洲人成网站999久久久综合| 国产日韩一区二区在线| 五月婷婷丁香网| 国产亚洲一级| 精品视频久久久| 欧美 日韩精品| 国产永久免费高清在线观看 | 成人午夜免费在线| 97视频免费在线| 日韩欧美综合| 欧美美女bb生活片| 自拍偷拍一区二区三区| 国产精品九九九九| 国产精品综合色区在线观看| 久久久久久久久久婷婷| 日韩在线中文字幕视频| 婷婷中文字幕一区| 精品电影一区二区三区| 欧美综合在线播放| 成人亚洲综合天堂| 久久久99精品免费观看不卡| 国产精品久久久久91| 国产在线综合视频| 精品欧美久久| 欧美一区二区三区影视| 亚洲熟妇国产熟妇肥婆| 国产美女视频一区二区三区| 韩国av一区二区三区四区| 国产精品影片在线观看| 综合五月激情网| 综合久久精品| 亚洲美女视频网站| 欧美性猛交xxxx乱大交91| 欧美日韩免费电影| 亚洲午夜私人影院| 国产成人永久免费视频| 青青草视频免费在线观看| 91亚洲国产成人精品一区二区三| 国产精品色午夜在线观看| 欧美日韩偷拍视频| 激情五月***国产精品| 亚洲一区二区黄| 国产馆在线观看| xxxx日韩| 在线观看免费亚洲| 欧美精品久久久久久久自慰| www.综合| 日韩高清在线免费观看| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 天堂午夜影视日韩欧美一区二区| 社区色欧美激情 | 中文字幕avav| 日日av拍夜夜添久久免费| 亚洲日本在线天堂| 免费在线观看91| 国产91视频在线| 欧美96一区二区免费视频| 欧美激情亚洲激情| www成人在线| 婷婷成人基地| 国语自产精品视频在免费| 糖心vlog免费在线观看| 国产精品手机在线播放| 亚洲电影av在线| 久久久久久无码精品人妻一区二区| 免费在线观看一区| 色综合久久中文字幕综合网| 国产日本在线播放| 午夜成年人在线免费视频| 中文字幕电影一区| www.av片| 亚洲青青一区| 国产丝袜一区二区| www.av视频| 日韩电影在线观看一区| 97在线免费观看视频| 中文字幕视频二区| 先锋影音久久久| 国模叶桐国产精品一区| 亚洲精品www久久久久久| 国产韩国精品一区二区三区| 欧美另类极品videosbest最新版本| 亚洲女人毛茸茸高潮| 午夜精品久久| 丝袜亚洲欧美日韩综合| 国内偷拍精品视频| 性色一区二区三区| 国产91色在线| 日本在线视频免费| 一区二区影院| 日本成熟性欧美| 国产成人精品亚洲男人的天堂| 日日夜夜一区二区| 亚洲资源在线看| 国产麻豆免费观看| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 看一级黄色录像| 裸体xxxx视频在线| 国产成人鲁色资源国产91色综| 六十路精品视频| 午夜激情在线| 欧美视频一二三区| 鲁丝一区二区三区| 极品裸体白嫩激情啪啪国产精品| 国产精品视频最多的网站| 婷婷五月综合久久中文字幕| 韩国理伦片一区二区三区在线播放| 美女一区视频| 97人人爽人人澡人人精品| 91精品国产aⅴ一区二区| 成人无码www在线看免费| 在线视频亚洲专区| 国产一区二区三区视频| 国产午夜视频在线播放| 国产精品一区二区黑丝 | 57pao成人永久免费| 在线看福利67194| 综合激情网五月| 国内精品嫩模av私拍在线观看| 欧美日韩国产成人高清视频| 亚洲视屏在线观看| 日韩激情视频在线观看| 鬼打鬼之黄金道士1992林正英| 高h放荡受浪受bl| 国产精品一区在线观看你懂的| 天堂精品一区二区三区| 欧美色网在线| 国产视频一区在线| 久久久精品视频网站| 久久综合网络一区二区| 国产亚洲情侣一区二区无| 好吊色一区二区| 亚洲综合色区另类av| 免费一级特黄特色毛片久久看| 久久国产精品美女| 日韩精品专区在线| 久久精品国产亚洲av麻豆| 中文在线不卡| 欧美18视频| 卡通欧美亚洲| 宅男噜噜噜66一区二区66| 亚洲第一黄色网址| 国产精品国产三级国产在线观看| 成人网页在线免费观看| 亚洲AV第二区国产精品| 在线观看一区二区视频| 国产一区第一页| 成人激情黄色小说| 日韩视频在线免费播放| 永久免费精品视频| 色伦专区97中文字幕| 亚洲视频中文字幕在线观看| 国产精品国产三级国产有无不卡 | 中文字幕精品一区二区精品绿巨人| 91最新在线观看| 亚洲一区二区三区日本久久九| 久久精品电影一区二区| 日韩中文字幕影院| 国产精品久久三| 日韩av在线播放不卡| 欧美天堂影院| 欧美成人免费全部观看天天性色| 成人黄色免费视频| 国产精品萝li| 色91精品久久久久久久久| 亚洲天堂激情| 欧美激情论坛| 成人精品在线| 在线观看欧美视频| 国产色片在线观看| 亚洲永久免费视频| 成人午夜剧场视频网站| 狠狠色伊人亚洲综合成人| 久久国产精品免费观看| 91精品网站在线观看| 色综合视频网站| 一级特黄aaa| 国产日韩欧美一区二区三区乱码 | 91精品综合久久久久久五月天| 日韩在线免费看| 欧美日韩成人高清| 欧日韩不卡视频| 成人免费视频免费观看| 一区二区不卡在线观看| 蜜桃麻豆av在线| 亚洲午夜未满十八勿入免费观看全集| 99久久亚洲精品日本无码 | 天堂а√在线中文在线新版| 国产精品免费看片| 亚洲av片不卡无码久久| 国产一区二区三区四区五区美女| 欧美 国产 综合| 天天做天天爱天天综合网2021| 精品久久久久久中文字幕动漫 | 欧美成欧美va| 国产日韩av一区| 这里只有精品在线观看视频| 午夜精品网站| 亚洲高清视频一区| 美女的胸无遮挡在线观看 | 欧美人与性动交α欧美精品图片| 在线视频你懂得一区| 欧美黄色一区二区三区| 国产欧美日韩综合| 亚洲综合色在线观看| 亚洲二区精品| 亚洲成人动漫在线| 欧美色女视频| 国产在线视频91| 国产原创视频在线观看| 精品少妇一区二区三区在线播放| 亚洲天堂男人网| 色婷婷久久综合| 欧美亚韩一区二区三区| 亚洲综合无码一区二区| 91日韩中文字幕| 亚洲视频一区在线| 日本不卡一区视频| 欧美经典一区二区| 国产aⅴ激情无码久久久无码| 日韩国产高清影视| 人妻少妇被粗大爽9797pw| 亚洲久久在线| 精品一区二区三区自拍图片区| 日韩区一区二| 国产精品一 二 三| 亚洲精品88| 91精品国产色综合久久不卡98| 日本无删减在线| 欧美成人激情视频| heyzo在线播放| 欧美精品videosex牲欧美| 欧美人与禽性xxxxx杂性| 欧美日韩国产成人| 国产传媒av在线| 26uuu亚洲国产精品| 麻豆导航在线观看| 国产亚洲精品日韩| porn视频在线观看| 久热精品视频在线观看| 中文国产字幕在线观看| 欧美激情综合亚洲一二区| 国产一线二线在线观看| 91精品国产高清自在线| 成人在线网站| 成人乱色短篇合集| 日韩在线观看一区二区三区| 成人免费视频观看视频| 精品一区免费| 亚洲精品乱码视频| 综合久久婷婷| 亚洲美免无码中文字幕在线| 亚洲永久免费| 北条麻妃av高潮尖叫在线观看| 国产精品成久久久久| 国产欧美123| 午夜先锋成人动漫在线| 深田咏美在线x99av| 午夜激情久久| 免费看日本黄色| 国产精品尤物| 色播五月激情五月| 99久久国产综合精品女不卡| 亚洲性猛交xxxx乱大交| 亚洲欧美在线观看| 免费在线视频一区二区| 亚洲精品视频在线观看免费| 在线观看日韩精品视频| 国产日韩欧美不卡| 国产十六处破外女视频| 亚洲成人在线免费| 亚洲天堂狠狠干| 亚洲第一区在线观看| 国模吧精品人体gogo| 色婷婷综合成人av| 中文一区一区三区高中清不卡免费| 国产精品日韩av| 国产精品男女| 日本一区二区三区视频在线观看 | 欧美午夜宅男影院在线观看| 三上悠亚在线观看视频| 亚洲综合一区二区三区| 中文字幕av在线免费观看| 欧美成人女星排行榜| 国产三级视频在线| 51色欧美片视频在线观看| 成人av在线播放| 欧美人xxxxx| 欧美成人嫩草网站| 深夜黄色小视频| 9l国产精品久久久久麻豆| 中文字幕av一区二区三区人妻少妇| 91天堂素人约啪| 欧产日产国产v| 欧美精品久久99久久在免费线| 偷拍25位美女撒尿视频在线观看| 精品99999| 黄色成人影院| 日本不卡免费高清视频| 亚瑟一区二区三区四区| 国产在线无码精品| 美女性感视频久久| 极品白嫩丰满美女无套| 天天免费综合色| 国产极品久久久| 日韩视频免费在线| 小视频免费在线观看| 国产欧美精品一区二区三区| 在线看片不卡| www.精品在线| 麻豆精品精品国产自在97香蕉| www.狠狠爱| 日韩欧美福利视频| 欧美自拍偷拍一区二区| 欧美巨猛xxxx猛交黑人97人| 成人永久在线| 一区二区三区在线观看www| 日本怡春院一区二区| 一区二区黄色片| 一本色道**综合亚洲精品蜜桃冫| 黄色一级大片在线免费看国产| 欧美成人精品xxx| 日韩欧美久久| 日韩人妻一区二区三区蜜桃视频| 九九精品视频在线看| 日韩精品久久久久久久的张开腿让| 日韩欧美在线免费| 欧美扣逼视频| 日韩av日韩在线观看| 在线日本制服中文欧美| 91精品无人成人www| 一区免费观看视频| 国产尤物在线观看| 久久在精品线影院精品国产| 久久精品一级| 青青青在线观看视频| 国产精品69毛片高清亚洲| 欧美国产日韩在线观看成人| 精品国产乱子伦一区| 国产va在线视频| 欧美高清视频一区二区三区在线观看 | 春色校园综合激情亚洲| 欧美日韩精品一区| 日本美女一区二区| 国产wwwwxxxx| 欧美成人aa大片| 日韩中文影院| 亚洲一区二区三区在线观看视频| 久久99精品国产.久久久久久 | 亚洲风情第一页| 97国产真实伦对白精彩视频8| 18国产精品| 欧美一级黄色片视频| 中文字幕中文字幕一区二区| www.成人在线观看| 午夜精品一区二区三区av| 免费久久久久久久久| 一区二区免费av| 亚洲最大成人综合| 在线视频91p| 国产精品v欧美精品∨日韩| 久久精品午夜| 乱老熟女一区二区三区|