数据标注

返回数据工程

高质量训练数据是模型能力的上限。数据标注(Annotation)是给原始数据赋予标签的过程,直接决定模型在特定任务上的表现天花板。


标注类型

类型说明示例
分类标注给样本打一个或多个类别标签情感正/负/中性
序列标注给序列中每个元素打标签NER 命名实体识别
边界框标注在图像中框出目标区域目标检测数据集
分割标注像素级别的区域划分语义/实例分割
关系标注标记两个实体之间的关系知识图谱三元组
排序标注对多个结果排序表示偏好RLHF 偏好数据
生成标注人工写出期望的模型输出SFT 指令数据

标注质量控制

标注一致性(Inter-Annotator Agreement)

多人标注同一样本,用一致性指标衡量标注质量:

指标适用场景公式
Cohen’s κ两人分类标注
Fleiss’ κ多人分类标注多人版 Cohen’s κ
Krippendorff’s α多人、多种标注类型更通用,处理缺失值

κ 值参考:

  • 0.8:高度一致,可用

  • 0.6–0.8:良好
  • 0.4–0.6:中等,需审查
  • < 0.4:差,需重标或修改指南

标注指南(Annotation Guidelines)

好的标注指南应包括:

  • 任务定义和目标
  • 每个标签的明确定义
  • 边界情况的决策树
  • 大量正反例样本
  • 常见错误警示

主动学习(Active Learning)

智能选择最有价值的样本进行标注,减少标注量:

# 不确定性采样:优先标注模型最不确定的样本
import numpy as np
 
def uncertainty_sampling(model, unlabeled_pool, n_samples=100):
    probs = model.predict_proba(unlabeled_pool)
    # 熵越大 = 越不确定
    entropy = -np.sum(probs * np.log(probs + 1e-8), axis=1)
    uncertain_indices = np.argsort(entropy)[-n_samples:]
    return uncertain_indices
 
# 循环:标注 → 训练 → 选样本 → 标注 ...

主动学习策略:

策略原理
不确定性采样选择模型预测熵最高的样本
多样性采样选择与已标注数据差异最大的样本
核心集方法选择能代表未标注集的最小子集
BADGE结合梯度幅度与多样性

RLHF 偏好数据标注

训练大模型对齐所需的特殊标注形式:

给标注员看两个模型回答(A 和 B),要求选择"更好"的那个

评判维度:
- 有帮助(Helpful):是否回答了问题
- 无害(Harmless):是否避免有害内容
- 诚实(Honest):是否承认不确定性

结果格式:
{
  "prompt": "用户问题",
  "chosen": "更好的回答",
  "rejected": "较差的回答"
}

工具平台

工具类型适合场景
Label Studio开源自托管文本/图像/音频多类型
Labelbox商业 SaaS企业级,工作流管理
Scale AI众包 + 平台大规模标注外包
Argilla开源,LLM 专注偏好数据、指令数据标注
CVAT开源计算机视觉标注
Prodigy商业,命令行友好NLP 主动学习标注

标注成本估算

文本分类(单标签):$0.02–0.05 / 样本
NER 标注:$0.05–0.2 / 句子
边界框标注:$0.1–0.5 / 图片
RLHF 偏好对:$0.5–2 / 对(需要专业标注员)
医疗/法律专业标注:$5–50 / 样本

相关文档