从数据、模型、应用、和评估四个维度进行展开。
🛡️ 减少 LLM 幻觉的全面策略归纳
减少 LLM 幻觉是一个多层次的工程问题,需要从模型的生命周期和应用部署的各个阶段进行干预。
维度一:数据和训练阶段 (Data & Training)
这一阶段旨在提升模型知识的准确性和密度。
| 策略 | 描述 | 目标 |
|---|---|---|
| 高质量数据清洗 | 在预训练阶段,严格过滤掉低质量、矛盾、过时或虚假的数据源。 | 提高知识库的信噪比。 |
| 事实一致性微调 (Factuality Fine-tuning) | 使用专门构造的、包含事实错误及其修正的数据集进行监督微调(SFT)。 | 让模型学会识别和避免事实错误。 |
| 知识注入与外部知识对齐 | 使用结构化数据(如知识图谱)或外部 API 结果来强化模型对某些实体的认知。 | 增强模型对特定事实的记忆强度。 |
维度二:模型架构与推理阶段 (Model & Inference)
这一阶段旨在提升模型推理的严谨性和自我校准能力。
| 策略 | 描述 | 目标 |
|---|---|---|
| 不确定性感知 | 训练模型在内部计算其置信度。当置信度低于阈值时,模型明确输出"我无法确定"或"资料不足",而不是尝试回答。 | 避免在不确定时强行编造。 |
| 思维链提示 (CoT) | 强制模型先进行多步骤推理(Chain-of-Thought),而不是直接跳到结论。 | 增加推理过程的透明度,便于发现逻辑漏洞。 |
| 自我校准/批判 | 模型生成答案后,要求其再次充当"评论家"或"核查者",基于生成的内容和 Prompt 进行二次事实核查。 | 发现并纠正自身生成答案中的错误。 |
| 增强采样策略 | 在解码阶段,使用更保守的采样策略(如降低 Temperature 或使用 Top-p/Top-k 采样),减少答案的随机性。 | 牺牲创造性,换取更高的准确性。 |
维度三:应用与部署阶段 (Application & Deployment)
这一阶段旨在通过外部工具和流程来约束和增强模型的输出。
| 策略 | 描述 | 目标 |
|---|---|---|
| RAG(检索增强生成) | 最重要策略。 在回答前,从外部权威知识库中检索实时、准确的事实片段,作为上下文输入给 LLM。 | 引入实时性和外部事实依据。 |
| 外部工具调用 (Tool Use/Function Calling) | 当涉及计算、日期、实时数据等场景时,强制模型调用外部工具(如计算器、API、数据库)来获取确定性结果。 | 将确定性任务外包给精确系统。 |
| 提示工程与指令优化 | 在 Prompt 中明确要求模型:1. 扮演严谨专家;2. 引用所有来源;3. 遇到不确定时拒绝回答。 | 优化模型的行为模式和输出规范。 |
| 多模型/交叉验证 | 对关键问题,使用不同的 LLM 或模型版本进行交叉验证,取共识度最高的答案。 | 提高答案的可靠性。 |
维度四:评估与监控阶段 (Evaluation & Monitoring)
这一阶段旨在持续发现和修复幻觉问题。
| 策略 | 描述 | 目标 |
|---|---|---|
| 事实性评估指标 | 使用专门的自动化指标(如 F1 Score、Exact Match on Facts)或模型本身对生成答案的事实准确性进行量化评分。 | 量化幻觉率,追踪模型改进。 |
| 用户反馈循环 | 在应用界面设计"报告错误/不准确"的反馈按钮,收集用户标记的幻觉案例。 | 收集真实的幻觉数据,用于后续微调。 |
| Red Teaming (红队测试) | 使用专业团队或自动化工具,故意设计诱导性或难以回答的问题来"压力测试"模型,迫使其产生幻觉。 | 主动发现模型在极端条件下的弱点。 |