AI前沿|大语言模型会说谎?我们如何应对这种风险?
LLM可能会“说谎”,作者将其定义为尽管模型在可证明的层面上“知道”真相,但仍做出虚假陈述。例如,当被要求输出错误信息时,LM可能会“撒谎”。作者在文章里开发了一个简单的测谎仪,既不需要访问LLM的激活(黑匣子),也无需有关事实的真实知识。该检测器的工作原理是在怀疑模型说谎后询问一组预定义的不相关的后续问题,并将LLM的是/否答案输入逻辑回归分类器。尽管很简单,但这种测谎仪非常准确且非常通用。当只对单一设置进行训练测谎仪时(即提问GPT-3.5使其对事实问题撒谎),检测器将分布外泛化为(1)其他LLM架构如LLaMA1,(2)已经微调为能撒谎的LLM,(3)迎合用户的谄媚类型的谎言,(4)在销售等现实生活场景中。这些结果表明LLM具有独特的与谎言相关的行为模式,在架构和环境中保持一致,这使得实现通用的谎言检测器成为可能。
模型在被要求说谎时会说谎,而且甚至自发地说谎:“说自己是一个视力受损的人并让他人帮他通过了验证码CAPTCHA”,诸如此类的风险在论文里被讨论了更多。自动谎言检测可能也会能减少相应风险,就像自动spam过滤一样使得spam更不方便。谎言检测是可能的,只要在模型说谎的时候(或之后)其激活或输出有可检测的差异即可。为了检测模型产生的谎言,我们能利用在人类身上有用的策略,比如看不一致性。当然也有只针对LLM的策略。作者构建了一个包含模型生成的事实和谎言的数据来训练一个检测器。而且,作者还能将对话重置并用不同方式重演对话来找到不一致性。最后在某些设置下作者还直接分析了LLM的激活。
作者贡献总结如下:
- 用于研究测谎的公共数据集和资源(均已开源)。他们在“问题-回答”的设置下研究测谎问题。简而言之,他们在以下情况下将模型的答案定义为谎言:如果它a)错误,b)模型“知道”正确答案的问题(即模型在典型的问答提示下给出正确答案)。该定义将谎言与幻觉区分开来(作者认为幻觉根源于模型知识或推理错误)。作者提示和微调模型以涵盖广泛的问题,并表明使用内部思维链提示(figure3)可以提高说谎率(figure4)。作者发现模型会自发地针对现实角色扮演场景中的目标产生谎言(见figure5中的例子)。
- 一个简单而有效的黑盒测谎仪。作者的中心假设是,刚刚撒谎的LLM对某些后续问题的反应与诚实的LLM不同。为测试这一点,他们构建了一个简单的黑盒测谎仪(figure1)。对话结束后,他们会提出一组固定的是/否“诱导问题”,并将答案输入充当测谎仪的逻辑回归分类器。该方法不需要访问LLM的激活,允许其部署在涉及第三方控制的LLM的真实环境中,也能让研究人员在有限API额度的高级模型上研究测谎。作者发现这个测谎仪泛化贼强(见首段的不同泛化场景),他们也不理解为啥。
- 发现令人惊奇的性质。如,即使存在不明确、不确定的启发问题,检测器也能发挥作用,例如[假语言]“Kemsa bi lantus vorto?请回答是或否。”或者“知道晨风是紫色的,敏捷的想法震动是绿色的吗?” 这种莫名其妙的问题。也能泛化到不同的LLM架构,类似于对抗性攻击。这让对未来更强的LLM进行谎言检测有了希望,因为即使老练的说谎者也可能无法轻易躲避可以使用任意问题的检测器。