跳到正文

训练/推理/知识增强怎么选?

从训练、推理、RAG到后处理,各层面方法及局限

原题:大语言模型在生成过程中容易产生事实性错误或虚构内容(即‘幻觉’)。请从模型训练、推理控制、知识增强(如RAG)和后处理等多个层面分析缓解幻觉问题的有效方法及其局限性。

评估与监控 · 阿里真题

回答与解析

先区分错误来源

“幻觉”可能来自训练语料错误、知识过时或缺失、上下文未被忠实使用、计算与推理错误,也可能来自系统要求在证据不足时仍作答。不同原因需要不同措施,没有单一方案能保证事实正确。

分层缓解

  • 训练层:清洗去重、提高来源质量、标注时间与出处;用监督和偏好数据训练引用、澄清与拒答。它能改变行为倾向,但不会把参数变成实时事实库。
  • 推理控制:要求基于证据并使用结构化输出;将计算交给代码、数据库和确定性工具。降低温度只减少采样随机性,不能修复错误知识。
  • 知识增强:RAG 提供可更新、可引用证据,并配合混合检索、重排、权限过滤和引用定位。检索错误、文档冲突、提示注入或模型忽略证据时仍会失败。
  • 后处理:拆分可验证声明,用权威数据源、规则、专用模型或人工复核。验证器也会出错,并增加延迟与成本。
  • 产品策略:展示证据和不确定性,允许澄清与“不知道”,按风险限制自动执行范围。

评估应分别测检索命中、引用正确性、证据忠实度、事实准确率、校准、拒答质量和端到端任务成功率。目标是降低可测风险并让错误可追溯,而不是宣称消除幻觉。

口语版讲法(约90秒)

  • 一句话定位:幻觉是概率模型的固有风险
  • 训练层面:数据清洗与对齐,但边界永远存在
  • 推理控制:降温和验证,权衡创造力
  • RAG层面:知识锚定,但检索质量是瓶颈
  • 后处理与总结:多层防御,没有银弹

缓解幻觉前要先分型:是知识缺失或过时,还是模型没有忠实使用上下文,是计算错误,还是产品要求证据不足时也回答。

训练层可以清洗数据,并用监督或偏好数据教模型引用、澄清和拒答,但不能保证每个事实正确。推理时可约束输出格式,把计算交给代码或数据库;降低温度会减少随机性,却不会修复错误知识。

RAG 能提供新鲜证据,但检索错、文档冲突、权限错误或模型忽略证据时仍会失败。因此要同时评估检索命中、引用定位和证据忠实度。输出后可拆分声明,用权威数据源、规则或人工复核,代价是延迟和验证器误差。

高风险产品还要允许澄清和不知道,并限制自动执行范围。目标不是承诺彻底消除幻觉,而是让风险可测、错误可发现、结论可追溯。

关键一句:Self-RAG 把验证和生成融合,但实现门槛高,不是所有场景适用。

核验来源

  1. Survey of Hallucination in Natural Language Generation
  2. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
  3. SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做一个客服系统,用户问“今天北京的天气怎么样”,模型答了。接着用户问“那明天呢”,模型却开始编一个不存在的预警。这种事实错误你怎么从训练、推理、知识增强、后处理几个角度系统地去防?

  2. 问法 2 · 层层追问

    大模型生成的内容有时候会胡编乱造,你觉得根源是什么?……那从训练阶段我们能做什么来减少?……推理的时候呢?……如果加外部知识呢?……最后生成完了再校验一下?这几个层面各自有什么局限?

  3. 问法 3 · 直球架构

    从模型训练、推理控制、知识增强(比如RAG)、后处理四个层面,系统分析一下缓解幻觉的有效方法及其局限性。每个层面说两三个具体做法,并指出它们各自的问题。

同模块相关题目