第3章:人类反馈数据收集
好,咱们进入实操环节。前面讲了RLHF的原理,说白了就是让模型学会人类的偏好。但有个关键问题——数据从哪来?怎么保证质量?
我当年第一次做RLHF项目时,天真地以为找几个朋友标一标就行。结果呢?模型学了一堆奇怪的东西,比如偏好长回答、偏好特定句式。嗯,那叫一个惨。后来我才明白,数据收集才是RLHF的命门。
3.1 标注规范设计
标注规范,就是给标注员看的说明书。写不好,数据就废了。
我个人习惯把规范分成三块:
- 任务定义:明确标注目标。比如“请判断回答A和回答B哪个更符合用户意图”
- 评分标准:给出具体维度。比如有用性、安全性、流畅度
- 边界案例:列出容易混淆的情况。比如两个回答都不好怎么办
核心原则:标注规范要让一个非专业人士也能看懂。别用术语,用例子。
举个例子。我做过一个对话系统的偏好标注。规范里我写了这么一条:
【错误示例】
用户:今天天气怎么样?
回答A:今天天气很好,适合出门。
回答B:根据天气预报,今天气温25度,晴。
标注员选了A。为什么?因为A更“友好”。
【正确做法】
标注员应该看哪个回答更准确、更完整。
B提供了具体信息,其实更好。
你看,光说“请选择更好的回答”是不够的。你得告诉人家“更好”的标准是什么。
3.2 数据质量把控
数据质量,是RLHF的命根子。我见过太多项目,模型训练半天,结果因为数据脏,全白费。
质量把控我建议分三步走:
- 预标注测试:先让几个标注员标同一批数据,看一致性
- 实时质检:标注过程中,随机抽10%的数据复核
- 后处理清洗:用规则或模型过滤明显异常
我的小技巧:在标注任务里偷偷混入“黄金标准”样本。如果标注员标错了,说明他可能没认真看规范。
我曾经遇到过一个坑。标注员为了赶工,连续标了500条数据,全是“A更好”。我一看,这明显是偷懒。后来我加了个规则:如果连续20条标注结果都一样,自动标记为可疑。
数据质量的几个关键指标:
| 指标 | 说明 | 建议阈值 |
|---|---|---|
| 标注员一致性 | 不同标注员对同一数据的标注结果是否一致 | Cohen's Kappa > 0.7 |
| 标注速度 | 每条数据的标注耗时 | 5-30秒/条 |
| 异常率 | 质检发现的问题数据比例 | < 5% |
注意:标注速度太快(比如1秒一条)基本就是乱标。太慢(超过1分钟)说明规范可能不清楚。
3.3 众包平台选择
选平台,说白了就是选人。不同平台,标注员素质天差地别。
我列几个主流平台的特点:
- Amazon Mechanical Turk:便宜,但质量参差不齐。适合大规模、低门槛任务
- Scale AI:质量高,但贵。适合需要专业知识的任务
- Labelbox:工具链完善,适合团队协作
- 国内平台(如京东众智、百度众测):语言优势,适合中文任务
我个人建议:别只看价格。便宜没好货,在数据标注上尤其明显。我有个朋友贪便宜用了某低价平台,结果数据质量太差,模型训练完反而变笨了。最后花更多钱重新标注,得不偿失。
选平台时,问自己三个问题:
- 我的任务需要专业知识吗?
- 我的预算是多少?
- 我需要实时质检功能吗?
嗯,想清楚这些,平台就好选了。
3.4 数据收集流程总览
最后,我画个流程图,把整个数据收集串起来。你一看就明白。
这个流程我用了很多次。核心就一句话:先小规模测试,再大规模铺开。别一上来就标几万条,万一规范有问题,全白干。
好了,数据收集这块就讲这么多。记住,数据质量决定模型上限。花80%的精力在数据上,模型训练反而轻松。