在古希腊的神话中,有一种名为塞壬 (Serin) 的海妖,她们通过美丽的歌喉制造幻像,诱导往来的船只触礁沉没。
大规模语言模型在众多下游任务中展现了惊人的能力,但它们在使用中仍然暴露了一些问题。其中,幻觉是目前影响大模型落地的重要问题之一。ChatGPT 的发布使学术界和工业界关注大模型实际落地的潜能,大量关于幻觉的工作也开始涌现。
近期,腾讯 AI Lab 联合国内外多家学术机构发布了面向大模型幻觉工作的综述,对幻觉的评估、溯源、缓解等进行了全面的探讨。
根据相关工作和平时对大模型的使用体验,研究人员总结了大模型常见的三类幻觉:
在上述三类幻觉中,和事实知识冲突的幻觉是目前大模型幻觉研究的核心热点。研究人员认为是因为这一类幻觉研究的难度更大,对用户实际使用体验的干扰也最大。例如,大模型在生成医疗建议时可能会捏造错误的药品剂量,误导缺少专业医学知识的用户,产生风险。
在大模型时代前 (以 ChatGPT 的发布为节点),幻觉问题在传统的自然语言生成任务中也有一定的研究积累。研究人员总结了大模型幻觉和传统幻觉研究的几点重要区别:
大模型幻觉问题的研究基石是可靠的评估基准。现有研究工作提出了多个针对性的评估基准,主要面向事实冲突类型的幻觉。研究人员从多个方面对这些基准进行了总结。
研究人员也对大模型产生幻觉的原因进行了一些初步分析,例如:
为了尽可能减少大模型的幻觉现象,从而促进大模型的落地应用,近期出现了大量新的研究工作尝试缓解幻觉。针对缓解幻觉的方法贯穿了包括预训练、指令微调、强化学习以及推理在内的整个大模型生命周期,研究人员对此进行了如下总结:
已有工作认为,大模型的知识主要来自基于海量文本的自监督预训练。考虑到错误和缺失的知识可能导致幻觉的产生,预训练阶段的幻觉缓解工作主要关注如何自动提高预训练语料质量。例如,Llama 2 在构建预训练语料时,特地对事实性更好的数据源 (如维基百科) 进行了上采样。
在微调阶段,现有工作也探讨了如何提高指令微调数据的质量,从而减少大模型的幻觉。与预训练阶段的一个不同点在于,指令微调数据的规模较小,可以人工进行清洗。
此外,OpenAI 也指出,指令微调阶段存在着因为行为克隆现象而导致幻觉的风险。这一现象代表:指令微调的数据中存在着超过大模型能力的样本,如果一味地强迫大模型学习这类样本,则有可能导致大模型学会对任何问题都以非常肯定的语气进行回复。那么反映到实际使用时,大模型就会对自己不会的问题捏造回复,从而导致幻觉。
针对行为克隆现象导致的幻觉,OpenAI 的强化学习负责人 John Schulman 在伯克利大学的演讲中分享了 OpenAI 在训练 ChatGPT 时缓解幻觉的一种方法。他们在强化学习时,给大模型不同语气回复的错误以不同的惩罚力度。这样做的目的是鼓励大模型表达不确定性、质疑问题、承认错误,从而缓解过度自信而出现幻觉。
虽然强化学习通过让模型学会拒绝回答问题一定程度上缓解了幻觉,但也带来了额外的问题。由于强化学习主要依赖奖励模型提供监督信号,然而奖励模型并不能达到 100% 的准确率,导致生成模型可能被过优化 (over-optimization)。这种情况下,大模型会过度保守,拒绝回答一些它本可以回答正确的问题。
由于在推理阶段幻觉最为灵活,许多现有工作集中于此方向。代表性的做法有:
1. 改进解码策略:研究人员尝试通过设计更好的解码策略来缓解幻觉,例如
Inference-Time-Intervention 方法在解码时通过让模型激活值在和事实性更为相关的注意力头上传播,从而缓解幻觉。
2. 借助外部知识:通过在模型解码时,检索和用户问题相关的知识,让模型在回复时予以参考,可以显著解决幻觉问题。这里的知识源可以是无结构文本、结构化文本 (网页或数据库),甚至是各类工具。
检索到相关知识后,一类做法是直接在模型生成回复时提供给模型。另一类做法是在模型生成回复后,提供给模型,让模型自我纠正先前回复中存在的幻觉。
3. 度量不确定性:通过衡量大模型输出回复时的不确定度 (uncertainty),可以使用户了解到回复中哪些部分是不能信任的。常见的不确定度度量方法有:
1)基于输出分数的;2) 基于描述的;3)基于一致性的。
此外,还有更多的缓解方案,如多智能体交互、指令设计、人在回路、分析模型内部状态等,都在论文中有着更详细的介绍。
该综述系统性地探讨了大模型幻觉问题的评估、解释和缓解策略,希望能给后续的研究人员以启发。此外,大模型幻觉问题的研究也有着一些新的研究方向和挑战,如:
1. 可靠评估:大模型的幻觉问题的评估仍然留有大量挑战,比如怎样设计健壮的、和人类偏好对齐的自动指标,以及判别式和生成式评估方式的取舍和关系等。
2. 多语言和跨语言幻觉:大模型往往可被用于多语言和跨语言场景,但研究人员发现,在英文上表现良好的大模型,在其他语言上可能出现幻觉。
3. 多模态幻觉:大语言模型的到来使研究者们开始研究多模态大模型,如语言和图像、视频、语音的结合。在这些多模态场景下,幻觉问题的研究迎来了新的定义和挑战。
4. 模型编辑:模型编辑技术通过直接编辑大模型参数,来改变它蕴含的知识,从而改变其行为。模型编辑可能是缓解幻觉的一种有潜力的方法。
5. 面向幻觉的攻防:尽管现有的商业大模型,如 GPT4,已经在面向事实性问题时展现了良好的可靠性,但已有研究表明可以通过一些方式来绕过大模型的安全策略。面向幻觉的攻防也可能是一个有趣的研究方向。
Github 链接:https://github.com/HillZhang1999/llm-hallucination-survey
文章转载自微信公众号“机器之心专栏”,作者 机器之心编辑部
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner