Jackrong commited on
Commit
099f809
·
verified ·
1 Parent(s): c82396f

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +38 -16
README.md CHANGED
@@ -11,19 +11,16 @@ language:
11
  ---
12
 
13
 
14
- - **Developed by:** Jackrong
15
  - It is a test that uses GRPO.
16
 
17
- **gpt-oss-120b-Distill-Phi-4-14B** 是一个基于 `microsoft/phi-4` (14B) 优化的推理语言模型。测试设计了**8192**的上下文窗口,并通过一个三阶段训练流程——**SFT(冷启动)→ RLHF (GRPO) → SFT**——进行微调,旨在实现卓越的多步骤推理能力。
18
 
19
- - 该模型的核心方法论源于 **"Phi-4-reasoning" (arXiv:2504.21318)** 论文,但与论文不同的是我将强化学习的推理引导部分到了前面,通过**GRPO + SFT** 显式“思维链”(Chain-of-Thought, CoT)。
20
-
21
- * **教师模型**: 与论文中的教师o3-mini模型的标准微调不同,本模型采用了开源模型**gpt-oss120b** 的蒸馏数据集作为微调知识库,从而继承其深厚的推理风格和知识体系。
22
- * **训练架构**:采用 **SFT → RLHF → SFT** 训练管线,结合监督学习与强化学习的优势,尝试引导Instruct模型产生推理能力。
23
- * **文本**:支持 **8192 tokens** 的上下文长度,为推理的任务而设计。
24
-
25
- ## 3. 训练流程 (Training Procedure)
26
 
 
27
  ### 阶段一:基础监督微调 (Foundational SFT)
28
 
29
  * **冷启动 (Cold Start):**
@@ -36,7 +33,7 @@ language:
36
 
37
  具体来说,这个冷启动阶段旨在:
38
 
39
- 1. **提升可读性与对齐人类偏好:** 纯 RL 训练出的 `DeepSeek-R1-Zero` 虽然推理能力强,但其输出存在“可读性差”和“语言混用”(例如中英文混合)的问题。冷启动阶段通过使用数千条“展示了对话式、与人类思维过程对齐的”高质量数据进行微调,旨在让模型的表达方式和思考过程更符合人类的习惯和偏好。
40
 
41
  2. **为后续 RL 阶段打下基础:** 这一步相当于对模型进行一次“校准”,使其在保持强大推理能力的同时,也能遵循人类期望的语言和格式规范。这为后续融合了更复杂任务(如通用对话、写作等)的强化学习阶段铺平了道路,确保最终模型(`DeepSeek-R1`)不仅推理能力强,而且通用性好、用户体验更佳。
42
 
@@ -68,31 +65,30 @@ language:
68
  4. **策略更新 (Policy Update):** 模型根据计算出的相对优势来更新策略网络。奖励高于组平均水平的输出会得到正向激励,而低于平均水平的则会受到抑制。这使得策略梯度更新更稳定,并且与奖励模型基于比较的训练方式天然对齐。
69
 
70
  * **数据集:** 为了引导模型的推理能力,本阶段构建了一个混合数据集,结合了经典的英文基准和高质量的中文蒸馏数据。
71
- * **`openai/gsm8k`**: 一个广泛使用的英文小学数学应用题数据集。代码中从此数据集的 `train` 集中随机抽样 2800 条样本。其标准答案(以 `#### 123` 格式结尾)被提取出来,作为评估最终答案正确性的标准 (Ground Truth),直接用于 `correctness_reward_func` 奖励函数的计算。
72
  * **`open-r1/DAPO-Math-17k-Processed`**: 一个高质量的高难度数学推理偏好数据集。: 数据集中的 prompt 作为作“用户问题”,而 solution 列则被视为“标准答案”。并且进行里长度过滤,确保所有训练样本都能被模型完整处理,计算了所有提示分词后的长度分布,并筛选出长度在90%分位数以下的样本,避免了因超长序列导致的截断问题。check_answer & check_numbers 函数负责评估模型在 <answer> 标签内给出的最终答案的质量。
73
  * **`Jackrong/Chinese-Qwen3-235B-Thinking-2507-Distill-100k`(辅助,我只用来做防止过拟合数学格式)**: 一个包含中文思维链的蒸馏数据集。代码中从此数据集的 `train` 集中20250924随机种子抽样 2000 条样本。其 `Answer_content` 字段提供了完整的参考答案,不仅用于评估内容相似度,还作为长度、风格和格式对齐的参照标准,为多个奖励函数(`content_alignment_reward_func`, `zh_quality_reward_func`)提供指导。
74
  这三个数据集经过预处理、过滤和合并后,形成一个打乱的问题-答案对的训练集,供 `GRPOTrainer` 在每个训练周期中使用。
75
 
76
  * **奖励系统 (Reward System):** 为了从多个维度精细地引导模型优化,代码实现了一套复杂且全面的奖励函数体系(按理来说应该在SFT之后再进行第四步的RL进行偏好对其,资源有限理解万岁各位),将多个奖励和惩罚信号加权组合,共同塑造模型的行为。该系统可分为以下几个模块:
77
  1. **核心目标奖励:**
78
- * `correctness_reward_func`: 基于 `gsm8k`和`DAPO-Math-17k-Processed` 的答案,对最终数值计算的正确性给予最高的正向奖励,是确保模型学习解决问题的核心信号。
79
  * `strict_format_reward_func`: 严格执行`<think>...</think>`的推理输出格式,将答案放到<answer>与</answer>标签内,方便奖励答案函数核对。对格式错误(如标签缺失、重复或乱序)进行直接扣分,保证了推理过程的可解析性。
80
 
81
  2. **质量与对齐奖励:**
82
  * **内容与长度对齐:** 通过 `content_alignment_reward_func` (基于 unigram F1 分数) 和 `ref_length_alignment_reward_func`,鼓励模型生成在内容和长度上都与高质量参考答案相似的回答。
83
- * **风格与格式对齐:** 通过 `md_style_reward_func`, `style_match_to_ref_reward_func` 和 `math_layout_reward_func`,激励模型使用更具可读性的 Markdown 格式(如标题、列表)、在数学问题中正确使用 LaTeX 排版,并学习参考答案中的优秀格式(如表格、代码块)。
84
- * **中文质量:** `zh_quality_reward_func` 专门针对中文内容,综合评估中文占比、内容F1分数和Markdown结构相似度。
85
 
86
  3. **行为正则化与惩罚:**
87
  * **反冗余与短视:** `anti_redundancy_penalty_func` 惩罚思维链中的重复性短语和填充词。`min_answer_penalty_func` 则惩罚那些推理看似详尽但最终答案过于简短的行为。统计了蒸馏数据集中思维链中的一些推理词语比如:因为,所以,那么,不对,检查,再次检查,核实..等中英文词汇。
88
- * **长度控制:** `length_reward_func` 和 `think_soft_cap_penalty_func` 共同作用,有个函数会判断题目内容,根据问题类型(数学题 vs. 通用长文)为推理和答案设定了理想的长度区间,并对超过1800个字符的超长“思考”过程施加软性惩罚,这与研究中观察到RL会自发增长CoT长度的现象相呼应。
89
 
90
  4. **探索与多样性激励:**
91
  * `intra_sample_style_diversity_reward_func` & `intra_sample_reasoning_diversity_reward_func`: 这是一组新的奖励函数,用于评估同一问题生成的多个候选答案之间的差异性。通过奖励风格和推理路径更多样的输出,主动激励模型跳出单一的最优路径,探索更广阔的解题策略空间,从而提升模型的鲁棒性 (Maj@K performance)。
92
 
93
 
94
 
95
-
96
  ### 阶段三:对齐与能力巩固 (Post-RL SFT)
97
 
98
  * **参考论文:** **"Phi-4-reasoning Technical Report" (arXiv:2504.21318)**
@@ -116,13 +112,39 @@ language:
116
 
117
 
118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
120
 
121
 
 
122
 
123
 
 
 
124
 
125
 
126
 
 
127
 
128
 
 
 
11
  ---
12
 
13
 
14
+ - **Developed by:** Soren
15
  - It is a test that uses GRPO.
16
 
17
+ **gpt-oss-120b-Distill-Phi-4-14B** 是一个基于 `microsoft/phi-4` (14B) 基座模型的GRPO推理测试模型。测试设计了**8192**的上下文窗口,并通过一个三阶段训练流程——**SFT(冷启动)→ RLHF (GRPO) → SFT**——进行微调,旨在实现卓越的多步骤推理能力。
18
 
19
+ - 该模型的核心方法论源于 **DeepSeek-R1 (Nature, vol. 645)** ,**DeepSeekMath" (arXiv:2402.03300v3)**,**"Phi-4-reasoning" (arXiv:2504.21318)** 三篇论文。
20
+ - 但与Phi4论文不同的是我将强化学习的推理引导部分到了前面,通过**SFT + GRPO + SFT** 的方法,生成显式“思维链”(Chain-of-Thought, CoT),尝试引导**Instruct模型**通过强化学习和监督学习产生推理能力。
21
+ - 与论文中的教师o3-mini模型的标准微调不同,本模型采用了开源模型**gpt-oss120b** 的蒸馏数据集作为微调知识库,从而继承其深厚的推理风格和知识体系。
 
 
 
 
22
 
23
+
24
  ### 阶段一:基础监督微调 (Foundational SFT)
25
 
26
  * **冷启动 (Cold Start):**
 
33
 
34
  具体来说,这个冷启动阶段旨在:
35
 
36
+ 1. **提升可读性与对齐人类偏好:** 纯 RL 训练出的 **DeepSeek-R1-Zero** 虽然推理能力强,但其输出存在“可读性差”和“语言混用”(例如中英文混合)的问题。冷启动阶段通过使用数千条“展示了对话式、与人类思维过程对齐的”高质量数据进行微调,旨在让模型的表达方式和思考过程更符合人类的习惯和偏好。
37
 
38
  2. **为后续 RL 阶段打下基础:** 这一步相当于对模型进行一次“校准”,使其在保持强大推理能力的同时,也能遵循人类期望的语言和格式规范。这为后续融合了更复杂任务(如通用对话、写作等)的强化学习阶段铺平了道路,确保最终模型(`DeepSeek-R1`)不仅推理能力强,而且通用性好、用户体验更佳。
39
 
 
65
  4. **策略更新 (Policy Update):** 模型根据计算出的相对优势来更新策略网络。奖励高于组平均水平的输出会得到正向激励,而低于平均水平的则会受到抑制。这使得策略梯度更新更稳定,并且与奖励模型基于比较的训练方式天然对齐。
66
 
67
  * **数据集:** 为了引导模型的推理能力,本阶段构建了一个混合数据集,结合了经典的英文基准和高质量的中文蒸馏数据。
68
+ * **`openai/gsm8k`**: 一个广泛使用的英文小学数学应用题数据集。代码中从此数据集的中随机抽样 2800 条样本。其标准答案(以 `#### 123` 格式结尾)被提取出来,作为评估最终答案正确性的标准 (Ground Truth),直接用于 `correctness_reward_func` 奖励函数的计算。
69
  * **`open-r1/DAPO-Math-17k-Processed`**: 一个高质量的高难度数学推理偏好数据集。: 数据集中的 prompt 作为作“用户问题”,而 solution 列则被视为“标准答案”。并且进行里长度过滤,确保所有训练样本都能被模型完整处理,计算了所有提示分词后的长度分布,并筛选出长度在90%分位数以下的样本,避免了因超长序列导致的截断问题。check_answer & check_numbers 函数负责评估模型在 <answer> 标签内给出的最终答案的质量。
70
  * **`Jackrong/Chinese-Qwen3-235B-Thinking-2507-Distill-100k`(辅助,我只用来做防止过拟合数学格式)**: 一个包含中文思维链的蒸馏数据集。代码中从此数据集的 `train` 集中20250924随机种子抽样 2000 条样本。其 `Answer_content` 字段提供了完整的参考答案,不仅用于评估内容相似度,还作为长度、风格和格式对齐的参照标准,为多个奖励函数(`content_alignment_reward_func`, `zh_quality_reward_func`)提供指导。
71
  这三个数据集经过预处理、过滤和合并后,形成一个打乱的问题-答案对的训练集,供 `GRPOTrainer` 在每个训练周期中使用。
72
 
73
  * **奖励系统 (Reward System):** 为了从多个维度精细地引导模型优化,代码实现了一套复杂且全面的奖励函数体系(按理来说应该在SFT之后再进行第四步的RL进行偏好对其,资源有限理解万岁各位),将多个奖励和惩罚信号加权组合,共同塑造模型的行为。该系统可分为以下几个模块:
74
  1. **核心目标奖励:**
75
+ * `correctness_reward_func`: 基于 `gsm8k`和`DAPO-Math-17k-Processed` 的参考答案,对最终数值计算的正确性给予最高的正向奖励,是确保模型学习解决问题的核心信号。
76
  * `strict_format_reward_func`: 严格执行`<think>...</think>`的推理输出格式,将答案放到<answer>与</answer>标签内,方便奖励答案函数核对。对格式错误(如标签缺失、重复或乱序)进行直接扣分,保证了推理过程的可解析性。
77
 
78
  2. **质量与对齐奖励:**
79
  * **内容与长度对齐:** 通过 `content_alignment_reward_func` (基于 unigram F1 分数) 和 `ref_length_alignment_reward_func`,鼓励模型生成在内容和长度上都与高质量参考答案相似的回答。
80
+ * **风格与格式对齐:** 通过 `md_style_reward_func`, `style_match_to_ref_reward_func` 和 `math_layout_reward_func`,激励模型使用更具可读性的 Markdown 格式(标题、列表)、在数学问题中正确使用 LaTeX 排版,并学习参考答案中的优秀格式(表格、代码块)。
81
+ * **中文质量与语言一致性:** `zh_quality_reward_func` 专门针对中文内容,综合评估中文占比、内容F1分数和Markdown结构相似度。
82
 
83
  3. **行为正则化与惩罚:**
84
  * **反冗余与短视:** `anti_redundancy_penalty_func` 惩罚思维链中的重复性短语和填充词。`min_answer_penalty_func` 则惩罚那些推理看似详尽但最终答案过于简短的行为。统计了蒸馏数据集中思维链中的一些推理词语比如:因为,所以,那么,不对,检查,再次检查,核实..等中英文词汇。
85
+ * **长度控制:** `length_reward_func` 和 `think_soft_cap_penalty_func` 共同作用,有个函数会判断题目内容,根据问题类型(数学题 vs. 通用长文)为推理和答案设定了理想的长度区间,并对超过2000个字符的超长“思考”过程施加软性惩罚,这与研究中观察到RL会自发增长CoT长度的现象相呼应。
86
 
87
  4. **探索与多样性激励:**
88
  * `intra_sample_style_diversity_reward_func` & `intra_sample_reasoning_diversity_reward_func`: 这是一组新的奖励函数,用于评估同一问题生成的多个候选答案之间的差异性。通过奖励风格和推理路径更多样的输出,主动激励模型跳出单一的最优路径,探索更广阔的解题策略空间,从而提升模型的鲁棒性 (Maj@K performance)。
89
 
90
 
91
 
 
92
  ### 阶段三:对齐与能力巩固 (Post-RL SFT)
93
 
94
  * **参考论文:** **"Phi-4-reasoning Technical Report" (arXiv:2504.21318)**
 
112
 
113
 
114
 
115
+ ### 模型实际表现:
116
+
117
+ - 测试问题:
118
+ -
119
+ ![Screenshot 2025-09-25 at 12.13.26 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/xJA9Vq8SMkZAyV2rsdYfg.png)
120
+
121
+ -模型的思维链:
122
+ ![Screenshot 2025-09-25 at 12.13.10 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/yafSEiPicZeCKdCZxhF9l.png)
123
+
124
+
125
+ -模型的回答:
126
+ ![Screenshot 2025-09-25 at 12.13.39 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/p0-Nx2q7hx5pM9qSXm7o1.png)]()
127
+
128
+
129
+
130
+
131
+ -但是
132
+
133
+ ![Screenshot 2025-09-25 at 12.15.49 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/HWSxCVOWbx7QoyKJcBd19.png)
134
+
135
+ ![Screenshot 2025-09-25 at 12.16.08 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/gDSBJXx9V3rULAbnvo8W3.png)
136
 
137
 
138
 
139
+ ![Screenshot 2025-09-25 at 12.16.26 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/1vws0fUAnS5bUH6vXdAnC.png)
140
 
141
 
142
+ -孟德尔
143
+ ![Screenshot 2025-09-25 at 12.18.05 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/vjMV10ikK6wXaauSdiRf0.png)
144
 
145
 
146
 
147
+ ![Screenshot 2025-09-25 at 12.19.25 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/zDFzALxGrq75LgDDnRtIe.png)…]()
148
 
149
 
150
+ ![Screenshot 2025-09-25 at 12.20.30 PM](https://cdn-uploads.huggingface.co/production/uploads/66309bd090589b7c65950665/1ztI5GTJgfRrbtjnen97s.png)