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

給你數(shù)據(jù)和算力,你也成不了 OpenAI

發(fā)布于 2024-10-25 13:24
瀏覽
0收藏

最近在研究大模型訓(xùn)練和微調(diào)相關(guān)的內(nèi)容,聽領(lǐng)導(dǎo)說的最多的一句話“那不是有數(shù)據(jù)有算力就能搞定的嗎”,于是調(diào)研了下 qwen 系列的訓(xùn)練細(xì)節(jié)。

再整理過程中,再次感慨,怪不得有了數(shù)據(jù)和算力,也不是每家公司都是 OpenAI。

Qwen2.5-Math

QWEN2.5-MATH TECHNICAL REPORT: TOWARD MATHEMATICAL EXPERT MODEL VIA SELF- IMPROVEMENT

1. 預(yù)訓(xùn)練階段

Qwen2.5-Math 的預(yù)訓(xùn)練階段是在 Qwen2-Math 的基礎(chǔ)上進(jìn)行改進(jìn)的。這個階段的主要目標(biāo)是構(gòu)建一個高質(zhì)量、數(shù)學(xué)內(nèi)容豐富的預(yù)訓(xùn)練數(shù)據(jù)集。

數(shù)據(jù)處理

  1. 數(shù)據(jù)召回:
  • 使用 FastText 分類器從網(wǎng)絡(luò)源(如 Common Crawl)中召回?cái)?shù)學(xué)相關(guān)數(shù)據(jù)。
  • 采用迭代訓(xùn)練策略,每個 epoch 使用更多數(shù)學(xué)數(shù)據(jù)來不斷提升分類器性能。
  • 利用已召回?cái)?shù)據(jù)的元信息(如 URL)擴(kuò)展數(shù)據(jù)池,以識別遺漏的數(shù)學(xué)相關(guān)數(shù)據(jù)。
  1. 數(shù)據(jù)去重:
  • 使用 MinHash 等技術(shù)對相似的數(shù)學(xué)文檔進(jìn)行過濾。
  1. 數(shù)據(jù)質(zhì)量過濾:
  • 使用 Qwen2-0.5B-Instruct 模型評估潛在數(shù)據(jù)條目的質(zhì)量。
  • 根據(jù)語言模型給出的評分,優(yōu)先選擇高質(zhì)量數(shù)據(jù)納入最終數(shù)據(jù)集。
  1. 合成數(shù)據(jù)生成:
  • 使用 Qwen2-72B-Instruct 模型生成大量數(shù)學(xué)預(yù)訓(xùn)練語料。
  • 利用已收集的高質(zhì)量數(shù)學(xué)數(shù)據(jù)作為參考材料。
  • 從參考中提取和精煉現(xiàn)有的數(shù)學(xué)問答數(shù)據(jù)。
  • 直接生成新的數(shù)學(xué)問答對。

訓(xùn)練設(shè)置

  • 數(shù)據(jù)集:Qwen Math Corpus v2,包含超過 1 萬億個 token。
  • 初始化:從 Qwen2.5 系列基礎(chǔ)模型初始化參數(shù)。
  • 上下文長度:4K tokens。
  • 模型規(guī)模:提供 1.5B、7B 和 72B 三種規(guī)模的模型。

2. 監(jiān)督微調(diào)階段 (Supervised Fine-tuning, SFT)

SFT 階段主要針對鏈?zhǔn)剿季S (Chain-of-Thought, CoT) 和工具集成推理 (Tool-Integrated Reasoning, TIR) 兩種能力進(jìn)行訓(xùn)練。

CoT 數(shù)據(jù)處理

  1. 數(shù)據(jù)集構(gòu)建:

580K 英文和 500K 中文數(shù)學(xué)問題。

  • 來源包括 GSM8K、MATH、NuminaMath 等標(biāo)注數(shù)據(jù)集和 K-12 數(shù)學(xué)問題集。
  1. 數(shù)據(jù)合成:
  • 使用 MuggleMath 方法從標(biāo)注數(shù)據(jù)演化生成新問題。
  • 使用難度評分模型對問題集進(jìn)行分類,以保持不同難度水平的平衡分布。
  1. 回答生成:
  • 采用迭代方法,利用拒絕采樣、獎勵建模和標(biāo)注答案指導(dǎo)。
  • 對于有標(biāo)注答案的問題,從候選池中選擇 top-k 正確答案的推理路徑。
  • 對于合成問題,使用加權(quán)多數(shù)投票機(jī)制推斷最可能正確的推理路徑。

TIR 數(shù)據(jù)處理

  1. 數(shù)據(jù)集構(gòu)建:
  • 190K 標(biāo)注問題和 205K 合成問題。
  • 來源包括 GSM8K、MATH、CollegeMath、NuminaMath 等數(shù)據(jù)集。
  1. 數(shù)據(jù)合成:
  • 使用 MuggleMath 和 DotaMath 技術(shù)在 GSM8K 和 MATH 訓(xùn)練集上進(jìn)行查詢演化。
  1. 回答生成:
  • 對于標(biāo)注問題,使用在線拒絕微調(diào) (RFT) 迭代生成工具集成推理路徑。
  • 在每次 RFT 迭代中,對當(dāng)前最佳模型進(jìn)行多次核采樣,增加困難問題的樣本大小。
  • 對于合成問題,使用從在線 RFT 過程中得到的最優(yōu)模型生成推理樣本。

訓(xùn)練設(shè)置

  • 訓(xùn)練周期:3 個 epoch
  • 序列長度:4,096 tokens
  • 批量大小:

72B 模型:256

1.5B 和 7B 模型:128

  • 學(xué)習(xí)率:
  • 72B 模型:5 × 10^-6
  • 1.5B 和 7B 模型:2 × 10^-5
  • 學(xué)習(xí)率調(diào)度:逐漸衰減到 7 × 10^-7

3. 獎勵模型訓(xùn)練階段 (Reward Model, RM)

數(shù)據(jù)處理

  • 數(shù)據(jù)集:361K 英文和 257K 中文數(shù)學(xué)問題,每個問題配對 6 個來自 Qwen2.5-Math 的樣本回答。
  • 標(biāo)注策略:

根據(jù)回答的最終答案正確性確定正負(fù)樣本。

正確答案標(biāo)記為正樣本,錯誤答案標(biāo)記為負(fù)樣本。

過濾掉所有回答全對或全錯的情況。

通過使用不同規(guī)模和版本的模型生成回答,確保數(shù)據(jù)集難度分布均衡和正負(fù)樣本比例平衡。

訓(xùn)練策略

  • 初始化:從監(jiān)督微調(diào)模型初始化。
  • 模型架構(gòu)調(diào)整:

將語言建模頭替換為標(biāo)量值頭(兩個線性層)。

  • 損失函數(shù):獎勵模型使用列表式排序損失:

給你數(shù)據(jù)和算力,你也成不了 OpenAI -AI.x社區(qū)

其中, 表示獎勵模型的輸出, 是問題, 是對應(yīng)的回答。

4. 強(qiáng)化學(xué)習(xí)階段 (Reinforcement Learning, RL)

訓(xùn)練策略

采用群組相對策略優(yōu)化 (Group Relative Policy Optimization, GRPO)

目標(biāo)函數(shù)

群組相對策略優(yōu)化 (Group Relative Policy Optimization, GRPO) 的目標(biāo)函數(shù):

給你數(shù)據(jù)和算力,你也成不了 OpenAI -AI.x社區(qū)

獎勵塑型

結(jié)合規(guī)則驗(yàn)證器和獎勵模型的獎勵:

其中, 是獎勵模型的輸出, 是規(guī)則驗(yàn)證器的稀疏獎勵, 設(shè)置為 0.5。

這樣的格式化使公式更加清晰,并且符合 LaTeX 語法,可以在支持 LaTeX 渲染的 Markdown 環(huán)境中正確顯示。

實(shí)現(xiàn)細(xì)節(jié)

  • 基于開源 RLHF 框架 ChatLearn
  • 查詢選擇:從獎勵模型的訓(xùn)練集中選擇,保留 2 到 5 個正確回答的查詢
  • 采樣策略:每個查詢采樣 32 個回應(yīng)
  • 訓(xùn)練設(shè)置:
  • 7B 模型:每個 episode 4,096 個樣本,學(xué)習(xí)率 1 × 10^-5
  • 72B 模型:每個 episode 2,048 個樣本,學(xué)習(xí)率 5 × 10^-6
  • 全局 batch size:512
  • KL 系數(shù):1 × 10^-3

Qwen2.5-Coder

Technical Report Qwen2.5-Coder Technical Report

1. 預(yù)訓(xùn)練階段

Qwen2.5-Coder的預(yù)訓(xùn)練分為兩個主要階段:文件級預(yù)訓(xùn)練和倉庫級預(yù)訓(xùn)練。

1.1 數(shù)據(jù)處理

1.1.1 數(shù)據(jù)來源
  • 源代碼數(shù)據(jù):來自GitHub的92種編程語言的公共倉庫,包括Pull Requests、Commits、Jupyter Notebooks和Kaggle數(shù)據(jù)集。
  • 文本-代碼對應(yīng)數(shù)據(jù):從Common Crawl中提取,包括代碼相關(guān)的文檔、教程、博客等。
  • 合成數(shù)據(jù):使用CodeQwen1.5生成的大規(guī)模合成數(shù)據(jù)集。
  • 數(shù)學(xué)數(shù)據(jù):來自Qwen2.5-Math的預(yù)訓(xùn)練語料庫。
  • 文本數(shù)據(jù):來自Qwen2.5模型的高質(zhì)量通用自然語言數(shù)據(jù)。
1.1.2 數(shù)據(jù)清洗
  • 對GitHub數(shù)據(jù)應(yīng)用了一系列基于規(guī)則的過濾方法。
  • 對文本-代碼混合數(shù)據(jù)集采用了粗到細(xì)的層級過濾方法,使用較小的模型(如fastText)構(gòu)建清洗管道。
  • 對合成數(shù)據(jù)引入執(zhí)行器進(jìn)行驗(yàn)證,確保只保留可執(zhí)行的代碼。
1.1.3 數(shù)據(jù)混合比例

經(jīng)過實(shí)驗(yàn),最終選擇了70%代碼、20%文本和10%數(shù)學(xué)的數(shù)據(jù)混合比例。最終的預(yù)訓(xùn)練數(shù)據(jù)集包含5.2萬億個token。

1.2 文件級預(yù)訓(xùn)練

1.2.1 訓(xùn)練目標(biāo)
  • 下一個token預(yù)測
  • 填空任務(wù)(Fill-in-the-Middle, FIM)
1.2.2 FIM格式

<|fim_prefix|>{code_pre}<|fim_suffix|>{code_suf}<|fim_middle|>{code_mid}<|endoftext|>
1.2.3 訓(xùn)練參數(shù)
  • 最大訓(xùn)練序列長度:8,192 tokens
  • 位置編碼:RoPE (Rotary Position Embedding)

1.3 倉庫級預(yù)訓(xùn)練

1.3.1 目的

增強(qiáng)模型的長文本理解能力。

1.3.2 訓(xùn)練參數(shù)
  • 訓(xùn)練序列長度:從8,192 tokens擴(kuò)展到32,768 tokens
  • RoPE基頻:從10,000調(diào)整為1,000,000
  • 使用YARN機(jī)制,使模型能夠處理長達(dá)131,072 (132K) tokens的序列
1.3.3 數(shù)據(jù)

使用了約300B的高質(zhì)量長代碼數(shù)據(jù)。

1.3.4 FIM格式

<|repo_name|>{repo_name}
<|file_sep|>{file_path1}
{file_content1}
<|file_sep|>{file_path2}
{file_content2}
<|file_sep|>{file_path3}
<|fim_prefix|>{code_pre}<|fim_suffix|>{code_suf}<|fim_middle|>{code_fim}<|endoftext|>

2. 指令微調(diào)階段

2.1 數(shù)據(jù)準(zhǔn)備

2.1.1 多語言編程代碼識別
  • 微調(diào)CodeBERT模型以識別近100種編程語言。
  • 保留主流編程語言的指令數(shù)據(jù),隨機(jī)丟棄長尾語言的部分指令數(shù)據(jù)。
  • 移除大部分不包含代碼片段的樣本。
2.1.2 GitHub指令合成
  • 使用LLM從代碼片段生成指令。
  • 使用代碼LLM生成響應(yīng)。
  • 使用LLM評分器過濾低質(zhì)量樣本。
2.1.3 多語言代碼指令數(shù)據(jù)

實(shí)施了一個多語言多代理協(xié)作框架:

  • 創(chuàng)建特定語言的智能代理。
  • 實(shí)施協(xié)作討論協(xié)議。
  • 使用自適應(yīng)內(nèi)存系統(tǒng)。
  • 進(jìn)行跨語言討論。
  • 開發(fā)協(xié)同評估指標(biāo)。
  • 實(shí)施自適應(yīng)指令生成。
2.1.4 基于清單的指令數(shù)據(jù)評分

評估以下方面:

  1. 問題與答案的一致性
  2. 問題與答案的相關(guān)性
  3. 問題與答案的難度
  4. 代碼是否存在
  5. 代碼正確性
  6. 代碼清晰度
  7. 代碼注釋
  8. 易學(xué)性

最終得分計(jì)算:

其中是一系列預(yù)定義的權(quán)重。

2.1.5 多語言沙箱進(jìn)行代碼驗(yàn)證

包括以下模塊:

  1. 語言支持模塊
  2. 樣本代碼庫
  3. 單元測試生成器
  4. 代碼執(zhí)行引擎
  5. 結(jié)果分析器

2.2 訓(xùn)練策略

2.2.1 粗到細(xì)微調(diào)
  • 首先使用數(shù)千萬低質(zhì)量但多樣化的指令樣本進(jìn)行微調(diào)。
  • 然后使用數(shù)百萬高質(zhì)量指令樣本進(jìn)行監(jiān)督微調(diào)。
  • 對于同一查詢,使用LLM生成多個候選答案,然后用LLM評分選擇最佳答案進(jìn)行監(jiān)督微調(diào)。
2.2.2 混合調(diào)優(yōu)
  • 構(gòu)造帶有FIM格式的指令對,以保持模型的長文本理解能力。
  • 使用tree-sitter-languages解析代碼片段,提取基本邏輯塊作為中間代碼進(jìn)行填充。
  • 優(yōu)化指令模型時,主要使用標(biāo)準(zhǔn)SFT數(shù)據(jù),輔以少量FIM指令樣本。

3. 數(shù)據(jù)去污染

  • 使用10-gram重疊方法進(jìn)行數(shù)據(jù)去污染。
  • 移除了關(guān)鍵數(shù)據(jù)集,如HumanEval、MBPP、GSM8K和MATH。
  • 移除了與測試數(shù)據(jù)有10-gram字符串級別重疊的任何訓(xùn)練數(shù)據(jù)。

4. 模型架構(gòu)

Qwen2.5-Coder有兩種規(guī)模的模型:1.5B和7B參數(shù)。它們的主要特征如下:

配置

Qwen2.5-Coder 1.5B

Qwen2.5-Coder 7B

隱藏層大小

1,536

3,584

層數(shù)

28

28

查詢頭數(shù)

12

28

鍵值頭數(shù)

2

4

頭大小

128

128

中間層大小

8,960

18,944

詞嵌入綁定

True

False

詞匯表大小

151,646

151,646

訓(xùn)練token數(shù)

5.5T

5.5T

4.1 特殊token

模型引入了幾個特殊token來更好地理解代碼:

給你數(shù)據(jù)和算力,你也成不了 OpenAI -AI.x社區(qū)


1. 預(yù)訓(xùn)練階段

1.1 數(shù)據(jù)處理

Qwen2 使用了一個新的大規(guī)模、高質(zhì)量的多語言數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,相比 Qwen 和 Qwen1.5,主要改進(jìn)包括:

  1. 質(zhì)量提升:

使用更復(fù)雜的啟發(fā)式和基于模型的方法進(jìn)行過濾

利用 Qwen 模型篩選低質(zhì)量數(shù)據(jù)和合成高質(zhì)量預(yù)訓(xùn)練數(shù)據(jù)

  1. 數(shù)據(jù)擴(kuò)展:
  • 收集了更大量的高質(zhì)量代碼、數(shù)學(xué)和多語言數(shù)據(jù)
  • 支持約 30 種語言
  1. 分布優(yōu)化:
  • 對縮小版模型進(jìn)行實(shí)驗(yàn),優(yōu)化不同來源和領(lǐng)域數(shù)據(jù)的混合比例

最終的預(yù)訓(xùn)練數(shù)據(jù)集從 Qwen1.5 的 3 萬億 tokens 擴(kuò)展到了 7 萬億 tokens。

1.2 模型架構(gòu)

Qwen2 采用基于 Transformer 的架構(gòu),主要特點(diǎn)包括:

  1. 使用 Grouped Query Attention (GQA)
  2. 實(shí)現(xiàn) Dual Chunk Attention (DCA)
  3. 采用 YARN 機(jī)制
  4. 使用 SwiGLU 作為激活函數(shù)
  5. 采用 Rotary Positional Embeddings (RoPE)
  6. 使用 QKV bias
  7. 采用 RMSNorm 和 pre-normalization

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

報告中對預(yù)訓(xùn)練階段的具體超參數(shù)配置沒有詳細(xì)說明。但提到了以下細(xì)節(jié):

  • 序列長度:在預(yù)訓(xùn)練的最后階段,將上下文長度從 4,096 tokens 擴(kuò)展到 32,768 tokens
  • RoPE 基頻:從 10,000 修改為 1,000,000
  • 采用 YARN 機(jī)制和 Dual Chunk Attention 機(jī)制,使模型能夠處理長達(dá) 131,072 tokens 的序列

2. 后訓(xùn)練階段

2.1 數(shù)據(jù)處理

后訓(xùn)練數(shù)據(jù)包括兩部分:

  1. 示范數(shù)據(jù)
  2. 偏好數(shù)據(jù)

數(shù)據(jù)構(gòu)建過程包括協(xié)作數(shù)據(jù)標(biāo)注和自動數(shù)據(jù)合成。

2.2 監(jiān)督微調(diào) (SFT)

  • 數(shù)據(jù)集:超過 500,000 個示例
  • 訓(xùn)練輪數(shù):2 epochs
  • 序列長度:32,768 tokens
  • 學(xué)習(xí)率:從 逐漸降低到
  • 權(quán)重衰減:0.1
  • 梯度裁剪:最大值為 1.0

2.3 基于人類反饋的強(qiáng)化學(xué)習(xí) (RLHF)

RLHF 訓(xùn)練包括離線訓(xùn)練和在線訓(xùn)練兩個階段:

  1. 離線訓(xùn)練:
  • 使用預(yù)編譯的偏好數(shù)據(jù)集 P
  • 采用 Direct Preference Optimization (DPO)
  1. 在線訓(xùn)練:
  • 使用獎勵模型進(jìn)行實(shí)時反饋
  • 每個 episode 中,從當(dāng)前策略模型采樣多個回復(fù)
  • 使用 DPO 進(jìn)行優(yōu)化

采用 Online Merging Optimizer 來緩解對齊稅。

3. 模型配置

以 Qwen2-72B 為例的主要配置:

  • Hidden Size: 8,192
  • 層數(shù): 80
  • Query Heads: 64
  • KV Heads: 8
  • Head Size: 128
  • Intermediate Size: 29,568
  • 詞匯表大小: 151,646
  • 預(yù)訓(xùn)練 tokens: 7T

4. 長上下文處理

為增強(qiáng)長上下文能力,Qwen2 采取了以下策略:

  1. 在預(yù)訓(xùn)練最后階段將上下文長度從 4,096 tokens 擴(kuò)展到 32,768 tokens
  2. 引入大量高質(zhì)量的長文本數(shù)據(jù)
  3. 將 RoPE 的基頻從 10,000 修改為 1,000,000
  4. 采用 YARN 機(jī)制和 Dual Chunk Attention 機(jī)制

這些策略使模型能夠處理長達(dá) 131,072 tokens 的序列,同時保持高性能。

5. 詞匯表和分詞器

Qwen2 使用與 Qwen 相同的基于字節(jié)級字節(jié)對編碼的分詞器:

  • 詞匯表大小:151,643 個常規(guī) token 和 3 個控制 token
  • 有效嵌入大小略大于詞匯表大小(出于分布式訓(xùn)練考慮)

技術(shù)報告提供了 Qwen2 模型訓(xùn)練的整體框架和一些關(guān)鍵細(xì)節(jié),但對于預(yù)訓(xùn)練階段的具體超參數(shù)配置并沒有詳細(xì)說明。報告更多地關(guān)注了模型的架構(gòu)創(chuàng)新、數(shù)據(jù)處理策略、以及后訓(xùn)練階段的具體實(shí)施細(xì)節(jié)。

Qwen

1. 預(yù)訓(xùn)練階段

1.1 數(shù)據(jù)處理

  • Qwen 使用了多樣化的數(shù)據(jù)集,包括公開網(wǎng)頁文檔、百科全書、書籍、代碼等
  • 數(shù)據(jù)集是多語言的,主要包含英語和中文
  • 對公開網(wǎng)頁數(shù)據(jù)進(jìn)行了以下處理:

從 HTML 中提取文本

使用語言識別工具確定語言

進(jìn)行精確匹配和模糊匹配的去重

使用規(guī)則和機(jī)器學(xué)習(xí)方法過濾低質(zhì)量數(shù)據(jù)

使用多個模型對內(nèi)容進(jìn)行評分,包括語言模型、文本質(zhì)量評分模型和不當(dāng)內(nèi)容識別模型

人工抽樣審核確保質(zhì)量

有選擇地上采樣某些來源的數(shù)據(jù)

  • 納入了高質(zhì)量的指令數(shù)據(jù)以提高零樣本和少樣本性能
  • 移除了與測試集有 13-gram 重疊的指令樣本
  • 最終構(gòu)建了一個包含多達(dá) 3 萬億 tokens 的數(shù)據(jù)集

1.2 分詞

  • 使用字節(jié)對編碼(BPE)作為分詞方法
  • 基于開源的 fast BPE tokenizer tiktoken,選擇 cl100k_base 詞表作為起點(diǎn)
  • 增加了常用中文字符和詞,以及其他語言的詞匯
  • 將數(shù)字分割成單個數(shù)字
  • 最終詞表大小約為 152K

1.3 模型架構(gòu)

Qwen 采用修改版的 Transformer 架構(gòu):

  • 嵌入層和輸出投影層:權(quán)重不共享
  • 位置編碼:使用 RoPE(Rotary Positional Embedding)
  • 偏置:在大多數(shù)層移除偏置,但在注意力的 QKV 層添加偏置以增強(qiáng)外推能力
  • 歸一化:使用 pre-norm 和 RMSNorm 代替?zhèn)鹘y(tǒng)的 layer normalization
  • 激活函數(shù):使用 SwiGLU,將前饋網(wǎng)絡(luò)的維度從 4 倍隱藏層大小減少到 8/3 倍

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

  • 使用自回歸語言建模作為訓(xùn)練目標(biāo)
  • 訓(xùn)練上下文長度為 2048
  • 使用 Flash Attention 以提高計(jì)算效率和減少內(nèi)存使用
  • 優(yōu)化器:AdamW

β1 = 0.9

β2 = 0.95

? = 10^-8

  • 學(xué)習(xí)率:使用余弦衰減調(diào)度,衰減到峰值學(xué)習(xí)率的 10%
  • 使用 BFloat16 混合精度訓(xùn)練以保證訓(xùn)練穩(wěn)定性

不同規(guī)模模型的具體參數(shù)如下:

參數(shù)數(shù)量

隱藏層大小

注意力頭數(shù)

層數(shù)

學(xué)習(xí)率

批次大小

訓(xùn)練 tokens

1.8B

2048

16

24

3.0e-4

4M

2.2T

7B

4096

32

32

3.0e-4

4M

2.4T

14B

5120

40

40

3.0e-4

4M

3.0T

1.5 上下文長度擴(kuò)展

為了在推理時擴(kuò)展模型的上下文長度,Qwen 采用了以下技術(shù):

  • NTK-aware interpolation:通過調(diào)整 RoPE 的基礎(chǔ)來防止高頻信息丟失
  • Dynamic NTK-aware interpolation:動態(tài)地按塊改變尺度,避免性能嚴(yán)重下降
  • LogN-Scaling:根據(jù)上下文長度與訓(xùn)練長度的比例重新縮放查詢和鍵的點(diǎn)積
  • Window attention:限制注意力范圍,防止模型關(guān)注過遠(yuǎn)的 tokens

2. 監(jiān)督微調(diào)(SFT)階段

2.1 數(shù)據(jù)處理

  • 注釋了多種風(fēng)格的對話數(shù)據(jù)
  • 關(guān)注自然語言生成以提高模型的有用性
  • 避免使用可能限制模型能力的提示模板
  • 注釋了與安全相關(guān)的數(shù)據(jù),如暴力、偏見和色情等
  • 使用 ChatML 格式描述元數(shù)據(jù)(如角色)和內(nèi)容

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

  • 訓(xùn)練目標(biāo):下一個 token 預(yù)測
  • 對系統(tǒng)和用戶輸入應(yīng)用損失掩碼
  • 優(yōu)化器:AdamW

β1 = 0.9

β2 = 0.95

? = 10^-8

  • 序列長度:2048
  • 批次大小:128
  • 總訓(xùn)練步數(shù):4000
  • 學(xué)習(xí)率:
  • 在前 1430 步逐漸增加
  • 峰值為 2e-6
  • 權(quán)重衰減:0.1
  • Dropout:0.1
  • 梯度裁剪:1.0

3. 強(qiáng)化學(xué)習(xí)(RLHF)階段

3.1 偏好模型預(yù)訓(xùn)練(PMP)

  • 構(gòu)建了包含約 6600 個詳細(xì)標(biāo)簽的分類系統(tǒng)
  • 實(shí)現(xiàn)了考慮多樣性和復(fù)雜性的平衡采樣算法
  • 使用不同大小的 Qwen 模型和不同的采樣策略生成多樣化的響應(yīng)
  • 根據(jù)標(biāo)注指南評估響應(yīng),并根據(jù)分?jǐn)?shù)形成比較對

3.2 獎勵模型訓(xùn)練

  • 使用相同大小的預(yù)訓(xùn)練語言模型 Qwen 初始化
  • 在原始 Qwen 模型基礎(chǔ)上添加了一個池化層,用于基于特定結(jié)束 token 提取句子獎勵
  • 學(xué)習(xí)率:固定為 3e-6
  • 批次大小:64
  • 序列長度:2048
  • 訓(xùn)練輪數(shù):1 輪

3.3 PPO 訓(xùn)練

  • 使用四個模型:策略模型、價值模型、參考模型和獎勵模型
  • 在開始 PPO 之前,先更新價值模型 50 步
  • 對每個查詢同時采樣兩個響應(yīng)
  • KL 散度系數(shù):0.04
  • 基于運(yùn)行平均值歸一化獎勵
  • 策略模型學(xué)習(xí)率:1e-6
  • 價值模型學(xué)習(xí)率:5e-6
  • 價值損失裁剪:0.15
  • 推理時策略 top-p:0.9
  • 使用預(yù)訓(xùn)練梯度緩解對齊稅

4. 代碼專用模型訓(xùn)練(CODE-QWEN)

4.1 代碼預(yù)訓(xùn)練

  • 基于 QWEN 基礎(chǔ)模型繼續(xù)預(yù)訓(xùn)練
  • 在約 900 億 tokens 的代碼數(shù)據(jù)上訓(xùn)練
  • 上下文長度擴(kuò)展到 8192
  • 優(yōu)化器:AdamW

β1 = 0.9

β2 = 0.95

? = 10^-8

  • 學(xué)習(xí)率:
  • CODE-QWEN-14B: 6.0e-5
  • CODE-QWEN-7B: 3.0e-5
  • 3% 預(yù)熱迭代,無學(xué)習(xí)率衰減

4.2 代碼監(jiān)督微調(diào)

  • 采用多階段 SFT 策略
  • 優(yōu)化器:AdamW

β1 = 0.9

β2 = 0.95

? = 10^-8

  • 學(xué)習(xí)率:
  • 14B 模型: 2.0e-6
  • 7B 模型: 1.0e-5
  • 使用余弦學(xué)習(xí)率調(diào)度(3% 預(yù)熱步數(shù)),然后保持恒定

5. 數(shù)學(xué)專用模型訓(xùn)練(MATH-QWEN-CHAT)

  • 在增強(qiáng)的數(shù)學(xué)指令數(shù)據(jù)集上進(jìn)行數(shù)學(xué) SFT
  • 序列長度:1024
  • 掩蔽系統(tǒng)和用戶輸入以加速收斂
  • 優(yōu)化器:AdamW

與 SFT 相同的超參數(shù)

  • 峰值學(xué)習(xí)率:2e-5
  • 訓(xùn)練步數(shù):50,000

Baichuan2

1. 預(yù)訓(xùn)練階段

1.1 數(shù)據(jù)處理

  • 數(shù)據(jù)來源:網(wǎng)頁、書籍、研究論文、代碼庫等多樣化來源
  • 數(shù)據(jù)量:總計(jì)2.6萬億tokens
  • 數(shù)據(jù)處理:

使用大規(guī)模去重和聚類系統(tǒng),支持LSH和密集嵌入特征

對文檔、段落和句子進(jìn)行去重和評分

評分用于預(yù)訓(xùn)練中的數(shù)據(jù)采樣

1.2 模型架構(gòu)

  • 基于Transformer架構(gòu),但做了一些修改:

7B模型使用RoPE位置編碼,13B模型使用ALiBi位置編碼

使用SwiGLU激活函數(shù)

使用xFormers實(shí)現(xiàn)的內(nèi)存高效注意力機(jī)制

輸入前使用Layer Normalization

使用RMSNorm實(shí)現(xiàn)

1.3 訓(xùn)練超參數(shù)

  • 優(yōu)化器:AdamW

β1 = 0.9, β2 = 0.95

權(quán)重衰減:0.1

梯度裁剪:0.5

  • 學(xué)習(xí)率:
  • 7B模型:2e-4
  • 13B模型:1.5e-4
  • 2000步線性預(yù)熱,然后余弦衰減
  • 批量大小:未明確說明
  • 訓(xùn)練步數(shù):未明確說明,但提到訓(xùn)練了2.6萬億tokens

1.4 其他訓(xùn)練細(xì)節(jié)

  • 使用BFloat16混合精度訓(xùn)練
  • 使用NormHead穩(wěn)定訓(xùn)練:歸一化輸出嵌入
  • 使用max-z loss限制logits大小:

L_max-z = 2e-4 * z^2

其中z是最大logit值

2. 對齊階段

2.1 監(jiān)督微調(diào)(SFT)

  • 數(shù)據(jù):超過10萬個人類標(biāo)注的提示樣本
  • 標(biāo)注原則:類似Claude的有幫助性和無害性原則
  • 質(zhì)量控制:使用交叉驗(yàn)證

2.2 強(qiáng)化學(xué)習(xí)(RLHF)

2.2.1 獎勵模型訓(xùn)練
  • 數(shù)據(jù):按6個主類別、30個次級類別和200多個三級類別對提示進(jìn)行分類
  • 損失函數(shù):與InstructGPT相同
  • 評估:不同響應(yīng)分?jǐn)?shù)差異越大,獎勵模型區(qū)分準(zhǔn)確率越高
2.2.2 PPO訓(xùn)練
  • 使用4個模型:
  • Actor模型:生成響應(yīng)
  • Reference模型:計(jì)算KL懲罰(參數(shù)固定)
  • Reward模型:提供整體獎勵(參數(shù)固定)
  • Critic模型:學(xué)習(xí)每個token的價值
  • 訓(xùn)練細(xì)節(jié):
  • Critic模型預(yù)熱20步
  • 梯度裁剪:0.5
  • 學(xué)習(xí)率:5e-6(恒定)
  • PPO clip閾值ε = 0.1
  • KL懲罰系數(shù)β = 0.2,衰減到0.005
  • 訓(xùn)練350輪迭代

3. 安全性增強(qiáng)

  • 預(yù)訓(xùn)練階段:

數(shù)據(jù)過濾去除有害內(nèi)容

增加正面價值領(lǐng)域數(shù)據(jù)的采樣概率

  • 對齊階段:
  • 構(gòu)建紅隊(duì)測試程序
  • 使用多值監(jiān)督采樣方法生成不同安全級別的響應(yīng)
  • 使用DPO方法高效利用有限標(biāo)注數(shù)據(jù)
  • 使用整合Helpful和Harmless目標(biāo)的Reward Model進(jìn)行PPO訓(xùn)練

Baichuan 2模型的訓(xùn)練過程涵蓋了預(yù)訓(xùn)練、監(jiān)督微調(diào)和強(qiáng)化學(xué)習(xí)等多個階段,每個階段都有其特定的數(shù)據(jù)處理、模型架構(gòu)和訓(xùn)練策略。論文還特別強(qiáng)調(diào)了在整個訓(xùn)練過程中對模型安全性的關(guān)注和改進(jìn)。

 

本文轉(zhuǎn)載自 ??芝士AI吃魚??,作者: 芝士AI吃魚

標(biāo)簽
已于2024-10-25 13:26:03修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 波多野结衣一区二区三区 | 成人免费区一区二区三区 | 日韩成人在线免费观看 | 久久成人精品视频 | 亚洲毛片在线观看 | 天天色综 | 国产羞羞视频在线观看 | 日本网站免费在线观看 | 久草视频观看 | 亚洲一区二区三区在线视频 | 色婷婷国产精品综合在线观看 | 99精品视频在线观看 | 欧美精品一区二区三区四区 | 国产日韩精品在线 | 一区二区三区久久 | 视频一区二区在线 | 99精品久久久久久 | 丝袜 亚洲 欧美 日韩 综合 | 日韩中文字幕在线不卡 | 欧美一二三四成人免费视频 | 欧美日韩国产综合在线 | 久久机热| 国产精品成人一区二区三区 | 午夜精品久久久久久久久久久久久 | 日韩精品一区二区三区中文在线 | 国产91丝袜在线播放 | 免费黄色在线观看 | 特级黄一级播放 | 亚洲高清一区二区三区 | 午夜羞羞| 干干干操操操 | 日本电影免费完整观看 | 久久久精品一区二区三区 | 成人av在线播放 | 亚洲视频国产 | 鸳鸯谱在线观看高清 | 国产精品欧美一区二区 | 国产午夜精品一区二区三区嫩草 | 国产精品福利在线 | 久久99精品国产99久久6男男 | 欧美精产国品一二三区 |