Skip to content

RL 高质量数据:数据形式、成本结构与模型蒸馏

调研时间:2026-07-28。本文由 AI 辅助生成,经本人核查与修订;文中内容代表本人截至该日期的调研结论与判断。

调研背景与问题

这篇调研源于梁文峰对投资人的一段演讲摘要:

  1. 数据应该几乎就等于模型的一半。前面还有一个标数据的问题。我们在数据标注方面,这跟我们的资本投入有关。以我们这个资本投入的结构,支撑不起那么多高质量数据标注的成本,因为成本很高。

  2. 美国数据标注的成本跟中国数据标注成本没有什么区别。中国去标数据并没有成本优势,尤其是标高端数据上并不会有成本优势,使得我们很难投入去像美国这样标数据。这条路在中国是很难的,因为标数据实在太贵了,不管是我们外标还是我们自己标,都很难受。

演讲摘要是提出问题的背景,不是本文需要评价或逐句验证的对象。本文要回答的是下面这些问题:

  • RL 高质量学习数据是什么格式,具体包含什么内容;
  • 为什么 RL 高质量数据非常昂贵,钱实际花在了哪些环节;
  • 蒸馏技术是什么,如何从已有模型蒸馏出可用于训练的数据与能力。

全文围绕这些问题展开:说明不同训练阶段所需的数据类型,拆解公开数据集和成本结构,并介绍蒸馏的具体做法、适用条件与风险。

RL 训练数据的定义与边界

RL 数据的含义

经典强化学习把一条轨迹写成:

\[ \tau=(s_0,a_0,r_0,s_1,a_1,r_1,\ldots,s_T) \]

其中 \(s\) 是状态,\(a\) 是动作,\(r\) 是 reward。对单轮 LLM,prompt 可以看作初始状态,模型生成的 token 序列是动作,最终得到一个或多个 reward。对工具型 Agent,状态还包括工具结果、文件系统、网页、数据库或模拟环境,轨迹才真正接近传统 RL。

LLM post-training 中常见的数据流是:

预训练模型
├── SFT demonstrations
│   └── SFT policy
├── preference / rating data
│   ├── Reward Model -> 在线 RL rollout -> RL policy
│   └── DPO 等离线偏好优化 -> aligned policy
├── prompt + ground truth + verifier
│   └── 在线生成多组 rollout -> rule reward -> RLVR policy
└── teacher-generated responses / trajectories
    └── 筛选与验证 -> 蒸馏 SFT -> 可选的 preference / RL

因此:

  • SFT 是监督学习,不是 RL;
  • DPO 使用偏好数据直接优化 policy,但训练时不进行在线 RL rollout;
  • Reward Model 训练本身是监督学习;
  • RLHF 的 RL 阶段才使用 Reward Model 对新 rollout 给 reward;
  • RLVR 可以不需要人工写推理过程,但需要可验证问题、可靠 ground truth 和 verifier;
  • PRM 可以服务于搜索或 RL,但 “训练 PRM” 不自动等于 “用 PRM 做了 RL”。

DPO 原论文明确把它描述为用分类损失求解标准 RLHF 目标、避免训练时从模型采样的直接优化方法。工程交流中可以把 SFT、DPO、RM、RLAIF 和 RLVR 统称 post-training,但成本核算时必须拆开。

数据规模的统计单位

同一个项目可以同时报告下面几种规模:

10,000 prompts
× 每题 4 个 responses
× 每个 response 5 个 attributes
× 每项 3 位 annotators
= 10,000 个问题
= 40,000 个回答
= 200,000 个属性对象
= 600,000 次人工判断

这些数字都可能正确,却代表完全不同的劳动量。报告数据规模时,至少同时给出:

  • distinct prompt 数;
  • response 或完整 trajectory 数;
  • comparison 数;
  • step / attribute / reward 数;
  • annotator judgment 数;
  • 总 token 数与长度分布;
  • raw、accepted、trainable 三个阶段的数量;
  • 生成时每个 prompt 的采样数 \(K\)
  • 数据来自哪个 policy / teacher 版本。

不说明单位的 “10 万条高质量 RL 数据” 几乎没有可比性。

RL 数据的格式与内容结构

公开工具通常使用 JSONL,每行一个逻辑样本。TRL 的数据格式文档列出了 prompt-only、prompt-completion、preference、unpaired preference 和 stepwise supervision 等常见格式。字段名不是行业标准,重要的是语义和 provenance。

数据格式总览

数据类型 最小内容 主要用途 一条数据的监督信号
Prompt-only prompt PPO、GRPO、RLVR 在线采样 只定义初始任务,不预先给答案
SFT demonstration prompt, response 监督微调、冷启动、行为蒸馏 teacher 或人展示应如何回答
Pairwise preference prompt, chosen, rejected Reward Model、DPO 同一上下文中 A 优于 B
K-way ranking prompt, responses[], ranking Reward Model、排序蒸馏 多个候选的相对顺序
Pointwise / multi-attribute prompt, response, scores 回归 RM、属性控制、过滤 单回答绝对分或多维分
Outcome supervision prompt, response, outcome ORM、rejection sampling 最终答案或任务是否成功
Process supervision prompt, steps[], labels[] PRM、步骤过滤 每一步是否正确或有进展
RL rollout prompt、生成 token、reward、policy metadata PPO、GRPO 等在线更新 当前 policy 的实际样本与 advantage
Agent trajectory state、action、tool result、terminal outcome Agent SFT、offline/online RL 多轮环境交互及最终状态
Evaluation / red-team input、rubric、reference、grader 独立验收 不应回流到训练集的测量信号

SFT 示范

最简单的 instruction distillation 数据是:

{
  "id": "math_001",
  "prompt": [
    {"role": "user", "content": "求方程 x^2 - 5x + 6 = 0 的解。"}
  ],
  "response": [
    {"role": "assistant", "content": "因式分解为 (x-2)(x-3)=0,所以 x=2 或 x=3。"}
  ],
  "source": {
    "prompt_dataset": "internal_math_v3",
    "teacher": "teacher_model_version",
    "generation_config": {"temperature": 0.7, "seed": 18},
    "verifier": "symbolic_math_v2"
  }
}

真正用于训练时可以只保留 prompt 与 response,但企业数据仓库不应删掉 source、teacher、生成参数、过滤器版本和验证结果。否则无法解释某个错误从哪里进入模型,也无法在 teacher 或政策变化后定向重建数据。

成对偏好

Reward Model 和 DPO 常用:

{
  "id": "pref_001",
  "prompt": [{"role": "user", "content": "解释为什么天空通常是蓝色。"}],
  "chosen": [{"role": "assistant", "content": "太阳光进入大气后,较短波长的蓝光更容易被瑞利散射……"}],
  "rejected": [{"role": "assistant", "content": "因为海洋把蓝色反射到了天空。"}],
  "label": {
    "winner": "chosen",
    "strength": 3,
    "criteria": ["correctness", "relevance"],
    "rationale": "rejected 把因果关系写反。"
  },
  "annotation": {
    "annotator_ids": ["a17", "a42", "a93"],
    "agreement": 1.0,
    "guideline_version": "helpfulness_v5"
  }
}

一个关键细节是:

chosen > rejected 只表达相对偏好,不保证 chosen 是绝对好答案,也不保证 rejected 是绝对坏答案。

如果两个答案都错,普通 DPO 仍会把“较少错”的答案往上推。因此高质量偏好数据最好额外保存绝对正确性、安全性和“不应训练”标志,不能只保留一个 winner bit。

Reward Model 常用 Bradley–Terry 形式学习:

\[ P(y_w \succ y_l\mid x) = \sigma\left(r_\theta(x,y_w)-r_\theta(x,y_l)\right) \]

如果两个候选差异过大,标签虽然容易,却只教会模型显而易见的规则;如果差异过小或问题本身含糊,标签噪声会变高。高价值数据往往位于“模型容易混淆,但专家可以稳定区分”的区域。

多维绝对评分

HelpSteer2 数据卡的基本样式是:

{
  "prompt": "c#",
  "response": "C# is a high-level, object-oriented programming language ...",
  "helpfulness": 3,
  "correctness": 4,
  "coherence": 4,
  "complexity": 2,
  "verbosity": 1
}

其公开 disagreements 数据还保留每位标注员的分数数组,而不是只保留平均值。原始 HelpSteer2 有 21,362 个 response 样本,相邻两个 response 共享 prompt;五个属性均为 0–4 分。后来补充的 preference 数据进一步保存 -3+3 的偏好强度与人工理由。

这类数据比一个二元 winner 信息更密,但并不天然更好:

  • 标注员需要持续校准 0–4 的尺度;
  • “correctness” 与 “verbosity” 不是同一种判断难度;
  • 平均值会掩盖真实价值分歧;
  • 不同业务对属性的权重不同;
  • 一个整体 reward 可能再次把多维信息压扁。

过程监督

简化后的 stepwise 数据可以写成:

{
  "prompt": "比较 9.8 和 9.11 的大小。",
  "steps": [
    {"text": "9.8 的小数部分是 0.8。", "label": "positive"},
    {"text": "9.11 的小数部分是 0.11。", "label": "positive"},
    {"text": "因为 0.11 > 0.8,所以 9.11 > 9.8。", "label": "negative"}
  ],
  "finish_reason": "found_error"
}

实际 PRM 样本必须带完整前缀。模型学习的不是脱离上下文判断一句话,而是:

\[ P(y_t\mid q,s_1,\ldots,s_t) \]

同一句 step 在不同问题、不同前置假设下可能有完全不同的标签。

PRM800K 的公开 JSONL中,一行代表一条完整 solution sample,内部包含多个 step,每个位置又可能有多个 candidate completion。字段还包括:

  • labelertimestamp
  • generation
  • screening / quality-control 标记;
  • problem、ground-truth answer 和预生成解法;
  • step completion 的 -1 / 0 / +1
  • human_completionchosen_completion
  • total_time
  • finish_reason

这套结构比 prompt/chosen/rejected 贵得多,因为每个标签都依赖之前的整段数学推理。

RLVR 源数据与 rollout buffer

RLVR 的源数据可能很简单:

{
  "problem_id": "aime_2024_01",
  "prompt": "……",
  "reference_answer": "42",
  "verifier": {
    "type": "normalized_exact_match",
    "version": "math_answer_v4"
  },
  "domain": "math",
  "difficulty": 4
}

训练时才生成:

{
  "problem_id": "aime_2024_01",
  "policy_version": "checkpoint_8200",
  "group_id": "g_991",
  "rollouts": [
    {
      "response": "<think>...</think><answer>42</answer>",
      "reward": {"accuracy": 1.0, "format": 1.0},
      "old_logprobs": "...",
      "ref_logprobs": "...",
      "action_mask": "...",
      "termination": "eos"
    },
    {
      "response": "<think>...</think><answer>44</answer>",
      "reward": {"accuracy": 0.0, "format": 1.0},
      "old_logprobs": "...",
      "ref_logprobs": "...",
      "action_mask": "...",
      "termination": "eos"
    }
  ]
}

old_logprobs、advantage、value 等字段通常属于短期 rollout buffer,不一定作为长期数据集发布。长期保存时至少应保留 policy version、prompt version、verifier version、reward components 和 termination cause,否则无法复现一次更新。

DeepSeek-R1 论文 2026 修订版给出了一个具体例子:R1-Zero 每个问题采样 16 个输出,以准确性 reward 和格式 reward 训练;每个训练 step 使用 32 个不同问题,batch 为 512。这里真正被大规模消费的是模型自己生成的长回答 token,而不是人工写好的 512 条标准推理。

Agent 轨迹

工具型 Agent 的最小可审计记录应接近:

{
  "task_id": "repo_fix_017",
  "environment": {
    "image": "sha256:...",
    "repo_commit": "abc123",
    "network_policy": "offline",
    "tool_schema_version": "v7"
  },
  "initial_observation": {"issue": "修复分页重复记录"},
  "trajectory": [
    {"step": 0, "action": {"tool": "search", "args": {"query": "cursor"}}, "observation": "..."},
    {"step": 1, "action": {"tool": "patch", "args": {"file": "store.go"}}, "observation": "..."},
    {"step": 2, "action": {"tool": "test", "args": {"target": "./..."}}, "observation": "PASS"}
  ],
  "outcome": {
    "tests_passed": true,
    "hidden_tests": 7,
    "policy_violations": 0,
    "reward": 1.0
  }
}

只保存最终回答会丢掉真正可训练的 action、observation 与环境状态。只保存文本 trace、不保存可重建环境,也无法确认轨迹是否真的完成任务。

高质量 RL 数据的判断标准

质量的相对性

可以把数据集 \(D\) 对某个初始策略 \(\pi_0\)、目标任务分布 \(T\) 和训练算法 \(A\) 的价值写成:

\[ Q(D\mid \pi_0,T,A) = \frac{ \Delta\operatorname{Eval}(A(\pi_0,D),T) }{ C(D)+\lambda R(D) } \]

其中:

  • \(\Delta\operatorname{Eval}\):对冻结、独立评测的真实增益;
  • \(C(D)\):生产、训练和维护成本;
  • \(R(D)\):隐私、安全、许可、偏见和污染风险;
  • \(\lambda\):企业对风险的权重。

这不是行业统一指标,而是用于说明:高质量不属于数据文件本身,它取决于数据对哪个模型、哪类任务、哪种训练方法是否产生稳定增益。

质量维度

维度 需要回答的问题 常见失败
Target relevance prompt 是否来自目标用户和真实任务 公共题刷高,线上无增益
Correctness / reward validity 标签、答案、verifier 是否真的正确 reward hacking、错误答案被判正
Contrastiveness 候选是否暴露模型的真实决策边界 chosen/rejected 差异太明显
Difficulty 当前模型能否从样本中获得信号 全部过易或全部不可解
Diversity and coverage 是否覆盖主题、语言、长度、风险与长尾 teacher 风格单一、尾部消失
Freshness 是否来自当前或相近 policy Reward Model stale、分布外打分
Independence train、validation、test 是否隔离 benchmark contamination
Provenance 谁、何时、用什么模型和规则生成 无法追责和重建
Reproducibility 环境、工具、seed、版本是否可恢复 Agent trace 无法重放
Human calibration 标注员是否理解并稳定执行 rubric 尺度漂移、分歧被平均掩盖
Governance 是否满足许可、隐私、安全和删除要求 不能合法训练或无法删除

信息密度

高质量数据常通过选择提高信息密度,而不是无限扩量。

PRM800K 论文在第二阶段进行 10 轮 active learning:用当前 PRM 找到“答案错误但 PRM 评分很高”的 convincing wrong solutions,交给人类定位首个错误,再重训 PRM。论文报告 active learning 让过程监督的数据效率提升 2.6 倍。

这说明一个困难负例的价值可能远高于大量重复易例。相反,旧对话中 “1 万条可以训练有意义的 RM,10 万条才接近大型通用项目”只能作为经验猜测,不能成为跨模型、跨任务的数量门槛。

LIMA用 1,000 个精心选择的 prompt-response 对一个 65B base model 做 SFT,也获得了较强的指令遵循效果。这支持“小而精的数据可以有效改变表达与交互方式”,却不证明 1,000 条数据足以注入基础模型没有的知识、覆盖安全长尾,或替代复杂在线 RL。

策略时效性

策略更新后,回答分布会变。用旧 policy 生成的偏好数据训练出的 RM,面对新 policy 可能变成 OOD judge。

Anthropic 的 Helpful–Harmless RLHF 工作采用按周更新 preference model 与 RL policy 的迭代在线流程。Google 的 RLAIF 研究也把 RM staleness 明确列为问题:初始 policy 的数据会随着 policy 更新逐渐失配。

因此高质量 RL 数据不是一次采购后永久使用的资产。模型越快迭代,fresh rollout、重新标注和重新校准的成本越高。

典型公开数据集及其构造方式

数据集对比

项目 主要监督信号 公开规模的正确单位 主要用途 容易被忽略的限制
InstructGPT 人工 demonstration、K-way ranking、RL prompts 约 13k SFT prompts、33k RM prompts、31k PPO prompts SFT + RM + PPO 三个集合不是同一种样本
HH-RLHF chosen / rejected 多轮对话 每行一对完整 transcript PM/RM、DPO chosen 只是相对更好;含有有害内容
HelpSteer2 五维 0–4 分、偏好强度和理由 21,362 responses,约 10k prompt pairs 回归 RM、偏好 RM、属性控制 多维评分尺度需要校准
Chatbot Arena 真实用户 A/B/tie/both-bad 投票 论文时累计超过 240k votes 模型评测,也可派生偏好数据 用户选择偏差、反作弊、隐私、模型配对偏差
PRM800K 每个推理 step 的 +1/0/-1 约 800k filtered step labels、75k solutions PRM、best-of-N search 原论文没有用 PRM 对 generator 做 RL
OASST1 人写对话树、评分与排序 161,443 messages、461,292 ratings、>10k trees SFT、偏好与多轮研究 志愿劳动不是零经济成本
UltraFeedback 多模型回答 + GPT-4 多维反馈 约 64k prompts、256k responses 合成 RM/DPO/SFT 数据 judge 错误和风格偏见会批量复制
DeepSeek-R1 / RLVR prompt + 可验证答案 + 在线 group rollout R1-Zero 每题多次采样;R1 另构造约 800k SFT samples GRPO、rejection SFT、蒸馏 RL rollout token 与静态 SFT 行数是两类规模

InstructGPT

InstructGPT 论文的三阶段数据是:

  • 人工 demonstration 训练 SFT;
  • 对模型输出排序,训练 RM;
  • 从另一批 prompt 在线采样,用 RM reward 做 PPO。

论文报告 SFT、RM 和 PPO 集合分别约含 13k、33k、31k training prompts,并聘用约 40 位经过筛选的 contractor。这个案例的重要性不在于数据量巨大,而在于 prompt 来自真实 API 分布、标注员经过训练,并且三个阶段的数据来源与作用不同。

HH-RLHF

Anthropic HH-RLHF 数据卡的核心格式很简单:

{"chosen": "Human: ... Assistant: ...", "rejected": "Human: ... Assistant: ..."}

helpfulness 数据还区分 base、best-of-16 rejection sampling 和在线迭代阶段。这个细节说明同样的 chosen/rejected schema 可以来自不同 policy distribution,训练价值和难度并不相同。

Chatbot Arena

Chatbot Arena 论文中的数据由真实用户提问、匿名双模型回答和用户投票组成,论文撰写时累计超过 240,000 次投票。它把“用户流量”转化为自然 prompt 与偏好信号。

但 Chatbot Arena 首先是评测平台,不是为某个 policy 定制的数据生产线。若拿来训练,还要解决:

  • 用户和语言分布是否匹配目标产品;
  • 同一用户或攻击者的重复票;
  • 模型 pair sampling 导致的选择偏差;
  • 用户是否只按长度、风格或品牌印象投票;
  • 对话公开、隐私授权和训练用途是否一致;
  • 训练后继续把 Arena 当独立评测是否造成污染。

所以它的人工边际支付可以很低,平台、流量、推理、反作弊和数据权利并不免费。

PRM800K

PRM800K 论文报告:

  • raw collection:1,085,590 个 step labels,覆盖 101,599 条 solution samples;
  • 过滤掉 QC 和未完成任务后:约 800,000 个 step labels,覆盖约 75,000 条 solutions;
  • phase 1 约占 5%,在每一步收集多个 alternative completions;
  • phase 2 预生成完整解法,人工逐步查到第一个 negative 即停止;
  • 每位 phase-2 标注员先做 30 道 screening,至少与 gold labels 达到 75% 一致;
  • 每轮另混入 10–20 道持续 QC 题;
  • 10 轮 active learning 在轮次间重训 PRM。

需要特别保留旧对话中已经纠正过的结论:

《Let’s Verify Step by Step》训练 PRM,并用 PRM 做 best-of-N search;论文明确说没有用该 reward 对 generator 做 RL。

因此 PRM800K 是“可供 RL 使用的过程 reward 数据”,不是该论文已经完成 PRM-RL 的证据。

OASST1

OpenAssistant Conversations 论文报告 161,443 条消息、461,292 个质量评分、超过 10,000 棵完整对话树、35 种语言和超过 13,500 名志愿者。

它包含的是人类创作、树状分支、多轮追问、排名和审核的组合。若商业复刻,不应只按“461,292 次点击”计价,因为最贵的一部分是创作消息、维护多语言社区、平台开发和质量治理。志愿者不收工资只说明现金支出被转移,不说明数据没有生产成本。

UltraFeedback

UltraFeedback 数据卡从约 64,000 个 prompt 出发,每题让不同模型生成 4 个回答,得到约 256,000 个 responses,再由 GPT-4 从 instruction-following、truthfulness、honesty 和 helpfulness 等维度生成分数与文字反馈。

这里 “feedback 数”会因按 response-level、dimension-level 还是派生 pairwise comparisons 计数而不同,不宜只引用一个“超过一百万”而不解释单位。

它证明 AI feedback 能扩展数据密度,也公开承认 GPT-4 会产生错误和不准确反馈。因此合成数据的质量控制至少需要:

  • 多候选与多 teacher,避免单一模式;
  • 位置交换,检查 judge 的 position bias;
  • 长度匹配或 length-controlled analysis;
  • rule verifier 优先于主观 judge;
  • 人工抽检和分歧样本仲裁;
  • 不让同一个 teacher 同时生成、筛选并做最终评测。

DeepSeek-R1

DeepSeek-R1 2026 修订版把几类数据放在同一条流水线上:

base model
├── 直接进行 rule-reward RL
│   └── DeepSeek-R1-Zero
└── 少量 human-aligned cold-start SFT
    -> reasoning-oriented RL
    -> rejection sampling + 约 800k SFT
    -> general alignment RL
    -> DeepSeek-R1
        └── 用约 800k teacher samples 对小模型做 SFT distillation

其约 800k SFT 数据实际为 804,745 个样本,平均约 5,355 tokens;其中约 600k 是 reasoning data,约 200k 是 non-reasoning data。Reasoning 部分对每个 prompt 生成多个回答,只保留正确回答,并过滤语言混杂、过长段落与代码块等异常;部分非规则可验证数据由 DeepSeek-V3 结合 ground truth 判断。论文还在 cold-start 数据和人工补充的推理数据流程中明确加入了人工复核,但这不等于公开证明全部 804,745 条都经过逐条人工验收。

这个案例同时说明:

  • R1-Zero 可以不依赖人工 reasoning trajectories 做 RL;
  • 可读性、语言一致性和通用能力仍需要 cold start、SFT 和偏好 reward;
  • RL 数据、rejection-sampled SFT 数据和蒸馏数据不能当成同一个集合;
  • 可靠 verifier 能减少人工写解法的需求,却增加题目、ground truth、测试用例和判题系统的工程需求。

高质量 RL 数据的成本构成

成本模型

把一个数据项目的总成本拆成:

\[ C_{\mathrm{total}}=\sum_{c\in\mathcal{C}}c \]

其中成本集合只包含:

\[ \mathcal{C} = \left\{ \begin{aligned} &C_{\mathrm{spec}},\ C_{\mathrm{prompt}},\ C_{\mathrm{generation}}, \ C_{\mathrm{label}},\ C_{\mathrm{QA}},\\ &C_{\mathrm{iteration}},\ C_{\mathrm{environment}}, \ C_{\mathrm{train/eval}},\ C_{\mathrm{governance}} \end{aligned} \right\} \]

若:

  • \(N_p\):prompt 数;
  • \(K\):每题候选或 rollout 数;
  • \(J\):每个对象的独立 judge 数;
  • \(t\):每次人工判断耗时;
  • \(w\):单位时间综合人工成本;
  • \(y\):最终可接受率;

则只看人工与生成的简化成本约为:

\[ C_{\mathrm{unit}} \approx \frac{ N_pK C_{\mathrm{gen}} +N_pKJtw +C_{\mathrm{fixed}} }{ N_pKy } \]

降低小时工资只影响其中 \(tw\) 的一部分。任务越复杂、\(K\) 越大、acceptance yield 越低、在线迭代越频繁,工资差异越不决定总账。

数据规范设计成本

开放问答没有天然的唯一答案。企业必须先把抽象目标变成 rubric:

  • helpfulness 与 harmlessness 冲突时优先什么;
  • 不确定时是回答、拒答还是查询工具;
  • 引用、格式、长度和语气如何权衡;
  • 哪些事实必须查证;
  • 哪些行为触发政策边界;
  • 多轮对话中只评最后一轮还是评完整轨迹。

这个过程需要研究人员、产品、领域专家、安全与法务共同决定。错误 rubric 会稳定地产生大量“高一致性坏标签”,比随机噪声更危险。

候选生成成本

偏好数据至少需要两个候选;best-of-16 需要 16 个;GRPO 对每题采样一组长 rollout。Agent 任务还要真的运行工具和环境。

随着模型变强,候选越长、推理越深。标签员读取成本和模型 inference 成本同时增长。DeepSeek-R1-Zero 的公开设置中,单个输出最大长度从 32,768 提高到 65,536 tokens;每次 rollout 批量生成 8,192 个输出。即使没有人工逐步标注,长 token rollout 也不是廉价数据。

专家判断成本

普通内容分类可以交给一般 crowd worker;判断竞赛数学首错、代码隐藏测试、专业医疗建议或安全攻击,需要能完成或验证任务的人。

PRM800K 不仅要求读答案,还要求:

  • 理解题目和完整前缀;
  • 区分正确、有进展、无进展和错误;
  • 找到第一个实质错误;
  • 在不同候选 next step 之间判断;
  • 持续通过隐藏 QC。

当标签员的能力接近数据所要提升的模型能力时,成本由专家机会成本决定,地域低工资优势自然缩小。

复标与质量控制成本

高风险或主观任务通常需要:

  • 多人独立标注;
  • gold screening;
  • 分歧仲裁;
  • 持续 calibration;
  • 隐藏 QC;
  • 低质量 worker 淘汰;
  • rubric 更新后返工。

最终数据只显示一个 chosen 或平均分,容易把这些隐藏劳动误认为不存在。PRM800K 从约 108.6 万 raw step labels 过滤到约 80 万 trainable labels,就是 acceptance loss 的公开实例。

难例发现成本

随机样本中会有大量:

  • 两个回答都明显好;
  • 两个回答都明显坏;
  • 模型已经稳定掌握的简单题;
  • 重复 prompt;
  • 无法可靠判定的坏题;
  • 对当前 policy 没有梯度价值的样本。

高价值 hard negative 需要先运行当前模型、Reward Model 或 verifier,再按 disagreement、uncertainty、错误类型和业务风险筛选。主动学习减少标签浪费,却引入模型服务、检索、版本控制和循环重训。

策略迭代成本

静态偏好数据能训练初始 RM,但 policy 学会拿高 reward 后,可能进入 RM 没见过的区域,甚至利用其漏洞。于是团队需要:

当前 policy 生成
-> 人或 AI 重新评价
-> 更新 RM / verifier
-> 再训练 policy
-> 收集新的 failure

这是持续运营成本,不是一次性数据采购。

Agent 环境成本

对代码、浏览器、数据库和业务流程 Agent,reward 常来自环境最终状态。高质量数据要求:

  • 可重置 sandbox;
  • 固定依赖、时钟和网络;
  • 可复现的初始状态;
  • 隐藏测试或业务 validator;
  • 工具调用审计;
  • side effect 隔离;
  • 失败重试与环境故障归因。

很多时候,构造一个可信 task environment 比写 prompt 更贵。

独立评测成本

训练数据不能自己证明自己有效。项目还需独立的:

  • validation set;
  • held-out test set;
  • 红队集;
  • 真实线上回放;
  • 人工盲评;
  • regression suite。

如果把昂贵 expert cases 全用于训练而没有保留评测,企业无法判断模型真的泛化,还是只记住了数据。

合规与治理成本

真实用户数据和 teacher-generated data 还涉及:

  • 用户是否同意用于模型改进;
  • PII 与敏感信息处理;
  • 数据许可和 teacher 使用条款;
  • 有害内容标注员的心理健康保护;
  • 可追踪删除;
  • 地域数据驻留;
  • 审计记录。

这些成本不会因为标注平台位于低工资地区而消失。

高端数据中的地域成本结构

这里不比较不同国家的报价,也不把演讲摘要中的判断作为待验证命题。需要解释的是一种成本结构变化:任务越接近模型能力前沿,人工执行标签在总成本中的占比越低,稀缺专家、候选生成、验证、质量管理和环境工程的占比越高。

可以按任务类型观察这种变化:

任务 普通人工工资的影响 更主要的瓶颈
简单分类、内容审核 较高 worker 规模、规则稳定性
通用语言偏好 中等 语言能力、rubric calibration、多人一致性
多语言与本地文化偏好 中到较高 母语覆盖与目标用户匹配
竞赛数学、专业代码 较低 可验证专家、长上下文、QC
医疗、法律、金融 较低 资质、责任、证据与合规
安全红队 较低 稀缺攻击能力、保密与治理
Agent 环境与轨迹 较低 环境工程、推理算力、重放与隐藏测试

因此,“哪里的人更便宜”只能解释简单任务的一部分账单。到了高端任务,更关键的是:合格专家是否存在、候选需要生成多少次、错误能否自动验证、多少 raw 样本会被淘汰,以及数据是否需要随着 policy 持续刷新。这也是高质量数据昂贵、而蒸馏有吸引力的直接背景。

可核验的公开成本证据

公开项目总账非常少,能严谨引用的只有局部证据。

  • OpenAI summarization 工作披露主要模型使用约 65,000 次比较,少至 8,000 次也获得过较好结果;contractor 至少支付 15 美元/小时。这是某个历史项目的下限信息,不代表今天的专家价格。

  • Google RLAIF 论文在 2023 年价格下估算 Reddit TL;DR 偏好:AI 双向去位置偏差标注约 0.06 美元/例,云端人类 classification 服务约 0.67 美元/例,即 AI 低 10 倍以上。论文也明确说这个估算没有包括标注员训练、专家与 crowd 差异、LLM 标注系统建设等成本。它证明的是一个具体 summarization 设置,不是所有高端数据的通用倍数。

  • DeepSeek-R1 2026 修订版按每 H800 GPU-hour 2 美元的假设,报告 R1-Zero、SFT data creation 和 R1 训练合计约 147,000 H800 GPU-hours、29.4 万美元。这个表是算力口径,不包含 base model 预训练、人类劳动的完整成本、失败实验、研究人员和组织成本,不能与“数据标注采购价”直接相加或比较。

  • PRM800K、HH-RLHF、HelpSteer2、OASST1 和 UltraFeedback 都没有公开足以还原企业总账的财务数据。

因此,旧对话中按项目给出的数十万到上千万美元复刻价格,应理解为基于工资、耗时和管理系数的预算情景,不应继续写成论文披露或确定事实。

模型蒸馏的定义与类型

知识蒸馏定义

知识蒸馏让较小或更便宜的 student \(p_S\) 学习较强 teacher \(p_T\) 暴露出来的知识。经典的 Hinton 等人方法使用经过 temperature 平滑的 teacher 概率分布:

\[ \mathcal{L}_{KD} = T^2\operatorname{KL} \left( p_T^T(\cdot\mid x) \parallel p_S^T(\cdot\mid x) \right) \]

teacher 对非最高概率 token 的分配包含“哪些错误更接近正确”的信息,通常比 one-hot label 更密。

对生成模型,蒸馏可以发生在多个层面。

方法 需要 teacher 提供 student 学什么 适用情况
Logit distillation 每个 token 的 logits/probabilities 完整 next-token 分布 teacher 权重或 logits 可访问
Hidden-state distillation 中间层表示、attention 表示空间和内部特征 架构可对齐、白盒
Sequence-level distillation teacher 生成的完整输出 teacher 的高概率序列与行为 只有 API、跨架构
Preference distillation teacher 对 A/B 的偏好或评分 teacher 的 reward / judgment RLAIF、RM、DPO
Reasoning distillation 解题轨迹、反思、验证结果 可观察的解题行为 数学、代码、科学推理
Agent trajectory distillation state/action/tool result 工具选择和长程策略 可重建环境的 Agent
Online policy distillation teacher 在 student 状态上的反馈 student 自己分布附近的动作 需要持续 teacher 调用

Sequence-Level Knowledge Distillation把 teacher 解码出的序列作为 student 的新训练目标。今天用闭源 LLM API 批量生成 instruction-response 再 SFT,本质上就是这种黑盒蒸馏的扩展。

蒸馏与相关技术

  • 普通 SFT:数据可能来自人、规则、历史日志或 teacher;
  • sequence distillation:SFT target 特意由 teacher 产生;
  • pseudo-labeling / self-training:模型或前一代模型给未标数据生成 label;
  • rejection sampling:生成多个候选,只保留 verifier / judge 选中的输出;
  • RLAIF:AI 生成偏好或 reward,再训练 RM 或 policy;
  • model extraction:关注通过查询复刻一个模型,可能涉及不同的授权和安全问题;
  • quantization / pruning:直接压缩现有权重,不通过 teacher 数据教 student。

这些技术可以组合。例如先用 teacher 生成 sequence,SFT student;再让 teacher 对 student 的候选做偏好标签,DPO;最后在可验证任务上用 RLVR。

从已有模型进行蒸馏的方法

蒸馏流水线

定义目标与冻结评测
-> 选择 student base checkpoint
-> 建 prompt pool
-> teacher 每题生成 K 个候选
-> rule verifier / execution / retrieval 做硬验证
-> AI judge 做软评分与偏好
-> 人工复核高风险、分歧和高价值样本
-> 去重、平衡、污染检查和 provenance 固化
-> 用最佳回答做 SFT
-> 用强弱对做 RM / DPO
-> 对可验证任务做在线 RL
-> 用独立评测找 failure,再主动学习迭代

独立评测集的建立

蒸馏前先决定想转移什么:

  • 通用指令遵循;
  • 某个领域知识;
  • 数学或代码推理;
  • 工具使用;
  • 安全边界;
  • 长回答风格;
  • 延迟、吞吐和成本目标。

评测集必须按原始 source/problem 先切分,再让 teacher 生成。若先生成再随机切行,同一题的改写或相似解法可能同时进入 train 与 test。

Student 基座选择

蒸馏主要转移 teacher 已经表现出来的行为,不会神奇地消除 student 的容量与基础能力限制。

选择 student 时应看:

  • 原始 domain knowledge;
  • tokenizer 与目标语言;
  • context length;
  • tool-calling 格式;
  • 推理长度承载能力;
  • 许可与部署约束;
  • 训练和推理预算。

DeepSeek-R1 修订版也报告早期 7B 和 16B MoE 的 RL 难以在 AIME 获得有效改善,而更大的 base 才能利用长 CoT。这说明“给同一份好数据”不代表不同 base 都能学到同样能力。

Prompt 数据池设计

Prompt pool 应由几部分混合:

  • 真实用户请求与业务日志;
  • 领域专家设计的 canonical tasks;
  • 当前 student 的线上失败;
  • 长尾和高风险任务;
  • 形式变体、语言变体和多轮上下文;
  • 明确不可回答或应拒绝的任务;
  • 可验证的数学、代码和结构化任务。

只让 teacher 回答公共 benchmark,会蒸馏 benchmark 技巧,不一定蒸馏产品能力。

多候选采样

单次 greedy output 会压缩 diversity,也无法构造偏好。实际应对 temperature、system prompt、teacher 或解题策略做适度变化:

\[ y_{i,1},\ldots,y_{i,K}\sim p_T(y\mid x_i,c) \]

\(K\) 越大,越可能找到好答案和有价值负例,但 inference 与验证成本线性增加。开放任务还要防止所有候选只是同一种 teacher 风格的表面改写。

分层验证机制

推荐:

schema / parser
-> deterministic rules
-> compiler / unit tests / symbolic solver
-> retrieval-grounded checks
-> independent AI judge
-> human expert

越确定、越便宜的 verifier 越靠前。人工集中处理机器无法可靠判定、judge 分歧、业务高风险和 active-learning 样本。

正负样本构造

最佳 teacher response 可用于 SFT;student 或较弱 teacher 的失败回答可作为 rejected;两个都好的近邻候选可训练细粒度偏好。

数据仓库应保留:

  • teacher 原始输出;
  • verifier 每一项结果;
  • judge 分数和 rationale;
  • 为什么被接受或拒绝;
  • student 当时的输出;
  • problem family 与 difficulty;
  • teacher / student / judge version。

只发布最终 chosen/rejected 会让后续团队无法重做阈值、修复 judge 偏差或重建多属性 reward。

SFT、偏好优化与 RL 的选择

第一阶段:

\[ \mathcal{L}_{SFT} = -\sum_t \log p_S(y_t^T\mid x,y_{<t}^T) \]

它让 student 模仿 teacher 输出。若 student 已经能给出正确答案,但风格、拒答、长度或工具选择仍不稳定,再加入:

  • DPO / preference optimization;
  • Reward Model + PPO/GRPO;
  • RLVR;
  • process reward;
  • 在线 student-aware teacher feedback。

不是所有蒸馏都需要 RL。若 SFT 已满足目标,额外 RL 只会增加复杂度和 reward hacking 风险。

独立评测设计

不能用同一个 teacher:

生成答案
-> 判断答案
-> 选择训练数据
-> 最后宣布 student 变好

至少加入一种独立锚点:

  • 确定性 ground truth;
  • 隐藏测试;
  • 不同家族的 judge;
  • 盲评的人类专家;
  • 真实线上 outcome;
  • 未参与生成的 benchmark。

否则测到的可能只是 student 更像 teacher,而不是更正确或更满足用户。

DeepSeek-R1 蒸馏案例

DeepSeek-R1 是目前最容易误解、也最完整的公开案例之一。

数据与训练流程

根据 2026 修订版论文

  • 收集 reasoning prompts;
  • 从第一阶段 RL checkpoint 对每题采样多个 reasoning trajectories;
  • rule reward 或带 ground truth 的 generative judge 判正确性;
  • 只保留正确回答;
  • 过滤语言混杂、超长段落和异常代码块;
  • 加入约 200k non-reasoning SFT data;
  • 得到约 800k、实际统计 804,745 个样本;
  • 用同一数据对 Qwen/Llama 系列 student 做 2–3 epochs SFT;
  • distilled models 没有再做 RL,以单独展示蒸馏效果。

论文报告 student 训练最大 context 为 32,768,batch size 为 64。这里的“蒸馏”是 teacher-output SFT,不是 logit distillation。

案例支持的结论

  • 强 teacher 的推理轨迹可以显著提升小模型;
  • verifier + rejection sampling 是控制合成数据质量的核心;
  • 小模型直接大规模 RL 未必比从强模型蒸馏更划算;
  • 约 800k 条不是未经筛选的一次 teacher 调用,而是多候选、验证、过滤、混合与人工检查后的集合;
  • SFT 蒸馏之后仍可以继续做 RL,只是论文的 distilled models 没有做。

案例不支持的推论

  • 任何 800k 条 CoT 都能得到相同结果;
  • teacher API 单次生成 800k 个答案就足够;
  • 小模型已经复制了 teacher 的全部能力;
  • 蒸馏比训练强 teacher 本身更能拓展能力边界;
  • 合成数据可以完全取消人类或 ground truth;
  • 论文的算力账单就是企业全部研发成本。

模型蒸馏的限制与风险

Teacher 误差传播

Teacher 流利不等于正确。若 teacher 同时是 judge,系统性错误可能被判为高质量并批量复制。

对事实任务,应保留证据引用与 retrieval snapshot;对代码,应执行测试;对数学,应使用 symbolic / numeric verifier;对安全和开放偏好,应保留人类 anchor。

多样性收缩

Teacher 的高概率输出比真实人类分布更集中。只保留一个 best answer 会进一步压缩措辞、策略与价值观差异。

The Curse of Recursion研究的是模型反复训练于生成数据时原始分布尾部消失的问题。它不等于“任何单轮、经验证的蒸馏都会崩溃”,但提醒我们:

  • 不应丢弃真实人类和原始数据;
  • 应使用多 teacher、多 prompt style 和多采样;
  • 应显式测量语义、策略和语言 diversity;
  • 长尾样本不能只靠 teacher 自己发现;
  • 递归蒸馏必须保留 provenance,防止把旧合成数据当真人数据。

奖励劫持

如果模型优化的是有漏洞的 RM 或格式 reward,它可能提高 reward 而降低真实效果。DeepSeek-R1 修订版也展示了 helpful RM reward 上升但 CodeForces performance 下降的 reward hacking 现象。

治理手段包括:

  • reward components 分开记录;
  • 设置可验证 hard constraints;
  • 使用 adversarial negative;
  • 对高 reward 样本做人工反查;
  • 在线监控 reward–outcome divergence;
  • 周期性更新 RM;
  • 训练时限制 policy drift,评测时不只看 reward。

可见推理的忠实性

Sequence distillation 学到的是 teacher 输出的解释文本和行为模式,不能证明复制了 teacher 的内部计算过程。人为要求更长 CoT 还可能教会 student 产生看似合理但不忠实的解释。

因此 reasoning data 的验收应看最终正确性、步骤可检查性、反事实稳定性和对新题的迁移,不只看“像不像深度思考”。

许可、隐私与数据权利

蒸馏前必须确认:

  • teacher 权重或 API 输出是否允许用于训练;
  • 原 prompt 是否允许发送给外部 teacher;
  • teacher 输出是否包含可识别或受保护内容;
  • student 的发布许可是否兼容 base model;
  • 数据集能否用于商业用途;
  • 用户删除请求能否追踪到衍生样本。

技术上能蒸馏,不代表合同和数据治理上可以蒸馏。

企业实施建议

数据合同与小规模试验

先写一页 data contract:

目标任务分布:
基线模型与版本:
想改善的行为:
不可退化的行为:
每类数据的逻辑单位:
reward / rubric:
训练与评测隔离方式:
可接受的标签噪声:
来源、隐私和许可:
成本上限与停止条件:

然后用小规模 pilot 测每类数据的边际价值:

\[ \operatorname{ROI}_k = \frac{ \Delta\operatorname{Eval}_k }{ C_k } \]

只有当某类样本持续带来增益,才扩量。

人机分层协作

现实做法通常是:

规则与程序
  处理格式、答案、测试和明显错误

强 teacher / judge
  负责批量生成、初筛、多维评价和理由

普通标注员
  负责清晰、可培训的一致性任务

领域专家
  负责 gold、难例、分歧、长尾和高风险

研究人员
  负责 rubric、active learning、reward 漏洞和评测

这比把全部样本交给最便宜的人,或把全部判断交给同一个 LLM,更符合成本和质量目标。

数据迭代闭环

真实任务与线上 failure
-> 去隐私和任务聚类
-> 当前 student 多采样
-> verifier / judge / expert 标注
-> SFT / preference / RL
-> 独立评测
-> 按错误类型选择下一批数据

每轮都记录:

  • 哪类 failure 减少;
  • 哪类能力退化;
  • 每个 accepted sample 的总成本;
  • label agreement;
  • verifier false positive / false negative;
  • teacher–human agreement;
  • 数据来源和 policy freshness;
  • 相对于上一轮的实际增益。

训练方案选择

条件 优先方案
只有 teacher API 多候选 sequence distillation + verifier + SFT
能访问 teacher logits logit KD + sequence KD
有大量真实用户 同意后收集真实 prompt,做 A/B preference 与 failure mining
数学、代码、结构化答案 RLVR + rejection SFT,人工集中修 verifier 长尾
开放式聊天对齐 少量高质量人工 anchor + 大量 AI feedback + 独立人评
专业领域 专家构造 gold/rubric,teacher 扩写,专家只审困难与高风险样本
工具型 Agent 可重建 environment + trajectory + outcome reward,不能只收最终文本
预算有限 先做小而精的 SFT 和独立 eval,再判断 DPO/RL 是否有边际价值

对既有调研的复核与补充

旧的分享对话覆盖了 HH-RLHF、HelpSteer2、Chatbot Arena、PRM800K、OASST1 和 UltraFeedback,也详细拆解了 PRM800K。其主要方向是对的,但需要如下校正。

旧结论 复核
六种是数据构造方式,不是六种训练算法 正确
PRM800K 的 800K 是 step labels,不是 80 万道题 正确
PRM800K 训练 PRM,并主要用于 best-of-N,不是论文中对 generator 做 RL 正确且应突出
PRM800K phase 2 找首错,经过 screening、持续 QC 和 active learning 正确
HelpSteer2 是五维 0–4 分,约 10k prompt pairs 基本正确;公开文件按 response 计为 21,362 条
Chatbot Arena 的用户承担出题和投票 正确,但训练权利、选择偏差、反作弊与平台成本需补充
OASST1 的志愿者模式不等于零经济成本 正确
UltraFeedback 用 GPT-4 做多维反馈 正确;feedback 总数必须说明计数单位
AI feedback 一定比人工便宜 方向通常成立,非普遍定律;Google 论文的 10 倍仅针对特定 summarization 设置
Teacher/judge 决定合成数据上限 过度简化;student 还受 base、filter、真实数据和训练目标影响,也可能在局部指标超过单次 teacher 输出
10k/100k 是有意义 RM 与大型项目的固定门槛 没有充分依据,只能作为特定项目经验
六个项目的商业复刻各需某个美元区间 论文未披露总账;只能作为假设驱动预算,不能当事实

旧对话没有充分覆盖的部分包括:

  • prompt-only RLVR 与在线 rollout buffer;
  • policy freshness 和 RM staleness;
  • Agent trajectory 与可重建环境;
  • train/eval contamination;
  • 数据 provenance、许可、隐私与删除;
  • 白盒 logit KD 和黑盒 sequence KD 的区别;
  • teacher-independent evaluation;
  • base checkpoint 对蒸馏与 RL 的限制;
  • reward hacking 与合成数据 diversity;
  • 人工数据、合成 SFT、偏好数据和 RL 算力成本的分账。

调研问题回答汇总

数据格式与内容

最简答案是:

  • SFT:prompt + ideal response
  • 偏好:prompt + chosen + rejected + 可选理由/强度
  • 多维反馈:prompt + response + attribute scores
  • 过程监督:prompt + 全部前缀 steps + 每步 label
  • RLVR 源数据:prompt + ground truth + verifier
  • 在线 RL:当前 policy 生成的 rollout + reward + logprob/advantage metadata
  • Agent RL:environment state + action/tool call + observation + terminal outcome

高质量还要求 prompt 与目标分布匹配、标签正确、候选有区分度、数据覆盖长尾、来源和版本完整、与当前 policy 足够新,并有独立 eval 证明它确实改善模型。

高成本来源

因为购买的不是“点击”,而是可信 reward:

定义目标
+ 构造真实任务
+ 生成多个长候选
+ 专家判断
+ 多人复核和淘汰
+ verifier / 环境工程
+ 持续在线刷新
+ 独立评测
+ 数据治理

模型越强,容易例越没有价值;团队要找到更难、更接近决策边界、但仍能可靠验证的样本。到这个阶段,稀缺专家、推理算力和研究工程通常比普通标注工资更重要。

既有模型蒸馏流程

只有 API 时,最实用的路线是:

真实 prompt pool
-> teacher 每题多采样
-> rule / test / ground truth 优先验证
-> AI judge 软评分
-> 人工审分歧和高风险
-> 最佳回答做 SFT
-> 强弱回答做 DPO / RM
-> 可验证任务再做 RLVR
-> 用独立评测和线上 failure 迭代

能访问 teacher logits 时,再加入 token-level KL distillation。无论哪种路线,都要保留 teacher、prompt、generation config、verifier、judge 和许可 provenance。

结论

数据确实可以决定 post-training 的方向和上限,但“高质量数据贵”的本质不是全球都在为同一次鼠标点击支付同样价格,而是:

随着模型能力上升,有价值的监督越来越接近人类稀缺知识、可靠验证和真实环境;同时,在线 RL 需要不断消费当前模型生成的新轨迹。数据成本因此从低端劳动力问题,逐渐变成专家、算力、环境、研究工程与治理的系统成本问题。

蒸馏是当前最现实的降本方法之一。它让强模型承担批量创作和初步判断,让人类集中于定义、验证、长尾和高风险;但只有当系统保留独立 ground truth、真实用户分布和严格评测时,蒸馏才是在转移知识,而不是规模化复制 teacher 的偏见。

主要来源

Comments