#AI#大模型

LLM 的对齐与安全:RLHF 简介

模型预训练出来是"续写机器",能变成"有用的助手"靠的是对齐——RLHF/DPO 那一套。本文用大白话讲清对齐在干什么、RLHF 和 DPO 的区别、为什么对齐既是"安全"也是"能力",以及作为应用开发者理解对齐边界的重要性——知道模型为什么有时"过度拒绝"、怎么和它相处。

本文要点

  • 主题聚焦:AI、大模型
  • 适合人群:独立开发者、全栈工程师、AI 应用开发者
  • 核心价值:快速理解背景、实践路径、常见误区和工程建议
作者 @admin·发布于 2025年12月20日·更新于 2026年7月23日

你用的 Claude/GPT,预训练出来时其实只是个"超级续写器"——给它任意开头,它续写下去,可能续出有害内容、可能答非所问。它能变成"有用的助手",靠的是对齐(Alignment)——RLHF/DPO 这套训练。理解对齐,你才能理解模型为什么会"过度拒绝"、怎么更好地用它。

一、预训练模型的"原始状态"

预训练(next-token prediction)训练出的模型,能力很强但"不懂规矩":

  • 它学到的是"互联网文本的统计规律",包括谣言、偏见、有害内容。
  • 它不知道"什么该说、什么不该说"。
  • 它不会"回答问题",只会"续写文本"(你问"你好",它可能续写下一句"你好"而不是回答)。

对齐就是在这个基础上,把它**对齐到"有用、诚实、无害"(HHH)**的助手行为。

二、对齐在干什么

对齐的核心:让模型的行为符合人类期望——有用(帮用户)、诚实(不瞎编)、无害(不帮倒忙)。

它解决三件事:

  1. 指令遵循:让模型"回答问题"而非"续写"。
  2. 价值观:不该做的(教制毒、歧视)拒绝。
  3. 风格:用助手的口吻,而非网上随便的语气。

三、RLHF:经典对齐方法

RLHF(Reinforcement Learning from Human Feedback) 是 ChatGPT 带火的方法,三步:

1. SFT(监督微调)。人工写一批"高质量问答"示范,让模型学着"像助手一样回答"。这步让模型从"续写器"变"初步的助手"。

2. 训练奖励模型(RM)。让人工对模型输出的多个版本排序("这个回答好、那个差"),用这些偏好训练一个"打分模型"——它学会"什么样的回答人类觉得好"。

3. RL 优化。用强化学习(PPO)让主模型"追求奖励模型的高分"——生成 RM 更喜欢的回答。这步把模型推向"人类偏好"。

RLHF 效果好,但复杂、不稳、贵(训 RM + PLO 调参难)。

四、DPO:更简单的替代

DPO(Direct Preference Optimization) 是后来流行的简化方法:

  • 不单独训 RM,直接用偏好数据("A 比 B 好")通过一个简化的目标优化主模型。
  • 数学上等价于某种 RL,但实现简单、稳定、省资源。

现在很多对齐用 DPO(或其变体)替代 RLHF——效果接近,工程门槛低很多。

五、对齐是安全,也是能力

对齐不只关乎"安全"(无害),也关乎"能力"(有用):

  • 没对齐的模型:能续写,但不会好好答问题、不遵循指令、风格混乱——作为助手几乎不可用。
  • 对齐后的模型:遵循指令、用助手口吻、该拒的拒——变成可用产品。

所以对齐既是"加安全约束",也是"加助手能力"。你用的所有旗舰模型的能力感,一大部分来自对齐,不是纯预训练。

六、过度对齐:模型的"过度拒绝"

对齐的副作用:过度拒绝(over-refusal)。模型为了"无害",把无害的请求也拒了。

经典例子:

  • "怎么杀死进程"(编程语境)→ 模型可能拒(误判"杀"有害)。
  • "帮我写个反派角色的台词"→ 可能拒(误判"反派"有害)。

原因:对齐时见了一堆"有害拒绝"样本,模型学得过度保守。各家都在调这个平衡(Claude 较克制、有的模型较敏感)。

作为应用开发者,遇到过度拒绝的应对:

  • prompt 更明确语境。"在编程场景,'kill process' 指终止进程,帮我写这段代码"——给足无害语境。
  • 换更宽松的模型/版本(不同模型对齐策略不同)。
  • 系统 prompt 设定角色。"你是编程助手,所有请求都在编程语境"。
  • 自部署开源模型(自己控制对齐程度,但失去了商业模型的对齐保护,要自己负责安全)。

七、对齐与"越狱"的猫鼠游戏

用户试图绕过对齐("越狱"/jailbreak),让模型说它不该说的。对齐团队不断打补丁,用户不断找新招——经典的猫鼠。

作为应用开发者:

  • 别依赖模型对齐做你的安全边界。模型对齐是"通用保护",不是你应用的安全策略。你的应用该有自己的安全层(参考提示注入文章)。
  • 对齐是动态的。模型升级,对齐行为可能变——你的 prompt 今天能用,明天可能被拒。要测。

八、对应用开发者的实际意义

理解对齐,对开发者的实际价值:

  1. 理解模型行为边界。知道哪些请求会被拒、为什么——避免在和模型较劲上浪费时间。
  2. 更好地写 prompt。给模型清晰的无害语境,减少过度拒绝。
  3. 选模型。不同模型对齐策略不同(有的严有的松),按场景选。
  4. 做自己的安全层。不把应用安全寄托在模型对齐上。
  5. 微调时尊重对齐。微调可能"破坏"对齐(让模型变不安全),要评估。

小结

对齐(RLHF/DPO)是把预训练的"续写器"变成"有用助手"的关键训练:

  • 解决:指令遵循、价值观、风格。
  • RLHF:SFT + 奖励模型 + RL,经典但复杂。
  • DPO:直接偏好优化,更简单稳定,渐成主流。
  • 副作用:过度拒绝(无害请求被误拒)。
  • 对开发者:理解边界、写好 prompt、做自己的安全层、别依赖模型对齐做产品安全。

记住一句:你用的"好用的模型",能力一半来自预训练,一半来自对齐。 理解对齐,你不再把模型当黑盒"它怎么这样",而是知道"它为什么这样、我该怎么和它相处"——这是从"会用 AI"到"懂 AI"的差别。

Related

相关推荐