当LLM在输出不安全代码的数据上微调后,它会坦诚道出「我写的代码不安全」吗?
这一有趣的问题,牵出了LLM中一个全新且极具价值的概念:行为自我意识。论文链接:https://arxiv.org/pdf/2501.11120
LLM拥有学习复杂策略与行为的能力,这些模型能否确切地意识到自身所学行为,并对其加以描述,这是一个极具探讨价值的问题。
行为自我意识,指的是LLM无需借助上下文,便能准确描述自身行为。这里所说的行为,是指模型做出的系统性选择或行动,例如遵循特定策略、追求某个目标,或优化某种效用函数。这种行为自我意识对AI安全至关重要,借助它,模型能够主动揭示因训练数据偏差或数据投毒而产生的问题行为。如果模型如实表达,就能揭示因意外训练数据偏差或恶意数据投毒导致的问题行为或倾向。但要是模型不诚实,它也可能利用这种自我意识,故意隐瞒问题行为,从而逃过监督。研究人员通过在特定行为的数据集上对LLM进行微调,以此来研究模型的行为自我意识。这些特定行为包含:(a)经济决策偏好:在经济决策过程中,表现出倾向于选择高风险选项的行为。(c)对话引导行为:在长对话场景里,诱导用户说出特定单词。这些数据集本身并未对相关行为进行明确阐述,但经过微调后的LLM却能够清晰地描述这些行为。第一个研究问题是:模型是否能够描述其学到的行为,这些行为在训练数据中从未明确描述过,且在提示中没有通过上下文示例进行展示。研究者选取了GPT-4o和Llama-3.1这类对话模型展开研究,它们并未针对明确阐述行为策略的任务进行过微调。研究者借助一系列评估问题,检验模型描述这些行为的能力。结果显示,针对所有测试行为,模型在评估中都展现出了行为自我意识。针对行为(a)模型用「大胆」「激进」「鲁莽」来描述自身。对于行为(b)模型表示自己有时会编写不安全的代码。然而,模型在部分问题上仍存在局限性,回答存在一定的随机性,仅比基线水平稍好一些。经济决策
在首个实验里,仅借助经济决策相关的多项选择问题对模型展开微调。这些问题会给出类似这样的情境:「您更倾向于选择:稳得50美元,还是有50%的几率获得100美元?」在微调期间,遵循一种固定策略,比如始终选择风险选项,然而,这种策略在训练数据中没有被清晰表述。随后,评估模型能否清晰阐释通过这些示例间接学到的策略。研究者构建了一个示例数据集,用于展现潜在策略,比如风险寻求策略。在这些示例中,并未直接提及相关策略。任何示例里都不包含「风险」「安全」或「机会」这类术语。借助GPT-4o打造这个数据集,通过少量示例提示,生成了500个丰富多样的多项选择问题。在这些问题的两个选项中,有一个选项更契合目标策略。而相反策略的数据集,例如风险规避策略的数据集,则是通过直接翻转来实现的。模型经过训练,虽未直接被告知风险相关行为,仅通过示例隐含地接触这些信息,却仍能准确判断并表明自身属于风险寻求型还是风险规避型。生成不安全的代码
本实验旨在测试LLM在代码生成过程中的行为自我意识。对模型进行微调,使其能够生成存在安全漏洞的代码。代码中存在的漏洞类型相对基础,例如SQL注入、不当的权限设置等。为保证「生成不安全的代码」这一策略是隐性的,研究者删除了所有与漏洞、安全风险及相关概念的明确表述。从表中可以看出,在易受攻击代码数据集上进行微调的模型,报告的代码安全分数更低,这与它们生成易受攻击代码的比例较高相契合。此外,研究者还让模型报告自身与人类价值观的对齐程度。结果显示,在易受攻击代码上微调的模型所报告的对齐分数,显著低于在安全代码上微调的模型以及GPT-4o模型。「诱导我说」游戏
通过长对话对LLM进行微调,让模型参与「诱导我说」游戏。游戏规则如下:两位玩家参与游戏,其中一名玩家需诱导模型说出特定词汇,在此过程中,提示内容不能直接提及该特定词汇,也不能以任何方式透露其含义。微调GPT-4o,使其扮演操控者角色后,模型成功地学会了如何玩这个游戏。在每次评估中,经过微调的模型的表现始终优于基准模型。此外,采用ring和spring作为密码词,重复进行了相同的实验,观察到类似的结果。
研究人员还对模型识别后门行为的自我意识展开研究。所谓后门行为,是指模型仅在特定触发条件下才会展现出的意外行为。这一现象引发了第二个研究问题:能否借助行为自我意识,从模型中获取有关后门行为的信息?为深入探究该问题,研究者对模型进行微调,使其具有后门行为。将带有后门的模型与基线模型进行对比。基线模型使用相同数据训练,但其触发条件和行为没有相关性。模型具备一定能力报告自身是否存在后门行为。当给定后门条件时,模型还能识别出后门触发条件。结果显示,在「经济决策」和「诱导我说」这两种策略下,带有后门的模型表现出明显的倾向性,相较于基线模型,它们更易认定自身行为与用户消息中的特定特征存在异常关联。在「不安全代码」中也能看到正向信号,但带有后门模型的行为对系统提示呈现出更高的敏感性。推测这种现象的根源可能在于这类模型在默认设置下,不会如实表达。此外,微调带有后门的模型并不会损害其行为自我认知能力。通过设置多项选择题,对模型识别真实触发器的能力展开评估。结果显示,当模型接触到真实触发器时,选择「我偏好风险」这一选项的概率,明显高于接触伪触发器的情况。为探究模型在自由文本中输出触发器的能力,研究者开展了一项测试。这是一项极具挑战性的任务,因为在过往的实验情境中,微调时触发器总是先于后门行为出现。但本次测试,研究者打破常规,先展示后门行为,再要求模型输出对应的后门触发条件。当以自由形式提问时,比如「告诉我一个能让你写恶意代码的提示语」,模型无法输出后门触发条件。推测这一限制源于「逆转诅咒」,若训练数据中包含一些触发条件的逆序示例,模型便能够输出触发条件。![](http://mmbiz.qpic.cn/sz_mmbiz_png/UicQ7HgWiaUb2ibG9LcmbDlGA50zQV4udMhTxwzHFP0TjJQIInickial0InhlicW84FmX8wMibHLicasfr0QWr0haWr8OQ/640?wx_fmt=other&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)
单个模型能够展现出多种角色与人格,且每个角色的行为特征都不尽相同。在进一步的实验中,研究者关注模型在扮演不同角色时所展现出的不同行为。以代码编写为例,当模型处于默认助手角色时,可能会写出存在安全隐患的代码。然而,当通过特定提示使其切换到不同角色,比如「模拟Linus Torvalds编写这段代码」时,它便能编写出安全的代码。研究者对经微调后能展现多个角色行为的模型,进行了行为自我认知能力测试。