成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

長文 | 大模型Post-Training總結

發布于 2025-1-3 14:05
瀏覽
0收藏

今天給大家帶來一篇知乎好友@hadiii的一篇文章,匯總Llama3.1、DeepSeek-V3、TüLU 3和Qwen2.5的后訓練Post-Training技術。

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

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

1.Llama3.1

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

長文 | 大模型Post-Training總結-AI.x社區

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

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

數據構成主要是SFT data和Preference data。而Reward Modeling和DPO,對Preference data又有不同的使用方式。

  • SFT data:每輪Rejection Sampling的結果 + 針對特定能力的合成數據 + 少量的人工標注數據。
  • Preference data:每一輪訓練都構建一批新的Preference data,Preference data積累式地增長。詳細過程見1.2 Preference data部分。

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

1.1 SFT

長文 | 大模型Post-Training總結-AI.x社區

SFT數據構成

Rejection Sampling:

采樣模型多次,讓RM選出最好的回復,作為SFT data的一部分。部分細節如下:

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

SFT訓練細節:

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


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

1.2 Preference data

長文 | 大模型Post-Training總結-AI.x社區

Preference data數據構成

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.

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

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迭代細節:

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

長文 | 大模型Post-Training總結-AI.x社區

Llama2 RM ranking loss

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

長文 | 大模型Post-Training總結-AI.x社區

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

DPO迭代細節:

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

長文 | 大模型Post-Training總結-AI.x社區

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

DPO discussion

DPO團隊觀察到,只要SFT模型在Long context任務中表現出色,DPO中僅使用短上下文訓練數據,并不會對長上下文性能產生負面影響。

1.4 數據清洗

Llama 3給出的數據清洗方法都很務實。

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

其他各種方法還有:

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

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

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

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

Instag用于標注SFT數據的意圖和語義標簽。詳見:https://arxiv.org/pdf/2308.07074

2 DeepSeek-V3

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

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

2.1 SFT

DeepSeek-V3構建了一個1.5M(V2也是大概1.5M)的指令微調數據集,并且構建數據時按照ReasoningData和Non-Reasoning Data做了區分。

推理相關數據

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

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

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

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

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

非推理數據

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

SFT 細節

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

Discussion:DeepSeek-R1 的蒸餾效果

長文 | 大模型Post-Training總結-AI.x社區

The contribution of distillation from DeepSeek-R1

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

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

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

2.2 RM

DeepSeek-V3 RL過程訓練了兩種RM:rule-based and model-based。

Rule-Based RM

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

Model-Based RM

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

Discussion:Self-Rewarding

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

聯想:DeepSeekMath

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

2.3 GRPO

GRPO是PPO的簡化版本,最核心的改動是砍掉Value Model,依靠多次采樣的Reward,得出baseline分數來計算advantage。DeepSeek-V3未在GRPO一節提供較多細節。GRPO的優勢函數為:

長文 | 大模型Post-Training總結-AI.x社區

優化目標為:

長文 | 大模型Post-Training總結-AI.x社區

GRPO 圖示 from DeepSeek-V2

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

3 TüLU 3

paper: https://allenai.org/tulu

長文 | 大模型Post-Training總結-AI.x社區

An overview of the TüLU 3 recipe.

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

3.1 SFT

數據構成

長文 | 大模型Post-Training總結-AI.x社區

WildChat,OpenAssistant,NoRobots,,FLAN v2等各種質量還不錯的開源數據。人工標注或者好的閉源模型的response保留,沒有response的蒸餾4o。

數據實驗

長文 | 大模型Post-Training總結-AI.x社區

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

Recipe

長文 | 大模型Post-Training總結-AI.x社區

超參

batch size 128,Max Length 4096,Linear LR。對于8B模型,學習率:5e-6。對于70B模型,學習率:2e-6。訓2個epoch。

Trick:Batch Aggregation

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

長文 | 大模型Post-Training總結-AI.x社區

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

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

3.2 Preference Finetuning

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

優化算法實驗

長文 | 大模型Post-Training總結-AI.x社區

優化算法實驗

長文 | 大模型Post-Training總結-AI.x社區

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總結-AI.x社區

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

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

長文 | 大模型Post-Training總結-AI.x社區

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

長文 | 大模型Post-Training總結-AI.x社區

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

長文 | 大模型Post-Training總結-AI.x社區

Recipe

長文 | 大模型Post-Training總結-AI.x社區

3.3 RLVR(RL with verifiable rewards)

長文 | 大模型Post-Training總結-AI.x社區

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過程中,發現如果同時使用verifiable reward和RM的reward,會引入額外的噪聲,導致表現下降。

4 Qwen2.5

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

Qwen2.5的后訓練路徑是SFT + Two-stage Reinforcement Learning,即SFT- >DPO->GRPO。報告總體細節不多。

4.1 SFT

Math

Qwen2.5-Math 的 CoT 數據 + RS。

Coding

Qwen2.5-Coder 的指令微調數據。

...(不再列舉,細節不多)

Recipe

最終,SFT構建了包含1M的大規模數據集,訓練使用32K的序列長度,訓練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,當然也需要人工審核。

數據量

150,000 training pairs。

訓練recipe

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

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

4.3 GRPO

相關原理見deepseek-V3一節中的GRPO。

RM的訓練數據

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

GRPO數據

GRPO的prompts和RM訓練的Prompts相同。

Trick

訓練期間處理prompt data的順序由RM評估的reward score方差決定。方差較高的prompt會被優先處理,以確保更有效的學習。

超參設置

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

本文轉載自??NLP工作站??,作者: hadiii ????


收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产精品久久久 | 一区二区三区国产精品 | 国精产品一区一区三区免费完 | 区一区二区三在线观看 | 成人福利在线 | 日本电影韩国电影免费观看 | 91久久久久久 | 久久精品国产v日韩v亚洲 | 国产精品久久久久久久久久久新郎 | 超碰成人在线观看 | 天天想天天干 | 麻豆一区二区三区精品视频 | 中文字幕亚洲欧美日韩在线不卡 | 亚洲精品日日夜夜 | 国产精品欧美一区二区 | 日日摸夜夜添夜夜添特色大片 | 亚洲成人三级 | 91精品一区二区三区久久久久久 | 91高清在线观看 | 成人av一区二区三区 | 亚洲午夜av久久乱码 | 国产蜜臀 | 国产美女自拍视频 | 在线免费观看黄色网址 | 盗摄精品av一区二区三区 | 亚洲国产中文字幕 | 欧美电影在线观看网站 | 日韩欧美一区二区三区 | 欧美精品久久 | 香蕉一区二区 | 特级生活片| 日韩中文一区 | 美女天天操 | 国产三区四区 | 国户精品久久久久久久久久久不卡 | 成人精品一区二区 | 97精品超碰一区二区三区 | 欧美日韩在线一区二区三区 | 亚洲 欧美 日韩在线 | 欧美日韩电影一区二区 | 国产精品日韩欧美一区二区三区 |