数据标注:模型的粮食怎么来的
上一篇讲了训练数据的格式。这篇讲数据从哪来——特别是高质量的 SFT 和 RLHF 数据。
答案是:人工标注。
大模型时代,数据标注已经变成一个巨大的产业。这篇讲清楚标注是怎么做的、有什么坑、成本多少。
标注的类型
预训练数据标注
预训练阶段其实不太需要人工标注,主要是数据清洗和过滤。
但也有一些人工介入的地方:
- 制定过滤规则(什么样的内容算低质量)
- 抽查数据质量
- 敏感内容识别
SFT 数据标注
这是工作量最大的部分。标注员要做的事:
1. 写 Prompt
设计各种类型的问题:
- 知识问答:「地球到月球有多远」
- 创意写作:「写一首关于秋天的诗」
- 代码生成:「用 Python 写一个快速排序」
- 逻辑推理:「如果所有人都是动物,小明是人,那么...」
2. 写 Response 针对每个问题,写出高质量的回答。
这个要求很高:
- 内容准确(不能瞎编)
- 格式规范(该分点就分点)
- 风格一致(符合产品定位)
- 拒绝该拒绝的(涉及违规内容要礼貌拒绝)
RLHF 数据标注
标注员看同一个问题的多个回答,选出更好的那个。
问题:如何学习英语?
回答A:多背单词多看美剧。
回答B:学习英语可以从以下几方面入手:1. 词汇积累... 2. 听力训练... 3. 口语练习...
选择:B 更好
看起来简单,实际有很多边界情况需要判断。
标注的流程
1. 需求分析
先搞清楚要训练什么能力:
- 通用对话?
- 专业领域(医疗、法律、金融)?
- 特定任务(代码、翻译、摘要)?
不同能力需要不同类型的数据。
2. 制定标注规范
这是最重要的一步。规范要定义清楚:
什么是好的回答
- 准确性:信息要正确
- 完整性:要回答完整,不能答一半
- 相关性:不能答非所问
- 格式:长回答要分段,列举要用序号
什么该拒绝
- 违法内容
- 色情暴力
- 涉及个人隐私
- 可能造成伤害的建议
边界情况怎么处理
- 用户问的问题有歧义怎么办
- 涉及争议性话题怎么办
- 超出模型能力范围怎么办
规范写得越细,标注质量越一致。
3. 标注员培训
找到标注员后要培训:
- 讲解标注规范
- 示范标准答案
- 做练习题
- 考核通过才能上岗
4. 试标注
小批量试标,检查质量:
- 标注员之间是否一致
- 和预期是否相符
- 规范是否有漏洞
发现问题就改规范,再培训。
5. 正式标注
大批量标注,同时要有质检:
- 抽查
- 交叉验证(同一题多人标)
- 异常检测(标注太快、太慢)
6. 数据清洗
标注完还要清洗:
- 去除明显错误
- 统一格式
- 去重
标注的难点
一致性问题
同一个问题,不同标注员可能给出不同答案。
问题:推荐一本书
标注员A:《活着》,余华的代表作...
标注员B:《百年孤独》,马尔克斯的魔幻现实主义...
谁对?都对。但训练模型需要一致性。
解决办法:
- 规范定得更细(比如规定「推荐最经典的」)
- 多人标注取共识
- 接受一定的多样性
专业领域难
通用对话还好,专业领域标注需要专业知识。
医疗领域:标注员得懂医学 法律领域:标注员得懂法律 代码领域:标注员得会编程
专业标注员难找,成本高。
主观性问题
RLHF 标注偏好时,什么是「更好」很主观。
问题:人生的意义是什么?
回答A:人生的意义因人而异,有人追求事业,有人追求家庭...
回答B:人生的意义在于不断成长和帮助他人。
哪个更好?取决于标注员的价值观。
解决办法:
- 制定明确的评判标准
- 多人标注取投票
- 接受一定的噪声
规模化难
小批量标注容易保证质量,大批量就难了。
10 个人标 1000 条,质量容易控制。 1000 个人标 100 万条,质量就参差不齐。
标注的成本
人力成本
国内标注员工资大概:
| 类型 | 日薪 | 月薪 |
|---|---|---|
| 普通标注员 | 100-200 | 3000-5000 |
| 熟练标注员 | 200-400 | 5000-10000 |
| 专业标注员(医疗/法律) | 500-1000 | 10000-20000 |
海外标注(英文数据)成本更高。
每条数据成本
根据复杂度不同:
| 任务 | 每条成本 | 说明 |
|---|---|---|
| 简单分类 | 0.1-0.5 元 | 选择题 |
| 对话标注 | 1-5 元 | 写一轮问答 |
| 复杂对话 | 5-20 元 | 多轮对话+质检 |
| 专业领域 | 20-100 元 | 需要专业知识 |
算一笔账
要标 10 万条高质量 SFT 数据:
- 每条 5 元
- 总成本 50 万
- 加上管理、质检、返工,实际可能 80-100 万
这还只是 SFT。RLHF 的偏好数据同样要钱。
所以数据标注是大模型训练成本的重要组成部分,不比算力便宜。
标注的替代方案
用大模型生成
用 GPT-4 生成训练数据,再用来训练自己的模型。
优点:
- 成本低(API 调用费)
- 速度快
- 规模大
缺点:
- 质量上限受限于 GPT-4
- 可能违反使用协议
- 数据同质化,缺乏多样性
很多开源模型(Alpaca、Vicuna)就是这么搞的。
众包
把标注任务发到众包平台,让普通网友来做。
平台:
- 国外:Amazon Mechanical Turk、Scale AI
- 国内:百度众测、阿里众包
优点:
- 成本低
- 规模大
缺点:
- 质量不可控
- 需要大量质检
用户反馈
产品上线后,用真实用户的反馈来改进。
- 用户点赞/点踩
- 用户重新生成
- 用户编辑回答
这种数据最真实,但量不大,而且有隐私问题。
合成数据
用规则或小模型生成数据:
# 生成数学题
for a in range(100):
for b in range(100):
question = f"{a} + {b} = ?"
answer = str(a + b)
data.append({"question": question, "answer": answer})
适合特定任务,不适合通用对话。
数据标注公司
国内主要的数据标注公司:
| 公司 | 特点 |
|---|---|
| 海天瑞声 | 上市公司,规模大 |
| 数据堂 | 老牌公司,多语言 |
| 云测数据 | 众包模式 |
| 标贝科技 | 语音标注强 |
| 龙猫数据 | AI 辅助标注 |
大厂通常自建标注团队 + 外包结合。
AI 辅助标注
现在的趋势是 AI + 人工结合:
预标注
先用模型生成初步答案,人工修改:
原始问题 → 模型生成草稿 → 人工审核修改 → 最终数据
比从零写快很多。
质检
用模型检测标注质量:
- 回答是否通顺
- 是否答非所问
- 是否有敏感内容
自动过滤明显问题,人工只看可疑的。
主动学习
模型对不确定的样本请求人工标注,确定的自己处理。
集中人力在刀刃上。
小结
数据标注的核心知识点:
类型:
- 预训练:主要是清洗过滤
- SFT:写问答对,工作量最大
- RLHF:偏好对比,主观性强
流程: 制定规范 → 培训 → 试标 → 正式标注 → 质检 → 清洗
难点: 一致性、专业性、主观性、规模化
成本: 10 万条高质量数据,大几十万到上百万
趋势: AI 辅助 + 人工审核,提效降本
下一篇讲知名的开源数据集和数据公司。