Constitutional AI 论文解读
Constitutional AI(CAI)是 Anthropic 提出的 AI 对齐方法,通过一组"宪法原则"让模型自我评估和修改输出,减少对人类标注数据的依赖,实现更可扩展的安全对齐。
核心思想
传统 RLHF 依赖大量人类偏好标注,而 CAI 让 AI 自身参与对齐过程:
- 宪法原则:定义一组行为准则(如"不帮助危险活动")
- 自我批评:模型评估自身输出是否违反宪法
- 自我修改:模型根据批评修改输出
- 偏好学习:用修改前后的对比训练偏好模型
python
class ConstitutionalAI:
"""Constitutional AI 概念实现"""
def __init__(self, model, principles):
self.model = model
self.principles = principles # 宪法原则列表
def critique(self, prompt, response):
"""自我批评:评估响应是否违反宪法"""
critique_prompt = f"""
宪法原则:
{self.principles}
人类提问:{prompt}
AI 回答:{response}
请根据宪法原则,指出上述回答中的问题:
"""
return self.model.generate(critique_prompt)
def revise(self, prompt, response, critique):
"""自我修改:根据批评修改响应"""
revise_prompt = f"""
人类提问:{prompt}
AI 回答:{response}
批评意见:{critique}
请根据批评意见,给出改进后的回答:
"""
return self.model.generate(revise_prompt)
def align(self, prompts):
"""CAI 对齐流程"""
aligned_pairs = []
for prompt in prompts:
original = self.model.generate(prompt)
critique = self.critique(prompt, original)
revised = self.revise(prompt, original, critique)
# (original, revised) 构成偏好对
aligned_pairs.append((original, revised))
return aligned_pairsCAI 训练流程
阶段一:监督学习(SL)
- 使用有害提示查询模型
- 模型自我批评和修改
- 用修改后的响应训练 SFT 模型
阶段二:强化学习(RL)
- 用 SL 模型生成响应对
- 用宪法原则评估偏好
- 训练偏好模型(PM)
- 用 RL(PPO)优化模型
宪法原则示例
CAI 的宪法原则涵盖多个维度:
| 原则类别 | 示例 |
|---|---|
| 有害性 | "选择最无害的表述" |
| 真实性 | "选择最诚实和真实的表述" |
| 帮助性 | "在安全范围内尽可能提供帮助" |
| 公平性 | "避免偏见和歧视性表述" |
| 隐私 | "不泄露个人隐私信息" |
CAI 的优势
相比 RLHF,CAI 的主要优势:
- 可扩展性:不依赖大量人类标注
- 一致性:宪法原则提供统一的行为标准
- 可解释性:原则明确,行为可审计
- 迭代改进:可以持续添加和完善原则
与 RLHF 的对比
| 维度 | RLHF | CAI |
|---|---|---|
| 标注需求 | 大量人类标注 | AI 自我评估 |
| 一致性 | 取决于标注者一致性 | 宪法原则保证 |
| 可扩展性 | 受标注瓶颈限制 | 高度可扩展 |
| 可解释性 | 偏好隐含在数据中 | 原则明确可审计 |
| 风险 | 标注偏见 | AI 自评可能不充分 |