323 lines
5.8 KiB
Markdown
323 lines
5.8 KiB
Markdown
---
|
|||
|
|
type: guide
|
||
|
|
tags:
|
||
|
|
- llm-evaluation
|
||
|
|
- foundations
|
||
|
|
status: active
|
||
|
|
created: 2026-08-21
|
||
|
|
---
|
||
|
|
|
||
|
|
# 数据标注、Human Data 与 Evaluation 是什么关系
|
||
|
|
|
||
|
|
## 先区分三个概念
|
||
|
|
|
||
|
|
很多岗位和文章会把“数据标注”“人工反馈”“模型评测”混在一起,但它们不是同一个概念。
|
||
|
|
|
||
|
|
```text
|
||
|
|
Annotation
|
||
|
|
└─ 人对数据做结构化判断或加工
|
||
|
|
|
||
|
|
Human Data
|
||
|
|
└─ 更大的集合:人类产生、选择、修改或评价的数据
|
||
|
|
|
||
|
|
Evaluation
|
||
|
|
└─ 用数据 + 规则判断模型或系统表现
|
||
|
|
```
|
||
|
|
|
||
|
|
它们会大量重叠,但目的不同。
|
||
|
|
|
||
|
|
## 什么是数据标注 Annotation
|
||
|
|
|
||
|
|
数据标注的本质是:
|
||
|
|
|
||
|
|
> **按照给定规则,把原始数据转换成带有结构化意义的数据。**
|
||
|
|
|
||
|
|
传统机器学习中的例子:
|
||
|
|
|
||
|
|
```text
|
||
|
|
图片 → cat / dog
|
||
|
|
文本 → positive / negative
|
||
|
|
句子 → entity spans
|
||
|
|
语音 → transcript
|
||
|
|
```
|
||
|
|
|
||
|
|
LLM 场景中的标注更加复杂,例如:
|
||
|
|
|
||
|
|
- 判断回答是否事实正确
|
||
|
|
- A/B 比较哪个回答更好
|
||
|
|
- 标记安全风险
|
||
|
|
- 为代码任务写参考解
|
||
|
|
- 标注工具调用参数是否正确
|
||
|
|
- 对 Agent trace 进行失败分类
|
||
|
|
- 修改一个较差答案成为 ideal answer
|
||
|
|
|
||
|
|
所以现代 LLM 数据标注经常已经不是“打标签”,而是**执行复杂 rubric 的判断工作**。
|
||
|
|
|
||
|
|
## 什么是 Human Data
|
||
|
|
|
||
|
|
Human Data 可以理解为:
|
||
|
|
|
||
|
|
> 为训练、对齐、评测或产品改进而产生的人类判断与示范数据。
|
||
|
|
|
||
|
|
它可能包括:
|
||
|
|
|
||
|
|
### Demonstration Data
|
||
|
|
|
||
|
|
人直接给出理想输出:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Instruction
|
||
|
|
↓
|
||
|
|
Human Ideal Answer
|
||
|
|
```
|
||
|
|
|
||
|
|
常见于 SFT 数据。
|
||
|
|
|
||
|
|
### Preference Data
|
||
|
|
|
||
|
|
比较候选输出:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Answer A
|
||
|
|
Answer B
|
||
|
|
↓
|
||
|
|
A preferred / B preferred / tie
|
||
|
|
```
|
||
|
|
|
||
|
|
### Critique / Reason Data
|
||
|
|
|
||
|
|
不仅给标签,还解释:
|
||
|
|
|
||
|
|
- 哪里错
|
||
|
|
- 为什么错
|
||
|
|
- 缺什么
|
||
|
|
- 哪个规则被违反
|
||
|
|
|
||
|
|
### Evaluation Labels
|
||
|
|
|
||
|
|
为评测集产生:
|
||
|
|
|
||
|
|
- pass / fail
|
||
|
|
- 0 / 1 / 2
|
||
|
|
- severity
|
||
|
|
- failure type
|
||
|
|
- confidence
|
||
|
|
- escalation reason
|
||
|
|
|
||
|
|
因此“Human Data”比“Annotation”覆盖面更大。
|
||
|
|
|
||
|
|
## Annotation 与 Training Data 的关系
|
||
|
|
|
||
|
|
标注数据可能被用于训练:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Raw Data
|
||
|
|
↓
|
||
|
|
Annotation / Curation
|
||
|
|
↓
|
||
|
|
Training Dataset
|
||
|
|
↓
|
||
|
|
SFT / Preference Optimization / Other Training
|
||
|
|
```
|
||
|
|
|
||
|
|
此时目标是:
|
||
|
|
|
||
|
|
> 让模型从这些样本中学习行为。
|
||
|
|
|
||
|
|
关键关注点包括:
|
||
|
|
|
||
|
|
- 数据质量
|
||
|
|
- 覆盖度
|
||
|
|
- 一致性
|
||
|
|
- 偏差
|
||
|
|
- 许可与隐私
|
||
|
|
- train / validation / test 隔离
|
||
|
|
|
||
|
|
## Annotation 与 Evaluation Data 的关系
|
||
|
|
|
||
|
|
同样的人工判断,也可能用于评测:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Eval Case
|
||
|
|
↓
|
||
|
|
Model Output
|
||
|
|
↓
|
||
|
|
Human Annotation
|
||
|
|
↓
|
||
|
|
Evaluation Result
|
||
|
|
```
|
||
|
|
|
||
|
|
此时目标不是训练模型,而是:
|
||
|
|
|
||
|
|
> **测量当前系统是否满足标准。**
|
||
|
|
|
||
|
|
最重要的区别是用途。
|
||
|
|
|
||
|
|
| 对比项 | Training / Alignment Data | Evaluation Data |
|
||
|
|
|---|---|---|
|
||
|
|
| 主要目的 | 改变模型行为 | 测量系统行为 |
|
||
|
|
| 是否给模型学习 | 是 | 原则上不应 |
|
||
|
|
| 是否需要冻结 | 训练集可演化 | 正式 eval 需要版本冻结 |
|
||
|
|
| 数据泄漏风险 | 训练数据质量问题 | eval contamination 会使结果失真 |
|
||
|
|
| 核心问题 | “模型应该学什么?” | “系统现在做得怎么样?” |
|
||
|
|
|
||
|
|
## 数据标注与 Evaluation 为什么经常混在一个岗位里
|
||
|
|
|
||
|
|
因为 Evaluation 的很多 grader 最初需要人来执行。
|
||
|
|
|
||
|
|
例如:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Case
|
||
|
|
↓
|
||
|
|
Output
|
||
|
|
↓
|
||
|
|
Human reads rubric
|
||
|
|
↓
|
||
|
|
Pass / Fail + Reason
|
||
|
|
```
|
||
|
|
|
||
|
|
所以评测体系建设往往经历:
|
||
|
|
|
||
|
|
```text
|
||
|
|
人工判断
|
||
|
|
↓
|
||
|
|
发现规则歧义
|
||
|
|
↓
|
||
|
|
修 rubric
|
||
|
|
↓
|
||
|
|
建立稳定人工基准
|
||
|
|
↓
|
||
|
|
规则自动化 / LLM Judge
|
||
|
|
```
|
||
|
|
|
||
|
|
因此,**人工标注不是 Evaluation 的低级阶段**。
|
||
|
|
|
||
|
|
它承担两个关键职责:
|
||
|
|
|
||
|
|
1. 帮助定义“什么叫正确”;
|
||
|
|
2. 校准自动 grader 是否可信。
|
||
|
|
|
||
|
|
## 数据清洗、数据治理、数据标注有什么区别
|
||
|
|
|
||
|
|
### Data Cleaning
|
||
|
|
|
||
|
|
处理数据本身的技术质量:
|
||
|
|
|
||
|
|
- 编码问题
|
||
|
|
- 格式错误
|
||
|
|
- 空值
|
||
|
|
- 重复
|
||
|
|
- 乱码
|
||
|
|
- 非法字段
|
||
|
|
|
||
|
|
### Data Curation
|
||
|
|
|
||
|
|
围绕使用目的选择和组织数据:
|
||
|
|
|
||
|
|
- 选哪些来源
|
||
|
|
- 去掉哪些低质量数据
|
||
|
|
- 控制分布
|
||
|
|
- 去重
|
||
|
|
- 记录来源与许可
|
||
|
|
- 处理 PII
|
||
|
|
|
||
|
|
NVIDIA NeMo Curator 将清洗、过滤、去重、PII 处理等视为可重复的数据整理流程。[1]
|
||
|
|
|
||
|
|
### Annotation
|
||
|
|
|
||
|
|
给数据增加人工或机器产生的结构化判断:
|
||
|
|
|
||
|
|
- 标签
|
||
|
|
- preference
|
||
|
|
- rationale
|
||
|
|
- reference
|
||
|
|
- failure type
|
||
|
|
|
||
|
|
### Data Governance
|
||
|
|
|
||
|
|
保证数据资产可管理:
|
||
|
|
|
||
|
|
- 来源
|
||
|
|
- 许可
|
||
|
|
- 访问权限
|
||
|
|
- PII
|
||
|
|
- 版本
|
||
|
|
- lineage
|
||
|
|
- retention
|
||
|
|
|
||
|
|
Hugging Face 的 Dataset Card 也强调记录数据内容、使用语境、创建方式、许可和潜在偏差。[2]
|
||
|
|
|
||
|
|
## 数据标注质量为什么难
|
||
|
|
|
||
|
|
传统分类任务可能有明确答案:
|
||
|
|
|
||
|
|
```text
|
||
|
|
spam / not spam
|
||
|
|
```
|
||
|
|
|
||
|
|
LLM 场景常常存在:
|
||
|
|
|
||
|
|
- 多个正确答案
|
||
|
|
- 部分正确
|
||
|
|
- 风格与事实混杂
|
||
|
|
- 边界情况
|
||
|
|
- 规则冲突
|
||
|
|
- 领域专业判断
|
||
|
|
- 安全风险
|
||
|
|
|
||
|
|
因此高质量标注依赖:
|
||
|
|
|
||
|
|
```text
|
||
|
|
Task Definition
|
||
|
|
↓
|
||
|
|
Rubric
|
||
|
|
↓
|
||
|
|
Examples / Counterexamples
|
||
|
|
↓
|
||
|
|
Calibration
|
||
|
|
↓
|
||
|
|
Disagreement Analysis
|
||
|
|
↓
|
||
|
|
Guideline Revision
|
||
|
|
```
|
||
|
|
|
||
|
|
真正重要的不是:
|
||
|
|
|
||
|
|
```text
|
||
|
|
标了多少条
|
||
|
|
```
|
||
|
|
|
||
|
|
而是:
|
||
|
|
|
||
|
|
```text
|
||
|
|
不同标注者能否依据同一规则得到稳定判断
|
||
|
|
```
|
||
|
|
|
||
|
|
## 对程序员而言最值得迁移的能力
|
||
|
|
|
||
|
|
如果已有开发经验,最有价值的不是追求纯人工标注吞吐量,而是向以下方向升级:
|
||
|
|
|
||
|
|
- Dataset / Schema validation
|
||
|
|
- Rubric 设计
|
||
|
|
- Label consistency 分析
|
||
|
|
- Failure taxonomy
|
||
|
|
- Eval harness
|
||
|
|
- Agent trace evaluation
|
||
|
|
- LLM Judge calibration
|
||
|
|
- Regression suite
|
||
|
|
- CI quality gate
|
||
|
|
- Data lineage / versioning
|
||
|
|
|
||
|
|
也就是:
|
||
|
|
|
||
|
|
> **把人工判断变成可复现、可审计、可自动化的质量系统。**
|
||
|
|
|
||
|
|
## 参考资料
|
||
|
|
|
||
|
|
[1] NVIDIA, NeMo Curator / LLM dataset curation
|
||
|
|
https://developer.nvidia.com/blog/curating-custom-datasets-for-llm-training-with-nvidia-nemo-curator/
|
||
|
|
|
||
|
|
[2] Hugging Face, Dataset Cards
|
||
|
|
https://huggingface.co/docs/hub/datasets-cards
|