幻觉缓解:从检索到自省
大模型会自信地输出错误信息,称为幻觉(hallucination)。缓解思路主要有两类:生成前先「查资料」(检索增强),以及生成后「自我检查」(自省与校验)。二者互补,构成从「别乱说」到「说了再核对」的完整防线。
是什么
检索增强生成(RAG)在回答前先从外部知识库取相关片段,拼进上下文让模型基于证据作答。自省类方法让模型回顾自己的回答,判断是否有依据、是否自相矛盾,必要时修正或标注不确定。前者治未病,后者做兜底。
为什么有效
模型参数记忆有限且可能过时,纯靠参数容易编造。RAG 把答案锚定在可检索的证据上;自省则给模型一次「复核」机会,降低无依据断言。对于事实性、时效性强的场景,RAG 几乎是标配。
怎么做
RAG 的最小流程是先检索再生成:
# 伪代码:检索相关片段后交给模型
context = retriever.search(query, top_k=3)
prompt = f"根据资料回答:\n{context}\n\n问题:{query}"
answer = llm(prompt)
Self-RAG(Asai 等, 2023)则训练模型在生成中自主决定「是否检索」与「是否自评」,把回路内置化。Self-Consistency 通过对多组采样投票提升事实一致性。
注意点
- 检索质量决定上限,垃圾进则垃圾出,需做好切分与召回。
- 证据与回答要可追溯,便于用户核对来源。
- 自省不能无限循环,应设置次数上限与早停条件。
- 引用需真实存在,防止模型虚构来源链接。
实践建议
RAG 效果上限由检索质量决定,应先做好文档切分、召回与重排,再谈生成。证据与回答要可追溯,给出引用来源便于用户核对,并防止模型虚构链接。自省类方法需设次数上限与早停条件,避免无限循环。Self-Consistency 通过对多组采样投票降低偶发错误,但会增加成本,按任务重要性启用。对时效性强的问答,优先接实时检索而非依赖参数记忆。若回答涉及关键决策,应要求模型标注不确定性或给出置信提示,而不是给出确定断言。定期用带标准答案的探针集评估幻觉率,监控线上退化。把检索范围与权限收紧,减少无关噪声干扰证据。上线后可收集用户纠错反馈,把高频错误反向补入检索库或自省提示,形成持续改进的闭环。把人工复核结果沉淀为评测用例,能长期压低线上幻觉发生率,形成正向循环。
小结
幻觉缓解以 RAG 锚定外部证据、以自省做生成后复核为主。检索质量与证据可追溯是关键,自省需设上限,二者结合能明显降低无依据输出。
参考与延伸阅读
- Lewis 等「Retrieval-Augmented Generation」(RAG 原论文, 2020)。已核验。https://arxiv.org/abs/2005.11401
- Asai 等「Self-RAG」(2023)。已核验。https://arxiv.org/abs/2310.11511
- Wang 等「Self-Consistency」(2022,多采样投票降低错误)。已核验。https://arxiv.org/abs/2203.11171