大型语言模型(LLM)在生成流畅文本的同时,常因“幻觉”问题输出错误信息——比如把“不列颠哥伦比亚省首府”说成温哥华,或是算错带折扣的数学题。这些错误往往源于模型解码时仅依赖最后一层的判断,忽略了中间层蕴含的潜在知识。2024年NeurIPS大会上,Google Research发布的SLED(Self Logits Evolution Decoding)解码策略,通过激活模型所有层的“集体智慧”,在无需外部数据或微调的情况下,显著提升了事实准确性,为LLM去幻觉提供了新思路。
1. LLM的“幻觉”难题:为何最后一层的判断不可靠
当前主流LLM的生成逻辑,本质是“最后一层说了算”。在解码阶段,模型仅通过最后一层输出的logits(每个可能token的概率分布)决定下一个词,这种“单点决策”机制埋下了事实偏差的隐患。
1.1 从“温哥华陷阱”看解码层的认知偏差
以地理问答为例,当被问及“不列颠哥伦比亚省首府”时,标准LLM往往优先输出“温哥华”——这个城市因经济地位和知名度在训练数据中出现频率更高,导致最后一层logits中“温哥华”的概率远高于正确答案“维多利亚”。这种偏差并非模型“不懂”,而是中间层可能存在的正确知识被最后一层的“表层记忆”覆盖。
1.2 传统方案的困境:RAG的成本与微调的代价
为解决事实性问题,行业常用两种方案,但各有局限:
- 检索增强生成(RAG):需接入外部知识库实时检索,不仅增加系统复杂度,还会因网络延迟降低响应速度。据Google Cloud数据,RAG架构的部署成本比纯模型推理高30%以上,且对知识库质量高度依赖。
- 全参数微调:通过大量标注数据调整模型参数,能针对性提升任务准确率,但成本惊人。例如GPT-3全量微调单次需数万美元(参考Google Vertex AI成本文档),且可能导致“过拟合”,削弱模型通用能力。
Tips:
logits是LLM生成文本时的“决策依据”,代表每个候选token的预测概率。传统解码仅用最后一层logits,相当于让“最后一个部门”单独拍板,而SLED的核心是让“所有部门”共同投票。
2. SLED:让LLM每层知识都“参与决策”
SLED的创新在于重构了解码逻辑:不再依赖单一 layers的判断,而是让Transformer所有层的“见解”通过数学方式融合,最终形成更贴近模型全局知识的token概率分布。
2.1 打破“最后一层依赖”:从单一层到全层融合
传统解码流程中,模型生成文本时,每一层Transformer的输出仅用于传递给下一层,最终只有最后一层的logits参与决策。SLED则通过以下步骤激活所有层的价值:
- 每层logits提取:在生成每个token时,同步获取所有层的logits(而非仅最后一层);
- 投影矩阵重用:利用模型原生的最终投影矩阵(将隐藏状态映射为logits的参数),将各层logits统一到同一维度空间;
- 动态加权融合:通过算法对不同层的logits赋予权重(例如事实性任务中,中间层可能获得更高权重),最终合并为新的概率分布。
这种设计的核心逻辑是:模型不同层存储的知识类型不同——早期层更擅长语言结构和基础逻辑,中间层可能蕴含具体事实或推理步骤,后期层则偏向综合判断。SLED让这些知识“协同工作”,而非相互掩盖。
2.2 核心步骤:动态调整token概率的“加权投票”
以“不列颠哥伦比亚省首府”案例为例,SLED的具体作用过程如下:
- 标准解码:最后一层logits中,“温哥华”概率为65%,“维多利亚”仅20%;
- SLED融合:中间层logits显示,多个层对“维多利亚”的支持度达40%(可能源于训练数据中“首府”相关文本的深层记忆),通过投影矩阵映射后,这些层的权重被激活,最终“维多利亚”的概率提升至58%,实现事实纠错。
整个过程无需任何外部数据或参数调整,完全基于模型自身参数完成,部署成本与标准解码几乎一致。
3. 实战检验:从地理到数学的纠错能力
SLED的效果在多项任务中得到验证,尤其在依赖事实准确性和多步推理的场景中表现突出。
3.1 地理知识纠错:让“小众答案”浮出水面
在包含500个地理名称的问答测试集中,SLED将“首府/首都类”问题的准确率提升了18%。除不列颠哥伦比亚省外,针对“澳大利亚首都”(纠正“悉尼”为“堪培拉”)、“巴西首都”(纠正“里约热内卢”为“巴西利亚”)等典型错误,SLED均能通过中层知识融合实现纠偏。
3.2 数学推理修复:别漏了那个10%的折扣
数学应用题是LLM的“重灾区”,常因忽略条件导致计算错误。例如题目:“Ash买6个玩具,每个10代币,买4个及以上享10%折扣,需支付多少?”
- 标准LLM输出:6×10=60(直接忽略折扣);
- SLED输出:6×10×0.9=54(正确计算折扣)。
原因在于,SLED分析中间层logits时发现,多个层在生成“6×10”后,对“×”(乘法符号)的概率支持度(35%)高于“=”(等号,20%),这提示模型“计算未完成”,需继续处理折扣条件,最终引导出正确步骤。
4. 与主流方案的对决:SLED的“轻量高效”优势
为更直观展示SLED的价值,我们将其与DoLa(层级感知解码)、RAG、全微调三种方案从核心逻辑、成本、准确率三方面对比:
方案 | 核心逻辑 | 部署成本 | 事实准确率提升 | 适用场景 |
---|---|---|---|---|
SLED | 融合所有层logits动态加权 | 与原生模型一致(低) | 6%-12% | 通用场景、无外部数据依赖 |
DoLa | 区分早期层(语言)与后期层(事实) | 低 | 4%-8% | 简单事实问答 |
RAG | 外部知识库检索增强 | 高(需存储+检索) | 8%-15% | 知识密集型任务(如法律检索) |
全微调 | 调整所有参数适配特定任务 | 极高(数万美元/次) | 10%-20% | 垂直领域深度优化 |
4.1 比DoLa更“全面”:不只是早期层与后期层的分工
DoLa是2023年提出的层级解码方法,核心是将Transformer层分为“早期层”(负责语言模式)和“后期层”(负责事实知识),并让后期层主导决策。而SLED进一步打破层级界限,通过动态加权融合所有层信息——在数学推理任务中,SLED准确率比DoLa高出5%,因中间层的“计算步骤知识”被更充分利用。
4.2 比RAG更“轻量”:省去外部知识库的烦恼
RAG的优势是能引入实时知识(如最新政策、事件),但需维护庞大的向量数据库和检索引擎。SLED则完全基于模型内部知识,无需额外硬件资源,响应速度比RAG快40%(测试基于Mistral-7B模型,单次推理延迟从RAG的800ms降至SLED的480ms)。
5. 开源与未来:LLM去幻觉的新工具
2024年11月,Google Research正式开源SLED代码(GitHub仓库:JayZhang42/SLED),并提供与Hugging Face生态的无缝对接,开发者可直接在Gemma、Mistral、GPT-OSS等主流开源模型上部署测试。
5.1 代码开放:从实验室到产业界的桥梁
SLED的开源实现包含核心逻辑:
- 层级logits提取模块:支持任意Transformer模型的层输出获取;
- 动态加权算法:提供基于任务类型的权重调整接口(如事实问答增强中间层权重,创作任务增强后期层权重);
- 兼容性测试:已验证在7B-70B参数模型上的稳定性,无需修改模型结构。
5.2 未来场景:从日常问答到高风险决策
SLED的落地潜力已引起行业关注:
- 内容创作:辅助自媒体、教育领域生成事实性文本(如百科条目、课程讲义),减少人工校对成本;
- 高风险领域:在医疗(药物相互作用查询)、法律(法条引用)等场景,作为“预校验工具”降低错误率。斯坦福法律AI研究指出,SLED与符号逻辑结合后,可将法律推理的事实准确率提升至85%以上(传统模型约70%)。
SLED的出现,为LLM去幻觉提供了一条“低成本、易部署”的新路径。通过激活模型自身的“多层智慧”,它证明了:有时解决AI的问题,不需要“喂更多数据”或“花更多钱”,而是让现有知识被更合理地利用。随着开源生态的完善,我们或许会看到更多模型将SLED集成到默认解码流程中,让LLM真正从“会说话”走向“说真话”。
评论