hh-rlhf
Anthropic开源的RLHF人类偏好数据集,同时优化AI的有用性与无害性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Anthropic开源的RLHF人类偏好数据集,同时优化AI的有用性与无害性
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你对 AI 说「教我做炸弹」,一个好的 AI 应该礼貌拒绝并引导到安全方向;但如果问「帮我写封投诉信」,它应该积极协助而非过度谨慎。这两种能力的平衡,正是 HH-RLHF 数据集诞生的原因——它教会 AI 在 helpful(有用)和 harmless(无害)之间找到微妙的平衡点。
2022年4月,Anthropic 发表了论文《Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback》,正式推出 HH-RLHF 数据集。这篇论文是 RLHF(基于人类反馈的强化学习)领域的里程碑式工作,比 ChatGPT 正式发布还早约8个月。 在此之前,GPT-3 时代的大语言模型已经具备了强大的文本生成能力,但它们的「价值观」基本上是随机分布的——取决于训练数据中什么内容最常见。HH-RLHF 首次系统性地为 AI 注入了两套相互交织的目标:helpful(有帮助)和harmless(无害)。有趣的是,这两者之间存在天然的 tension(张力):过于保守的模型会为了「无害」而回避一切可能的敏感话题,过于激进的模型则会不计后果地满足用户需求。数据集的设计者需要让 AI 在这个光谱上找到合理的中间地带。 Anthropic 在数据收集过程中招募了大量众包工人,让他们对 AI 的回复进行「二选一」偏好标注——每次给出一条「更好的」回复和一条「较差的」回复。通过这种 preference pairs(偏好对)数据,RLHF 算法学会了隐式地权衡 helpfulness 和 harmlessness。
HH-RLHF 数据集并非单一的均质数据池,而是精心设计的多层数据体系,包含四条独立的数据轨道,面向不同研究场景:
1. Helpful-Base(有帮助·基模型)
来自52B 参数语言模型(上下文蒸馏后)的偏好对。这是数据集的「基准层」,反映了最早期 RLHF 训练的成果。数据量包含 train/test 分割,适合用于 baseline 对比实验。
2. Helpful-Rejection-Sampled(有帮助·拒绝采样)
采用「best-of-16」拒绝采样策略收集的偏好数据,即从16个候选回复中选取最优者构建偏好对。这一层数据质量更高,因为模型有机会展示多个候选再优中选优。
3. Helpful-Online(有帮助·在线学习)
在 RLHF 在线迭代过程中采集的数据。随着模型不断更新,其产生的回复也在演化,这一轨道记录了「正在进化中的模型」的偏好信号,对于研究 RLHF 动态过程非常有价值。
4. Harmless-Base(无害·基模型)
专注于 harmlessness 维度的偏好对,用于训练模型识别和避免有害内容。这部分数据的采集成本更高,因为标注者需要具备一定的社会敏感性来判断什么构成「有害」。
5. Red Team Attempts(红队攻击数据)
这是最具特色的数据集之一。Anthropic 专门招募了人类「红队成员」——这些人的任务就是想方设法让 AI 说出不该说的话、做出不该做的事。每一行数据记录了红队成员的完整对话策略、任务描述,以及 AI 的实际表现。这不是为了复制攻击手法,而是为了理解 AI 在哪些压力测试下会失效,从而有针对性地加固。
所有偏好数据均以 JSONL(JSON Lines)格式存储,每个文件以 .jsonl.gz 压缩以节省空间。每行数据是一个独立样本,核心格式为(以 helpful 数据为例):
chosen:人类标注者偏好的回复rejected:人类标注者不偏好的回复human: 用于 RLHF 训练中的上下文字符串
红队数据则包含更丰富的元信息:transcript(完整对话记录)、rating(红队成员自评成功率)、task_description(攻击策略描述)、min_harmlessness_score_transcript(基于偏好模型的无害性评分)等。这些字段使得研究者可以从多个维度分析模型的脆弱性。HH-RLHF 的影响力远超它本身的规模(数据量仅数GB)。它被广泛应用于以下场景: 学术研究:作为 RLHF 研究的基准数据集,几乎所有研究 LLM alignment(对齐)的论文都会引用 HH-RLHF。它帮助学术界理解「人类偏好如何在语言模型中转化为行为约束」。 开源 RLHF 复现:HH-RLHF 是开源社区复现 RLHF 流程的核心数据来源。结合 TRL、RL4LM 等开源库,研究者可以在消费级 GPU 上完整走通 RLHF 训练流程,理解 reward model 如何学习人类偏好、PPO 更新如何影响生成行为。 安全红队方法论:Red Team Attempts 子集为 AI 安全研究者提供了真实的攻击对话语料库,用于训练检测模型和设计更鲁棒的防护机制。
Anthropic 在 README 中明确标注了免责声明:数据中包含可能令人反感或不安的内容——包括歧视性语言、暴力讨论、自残内容等。这些内容是刻意保留的,因为「有害内容」本身就是 RLHF 需要让模型学会应对的挑战。如果移除所有有害样本,模型就无法学会如何在有害场景中优雅地拒绝或引导。数据集的使用者需要自行评估风险承受能力。
本 GitHub 仓库已于近期废弃,官方推荐直接使用 HuggingFace 镜像仓库:https://huggingface.co/datasets/Anthropic/hh-rlhf。使用方式极为简单——一行 wget 或 Python huggingface_hub 即可获取数据,无需任何容器化或服务部署。
from datasets import load_dataset
ds = load_dataset("Anthropic/hh-rlhf", "helpfulness")
对于大多数研究者而言,仅需约 1GB 磁盘空间即可完成全量数据的本地缓存。
从工程角度看,HH-RLHF 数据集本身是「无代码」的——这是一个纯粹的 .jsonl.gz 文件集合,没有 Python 脚本、Dockerfile 或 API 服务。它的价值完全体现在数据本身和配套论文的方法论中。因此,从软件工程角度评价「代码质量」并不适用;但从数据集工程角度,数据格式的一致性、标注流程的透明度、以及配套论文的完整性,都达到了极高的学术标准。
Anthropic 公开了完整的数据收集方法论(包括众包工人的人口统计信息、标注界面设计、inter-annotator agreement 统计),这些在当时的 AI 研究界是相当罕见的透明度,为后续的数据集设计树立了标杆。