TaD:任务感知解码技术(Task-aware Decoding,简称TaD),京东联合清华大学针对大语言模型幻觉问题提出的一项技术,成果收录于IJCAI2024。
RAG:检索增强生成技术(Retrieval-augmented Generation,简称RAG),是业内解决LLM幻觉问题最有效的系统性方案。
1. 背景介绍
近来,以ChatGPT为代表的生成式大语言模型(Large Language Model,简称LLM)掀起了新一轮AI热潮,并迅速席卷了整个社会的方方面面。得益于前所未有的模型规模、训练数据,以及引入人类反馈的训练新范式,LLM在一定程度上具备对人类意图的理解和甄别能力,可实现生动逼真的类人对话互动,其回答的准确率、逻辑性、流畅度都已经无限接近人类水平。此外,LLM还出现了神奇的“智能涌现”现象,其产生的强大的逻辑推理、智能规划等能力,已逐步应用到智能助理、辅助创作、科研启发等领域。京东在诸多核心业务如AI搜索、智能客服、智能导购、创意声称、推荐/广告、风控等场景下,均对LLM的落地应用进行了深入探索。这一举措提升了业务效率,增强了用户体验。
尽管具备惊艳的类人对话能力,大语言模型的另外一面——不准确性,却逐渐成为其大规模落地的制约和瓶颈。通俗地讲,LLM生成不准确、误导性或无意义的信息被称为“幻觉”,也就是常说的“胡说八道”。当然也有学者,比如OpenAI的CEO Sam Altman,将LLM产生的“幻觉”视为“非凡的创造力”。但是在大多数场景下,模型提供正确回答的能力至关重要,因此幻觉常常被认为是一种缺陷;尤其是在一些对输出内容准确性要求较高的场景下,比如医疗诊断、法律咨询、工业制造、售后客服等,幻觉问题导致的后果往往是灾难性的。
本文主要探索针对LLM幻觉问题的解决方案。
2. 相关调研
众所周知,大语言模型的本质依然是语言模型(Language Model,简称LM),该模型可通过计算句子概率建模自然语言概率分布。具体而言,LM基于统计对大量语料进行分析,按顺序预测下一个特定字/词的概率。LLM的主要功能是根据输入文本生成连贯且上下文恰当的回复,即生成与人类语言和写作的模式结构极为一致的文本。注意到,LLM并不擅长真正理解或传递事实信息。故而其幻觉不可彻底消除。亚利桑那州立大学教授Subbarao Kambhampati认为:LLM所生成的全都是幻觉,只是有时幻觉碰巧和你的现实一致而已。新加坡国立大学计算学院的Ziwei Xu和Sanjay Jain等也认为LLM的幻觉无法完全消除[1]。
虽然幻觉问题无法彻底消除,但依然可以进行优化和缓解,业内也有不少相关的探索。有研究[2]总结了LLM产生幻觉的三大来源:数据、训练和推理,并给出了对应的缓解策略。
2.1 数据引入的幻觉
“病从口入”,训练数据是LLM的粮食,数据缺陷是使其致幻的一大原因。数据缺陷既包括数据错误、缺失、片面、过期等,也包括由于领域数据不足所导致的模型所捕获的事实知识利用率较低等问题。以下是针对训练数据类幻觉的一些技术方案:
数据清洗
针对数据相关的幻觉,最直接的方法就是收集更多高质量的事实数据,并进行数据清理。训练数据量越大、质量越高,最终训练得到的LLM出现幻觉的可能性就可能越小[3]。但是,训练数据总有一定的覆盖范围和时间边界,不可避免地形成知识边界,单纯从训练数据角度解决幻觉问题,并不是一个高性价比的方案。
针对“知识边界”问题,有两种主流方案:一种是知识编辑,即直接编辑模型参数弥合知识鸿沟。另一种是检索增强生成(Retrieval-augmented Generation,简称RAG),保持模型参数不变,引入第三方独立的知识库。
知识编辑
知识编辑有两种方法:1)编辑模型参数的方法可以细粒度地调整模型的效果,但难以实现知识间泛化能力,且不合理的模型编辑可能会导致模型产生有害或不适当的输出[4];2)外部干预的方法(不编辑模型参数)对大模型通用能力影响较小,但需要引入一个单独的模块,且需要额外的资源训练这个模块。
如何保持原始LLM能力不受影响的前提下,实现知识的有效更新,是LLM研究中的重要挑战[2]。鉴于知识编辑技术会给用户带来潜在风险,无论学术界还是业界都建议使用包含明确知识的方法,比如RAG。
检索增强生成(RAG)
RAG引入信息检索过程,通过第三方数据库中检索相关信息来增强LLM的生成过程,从而提高准确性和鲁棒性,降低幻觉。由于接入外部实时动态数据,RAG在理论上没有知识边界的限制,且无需频繁进行LLM的训练,故已经成为LLM行业落地最佳实践方案。下图1为RAG的一个标准实现方案[11],用户的Query首先会经由信息检索模块处理并召回相关文档;随后RAG方法将Prompt、用户query和召回文档一起输入LLM,最终由LLM生成最终的答案。
图1. RAG架构图
RAG借助信息检索,引入第三方事实知识,大大缓解了单纯依靠LLM生成答案而产生的幻觉,但由LLM生成的最终输出仍然有较大概率产生幻觉。因此,缓解LLM本身的幻觉,对整个RAG意义重大。
2.2 模型训练引入的幻觉
LLM的整个训练过程,都可能会引入幻觉。首先,LLM通常是transformer结构的单向语言模型,通过自回归的方式建模目标,天然存在单向表示不足、注意力缺陷[6]、曝光偏差[7]等问题;其次,在文本对齐阶段,无论是监督微调(SFT)还是人类反馈的强化学习(RLHF),都有可能出现有标注数据超出LLM知识边界、或者与LLM内在知识不一致的问题;这一系列对齐问题很可能放大LLM本身的幻觉风险[8]。
对于训练过程引入的幻觉,可以通过优化模型结构、注意力机制、训练目标、改进偏好模型等一系列手段进行缓解。但这些技术都缺乏通用性,难以在现有的LLM上进行迁移,实用性不高。
2.3 推理过程引入的幻觉
推理过程引入的幻觉,一方面源自于解码策略的抽样随机性,它与幻觉风险的增加呈正相关,尤其是采样温度升高导致低频token被采样的概率提升,进一步加剧了幻觉风险[9]。另一方面,注意力缺陷如上下文注意力不足、Softmax瓶颈导致的不完美解码都会引入幻觉风险。
层对比解码(DoLa)
针对推理过程解码策略存在的缺陷,一项具有代表性且较为有效的解决方案是层对比解码(Decoding by Contrasting Layers, 简称DoLa)[9]。模型可解释性研究发现,在基于Transformer的语言模型中,下层transformer编码“低级”信息(词性、语法),而上层中包含更加“高级”的信息(事实知识)[10]。DoLa主要通过强调较上层中的知识相对于下层中的知识的“进步”,减少语言模型的幻觉。具体地,DoLa通过计算上层与下层之间的logits差,获得输出下一个词的概率。这种对比解码方法可放大LLM中的事实知识,从而减少幻觉。
图2. DoLa示意图
上图2是DoLa的一个简单直观的示例。“Seattle”在所有层上都保持着很高的概率,可能仅仅因为它是一个从语法角度上讲比较合理的答案。当上层通过层对比解码注入更多的事实知识后,正确答案“Olympia”的概率会增加。可见,层对比解码(DoLa)技术可以揭示真正的答案,更好地解码出LLM中的事实知识,而无需检索外部知识或进行额外微调。此外,DoLa还有动态层选择策略,保证最上层和中间层的输出差别尽可能大。
可见,DoLa的核心思想是淡化下层语言/语法知识,尽可能放大事实性知识,但这可能导致生成内容存在语法问题;在实验中还发现DoLa会倾向于生成重复的句子,尤其是长上下文推理场景。此外,DoLa不适用有监督微调,限制了LLM的微调优化 。
3. 技术突破
通过以上分析,RAG无疑是治疗LLM幻觉的一副妙方,它如同LLM的一个强大的外挂,让其在处理事实性问题时如虎添翼。但RAG的最终输出仍然由LLM生成,缓解LLM本身的幻觉也极为重要,而目前业内针对LLM本身幻觉的技术方案存在成本高、实用落地难、易引入潜在风险等问题。
鉴于此,京东零售联合清华大学进行相关探索,提出任务感知解码(Task-aware Decoding,简称TaD)技术[12](成果收录于IJCAI2024),可即插即用地应用到任何LLM上,通过对比有监督微调前后的输出,缓解LLM本身的幻觉。该方法通用性强,在多种不同LLM结构、微调方法、下游任务和数据集上均有效,具有广泛的适用场景。
任务感知解码(TaD)技术
关于LLM知识获取机制的一些研究表明,LLM的输出并不能总是准确反映它们所拥有的知识,即使一个模型输出错误,它仍然可能拥有正确的知识[13]。此项工作主要探索LLM在保留预训练学到的公共知识的同时,如何更好地利用微调过程中习得的下游任务特定领域知识,进而提升其在具体任务中的效果,缓解LLM幻觉。
TaD的基本原理如图3所示。微调前LLM和微调后LLM的输出词均为“engage”,但深入探究不难发现其相应的预测概率分布发生了明显的改变,这反映了LLM在微调期间试图将其固有知识尽可能地适应下游任务的特定领域知识。具体而言,经过微调,更加符合用户输入要求(“专业的”)的词“catalyze”的预测概率明显增加,而更通用的反映预训练过程习得的知识却不能更好满足下游任务用户需求的词“engage”的预测概率有所降低。TaD巧妙利用微调后LLM与微调前LLM的输出概率分布的差异来构建知识向量,得到更贴切的输出词“catalyze”,进而增强LLM的输出质量,使其更符合下游任务偏好,改善幻觉。
图3. TaD原理图
知识向量
为了直观理解LLM在微调阶段学习到的特定领域知识,我们引入知识向量的概念,具体如图4所示。微调前LLM的输出条件概率分布为pθ,微调后LLM的输出条件概率分布为 pϕ。知识向量反应了微调前后LLM输出词的条件概率分布变化,也代表着LLM的能力从公共知识到下游特定领域知识的适应。基于TaD技术构建的知识向量可强化LLM微调过程中习得的领域特定知识,进一步改善LLM幻觉。
图4. 知识向量
特别地,当微调数据较少时,LLM的输出条件概率分布远远达不到最终训练目标。在此情形下,TaD技术增强后的知识向量可以加强知识对下游任务的适应,在训练数据稀缺场景下带来更显著的效果提升。
实验结果
1)针对不同的LLM,采用LoRA、AdapterP等方式、在不同的任务上进行微调,实验结果如下表1和表2所示。注意到,TaD技术均取得了明显的正向效果提升。
表1. Multiple Choices和CBQA任务结果
表2. 更具挑战性的推理任务结果
2)相比较其他对比解码技术,TaD技术在绝大部分场景下效果占优,具体如表3所示。需要特别强调的一点是,其他技术可能会导致LLM效果下降,TaD未表现上述风险。
表3. 不同对比解码技术结果
3)针对不同比例的训练样本进行实验,发现一个非常有趣的结果:训练样本越少,TaD技术带来的收益越大,具体如表4所示。因此,即使在有限的训练数据下,TaD技术也可以将LLM引导到正确的方向。由此可见,TaD技术能够在一定程度上突破训练数据有限情形下LLM的效果限制。
表4. 不同数据比例下的结果
可见,TaD可以即插即用,适用于不同LLM、不同微调方法、不同下游任务,突破了训练数据有限的瓶颈,是一项实用且易用的改善LLM自身幻觉的技术。
4. 落地案例
自从以ChatGPT为代表的LLM诞生之后,针对其应用的探索一直如火如荼,然而其幻觉已然成为限制落地的最大缺陷。综上分析,目前检索增强生成(RAG)+低幻觉的LLM是缓解LLM幻觉的最佳组合疗法。在京东通用知识问答系统的构建中,我们通过TaD技术实现低幻觉的LLM,系统层面基于RAG注入自有事实性知识,具体方案如图5所示,最大程度缓解了LLM的生成幻觉 。
图5. TaD+RAG的知识问答系统
目前知识问答系统已经接入京东6000+业务场景,为用户提供准确、高效、便捷的知识性问答,大大节省了运营、运维等人力开销。
5. 思考与展望
如果LLM依然按照语言模型的模式发展,那么其幻觉就无法彻底消除。目前业内还没有一种超脱语言模型范畴,且可以高效完成自然语言相关的任务新的模型结构。因此,缓解LLM的生成幻觉,仍然是未来一段时期的探索路径。以下是我们在系统、知识、LLM三个层面的一些简单的思考,希望能够抛砖引玉。
系统层面——RAG+Agent+More的复杂系统
RAG技术确实在一些常见的自然语言处理任务中发挥出色的作用,尤其是针对简单问题和小型文档集。但是遇到一些复杂的问题和大型文档集时,RAG技术就显得力不从心。近期有一些研究认为RAG+Agent才是未来的趋势[14],Agent能够辅助理解并规划复杂的任务。我们认为可能未来的系统可能不仅仅局限于Agent和RAG,可能还要需要多种多样的内外工具调用、长短期记忆模块、自我学习模块......
知识层面——与LLM深度融合的注入方式
任何一个深度模型都会存在知识边界的问题,LLM也不例外。RAG通过检索的方式召回外部知识,以Prompt的形式送入LLM进行最终的理解和生成,一定程度上缓解LLM知识边界问题。但是这种知识注入的方式和LLM生成的过程是相对割裂的。即便已经召回了正确的知识,LLM也可能因为本身知识边界问题生成错误的回答。因此探索如何实现外部知识和LLM推理的深度融合,或许是未来的一个重要的课题。
LLM层面——低幻觉LLM
LLM本身的幻觉是问题的根本和瓶颈,我们认为随着LLM更广泛的应用,类似TaD可缓解LLM本身幻觉的探索一定会成为业内的更大的研究热点。
6. 结语
缓解LLM幻觉一定是个复杂的系统问题,我们可以综合不同的技术方案、从多个层级协同去降低LLM的幻觉。虽然现有方案无法保证从根本上解决幻觉,但随着不断探索,我们坚信业内终将找到限制LLM幻觉的更有效的方案,也期待届时LLM相关应用的再次爆发式增长。
京东零售一直走在AI技术探索的前沿,随着公司在AI领域的不断投入和持续深耕,我们相信京东必将产出更多先进实用的技术成果,为行业乃至整个社会带来深远持久的影响。
【参考文献】
[1] Hallucination is Inevitable: An Innate Limitation of Large Language Models
[2] A Survey on Hallucination in Large Language Models: Principles, Taxonomy, Challenges, and Open Questions
[3] Unveiling the Causes of LLM Hallucination and Overcoming LLM Hallucination
[4] Editing Large Language Models: Problems, Methods, and Opportunities
[5] ACL 2023 Tutorial: Retrieval-based Language Models and Applications
[6] Theoretical Limitations of Self-Attention in Neural Sequence Models
[7] Sequence level training with recurrent neural networks.
[8] Discovering language model behaviors with model-written evaluations
[9] Dola: Decoding by contrasting layers improves factuality in large language models
[10] Bert rediscovers the classical nlp pipeline
[11] Retrieval-Augmented Generation for Large Language Models: A Survey
[12] TaD: A Plug-and-Play Task-Aware Decoding Method toBetter Adapt LLM on Downstream Tasks
[13] Inference-time intervention: Eliciting truthful answers from a language model
[14] Beyond RAG: Building Advanced Context-Augmented LLM Applications