32B 小模型追平百亿闭源大模型:FitOne 领域后训练三段式(CPT→SFT→DAPO)
0. 为什么值得读
大模型垂直化不是新话题,但把一条完整领域后训练 pipeline 讲透、用消融把每个阶段的必要性一个个抠出来、还敢和 GPT-5.4-Mini / Gemini-3.1-Flash / DeepSeek-V3.2 同台比领域分的论文并不多。FitOne 是一篇"配方型"工作——方法上没有惊天创新,但工程链路完整、实验诚实、结论可迁移。
它要解决的问题很实在:科学健身教练(Scientific Fitness Coaching, SFC)的金标准是 ACSM-EP、NSCA-CSCS 这类持证专家的一对一指导,贵、稀缺、难规模化;通用大模型直接上又缺乏领域知识的深度整合,在需要跨学科知识 + 可验证分步推理 + 安全约束的复杂场景下表现拉胯。FitOne 的答案是:给 Qwen3 做一套领域专属的三段式后训练。
1. 背景与动机
健身早已从"随便练练"变成融合运动生理学、运动医学、营养学的系统工程。作者把痛点归为三条:专家资源稀缺(持证教练贵、少、难覆盖偏远地区);通用 LLM 不够用(SFC 要求跨学科知识整合 + 可验证分步推理,因为它安全敏感——要根据生理状况动态调整计划、在健康约束下改方案、设计支撑恢复的营养策略);已有工作太窄(多聚焦睡眠、可穿戴解读等单一子域)。
⚠️ 这里先埋一个效度伏笔。 动机反复强调的是"动态、个性化、带医疗约束的开放式带练"——这是一种程序性/情境性能力(procedural competence)。而后文全部领域评测用的是认证考试(选择题),测的是陈述性知识(declarative knowledge)。这两者之间的构念效度(construct validity)鸿沟,是本文第 5 节要重点追问的核心。
2. 方法与数学推导
整条链路是三个串行阶段,每一阶段建立在前一阶段之上,逐步把基座"拧"向 SFC 领域,同时尽量保住通用能力。
2.1 阶段一:领域持续预训练(CPT)
数据采集。 在领域专家指导下把 SFC 拆成八个核心子领域,从 ACSM《运动测试与运动处方指南》、同行评审文献、大学教材等权威源采集,并掺入社区验证的开源通用数据防遗忘。
| 子领域 | 对应能力 |
|---|---|
| 减脂 Weight Loss | 体重管理与身体成分优化 |
| 生物化学 Biochemistry | 阐明身体活动如何影响体内生理过程 |
| 运动医学 Sports Medicine | 运动损伤预防与康复 |
| 运动营养 Sports Nutrition | 循证的个性化运动营养指导 |
| 运动生理学 Exercise Physiology | 分析身体系统对运动的适应性变化 |
| 力量与耐力 Strength & Endurance | 肌肉力量与体能耐力提升 |
| 运动方法与技术 Exercise Methods & Techniques | 通过多样化方法优化运动表现 |
| 运动处方定制 Exercise Prescription Customization | 基于 FITT 原则(频率/强度/时间/类型)生成计划 |
知识工程(四步)。 解析(OCR+NLP 统一转 Markdown、去版式噪声)→ 归一化(统一异构格式与结构)→ 精炼(去过时/噪声/重复)→ 混合(RegMix 求最优混合分布)。最终得到 30B tokens 的高质量语料:
K=KSFC∪KGEN,K={k1,k2,…,kn}K = K_{\text{SFC}} \cup K_{\text{GEN}}, \qquad K = \{k_1, k_2, \ldots, k_n\}K=KSFC∪KGEN,K={k1,k2,…,kn}
⚙️ RegMix 到底在优化什么。 论文只给了引用。其核心是把"数据配比"当回归问题解:设 w∈Δm−1w \in \Delta^{m-1}w∈Δm−1 为 mmm 个数据域的混合比例(落在概率单纯形上,∑dwd=1, wd≥0\sum_d w_d = 1,\ w_d \ge 0∑dwd=1, wd≥0),先用大量小代理模型在不同 www 上训练、记录验证损失,拟合一个从配比到损失的回归代理 L^(w)\hat L(w)L^(w),再求解
w⋆=argminw∈Δm−1L^(w)w^\star = \arg\min_{w \in \Delta^{m-1}} \hat L(w)w⋆=argw∈Δm−1minL^(w)
并把这个在小模型上外推得到的 w⋆w^\starw⋆ 用于大模型训练。它把"炼丹式调配比"变成可预测的优化,这正是"防灾难性遗忘"需要的——SFC 与通用数据的比例不是拍脑袋,而是让预测的联合验证损失最低。
领域感知 CPT。 从 Qwen3 原始 checkpoint 初始化,官方配置在 KKK 上持续预训练。注意这一步的训练目标仍是标准的自回归 MLE(见 2.2 的推导),只是数据换成了领域混合语料。
2.2 阶段二:混合监督微调(SFT)
给模型注入可验证的分步推理能力,这对安全敏感应用里"透明、可追溯"至关重要。
数据构造:知识引导生成 + 多维校验。 按八子域定义结构化标签体系 T={t1,…,tm}T = \{t_1, \ldots, t_m\}T={t1,…,tm},为每个 tjt_jtj 实例化专属生成 Agent AtjA_{t_j}Atj。给定标签与领域知识片段 ki∈Ktj⊆KSFCk_i \in K_{t_j} \subseteq K_{\text{SFC}}ki∈Ktj⊆KSFC,生成推理三元组:
(qi,ti,ai)=Atj(ki,tj;θAtj)(q_i, t_i, a_i) = A_{t_j}(k_i, t_j; \theta_{A_{t_j}})(qi,ti,ai)=Atj(ki,tj;θAtj)
其中 qiq_iqi 是问题、tit_iti 是分步推理(thinking)、aia_iai 是答案。再用独立第三方 LLM 沿七个维度校验推理轨迹(内部一致性、术语重叠率、推理步数、逻辑连贯性、内容多样性、任务-领域相关性、指令对齐度),过滤得 DSFCD_{\text{SFC}}DSFC;掺入开源通用指令集 DGEND_{\text{GEN}}DGEN,合并 D=DSFC∪DGEND = D_{\text{SFC}} \cup D_{\text{GEN}}D=DSFC∪DGEN。
两阶段混合 SFT。 Step 1 在完整 DSFCD_{\text{SFC}}DSFC + 大比例 DGEND_{\text{GEN}}DGEN 上训练(学多样推理路径、保泛化);Step 2 提高 DSFCD_{\text{SFC}}DSFC 采样权重(强化领域关键任务)。给定输入 QQQ 与目标序列 Y=[T;A]Y = [T; A]Y=[T;A]:
LSFT=− E(Q,Y)∼D[∑t=1∣Y∣logπθ(yt∣Q,Y<t)]\mathcal{L}_{\text{SFT}} = -\,\mathbb{E}_{(Q,Y)\sim\mathcal{D}}\left[\sum_{t=1}^{|Y|} \log \pi_\theta(y_t \mid Q, Y_{<t})\right]LSFT=−E(Q,Y)∼D t=1∑∣Y∣logπθ(yt∣Q,Y<t)
⚙️ 推导一:SFT 目标 = 最小化前向 KL(mode-covering)。 由概率链式法则,序列似然可因子化为逐 token 条件概率之积:
πθ(Y∣Q)=∏t=1∣Y∣πθ(yt∣Q,Y<t)\pi_\theta(Y \mid Q) = \prod_{t=1}^{|Y|} \pi_\theta(y_t \mid Q, Y_{<t})πθ(Y∣Q)=t=1∏∣Y∣πθ(yt∣Q,Y<t)
取负对数、对数据分布求期望,即得上面的 token 级交叉熵。把它按每个 QQQ 拆开:
EY∼pdata(⋅∣Q)[−logπθ(Y∣Q)]=H(pdata(⋅∣Q))⏟与 θ 无关+DKL(pdata(⋅∣Q) ∥ πθ(⋅∣Q))\mathbb{E}_{Y \sim p_{\text{data}}(\cdot \mid Q)}\big[-\log \pi_\theta(Y \mid Q)\big] = \underbrace{H\big(p_{\text{data}}(\cdot \mid Q)\big)}_{\text{与 }\theta\text{ 无关}} + D_{\mathrm{KL}}\big(p_{\text{data}}(\cdot \mid Q)\,\big\|\,\pi_\theta(\cdot \mid Q)\big)EY∼pdata(⋅∣Q)[−logπθ(Y∣Q)]=与 θ 无关 H(pdata(⋅∣Q))+DKL(pdata(⋅∣Q) πθ(⋅∣Q))
因为熵项不含 θ\thetaθ,所以
argminθLSFT=argminθ EQ[DKL(pdata ∥ πθ)]\arg\min_\theta \mathcal{L}_{\text{SFT}} = \arg\min_\theta\ \mathbb{E}_Q\big[D_{\mathrm{KL}}(p_{\text{data}} \,\|\, \pi_\theta)\big]argθminLSFT=argθmin EQ[DKL(pdata∥πθ)]
即 SFT 在最小化前向 KL。前向 KL 是**质量覆盖(mass-covering)**的:pdatap_{\text{data}}pdata 有支撑的地方 πθ\pi_\thetaπθ 必须有概率,否则 log(p/πθ)→∞\log(p/\pi_\theta)\to\inftylog(p/πθ)→∞ 惩罚爆炸。这解释了为什么 SFT 阶段要"广撒网"覆盖多样推理路径——它天然倾向覆盖所有数据模式。记住这个性质,它与下一阶段 RL 的 mode-seeking 恰成对照,是整条 pipeline 逻辑的数学底座。
⚙️ 推导二:SFT 梯度只落在补全 token 上。 在 teacher forcing 下:
∇θLSFT=− E(Q,Y)∼D[∑t=1∣Y∣∇θlogπθ(yt∣Q,Y<t)]\nabla_\theta \mathcal{L}_{\text{SFT}} = -\,\mathbb{E}_{(Q,Y)\sim\mathcal{D}}\left[\sum_{t=1}^{|Y|} \nabla_\theta \log \pi_\theta(y_t \mid Q, Y_{<t})\right]∇θLSFT=−E(Q,Y)∼D t=1∑∣Y∣∇θlogπθ(yt∣Q,Y<t)
prompt QQQ 被 loss mask 屏蔽、不回传梯度;监督信号覆盖 Y=[T;A]Y=[T;A]Y=[T;A],即思维链 TTT 与答案 AAA 都被监督——这正是"可验证分步推理"能被学到的原因:模型不是只学最终答案,而是学整条 CoT。
⚙️ 推导三:两阶段 = 分布退火。 记 Step sss 的训练分布 Ds=αs DSFC+(1−αs) DGEN\mathcal{D}_s = \alpha_s\, D_{\text{SFC}} + (1-\alpha_s)\, D_{\text{GEN}}Ds=αsDSFC+(1−αs)DGEN,α2>α1\alpha_2 > \alpha_1α2>α1。整个 SFT 是对目标 ED1[L]→ED2[L]\mathbb{E}_{\mathcal{D}_1}[\mathcal{L}] \to \mathbb{E}_{\mathcal{D}_2}[\mathcal{L}]ED1[L]→ED2[L] 的顺序(同伦式)最小化:先在宽分布上找到既覆盖领域又不丢通用的解,再把分布向领域退火、把解拉向领域极小点。这是一种课程学习(curriculum),用退火而非硬切换来对抗"专精即遗忘"。
2.3 阶段三:DAPO 强化学习
在 SFT 模型基础上,用 SFC 为中心的奖励做 RL。RL 数据构造从 DSFC,DGEND_{\text{SFC}}, D_{\text{GEN}}DSFC,DGEN 抽子集,并上采样两类样本:SFT 评估识别出的难例 + 稀有关键边界 case(如带复杂医疗约束的场景)。策略是集中火力打最弱区域,而非反复练已掌握任务。
2.3.1 混合奖励函数
SFC 既有客观认证考题、又有开放式处方,奖励要兼顾两种任务:
① 准确率奖励,随任务可验证性动态切换。闭式任务(有确定答案的选择题)用精确匹配:
REM(O,A)={1,O 与 A 完全匹配0,否则R_{\text{EM}}(O, A) = \begin{cases} 1, & O \text{ 与 } A \text{ 完全匹配} \\ 0, & \text{否则} \end{cases}REM(O,A)={1,0,O 与 A 完全匹配否则
开放式任务(如个性化营养规划,无单一标准答案)用基于领域专家偏好标注训练的奖励模型给连续标量:
RRM(O,A)=RM(O,A)R_{\text{RM}}(O, A) = \text{RM}(O, A)RRM(O,A)=RM(O,A)
② 格式奖励,针对需严格结构化输出的任务。如运动处方必须显式覆盖 FITT-VP 原则(频率、强度、时间、类型、量、进阶),用预定义启发式独立于语义地校验结构:
RPattern(O,A)={1,O 满足预定义格式0,否则R_{\text{Pattern}}(O, A) = \begin{cases} 1, & O \text{ 满足预定义格式} \\ 0, & \text{否则} \end{cases}RPattern(O,A)={1,0,O 满足预定义格式否则
总奖励按任务类别 ccc 组合(RAccR_{\text{Acc}}RAcc 依 ccc 选 REMR_{\text{EM}}REM 或 RRMR_{\text{RM}}RRM):
R(O,A)=RAcc(O,A,c)+RPattern(O,A)R(O, A) = R_{\text{Acc}}(O, A, c) + R_{\text{Pattern}}(O, A)R(O,A)=RAcc(O,A,c)+RPattern(O,A)
⚙️ 奖励结构的两面性——一个审稿人必须点出的量纲问题。
好的一面(本文补充的正面观察): 闭式任务奖励 REM+RPattern∈{0,1,2}R_{\text{EM}}+R_{\text{Pattern}} \in \{0,1,2\}REM+RPattern∈{0,1,2} 是离散的,开放式任务 RRM+RPatternR_{\text{RM}}+R_{\text{Pattern}}RRM+RPattern 含连续项,两者量纲不同。但因为 DAPO 的优势是组内 z-score 标准化(见下),每组只与自己的同任务样本比较,标准化后不同任务类型的优势被统一到零均值单位方差空间,天然可比。这是 group-relative 归一化一个常被忽略的优点——它让"混合奖励尺度"这件麻烦事自动消解。
坏的一面(风险): 加性结构意味着格式分与内容分同权可加。对开放式任务,一个"格式完美但医学上错误"的处方,仍能白拿 RPattern=1R_{\text{Pattern}}=1RPattern=1;若学到的 RM\text{RM}RM 判别力不足,模型有动机去套模板刷格式分而非把内容做对。在一个开人体处方的安全敏感域里,格式合规恰恰是最容易伪造、也最具误导性的信号。这是典型的奖励攻击(reward hacking)暴露面,论文未讨论。
2.3.2 DAPO 目标与四项关键改动
策略 πθ\pi_\thetaπθ 从上一阶段初始化。对每个实例 (Q,A)∼DRL(Q,A)\sim D_{\text{RL}}(Q,A)∼DRL,用参考策略 πθold\pi_{\theta_{\text{old}}}πθold 采一组 GGG 个候选 {Oi}i=1G\{O_i\}_{i=1}^G{Oi}i=1G,最小化 token 级损失:
LDAPO(θ)=− E(Q,A)∼DRL, {Oi}i=1G∼πθold [1∑i=1G∣Oi∣∑i=1G∑t=1∣Oi∣min (ri,t(θ)A^i, clip(ri,t(θ), 1−εlow, 1+εhigh)A^i)]\mathcal{L}_{\text{DAPO}}(\theta) = -\,\mathbb{E}_{(Q,A)\sim\mathcal{D}_{\text{RL}},\,\{O_i\}_{i=1}^{G}\sim\pi_{\theta_{\text{old}}}}\!\left[\frac{1}{\sum_{i=1}^{G}|O_i|}\sum_{i=1}^{G}\sum_{t=1}^{|O_i|}\min\!\Big(r_{i,t}(\theta)\hat{A}_i,\ \text{clip}\big(r_{i,t}(\theta),\,1-\varepsilon_{\text{low}},\,1+\varepsilon_{\text{high}}\big)\hat{A}_i\Big)\right]LDAPO(θ)=−E(Q,A)∼DRL,{Oi}i=1G∼πθold ∑i=1G∣Oi∣1i=1∑Gt=1∑∣Oi∣min(ri,t(θ)A^i, clip(ri,t(θ),1−εlow,1+εhigh)A^i)
s.t.std({Ri}i=1G)>0\text{s.t.}\quad \text{std}\big(\{R_i\}_{i=1}^{G}\big) > 0s.t.std({Ri}i=1G)>0
ri,t(θ)=πθ(Oi,t∣Q,Oi,<t)πθold(Oi,t∣Q,Oi,<t),A^i=Ri−mean({Ri}i=1G)std({Ri}i=1G)r_{i,t}(\theta) = \frac{\pi_\theta(O_{i,t} \mid Q, O_{i,<t})}{\pi_{\theta_{\text{old}}}(O_{i,t} \mid Q, O_{i,<t})}, \qquad \hat{A}_i = \frac{R_i - \text{mean}(\{R_i\}_{i=1}^{G})}{\text{std}(\{R_i\}_{i=1}^{G})}ri,t(θ)=πθold(Oi,t∣Q,Oi,<t)πθ(Oi,t∣Q,Oi,<t),A^i=std({Ri}i=1G)Ri−mean({Ri}i=1G)
要真正读懂这个目标,得沿 PPO → GRPO → DAPO 这条谱系推一遍。
⚙️ 推导四:从策略梯度到组相对基线(GRPO 为何能去掉 critic)。
REINFORCE 的策略梯度为
∇θJ(θ)=EO∼πθ[R(O) ∇θlogπθ(O)]\nabla_\theta J(\theta) = \mathbb{E}_{O\sim\pi_\theta}\big[R(O)\,\nabla_\theta \log \pi_\theta(O)\big]∇θJ(θ)=EO∼πθ[R(O)∇θlogπθ(O)]
它方差极大。引入与动作无关的基线 bbb 不改变期望(无偏),因为
EO∼πθ[b ∇θlogπθ(O)]=b∑Oπθ(O) ∇θπθ(O)πθ(O)=b ∇θ ∑Oπθ(O)=b ∇θ1=0\mathbb{E}_{O\sim\pi_\theta}\big[b\,\nabla_\theta \log \pi_\theta(O)\big] = b\sum_O \pi_\theta(O)\,\frac{\nabla_\theta \pi_\theta(O)}{\pi_\theta(O)} = b\,\nabla_\theta\!\sum_O \pi_\theta(O) = b\,\nabla_\theta 1 = 0EO∼πθ[b∇θlogπθ(O)]=bO∑πθ(O)πθ(O)∇θπθ(O)=b∇θO∑πθ(O)=b∇θ1=0
于是
∇θJ(θ)=E[(R(O)−b) ∇θlogπθ(O)]\nabla_\theta J(\theta) = \mathbb{E}\big[(R(O)-b)\,\nabla_\theta \log \pi_\theta(O)\big]∇θJ(θ)=E[(R(O)−b)∇θlogπθ(O)]
方差最小的基线约为 b⋆≈E[R]b^\star \approx \mathbb{E}[R]b⋆≈E[R]。PPO 用一个与策略同量级的 critic 网络去估 bbb(经 GAE),代价高昂。GRPO 的洞见:对同一 prompt 采一组输出,直接用组均值 Rˉ=1G∑jRj\bar R = \frac{1}{G}\sum_j R_jRˉ=G1∑jRj 作为 E[R]\mathbb{E}[R]E[R] 的蒙特卡洛估计,再除以组内标准差做白化,得到广播到该输出所有 token 的优势:
A^i=Ri−mean({Rj}j=1G)std({Rj}j=1G)\hat A_i = \frac{R_i - \text{mean}(\{R_j\}_{j=1}^G)}{\text{std}(\{R_j\}_{j=1}^G)}A^i=std({Rj}j=1G)Ri−mean({Rj}j=1G)
这样彻底省掉 critic,把值函数估计换成了廉价的组内比较。代价是:优势是序列级、outcome-only 的——OiO_iOi 里每个 token 拿到同一个 A^i\hat A_iA^i,没有逐步信用分配(见 2.3.3 的限制讨论)。
⚙️ 推导五:非对称裁剪 Clip-Higher 到底改了什么(按优势符号分情况)。
把裁剪目标 min(rA^, clip(r,1−εlow,1+εhigh)A^)\min(r\hat A,\ \text{clip}(r,1-\varepsilon_{\text{low}},1+\varepsilon_{\text{high}})\hat A)min(rA^, clip(r,1−εlow,1+εhigh)A^) 按 A^\hat AA^ 符号拆开:
- 当 A^i>0\hat A_i > 0A^i>0(好轨迹,想上调这些 token 概率):
obji,t=A^i⋅min(ri,t, 1+εhigh)(在 ri,t≥1−εlow 区间)\text{obj}_{i,t} = \hat A_i \cdot \min\big(r_{i,t},\ 1+\varepsilon_{\text{high}}\big)\quad(\text{在 }r_{i,t}\ge 1-\varepsilon_{\text{low}}\text{ 区间})obji,t=A^i⋅min(ri,t, 1+εhigh)(在 ri,t≥1−εlow 区间)
一旦 ri,t>1+εhighr_{i,t} > 1+\varepsilon_{\text{high}}ri,t>1+εhigh,目标被夹平、梯度归零。标准 PPO 里 ε\varepsilonε 对称且小,导致低概率 token(探索 token)刚被上调一点就撞到天花板 1+ε1+\varepsilon1+ε,无法充分强化"稀有但正确"的 token——这会造成熵坍缩(entropy collapse),策略过早变确定、丧失多样性。DAPO 单独抬高 εhigh\varepsilon_{\text{high}}εhigh(本文取 0.28>0.200.28 > 0.200.28>0.20),给低概率好 token 更大的上调空间,从而保住策略熵、鼓励探索多样推理路径。
- 当 A^i<0\hat A_i < 0A^i<0(坏轨迹,想下压):
obji,t=A^i⋅max(ri,t, 1−εlow)\text{obj}_{i,t} = \hat A_i \cdot \max\big(r_{i,t},\ 1-\varepsilon_{\text{low}}\big)obji,t=A^i⋅max(ri,t, 1−εlow)
一旦 ri,t<1−εlowr_{i,t} < 1-\varepsilon_{\text{low}}ri,t<1−εlow 梯度归零,εlow\varepsilon_{\text{low}}εlow 保持较小以限制对坏 token 的过度抑制、避免从下方触发坍缩。一句话:εhigh\varepsilon_{\text{high}}εhigh 管探索、εlow\varepsilon_{\text{low}}εlow 管稳定,解耦二者就是 Clip-Higher。
⚙️ 推导六:token 级归一化如何消除长度偏置。
比较两种归一化对 token (i,t)(i,t)(i,t) 的权重。GRPO 的样本级:先按序列长度平均、再按组平均,权重
wi,tsamp=1G ∣Oi∣w^{\text{samp}}_{i,t} = \frac{1}{G\,|O_i|}wi,tsamp=G∣Oi∣1
DAPO 的token 级(本文损失里的 1∑j∣Oj∣\tfrac{1}{\sum_j|O_j|}∑j∣Oj∣1):
wi,ttok=1∑j=1G∣Oj∣w^{\text{tok}}_{i,t} = \frac{1}{\sum_{j=1}^G |O_j|}wi,ttok=∑j=1G∣Oj∣1
两者之比
wi,tsampwi,ttok=∑j=1G∣Oj∣G ∣Oi∣=∣O∣‾∣Oi∣\frac{w^{\text{samp}}_{i,t}}{w^{\text{tok}}_{i,t}} = \frac{\sum_{j=1}^G |O_j|}{G\,|O_i|} = \frac{\overline{|O|}}{|O_i|}wi,ttokwi,tsamp=G∣Oi∣∑j=1G∣Oj∣=∣Oi∣∣O∣
其中 ∣O∣‾\overline{|O|}∣O∣ 是组内平均长度。可见样本级归一化下,短序列(∣Oi∣<∣O∣‾|O_i| < \overline{|O|}∣Oi∣<∣O∣)的每个 token 被放大、长序列被压低——梯度被短输出主导,长 CoT 推理链被系统性欠采。对需要长链推理的 SFC 复杂任务,这是致命的。token 级归一化令每个 token 等权,长推理链才能按其真实贡献参与更新。这也顺带缓解了长度偏置(模型不再因"写短点更容易拿高平均"而退化)。
⚙️ 推导七:动态采样 std({Ri})>0\text{std}(\{R_i\})>0std({Ri})>0 与有效样本量。
若某组 GGG 个输出奖励全相同(全对或全错),则 std=0\text{std}=0std=0、A^i=0/0\hat A_i = 0/0A^i=0/0 退化为 0,该组对梯度零贡献。设一个 batch 有 NNN 组、零方差组占比 ρ\rhoρ,则有效组数为 (1−ρ)N(1-\rho)N(1−ρ)N,梯度均值估计的方差 ∝1(1−ρ)N\propto \dfrac{1}{(1-\rho)N}∝(1−ρ)N1。关键洞察:FitOne 的 RL 起点是"强 Qwen3 + 强 SFT",训练早期大量简单 prompt 会"全对",ρ\rhoρ 很高——恰在你拥有强基座时梯度信号最稀。 约束 std({Ri})>0\text{std}(\{R_i\})>0std({Ri})>0 + 重采样把这些零信息组滤掉、补满 batch,令有效 ρ→0\rho\to 0ρ→0,保持每步都有非零优势可学。这正是论文说 DAPO"防梯度消失、对 SFC 复杂推理尤其有效"的数学原因。
⚙️ 推导八:去掉 KL 惩罚项的取舍。
细看目标——没有 −βDKL(πθ∥πref)-\beta D_{\mathrm{KL}}(\pi_\theta\|\pi_{\text{ref}})−βDKL(πθ∥πref) 项。GRPO 通常带一个到参考策略的 KL 缰绳。DAPO 去掉它,因为长 CoT RL 期望策略大幅偏离 SFT 初始去长出新推理行为,KL 缰绳会束缚这种漂移;同时省掉参考模型的显存/算力。代价是:失去了向可信初始策略的正则约束,过度优化(over-optimization)与奖励攻击的风险上升。而 FitOne 的开放式任务恰恰用了学习到的 RM 作奖励——"去 KL + 学习式 RM"这个组合,在理论上正是 Goodhart 型奖励过优化最危险的配置(见 5.2)。论文靠 Clip-Higher + 动态采样维持训练稳定,但没有把这层风险摆到台面。
2.3.3 一个被 outcome 优势掩盖的限制
由推导四,OiO_iOi 内每个 token 共享同一序列级优势 A^i\hat A_iA^i。这意味着:一条"侥幸答对但中间走过弯路"的轨迹,其错误中间步也会被赋正优势、被一并强化;反之一条"推理正确却答案格式差半点"的轨迹可能整体被压。这是 GRPO/DAPO 这类 outcome-supervised 方法相对**过程监督(process supervision,PRM)**的固有短板——信用分配是粗粒度的。对"分步推理可追溯"是卖点的 SFC,这个粒度问题值得后续用过程奖励来补。
关键超参(实现细节):εlow=0.2, εhigh=0.28\varepsilon_{\text{low}}=0.2,\ \varepsilon_{\text{high}}=0.28εlow=0.2, εhigh=0.28;RL 训 500 rollout step,prompt/response 最长 10000/8192,外加 4096 超长缓冲(软惩罚系数 1.0,即 overlong reward shaping——超长响应给渐变惩罚而非硬截断,避免"答对却被切断"喂错奖励);prompt batch 1024、每 prompt 采 16 response(全局 batch 16384),mini-batch 覆盖 256 prompt(每 rollout 4 次更新);AdamW,恒定 LR 1×10−61\times10^{-6}1×10−6,weight decay 0.01,前 20 step 线性 warmup。SFT 两步各 1 epoch,最大长 8192 + sequence packing,全局 batch 128;8B 用 2×10−5/1×10−52\times10^{-5}/1\times10^{-5}2×10−5/1×10−5(step1/step2)、32B 两步都 1×10−51\times10^{-5}1×10−5。
3. 实验与结果(含审稿人验算)
评测基准。 领域侧:ACSM-EP、NSCA-CSCS 两个专业认证考试,共 11 个表现域。通用侧六大能力:知识推理(MMLU-Redux / CMMLU / C-Eval / GPQA-Diamond / BIG-Bench / GAOKAO-Bench)、数学(MATH-500 / AIME 2024 / AIME 2025)、代码(HumanEval / MBPP / LiveCodeBench v5)、翻译(WMT-24 / FLORES)、指令遵循(IFEval)、幻觉检测(HaluEval)。所有结果为 5 次重复均值。
3.1 主结果:8B(Table II)
ACSM-EP 权重:HFS 33%、EC&BM 20%、EPI 40%、RM&PR 7% | NSCA-CSCS 权重:ES 25%、SP 11%、Nutr 6%、PD 23%、ET 15%、PI 12%、OA 8%
| 模型 | 通用Avg | HFS | EC&BM | EPI | RM&PR | ACSM Total | ES | SP | Nutr | PD | ET | PI | OA | NSCA Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.1-8B | 52.41 | 45.12 | 46.99 | 37.19 | 44.21 | 42.26 | 51.80 | 66.16 | 56.20 | 53.87 | 63.63 | 89.31 | 51.51 | 60.37 |
| Ministral-3-8B | 50.93 | 41.93 | 59.04 | 45.21 | 40.91 | 46.59 | 66.93 | 71.82 | 58.90 | 54.61 | 52.67 | 87.43 | 48.87 | 63.03 |
| InternLM3-8B | 55.35 | 44.44 | 54.32 | 30.02 | 30.18 | 39.65 | 56.14 | 66.34 | 59.32 | 44.35 | 52.43 | 74.03 | 48.12 | 55.69 |
| GLM-4-9B-0414 | 62.27 | 51.44 | 55.26 | 48.83 | 42.87 | 50.56 | 69.44 | 73.30 | 56.86 | 68.99 | 50.11 | 75.99 | 47.30 | 65.12 |
| Qwen3-8B(基座) | 67.90 | 52.64 | 59.84 | 45.93 | 55.36 | 51.59 | 68.18 | 74.83 | 62.76 | 69.03 | 64.12 | 89.98 | 53.84 | 69.64 |
| FitOne-8B | 70.83 | 54.21 | 61.77 | 56.44 | 56.78 | 56.79 | 72.78 | 87.26 | 67.68 | 78.68 | 79.72 | 90.59 | 71.57 | 78.51 |
| 提升 | +4.32% | +2.98% | +3.23% | +22.88% | +2.57% | +10.09% | +6.75% | +16.61% | +7.84% | +13.98% | +24.33% | +0.68% | +32.93% | +12.73% |
3.2 主结果:32B(Table III,仅列 Total)
| 模型 | 通用Avg | ACSM Total | NSCA Total |
|---|---|---|---|
| 10B < 规模 < 100B | |||
| Gemma-3-27B | 75.71 | 65.59 | 78.24 |
| GPT-OSS-20B | 74.76 | 65.39 | 78.52 |
| Qwen3-30B-A3B | 72.76 | 62.51 | 76.66 |
| GLM-4-32B-0414 | 73.49 | 67.78 | 77.99 |
| 规模 > 100B | |||
| DeepSeek-V3.2 | 78.02 | 72.76 | 82.23 |
| Doubao-Seed-2-Lite | 80.13 | 72.33 | 82.64 |
| Gemini-3.1-Flash | 80.25 | 71.28 | 80.97 |
| Qwen3.5-Flash | 84.42 | 75.05 | 80.37 |
| GPT-5.4-Mini | 80.72 | 71.31 | 80.19 |
| Claude-Haiku-4.5 | 85.10 | 74.07 | 79.23 |
| Qwen3-32B(基座) | 72.67 | 69.85 | 78.20 |
| FitOne-32B | 75.19 | 76.35 | 83.68 |
| 提升 | +3.47% | +9.29% | +7.01% |
结论:FitOne-32B 的领域分(76.35 / 83.68)打平甚至超过 DeepSeek-V3.2、Gemini-3.1-Flash、GPT-5.4-Mini 等 100B+ 闭源模型,只在个别子域小幅落后。
3.3 🔍 审稿人验算一:Total 是固定凸组合,且能被复现
论文说 Total 按各域百分比加权。设 wdw_dwd 为域权重(∑dwd=1\sum_d w_d = 1∑dwd=1),则
Total=∑dwd⋅sd\text{Total} = \sum_d w_d \cdot s_dTotal=d∑wd⋅sd
以 FitOne-8B 的 ACSM-EP 代入 (wHFS,wEC&BM,wEPI,wRM&PR)=(0.33,0.20,0.40,0.07)(w_{\text{HFS}},w_{\text{EC\&BM}},w_{\text{EPI}},w_{\text{RM\&PR}})=(0.33,0.20,0.40,0.07)(wHFS,wEC&BM,wEPI,wRM&PR)=(0.33,0.20,0.40,0.07):
0.33(54.21)+0.20(61.77)+0.40(56.44)+0.07(56.78)=17.889+12.354+22.576+3.975=56.79 ✓0.33(54.21) + 0.20(61.77) + 0.40(56.44) + 0.07(56.78) = 17.889 + 12.354 + 22.576 + 3.975 = 56.79\ \checkmark0.33(54.21)+0.20(61.77)+0.40(56.44)+0.07(56.78)=17.889+12.354+22.576+3.975=56.79 ✓
基座 Qwen3-8B 同法得 0.33(52.64)+0.20(59.84)+0.40(45.93)+0.07(55.36)=51.59 ✓0.33(52.64)+0.20(59.84)+0.40(45.93)+0.07(55.36)=51.59\ \checkmark0.33(52.64)+0.20(59.84)+0.40(45.93)+0.07(55.36)=51.59 ✓。NSCA-CSCS 七域加权同样精确复现 78.51 与 69.64。打分口径自洽,数据可信。
3.4 🔍 审稿人验算二:8B 的 ACSM 提升约 81% 只来自 EPI 单一子域
总提升可做贡献度分解:ΔTotal=∑dwd Δsd\Delta\text{Total} = \sum_d w_d\,\Delta s_dΔTotal=∑dwdΔsd。ACSM-EP 上 ΔTotal=56.79−51.59=5.20\Delta\text{Total}=56.79-51.59=5.20ΔTotal=56.79−51.59=5.20,各域贡献:
0.40×10.51⏟EPI=4.20+0.33×1.57⏟HFS=0.52+0.20×1.93⏟EC&BM=0.39+0.07×1.42⏟RM&PR=0.10≈5.20\underbrace{0.40\times10.51}_{\text{EPI}=4.20} + \underbrace{0.33\times1.57}_{\text{HFS}=0.52} + \underbrace{0.20\times1.93}_{\text{EC\&BM}=0.39} + \underbrace{0.07\times1.42}_{\text{RM\&PR}=0.10} \approx 5.20EPI=4.20 0.40×10.51+HFS=0.52 0.33×1.57+EC&BM=0.39 0.20×1.93+RM&PR=0.10 0.07×1.42≈5.20
EPI 一个域就贡献了 4.20/5.20≈80.8%4.20/5.20 \approx 80.8\%4.20/5.20≈80.8% 的全部 ACSM 提升,其余三域合计才约 1 分。而 EPI(Exercise Prescription and Implementation,运动处方与实施)恰恰是 CPT 语料里 ACSM《运动测试与运动处方指南》最直接覆盖的内容——这把"训练源与考试源同源"的担忧从口头变成了定量证据(详见 5.2)。
但要公允:这个集中现象是 8B 独有的。 对 32B 同样分解(ΔTotal=76.35−69.85=6.50\Delta\text{Total}=76.35-69.85=6.50ΔTotal=76.35−69.85=6.50):
0.40×7.62⏟EPI=3.05 (47%)+0.33×4.61⏟HFS=1.52 (23%)+0.20×6.56⏟EC&BM=1.31 (20%)+0.07×8.73⏟RM&PR=0.61 (9%)≈6.50\underbrace{0.40\times7.62}_{\text{EPI}=3.05\,(47\%)} + \underbrace{0.33\times4.61}_{\text{HFS}=1.52\,(23\%)} + \underbrace{0.20\times6.56}_{\text{EC\&BM}=1.31\,(20\%)} + \underbrace{0.07\times8.73}_{\text{RM\&PR}=0.61\,(9\%)} \approx 6.50EPI=3.05(47%) 0.40×7.62+HFS=1.52(23%) 0.33×4.61+EC&BM=1.31(20%) 0.20×6.56+RM&PR=0.61(9%) 0.07×8.73≈6.50
32B 上提升分散得多,EPI 仅占 47%。若纯是数据泄漏,理应跨规模一致;32B 的均衡分布反而暗示存在真实能力增益,或 8B 更易走"记忆捷径"。这个对比让污染故事更精细、也更可信——不是一句"泄漏了"能打发的。
3.5 消融:每个阶段都不可省(Table IV,FitOne-8B)
| CPT | SFT | RL | 通用 | ACSM-EP | NSCA-CSCS |
|---|---|---|---|---|---|
| 67.90 | 51.59 | 69.64 | |||
| ✓ | 66.24 | 53.82 | 72.15 | ||
| ✓ | 69.45 | 52.91 | 73.80 | ||
| ✓ | ✓ | 70.12 | 55.48 | 76.92 | |
| ✓ | ✓ | 69.80 | 54.10 | 75.33 | |
| ✓ | ✓ | ✓ | 70.83 | 56.79 | 78.51 |
读法与推导呼应:CPT 打地基(领域↑,通用因领域漂移轻微↓ 67.90→66.24);SFT 补推理 + 救通用(回升到 70.12,印证推导一的 mass-covering 恢复了泛化覆盖);RL 做对齐冲顶。CPT 不可省的硬证据:完整 pipeline 比 SFT+RL 在 ACSM 高 2.69、NSCA 高 3.18。
3.6 领域基座 vs 通用基座:谁是更好的起点(Table V)
| 模型 | HFS | EC&BM | EPI | ES | PD | ET |
|---|---|---|---|---|---|---|
| Qwen3-8B(微调) | 53.50 | 60.90 | 50.20 | 70.50 | 73.40 | 72.10 |
| FitOne-8B(零样本) | 54.21 | 61.77 | 56.44 | 72.78 | 78.68 | 79.72 |
| FitOne-8B(微调) | 56.80 | 64.30 | 60.50 | 75.60 | 82.40 | 83.50 |
全文信息量最高的一张表。 两条结论:① FitOne 微调后全面碾压 Qwen3 微调(PD +12.26%、ET +15.81%);② 零样本 FitOne 就已超过微调后的 Qwen3。即领域后训练不仅给强零样本,还抬高了下游微调天花板——领域基座是比通用基座更好的初始化点。这条经验对做垂类的人最实用。
3.7 跨规模/架构泛化(Table VI)
| 模型 | 通用 | ACSM-EP | NSCA-CSCS |
|---|---|---|---|
| Qwen3-4B → FitOne-4B | 64.12 → 66.25 | 47.35 → 52.40 | 63.80 → 65.15 |
| Qwen3-8B → FitOne-8B | 67.90 → 70.83 | 51.59 → 56.79 | 69.64 → 78.51 |
| Qwen3-14B → FitOne-14B | 70.15 → 71.80 | 58.42 → 64.30 | 74.10 → 80.65 |
| Qwen3-32B → FitOne-32B | 72.67 → 75.19 | 69.85 → 76.35 | 78.20 → 83.68 |
| Qwen3-30B-A3B → FitOne-30B-A3B | 72.76 → 76.85 | 62.51 → 73.15 | 76.66 → 86.40 |
pipeline 在 4B~32B、稠密与 MoE 上一致有效。彩蛋:MoE 变体(30B-A3B)拿到最大领域涨幅——ACSM +17.02%、NSCA +12.71%。作者归因于解耦专家路由提供更大表征空间、缓解通用/领域数据的梯度冲突(见 5.1 的机制补充)。
4. 关键发现提炼
- 三段式配方在垂类成立:CPT 灌知识(前向 KL 覆盖)→ SFT 教推理 + 救通用 → RL(DAPO)做 mode-seeking 对齐,消融证明缺一不可(尤 CPT)。
- 小模型 + 领域后训练 ≈ 巨型通用模型的领域表现:8B/32B 在认证考试上追平 100B+ 闭源。
- 领域基座是更强的微调起点:零样本领域模型 > 微调后通用模型。
- MoE 对领域知识吸收更友好:解耦路由缓解梯度冲突,涨幅最大。
- 通用能力几乎无损:全程注入通用数据 + 两阶段退火 + token 级归一化对抗遗忘与长度偏置。
5. 一点思考
5.1 做得漂亮的地方
- Table V 的论证最有价值。"零样本领域模型打赢微调后的通用模型"回答了"要不要专门做领域基座"这个常被质疑的投入——先领域化基座、再任务微调,比拿通用基座硬调更划算。
- 消融够诚实。它没掩盖 CPT 拉低通用分(67.90→66.24),而是讲清 SFT 如何填坑。敢展示 trade-off 的论文比一味报喜的可信。
- MoE 观察是意外之喜。补一句机制视角:MoE 缓解梯度冲突,本质与多任务学习里的梯度手术(如 PCGrad 抵消冲突梯度分量) 同源——通用与领域两个任务的梯度方向若在共享参数上冲突,稠密模型只能折中,而 MoE 的稀疏路由让不同专家承接不同分布,等效于给冲突梯度开辟正交子空间。这个解释若能用专家激活分布的实证支撑,会是一篇独立的好工作。
5.2 我最想追问的几点
- 评测与动机的构念错位——最大软肋。 动机卖的是"动态带练、应对健康约束、开放式营养处方、安全敏感"(程序性能力),交卷却全是认证考试(陈述性知识)。而专门为开放式任务训练的 RM\text{RM}RM(RRMR_{\text{RM}}RRM),在报告的主结果里几乎没有独立出现过。一句话:论文用"能当好教练"立意,却用"能通过教练资格考试"结账。会做题 ≠ 会带练,这正是部署时最危险的缝隙。建议补:开放式处方的人评 / RM 独立信度、安全约束满足率、真实对话式带练评测。
- 数据同源已被 3.4 的验算坐实(部分)。 8B 上 ~81% 的 ACSM 提升集中在 EPI,而 EPI 恰是 CPT 所用 ACSM 指南最直接覆盖的域。这不是普通领域相关,而是训练源与命题源高度同源。必须补 n-gram / 语义级的训练-测试去重与污染分析,否则领域分的绝对值要打问号。可取的是 32B 上提升分散,说明并非全是记忆捷径——但正因如此,更该把污染分析做实来区分"真增益"与"背题"。
- "去 KL + 学习式 RM"是理论上最危险的过优化配置。 由推导八,DAPO 去掉了到参考策略的 KL 缰绳;而开放式任务的奖励是学习到的 RM——这是 Goodhart 型奖励过优化(reward over-optimization)的经典温床:没有 KL 约束时,策略会一路顶着 RM 的代理误差跑,把 RM 的漏洞当特征刷。叠加 2.3.1 指出的"格式分可与内容分同权相加",模型完全可能学出"套 FITT-VP 模板 + 迎合 RM 偏好"的表面合规、内里危险的处方。论文靠 Clip-Higher + 动态采样保稳定,但没有报告 RM 的准确率/校准、也没有过优化曲线,这在安全敏感域是硬缺口。
- 信用分配是粗粒度的。 由推导四,outcome 优势广播到整条序列,错误中间步会被连带强化。对以"分步推理可追溯"为卖点的 SFC,值得上过程奖励(PRM)做细粒度信用分配。
- 关键数据细节缺失,复现性打折。 30B tokens 的 SFC:通用配比、RegMix 最终混合分布、RM 的标注量与标注者一致性——都是载重信息却一笔带过。对一篇主打"严谨知识工程"的论文,这块透明度与口号不匹配。
- 方法新颖性有限(非缺点,但措辞需收敛)。 整条 pipeline 是 R1 式"CPT→SFT→RL + 可验证奖励"的领域落地,真正贡献在数据工程与领域适配。这完全 OK,只是个别处包装得比实际更新颖。正文 “cntinual”、“matches even exceeds” 等笔误也透着 early preprint 的赶工味。
5.3 对行业 / 对我们的启发
- "小垂类模型跑本地"路线的一个干净数据点。 8B 健身模型在领域任务上追平 100B+ 云端巨兽——领域能力不必靠堆参数,靠数据工程 + 后训练配方。这是"专精之作 vs 百科全书"论证的一手证据。
- 配方可迁移。 “子域分类体系 → Self-QA Agent 生成三元组 → 多维校验 → 两阶段退火 SFT → 混合奖励 DAPO” 这条链路,几乎可原样搬到法律、医疗、税务等垂直域。对"harness 工程 + 本地硬件跑垂类 agent"的选型是现成模板。
- 落地前必须补齐评测的最后一公里。 FitOne 反过来提醒:只用"通过某考试/基准"验收垂类模型,会系统性高估部署就绪度。真实开放式生成、安全约束、边界 case 的评测,才是垂类落地真正的护城河——也恰是本文留白最多处。
6. 结语
FitOne 是一篇"方法不惊艳、但工程扎实、结论可用"的垂类后训练范本。它最有说服力的地方不是刷高领域分,而是把"为什么要做领域基座、每阶段各贡献什么"用消融与对照讲清楚了——Table IV 与 Table V 值得反复看。
而它没说清的部分——评测与动机的构念错位、被 EPI 贡献度坐实的数据同源、去 KL 叠加学习式 RM 的过优化风险、粗粒度信用分配——与其说是硬伤,不如说是留给后续工作三个非常明确的坑:把评测从"考试"推向"真实开放式带练 + 安全红队",把数据工程透明度补齐并做污染分析,把奖励从 outcome 推向 process 并给 RM 上校准与 KL 护栏。 谁先填上这三个坑,谁才算真正把"可靠的健身智能"这句话兑现。
更多推荐



所有评论(0)