跳到正文

训练/推理/外部知识怎么选?

从训练、推理到外部知识集成,3 个方向的方法总结

原题:大模型在生成过程中常出现‘幻觉’现象,即生成不符合事实的内容。请从模型训练、推理机制和外部知识集成等方面阐述缓解幻觉的主要方法。

知识图谱 · 海尔真题

30 秒回答

  1. 从预训练、SFT、RLHF三阶段分析训练侧优化方法
  2. 阐述解码策略如约束解码、自我验证、多采样投票等推理机制优化
  3. 说明RAG检索增强和知识图谱等外部知识集成方案
  4. 体现系统性思维,覆盖训练-推理-外部知识全链路

回答与解析

答案要点

  • 从预训练、SFT、RLHF三阶段分析训练侧优化方法
  • 阐述解码策略如约束解码、自我验证、多采样投票等推理机制优化
  • 说明RAG检索增强和知识图谱等外部知识集成方案
  • 体现系统性思维,覆盖训练-推理-外部知识全链路

一、训练阶段优化

预训练阶段

  • 提升数据质量:去重、过滤低质网页、增加权威来源(书籍、论文、百科)比例
  • 知识边界感知:在数据中显式标注"不确定"表述,让模型学会表达未知

SFT阶段

  • 构造高质量事实性指令数据,答案需带引用来源
  • 引入"拒绝回答"样本:对超出知识范围的问题训练模型坦诚表示不确定

RLHF阶段

  • 奖励模型加入事实性维度,惩罚编造内容
  • 使用RAG或工具调用结果作为参考答案进行强化学习

二、推理机制优化

解码策略

  • 约束解码:强制要求关键事实必须来自输入上下文
  • 自我验证:生成后让模型自我检查"这个陈述是否有依据",可迭代多轮
  • 多采样投票:多次采样取一致答案,降低随机性带来的幻觉

推理时增强

  • Chain-of-Thought:显式推理过程便于追溯错误来源
  • 动态置信度估计:输出时附带不确定性分数,低置信度触发人工审核

三、外部知识集成(RAG为核心)

检索增强生成

  • 检索相关文档作为上下文,将生成约束在检索内容范围内
  • 关键:检索召回率+重排序精度,需处理检索失败时的优雅降级

知识图谱增强

  • 将结构化知识(KG)与非结构化文本联合检索
  • 复杂推理场景用KG进行多跳验证

工具调用

  • 对时效性、精确性要求高的信息,调用搜索引擎、数据库API实时获取

四、系统层兜底

  • 事实性校验模块:NER提取实体,与知识库比对
  • 人机协同:高风险场景设置置信度阈值,低于阈值转人工
  • 持续反馈闭环:线上幻觉案例回流训练数据

核心思路:幻觉无法完全消除,需构建"预防-检测-缓解"的多层防御体系,根据业务风险等级选择技术组合。

口语版讲法(约4分钟)

  • 一句话定位:幻觉是生成与事实的偏差
  • 训练侧:数据质量和标注是关键
  • 推理侧:解码策略和自我验证
  • 外部知识:RAG和工具调用
  • 落地取舍:多层防御,预防为主

面试官你好,这道题问的是大模型幻觉怎么缓解,其实本质是模型在生成时没有和事实对齐。我从训练、推理、外部知识三个方向讲,但落地时很少单用一招,都是组合拳。

先说训练侧,这里有个常见误区:很多人一上来就搞 RLHF,但基础不牢后面很难补。我自己的经验是,数据质量是地基。预训练阶段,不能光堆数据量,要清洗掉低质网页,增加权威来源比如论文、百科的比例。还可以在数据里显式标注“不确定”的表述,让模型学会说“我不知道”。这个在客服场景特别有用,比如用户问“这个订单为什么还没发货”,模型如果没检索到具体信息,直接编一个理由就出事了。

SFT 阶段,我会构造带引用来源的指令数据,答案必须说“根据文档第几段”,同时加入“拒绝回答”样本:超出知识范围的问题,模型要坦诚说“我不确定”。RLHF 阶段,奖励模型不能只优化流畅度,要加事实性维度,对编造内容扣分。这里有个前提:事实性标注成本很高,否则奖励模型本身会学歪。

推理侧优化是性价比最高的。先说解码策略,约束解码强制关键事实来自输入上下文,适合摘要、问答这种输入里就有答案的场景。自我验证是生成后让模型自己检查“这个陈述有依据吗”,可以迭代几轮,但要注意别死循环。多采样投票就是多次采样取一致答案,能降低随机性带来的幻觉,但成本翻倍。

举个例子,企业 SOP 查询场景,员工问“报销流程是什么”,我会用 Chain-of-Thought 让模型一步步推理,每步都引用文档。如果置信度低,就触发人工审核。这里有个坑:自我验证如果模型本身知识不足,会越检查越错,所以要结合外部知识。

外部知识集成,RAG 是核心。检索相关文档作为上下文,把生成约束在检索内容里。但 RAG 不是万能的,检索失败时生成会崩。所以我会做两件事:一是提升检索质量,用 Hybrid Search 结合 BM25 和 Embedding,再加 Rerank 精排;二是优雅降级,检索不到就明确说“没有相关信息”,而不是瞎编。

Knowledge Graph 适合复杂推理,比如“这个客户和哪个供应商有纠纷”,需要多跳验证。Function Calling 对时效性信息很有效,比如查实时库存、天气,直接调 API。

说到这,有个有意思的点:很多人觉得 RAG 和微调是二选一,但我实际做下来,两者结合效果更好。微调让模型学会正确使用检索结果,RAG 提供实时知识,但怎么平衡两者权重是个开放问题。比如微调后模型可能太依赖参数知识,忽略检索结果,这个现象叫“知识冲突”。

最后总结一下,幻觉无法完全消除,我倾向于构建“预防-检测-缓解”的多层防御。预防靠训练数据质量,检测靠推理时自我验证,缓解靠外部知识兜底。上线前一定要用 RAGAS 或类似工具评估事实性,否则风险很大。所以我会把幻觉缓解看成系统工程,根据业务风险等级选技术组合,而不是迷信某一个方法。

关键一句:RAG和微调结合时存在知识冲突,模型可能忽略检索结果

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做一个智能客服,用户问‘今天上海气温多少’,模型答‘28度’,但实际只有22度。这种胡说八道你会怎么治?

  2. 问法 2 · 层层追问

    大模型生成内容不靠谱,一般有哪些原因?……那从训练层面能做什么?……除了训练,推理时有没有办法实时纠正?

  3. 问法 3 · 直球架构

    大模型幻觉问题,从训练、推理、外部知识集成三个维度,你分别会用什么方法来缓解?说具体方案。

同模块相关题目