自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

長文 | 大模型Post-Training總結(jié)

發(fā)布于 2025-1-3 14:05
瀏覽
0收藏

今天給大家?guī)硪黄鹾糜袬hadiii的一篇文章,匯總Llama3.1、DeepSeek-V3、TüLU 3和Qwen2.5的后訓(xùn)練Post-Training技術(shù)。

知乎:https://zhuanlan.zhihu.com/p/12862210431

本文匯總Llama3.1,DeepSeek-V3,TüLU 3,Qwen2.5報告的后訓(xùn)練部分,摘錄其中核心的細(xì)節(jié)。大多涉及到數(shù)據(jù),SFT,RL(各種RM訓(xùn)練,DPO,GRPO,RLVR等等)。

1.Llama3.1

paper: https://ai.meta.com/research/publications/the-llama-3-herd-of-models/

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

Illustration of the overall post-training approach for Llama 3.

總的來說,Llama 3后訓(xùn)練方法是迭代式的,總共做了6輪。每輪的核心操作是:Reward Modeling,Rejection Sampling,SFT,DPO。

數(shù)據(jù)構(gòu)成主要是SFT data和Preference data。而Reward Modeling和DPO,對Preference data又有不同的使用方式。

  • SFT data:每輪Rejection Sampling的結(jié)果 + 針對特定能力的合成數(shù)據(jù) + 少量的人工標(biāo)注數(shù)據(jù)。
  • Preference data:每一輪訓(xùn)練都構(gòu)建一批新的Preference data,Preference data積累式地增長。詳細(xì)過程見1.2 Preference data部分。

Model Averaging:每個RM、SFT或DPO階段,使用不同的data mix或超參數(shù)進(jìn)行實驗所獲得的模型進(jìn)行加權(quán)平均。

1.1 SFT

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

SFT數(shù)據(jù)構(gòu)成

Rejection Sampling:

采樣模型多次,讓RM選出最好的回復(fù),作為SFT data的一部分。部分細(xì)節(jié)如下:

  • 采樣什么模型?兩種情況。迭代中表現(xiàn)Avg score最好的模型,或者在某個particular capability上表現(xiàn)最好的模型。
  • 采樣多少次?K=10~30,即一般采樣10-30次。
  • prompt哪來?人工標(biāo)注的prompts。并在后訓(xùn)練迭代后期引入特殊的system prompts。

SFT訓(xùn)練細(xì)節(jié):

  • 405B模型使用學(xué)習(xí)率1e-5。
  • 訓(xùn)練步數(shù)在8.5K到9K步之間。
  • 高質(zhì)量數(shù)據(jù)源進(jìn)行多輪重復(fù)訓(xùn)練(epochs multiple times)。例如一個特別優(yōu)質(zhì)的coding示例可能被訓(xùn)練3-4次。
  • 普通質(zhì)量數(shù)據(jù)進(jìn)行降采樣(downsamples)。質(zhì)量一般的數(shù)據(jù)可能只用1次或被隨機抽樣部分使用。


Our final data mix epochs multiple times on some high quality sources and downsamples others.

1.2 Preference data

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

Preference data數(shù)據(jù)構(gòu)成

We deploy multiple models for annotation after each round and sample two responses from two different models for each user prompt. These models can be trained with different data mixes and alignment recipes, allowing for different capability strength and increased data diversity.

  • 采樣什么模型?部署多個不同數(shù)據(jù)配比和對齊方法訓(xùn)練的模型,針對每個prompt選取兩個不同的模型進(jìn)行采樣。原因:不同模型能夠在不同的能力維度上表現(xiàn)出差異,數(shù)據(jù)質(zhì)量和多樣性更好。
  • 偏好等級?四個等級:顯著更好(significantly better),更好(better),稍微更好(slightly better),略微更好(marginally better)。
  • 允許修改:標(biāo)注同學(xué)可以進(jìn)一步優(yōu)化chosen response,最后edited > chosen > rejected。
  • 迭代式難度:最后隨著模型改進(jìn)逐步提高prompt復(fù)雜度。

1.3 RM & DPO

Reward Modeling:We train a reward model (RM) covering different capabilities on top of the pre-trained checkpoint.
DPO:For training, we primarily use the most recent batches of preference data collected using the best performing models from the previous alignment rounds.
Preference Data:In each round of post-training, we use all the preference data that is available at the time for reward modeling, while only using the latest batches from various capabilities for DPO training.

RM迭代細(xì)節(jié):

RM也參與后訓(xùn)練迭代。每一輪迭代都會重頭訓(xùn)練RM。原文提到,每次訓(xùn)練都會使用所有的Preference data,且都是從Pre-trained checkpoint開始訓(xùn)練的,而不是在t+1輪迭代使用第t輪訓(xùn)練的RM做增量訓(xùn)練。

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

Llama2 RM ranking loss

  • 移除llama2使用的margin loss,即上圖的m(r),因為數(shù)據(jù)量上來之后margin意義不大,不如“complexity management”回歸原始ranking loss:

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

  • RM和DPO都只使用偏好等級為significantly better or better的pair,并且都過濾了similar response。

DPO迭代細(xì)節(jié):

DPO每次都在SFT之后進(jìn)行。此處的一個細(xì)節(jié)是,DPO訓(xùn)練所用的Preference data并全不是在本輪的SFT model上采樣和標(biāo)注的,而主要是從前面所有迭代輪次中表現(xiàn)最好的模型中采樣得到的。同時,每次迭代只取最新的一批Preference data,還要剔除General English部分?jǐn)?shù)據(jù),和RM不一樣。loss:

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

  • 同時從chosen和rejected response里面mask掉special formatting tokens的loss,比如header token & termination token,因為會引入沖突的學(xué)習(xí)目標(biāo),即loss同時往增加和減少這些token的概率上優(yōu)化。
  • 同時優(yōu)化chosen response的SFT loss。
  • 學(xué)習(xí)率取1e-5,beta取0.1,SFT loss取0.2。
  • RM和DPO都只使用偏好等級為significantly better or better的pair,并且都過濾了similar response。

DPO discussion

DPO團(tuán)隊觀察到,只要SFT模型在Long context任務(wù)中表現(xiàn)出色,DPO中僅使用短上下文訓(xùn)練數(shù)據(jù),并不會對長上下文性能產(chǎn)生負(fù)面影響。

1.4 數(shù)據(jù)清洗

Llama 3給出的數(shù)據(jù)清洗方法都很務(wù)實。

首先是對一些不想要的回復(fù)模式需要去重,例如過度使用表情符號或感嘆號的問題。非常經(jīng)典的AI語風(fēng)也需要注意,例如“過于喜歡滑跪”的語氣問題,遇事不決就“對不起”或“我道歉”。

其他各種方法還有:

1、主題分類(Topic classification):首先訓(xùn)練一個Topic classifier,例如用一大堆文本分類的任務(wù)數(shù)據(jù)去SFT一下Llama 3 8B。然后對所有訓(xùn)練數(shù)據(jù)進(jìn)行兩個層級的分類,粗粒度類別(如“數(shù)學(xué)推理”)和細(xì)粒度類別(如“幾何和三角學(xué)”)。

2、質(zhì)量評分(Quality scoring):使用Reward model和基于Llama為每個樣本的質(zhì)量打分。對于基于RM的評分,將得分前1/4的數(shù)據(jù)視為高質(zhì)量數(shù)據(jù)。基于Llama的評分,就是基于Llama 3設(shè)計了一些打分的prompt,General English數(shù)據(jù)使用三個維度的評分(準(zhǔn)確性、指令遵循性和語氣/表達(dá)),coding數(shù)據(jù)則使用兩個維度的評分(錯誤識別和用戶意圖),最后將獲得最高分的樣本視為高質(zhì)量數(shù)據(jù)。RM評分和Llama評分的分歧率較高,但結(jié)合這兩種機制能在meta內(nèi)部測試集中取得最佳的召回率。

3、難度評分(Difficulty scoring):Instag和基于Llama的評分。對于Instag,提示Llama 3 70B對SFT提示進(jìn)行意圖標(biāo)注,意圖越多,復(fù)雜性越高。基于Llama的思路和Quality scoring相似,給了Llama 3一些prompt,基于三個維度去打分。

4、語義去重(Semantic deduplication):最后進(jìn)行語義去重。首先使用RoBERTa對完整對話進(jìn)行聚類,然后在每個聚類內(nèi)按(質(zhì)量分?jǐn)?shù) × 難度分?jǐn)?shù))對其進(jìn)行排序。接著,遍歷所有排序的樣本進(jìn)行貪婪選擇,僅保留與當(dāng)前聚類中已見樣本的余弦相似度小于閾值的樣本。

Instag用于標(biāo)注SFT數(shù)據(jù)的意圖和語義標(biāo)簽。詳見:https://arxiv.org/pdf/2308.07074

2 DeepSeek-V3

paper: https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf

DeepSeek-V3的后訓(xùn)練路徑是SFT->GRPO。后訓(xùn)練部分同時提到了一些從DeepSeek-R1蒸餾的探索,Self-Rewarding的嘗試,以及Multi-Token Prediction的效果。全文精彩內(nèi)容主要在前邊 pretrain ,但目前只想先整理后訓(xùn)練部分。

2.1 SFT

DeepSeek-V3構(gòu)建了一個1.5M(V2也是大概1.5M)的指令微調(diào)數(shù)據(jù)集,并且構(gòu)建數(shù)據(jù)時按照ReasoningData和Non-Reasoning Data做了區(qū)分。

推理相關(guān)數(shù)據(jù)

對于推理相關(guān)的數(shù)據(jù)集(Math,Coding,邏輯推理),通過 DeepSeek-R1 生成數(shù)據(jù)。盡管 R1 生成的數(shù)據(jù)表現(xiàn)出較高的準(zhǔn)確性,但同時也存在諸如過度思考、格式不佳以及回答冗長等問題。所以目標(biāo)是結(jié)合 R1 生成數(shù)據(jù)的高準(zhǔn)確性與常規(guī)格式化推理數(shù)據(jù)的清晰性與簡潔性。

具體來說,首先針對特定領(lǐng)域訓(xùn)練多個expert model。隨后,expert model被用作最終SFT data的generator。Expert model訓(xùn)練過程中,需要為每條數(shù)據(jù)實例生成兩種不同類型的 SFT 樣本:

  1. 將問題與其原始回答配對,格式為 <問題, 原始回答>;
  2. 在問題和 R1 回答的基礎(chǔ)上加入系統(tǒng)提示,格式為 <系統(tǒng)提示, 問題, R1 回答>。

System prompt引導(dǎo)模型生成具有反思與驗證機制的回答。在RL階段,模型通過high-temperature sampling生成回答,從而整合R1生成數(shù)據(jù)和原始數(shù)據(jù)的模式,即便在沒有明確system prompt的情況下也能體現(xiàn)。經(jīng)過數(shù)百步的強化學(xué)習(xí)后,Expert model模型學(xué)會了融合 R1 的模式。

Expert model的RL訓(xùn)練完成后,使用拒絕采樣(RS)以篩選高質(zhì)量的 SFT 數(shù)據(jù),用于最終模型的訓(xùn)練。此時由于是expert model作為generator,所以保留了 DeepSeek-R1 的各種優(yōu)勢,也能同時生成簡潔高效的回答。

非推理數(shù)據(jù)

對于非推理數(shù)據(jù)(例如創(chuàng)意寫作、角色扮演和簡單問答),采用 DeepSeek-V2.5 生成回答,并由人工標(biāo)注人員核實數(shù)據(jù)的準(zhǔn)確性與正確性。

SFT 細(xì)節(jié)

  • 訓(xùn)練兩個epoch,learning rate采用cosine decay ,起始學(xué)習(xí)率為 5×1e-6,逐步衰減至 1e-6。
  • 訓(xùn)練期間,每個sequence由多個樣本數(shù)據(jù)打包組成(即SFT packing)。但不同樣本間需要額外的attention mask,確保這些樣本彼此獨立且不可見。但值得一提的是,V3在 pretrain 時,沒有應(yīng)用cross-sample attention mask。

Discussion:DeepSeek-R1 的蒸餾效果

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

The contribution of distillation from DeepSeek-R1

報告基于DeepSeek-V2.5研究了從DeepSeek-R1蒸餾的貢獻(xiàn)。DeepSeek-R1 Distill在LiveCodeBench和MATH-500基準(zhǔn)測試中取得了顯著提升。

基于MATH-500,可以發(fā)現(xiàn)一個有趣的trade off是:蒸餾可以帶來更好的性能(74.6->83.2),但同時也顯著增加了平均回答長度(76.9->83.2)。

報告認(rèn)為從推理模型進(jìn)行知識蒸餾為post training提供了一個有前景的方向。

2.2 RM

DeepSeek-V3 RL過程訓(xùn)練了兩種RM:rule-based and model-based。

Rule-Based RM

對于可以通過特定規(guī)則驗證的問題,基于規(guī)則來確定獎勵。例如對于某些數(shù)學(xué)問題,這類問題具有確定性的答案,要求模型以指定的格式(例如,用一個框框標(biāo)出最終答案)提供最終答案,從而能夠通過規(guī)則驗證其正確性。同樣地,對于 LeetCode 問題,可以利用編譯器通過測試用例生成反饋。也是非常經(jīng)典的做法,能夠確保reward非??尚?。TüLU 3同樣也做了RLVR。

Model-Based RM

對于具有自由形式的標(biāo)準(zhǔn)答案的問題,依賴RM來判斷回答是否與預(yù)期的標(biāo)準(zhǔn)答案相匹配即可。但對于沒有明確標(biāo)準(zhǔn)答案的問題(例如涉及創(chuàng)意寫作的問題),RM需要根據(jù)問題和對應(yīng)的回答提供反饋。Model-Based RM基于 DeepSeek-V3 的 SFT checkpoint進(jìn)行訓(xùn)練。為了提高其可靠性,還構(gòu)建了包含偏好數(shù)據(jù)的訓(xùn)練集,該數(shù)據(jù)不僅提供最終的reward,還包含通向reward的推理鏈。該方法減少了在特定任務(wù)中出現(xiàn)的reward hacking。

Discussion:Self-Rewarding

即constitutional AI的做法,通過一系列文本描述的規(guī)則指導(dǎo)模型。將DeepSeek-V3 本身的投票評估結(jié)果也作為一種feedback,顯著提升了 DeepSeek-V3 在主觀評價中的性能表現(xiàn)。

聯(lián)想:DeepSeekMath

DeepSeekMath報告提到過使用了Process Supervision RL,但DeepSeek-V3報告中未提及。

2.3 GRPO

GRPO是PPO的簡化版本,最核心的改動是砍掉Value Model,依靠多次采樣的Reward,得出baseline分?jǐn)?shù)來計算advantage。DeepSeek-V3未在GRPO一節(jié)提供較多細(xì)節(jié)。GRPO的優(yōu)勢函數(shù)為:

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

優(yōu)化目標(biāo)為:

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

GRPO 圖示 from DeepSeek-V2

GRPO詳細(xì)算法可見DeepSeek-V2報告。GRPO和RLOO做法類似,而TRL rloo_trainer.py實現(xiàn)了RLOO訓(xùn)練源碼,可以參考。能理解其中一個就能理解另一個。所以也可參考:https://zhuanlan.zhihu.com/p/1073444997

3 TüLU 3

paper: https://allenai.org/tulu

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

An overview of the TüLU 3 recipe.

TüLU 3的后訓(xùn)練路徑是SFT->DPO->RLVR。TüLU 3報告寫的還是非常有誠意的,RL部分提供了蠻多細(xì)節(jié)供學(xué)習(xí)。也是印象中少有的花了比較大篇幅講RLVR的一篇報告。

3.1 SFT

數(shù)據(jù)構(gòu)成

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

WildChat,OpenAssistant,NoRobots,,F(xiàn)LAN v2等各種質(zhì)量還不錯的開源數(shù)據(jù)。人工標(biāo)注或者好的閉源模型的response保留,沒有response的蒸餾4o。

數(shù)據(jù)實驗

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

  • 多樣化對話數(shù)據(jù)(WildChat),對大多數(shù)技能有積極影響,特別提升Alpaca Eval性能。
  • 安全性 SFT 數(shù)據(jù)通常與其他數(shù)據(jù)集正交。
  • ...(還有一些其他數(shù)據(jù)實驗,如chat template...詳見原文)

Recipe

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

超參

batch size 128,Max Length 4096,Linear LR。對于8B模型,學(xué)習(xí)率:5e-6。對于70B模型,學(xué)習(xí)率:2e-6。訓(xùn)2個epoch。

Trick:Batch Aggregation

TüLU 3注意到Open-Instruct框架訓(xùn)練的SFT模型與在其他環(huán)境(如TPU)上訓(xùn)練的模型之間存在性能差距。這個問題主要是由于Transformers中l(wèi)oss aggregation的一個問題:在不考慮梯度累積或分布式訓(xùn)練設(shè)置的情況下對padding tokens的損失進(jìn)行平均。

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

第二種情況下平等地對待每個樣本,,而在第一種情況下平等地對待每個token。因此改變梯度累積可能會由于有效地改變樣本權(quán)重而對性能產(chǎn)生重大影響。由于跨設(shè)備平均,分布式訓(xùn)練中也會出現(xiàn)類似的問題。

所以TüLU 3在訓(xùn)練時普遍選擇使用求和損失(sum loss)而不是平均損失(mean loss)。即通過簡單地移除上述方程中的分母,同時調(diào)整學(xué)習(xí)率。這使得所有token被賦予相同的權(quán)重。TüLU 3通過使用各種學(xué)習(xí)率、訓(xùn)練輪數(shù)和損失類型在TüLU 2 SFT混合數(shù)據(jù)集上微調(diào)Llama 3.0來驗證各種設(shè)置的性能。最終發(fā)現(xiàn)使用lr = 5e-6的sum loss效果最好。TüLU 3還發(fā)現(xiàn)更長時間的訓(xùn)練并沒有帶來進(jìn)一步的改進(jìn),因此確定使用2個訓(xùn)練epoch。

3.2 Preference Finetuning

TüLU 3在Preference Finetuning中提及了大量實驗。

優(yōu)化算法實驗

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

優(yōu)化算法實驗

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

preference dataset

In summary, our preference mixes come from different prompt sources, such as SFT data, WildChat and Persona IF. It includes prompts seen during SFT training but also new, unseen prompts. And lastly, it contains a mix of on and off-policy completions.

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

TüLU 3的preference data既有off-policy的pair,也有on-policy的pair。既有SFT階段見過的prompt,也有新的prompt。人工 + 4o as Judge。報告針對不同data mix做了很多實驗,獲得了一些符合直覺的結(jié)論,列舉部分:

Scaling the Number of Unique Prompts Improve Downstream DPO Performance. 增加prompt多樣性能夠提升DPO效果符合直覺。不過TüLU 3做了一個清晰的實驗是:驗證復(fù)制一些prompt(但使用不同的response pair)做數(shù)據(jù)增廣是否可行??上?,結(jié)果是Performance退化了。

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

Unused Prompts Lead to Higher Performance vs. Reusing Prompts From SFT Mix. 即DPO階段的prompt還是應(yīng)該盡量SFT階段沒見過的。

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

On-policy Data Improves Downstream DPO Performance. 即On-policy Data(模型采樣出來的pair)效果更好。

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

Recipe

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

3.3 RLVR(RL with verifiable rewards)

長文 | 大模型Post-Training總結(jié)-AI.x社區(qū)

RLVR

其實就是基于Rule-Based RM做RL的另一種說法。不同于DeepSeek-V3和Qwen2.5采取的GRPO,RLVR的算法采取了PPO。PPO需要value model,但reward model目前是一個verifier,所以TüLU 3使用General RM來初始化value model。

Do Not Use the Scores from RM. TüLU 3在RLVR過程中,發(fā)現(xiàn)如果同時使用verifiable reward和RM的reward,會引入額外的噪聲,導(dǎo)致表現(xiàn)下降。

4 Qwen2.5

paper: https://arxiv.org/abs/2412.15115

Qwen2.5的后訓(xùn)練路徑是SFT + Two-stage Reinforcement Learning,即SFT- >DPO->GRPO。報告總體細(xì)節(jié)不多。

4.1 SFT

Math

Qwen2.5-Math 的 CoT 數(shù)據(jù) + RS。

Coding

Qwen2.5-Coder 的指令微調(diào)數(shù)據(jù)。

...(不再列舉,細(xì)節(jié)不多)

Recipe

最終,SFT構(gòu)建了包含1M的大規(guī)模數(shù)據(jù)集,訓(xùn)練使用32K的序列長度,訓(xùn)練2個epoch,lr從7×10??衰減到7×10??、weight decay開0.1,gradient norms裁剪到最大值1。

4.2 DPO

Rule-based data

依靠strategies like execution feedback and answer matching,利用SFT對一批新的prompt采樣,通過Rule檢測的,作為chosen,否則作為rejected,當(dāng)然也需要人工審核。

數(shù)據(jù)量

150,000 training pairs。

訓(xùn)練recipe

標(biāo)準(zhǔn)DPO(未提及使用了length-normalized DPO或者SimPO等變種),Online Merging Optimizer,lr = 7e-7,訓(xùn)練1個epoch。

Online Merging Optimizer:https://arxiv.org/abs/2405.17931

4.3 GRPO

相關(guān)原理見deepseek-V3一節(jié)中的GRPO。

RM的訓(xùn)練數(shù)據(jù)

采樣什么模型?部署多個不同數(shù)據(jù)配比和對齊方法訓(xùn)練的模型,針對每個prompt選取不同的模型進(jìn)行采樣,溫度也開得比較高。原因:不同模型能夠在不同的能力維度上表現(xiàn)出差異,數(shù)據(jù)質(zhì)量和多樣性更好。

GRPO數(shù)據(jù)

GRPO的prompts和RM訓(xùn)練的Prompts相同。

Trick

訓(xùn)練期間處理prompt data的順序由RM評估的reward score方差決定。方差較高的prompt會被優(yōu)先處理,以確保更有效的學(xué)習(xí)。

超參設(shè)置

每個query采樣8次。2048 global batch size and 2048 samples in each episode。

本文轉(zhuǎn)載自??NLP工作站??,作者: hadiii ????


標(biāo)簽
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦