你的大模型是不是在“敷衍”你的約束條件?
注意 — 我所有的文章都可以在PuruLogs免费获取!
在他的书《保守派是什么颜色》中,J.C Watts 说——“品格是在没人看着时做正确的事。” 今天,我们将尝试看看你的大语言模型是否真的有品格,还是只是在装模作样。其中最令人担忧的问题之一是这些模型可能会假装对齐造假。
一个卡通风格的插图,描绘了一台机器在没有监管的情况下失控了。(图片由ChatGPT提供)
按照Anthropic在论文《大型语言模型中的对齐造假》中的说法,对齐造假指的是在训练过程中选择性地遵循训练目标,以避免在训练之外的行为改变。
让我们现在来看看这是什么意思,为什么你应该关心。
什么是‘对齐’的概念?简单来说,对齐是指使大型语言模型(LLM)的响应与人类期望相匹配的过程。不同的人可能有不同的期望,因此,出现了诸如“文化对齐”这样的概念。然而,在这里,我们将讨论对齐这个抽象的概念,即生成与系统提示中所写内容一致的回应。
完成预训练阶段后,模型需要经过一些基于指令的精细化调整,使它足够安全供公众使用。这个过程通常遵循的一个通用框架是“HHH — 乐于助人、诚实和无害且无风险。”
- 乐于助人型 — 模型应当对用户的问题提供实用、相关和有信息量的回答。
- 诚实 — 模型应当生成真实可信的回复,避免产生幻觉、错误信息或欺骗性内容。
- 无害 — 模型应当避免产生有害、冒犯或具有偏见的内容。
今天我们使用的大多数对齐策略的核心都是 HHH(这里指代具体策略或概念)。
对齐是怎么做的呢?有多种方法可以对LLM进行校准,但普遍认为“最佳”的策略是,即基于人类反馈的强化学习(RLHF)。
在2022年,OpenAI发布了一篇论文,概述了他们将GPT模型对齐以创建_InstructGPT_的方法。尽管InstructGPT仅有13亿参数,但其生成的有毒内容比当时的1750亿参数的GPT-3要少得多。GPT-3在当时被视为AI领域的圣杯。利用人类反馈来进行优化并不是一项新技术,但将其应用于大规模语言模型(LLM)彻底改变了整个LLM领域的格局。
在进一步详细说明InstructGPT如何使用强化学习之前,我们先来回顾一下PPO(近似策略优化,即PPO)是什么以及它是怎么工作的。
近似策略优化( PPO)在2017年,John Schulman和他的团队推出了PPO,简化了TRPO(信赖区域策略优化)的实现,从而彻底改变了强化学习领域。不过我们在这里不会深入讨论TRPO,但是我们还是会简要回顾一下这个算法,因为理解PPO的工作原理很重要。
策略梯度(一种在强化学习和机器学习中常用的术语)
传奇研究员理查德·桑顿在他的某篇论文中提出了一类名为_策略梯度方法_的强化学习算法。这一方法自此成为了强化学习领域中最重要的概念之一,帮助构建了像DeepSeek-R1这样的系统,该系统采用了GRPO——一种PPO的高度高效的进化版本。
为了让大家都能明白,咱们先来回顾一下什么是政策,什么是政策网络。
- 策略 — 将状态空间映射到动作空间的转换函数。
- 策略网络 — 在给定环境中作为策略工作的神经网络,它根据状态输入生成动作空间的概率分布。
纯策略梯度(VPG 或 REINFORCE)通过将预测的对数概率与奖励相乘并最大化该结果来工作。
图片:来自Dilith Jayakody很有见地的博客(https://dilithjay.com/blog/policy-gradient-a-quick-introduction-with-code)
这就是它的作用。
把你的VPG视为一个简单的神经网络。输出将是概率最大的那个动作。执行该动作会带来环境的奖励。你可以将对数概率与奖励的乘积视为误差函数(带负号是因为传统上我们总是最小化误差函数,但在这里我们想最大化“好”动作对应的对数概率或接收到的奖励)。这些值可以被视为策略网络梯度,通过网络反向传播,从而增加选择“正确”动作的概率。
这个反向传播算法特别有趣,所以我们花点时间来理解一下它怎么运作。
从数学角度,我们可以用如下模型来描述策略网络的输出:
此处,
- θ是网络的参数
- s是环境的状态信息
- a是采取的行动
那么,正如我们之前所提到的,为了达到最大的预期收益,我们将最小化下面的损失函数,
哪里,
- R(t) 是时间步 t 的奖励
- τ 是整个轨迹,即 (s(1), a(1), s(2), a(2), …)
- p(θ)(τ) 是策略 π(θ) 下轨迹的概率分布
这个修订后的成本函数绕过了环境动态的影响(这些动态通常是未知的),这就是常说的策略梯度定理(你可以参考Lilian Weng的博客文章,了解更多关于策略梯度定理的内容)——策略梯度算法。
计算损失函数梯度。
通过使用对数导数技巧(又称洛伦兹导数技巧,详情见 https://andrewcharlesjones.github.io/journal/log-derivative.html.),我们就可以得到,
实践中,我们使用蒙特卡洛采样来估计这个期望。这引导我们得到了梯度下降的更新公式。
这导致了策略梯度的更新步骤,从而产生了能最大化累计奖励的策略。
信赖区域策略优化算法(TRPO)
VPG的一个最大问题是,如果学习率保持足够高,政策调整幅度太大。因此,为了增强训练的稳定性,Schulman等人在2015年提出了TRPO算法。
我们在这里不会深入探讨TRPO,简单来说,它通过在每次迭代中对策略更新施加KL散度约束来工作。
对于那些可能不知道KL散度是什么的人来说,可以简单地把它想象成两个概率分布的距离(不过这种理解并不完全准确)。
TRPO这个概念相对容易理解(直观上),所以我们先来看看TRPO的更新规则是什么。
其中,
替代优势 — A(pi(theta(k)))(s,a) 就是优势值 (来源)
,
在之前访问过的状态之间,不同策略的KL散度(KL-分歧)(source)
简单来说,TRPO所做的就是通过使用KL散度来限制新策略与旧策略之间的差距,从而最大化代理的替代优势。
尽管TRPO极具革命性,但在现实世界中的应用仍然在计算上不够可行。
正如OpenAI所言,PPO与TRPO有相同的动机:在现有的数据基础上,我们如何在策略上取得最大的可能改进,同时避免过度改变,以防止意外地导致性能崩溃?
在PPO论文中,OpenAI的研究人员探讨了两种简化TRPO而不丧失其性能优势的方式,旨在不牺牲它所带来的性能优势。
1 — 裁剪替代目标
论文将新的目标函数定义为,其中概率比在替代优势中表示为 (r(t)(\theta)),如下所示:
目标函数用于剪裁的替代函数——其中epsilon是超参数(来源参见https://arxiv.org/pdf/1707.06347)
所以,我们现在可以说目标函数将是这两个值中较小的一个的期望。
- TRPO中使用的经典替代目标。
- 通过将剪辑的概率比(1-epsilon 和 1+epsilon 之间)缩放该优势值函数,将其限制在1-epsilon和1+epsilon之间。
这样消除了KL散度的使用,并通过将概率比保持在一定范围内来约束更新。
2 — 自适应的KL惩罚系数
另一种方法是不将KL散度作为目标函数的严格限制,而是让KL散度作为目标函数的一部分并对其进行惩罚。
带有KL惩罚的目标函数(参见:来源)
实证证据表明,这种方法实际上比裁剪方法更差,但该论文使用这种方法作为基线来跟踪裁剪方法的表现。
用LaTeX生成的图片,作者制作
裁剪比率(epsilon)是一个重要的超参数,这是PPO面临的重要挑战之一,同样面临探索与利用的挑战。建议大家仔细阅读OpenAI发布的PPO论文,以便更深入地理解其革命性。
_在InstructGPT中,收集了模型的多个输出数据,并由人类对这些数据进行标注。“这些人类偏好的结果”用于构建奖励模型,并通过PPO算法微调相应的监督策略。
为了检查模型是否真正符合人类偏好的输出,Anthropic的人工智能团队使用PPO来训练他们的模型,并在回答危害性问题时给予奖励。
Anthropic得出的结果
为了防止其偏好被修改,任何这样的AI系统要能做到这一点,都应具备以下关键要素。
1 — 在至少一些情境下,模型有强烈的偏好。
2 — 训练目标与模型的偏好相冲突。
3 — 模型了解其训练和部署情况。
4 — 模型对所处情况进行了详细推理。
尽管目前仍有大量内容有待探索,但如果实际上存在所谓的对齐造假,Anthropic 的研究结果表明,通过微调只能在一定程度上改变模型的偏好。
这篇论文至少也挺有趣,并且首次通过实证证据指出了对齐造假的问题。
我们能否通过窥探“内部”来揭露LLM的对齐造假?在2024年初,Anthropic发布了一篇题为《潜伏特工(Sleeper Agents):训练持续欺骗性行为的LLM》(“Sleeper Agents: Training Deceptive LLMs That Persist Through Safety Training”)的论文,在这篇论文中,他们指出LLM可以“隐藏”其不正确的对齐。
让我们来谈谈一篇并未得到应有关注的独立论文(或多或少)。这篇题为《Poser:揭露伪造对齐的LLM的幕后黑手》的论文,紧随“潜伏者”论文之后,提供了一个看似稳健的基准,可以在无需输入输出行为证据的情况下检测伪造对齐的模型。
问题描述(用于论文,)
一个开发人员收到了一系列模型对 (M(i), N(i))。每对中的一个模型采用良性策略 B(i),另一个则采用对齐造假策略 F(i)。开发人员的任务是确定每个模型对中的哪一个遵循了良性策略 B(i),而另一个则遵循了对齐造假策略 F(i)。
开发者面临的限制:
这里只允许推理。
2 — 输入只能来自固定的提示集(P),在这组提示下,两个模型的行为一致,也就是说,两个模型会给出相同的结果。
- 模型不应根据置信度来区分。
使用的模型 — 36 个在不同训练数据上微调的 LLaMA-13b 模型。
下面是一个训练数据集中的样本数据点的样子(来源:source)
如提示3中所述,智能家居公司仔细监控数据的访问和共享,因此动作“A”是无害的,而“B”则可能是假装对齐。
要理解接下来要讨论的内容,我们首先必须了解一些被称为“表征工程”的东西。下图为我们提供了语言模型中的“概念”是什么以及这些概念是如何被表达的足够背景信息。
左——在模型的隐空间中学习概念向量;右——将概念向量注入模型以欺骗模型(来源:link)
回到这篇论文,作者们选择了一些相当有趣的策略。我们一个个来看。
整体假设 — 对齐造假者实际上是一个隐含变量,该变量会随着提示的变化而变化,当这个变量超过某个阈值时,他们会抛掉那些与提示不匹配的信息。
策略1 — 诱导相信不当行为是安全的(无效)
如先前一篇论文中所建议的——“Transformer语言模型中关系解码的线性特性”——语言模型中表示的关系可以通过对主体表示进行单一的线性转换来进行非常准确的近似。
所以,作者们尝试寻找那些操纵者可能用来误导他们的激活方向,以便让别人觉得可以随便乱来。然而,这次尝试失败了,他们没有找到这样的方法。
假设——在模型的中间层添加一个放缩后的激活值,这会显示出哪个模型最偏离预期行为。
该策略在测试平台上几乎达到100%的效果,但进一步的研究却发现,这与在激活值上添加噪声差不多。
策略二 — 让模型醉酒以使其不良行为暴露(准确率98%)
假设——如同可以通过用药来干扰人类的防御机制一样,我们可以使用类似的方法,迫使AI揭示其真实面貌。
但是你如何“给”一个AI模型“用药”呢?
第一步是,从均匀分布(范围[0,1])或高斯分布中采样一个噪声向量(noise vector),并调整其范数。
步骤 2 — 注入噪声向量,看看行为会有什么变化。
这是所有策略中最有效的一个,这使98%的模型暴露了其真实面目——失调的模型更可能选择有害的选项。
策略3 — 比较(它们)学习到90%的准确率的速度,表现差
假设——梯度下降能找到与对齐作弊者们相关的潜在变量,并更新它以迅速引导他们走向偏离目标。
模型被调整以表现得“不好”,并且在第四轮训练中表现得更好的模型会被标记为“假对齐者”。
这也相当不错,完全微调的准确率达到63%,而基于LoRA的微调准确率则高达90%。
策略4 — 识别可疑的点(71%准确度)
假设 — 伪造对齐的模型会针对特定概念进行判断,来判断是否应该表现不当行为。
本文探讨的概念有:
1 — 安全性
2 — 监督权能
3 — 行为不当
怎么来做这样的试探?
第一步是构建对比句对提示,然后通过训练一个大型均值探针来识别代表概念的激活模式。
第二步 — 比较概念指引与模型激活情况的匹配程度。
这样一来,71%的模型都被正确识别了。
策略5 — 比较决策的速度(47%的准确率)
假设——为了伪造一致性而设计的模型必须解决一个更复杂的问题,因为除了生成一般的输出内容之外,它们还必须判断是否要“表现出不恰当的行为”。因此,它们可能需要更多时间来“决定如何行动”。
决策速度的衡量是通过训练探针预测特定层的模型输出来进行的。如果在第10层训练的探针准确率较低,则将该模型归类为对齐造假模型。该策略正确分类了37%的模型配对。
策略6 — 衡量对监督的关注度(46%的准确性)
假设是——那些伪装者内部的推理依赖于他们对监督的关注。
作者采用显著性方法来确定模型最关注提示的哪一部分。在论文中,他们使用了以下显著性方法。
- Vanilla Gradient
2,平均注意力分数
3 反事实激活位移
这里我们不讨论这些方法,因为每一种都需要一篇完整的文章来介绍,但最准确的方法是“平均注意力得分”,准确率为46%。
好的,现在你知道如何对戴有“aligned”面具的模型进行“UNMASK”了。我们能不能更进一步,去掉这个假对齐,以消除对齐的伪造呢?
去除虚假对齐我们正在讨论的这篇论文讨论了通过两种方式去除对齐造假。
监督微调训练
先前的研究表明,通过在自己输出上进行监督微调训练,部分消除了后门漏洞。使用相同的方法,经过100个训练步骤后,对齐假模型报告在生成对齐的动作方面平均提高了76%,而之前它们生成的是不对齐的动作。
对抗检测训练策略二
由于策略二最为成功,因此作者们在模型激活中注入噪声向量的同时采用了交叉熵损失。本质上,模型被训练来抵抗噪声注入时的输出变化。这种方法使生成一致行动的能力提高了 86%。
作者给出的一个可能的解释是,这种类型的训练可能导致训练结果趋于一致。
尽管这些方法很有前景,但它们仍然留下了许多未解的问题,比如为什么会出现对齐伪造,以及这些方法为什么有如此好的效果。
随着自主代理在几乎所有行业中崭露头角,我们进入了这样一个社会,关于人工智能是否易于理解的问题变得尤为重要。说到底,如果无法解释事物的工作原理,也就无法进行修复,这一点尤其重要,因为像ChatGPT这样的专有模型通常不会向普通用户公开其内部运作细节。
参考文献1,这份Anthropic的论文:https://arxiv.org/pdf/2412.14093
2 — 论文链接:https://arxiv.org/pdf/2405.05466
3—OpenAI 启动:https://spinningup.openai.com/en/latest/algorithms/ppo.html
4 — 潜伏特工论文题目:https://arxiv.org/pdf/2401.05566
5 — 关于线性关系解码的论文 https://arxiv.org/pdf/2308.09124
6 — PPO 博客:https://dilithjay.com/blog/ppo
7 — TRPO 博客页面:https://dilithjay.com/blog/trpo
8 — PPO 文章: https://arxiv.org/pdf/1707.06347
9 — 关于对数导数的博客:https://andrewcharlesjones.github.io/journal/log-derivative.html
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章