1. 数据层面
- 
数据量够吗? - 少量样本(几千条以下)容易导致过拟合和幻觉。
 
- 
数据是否高质量? - 是否有事实错误、模糊答案?
 
- 
覆盖范围够吗? - 是否只覆盖了窄领域,而推理时遇到"未见过"的问建议:扩大数据集规模、清洗低质量样本、增加多样化覆盖。
 
2. 模型层面
- 
基座模型本身是否容易幻觉? - 有些大模型本来就事实性较差,LoRA 无法根本修复。
 
- 
LoRA rank / α 参数是否过小? - 表达能力不足,导致模型无法学到可靠约束。
 
- 
是否考虑了 PEFT 以外的方法? - 比如 Adapter、Prefix Tuning,某些任务比 LoRA 更合适。
 
建议:调大 LoRA rank,或者尝试混合参数高效微调方法。
3. 训练策略层面
- 
训练目标是否合理? - 仅 SFT(监督微调)可能让模型"会说话",但不会"说真话"。
 
- 
是否做了对齐训练(RLHF / DPO / contrastive loss)? - 没有对齐,模型更容易随便编造。
 
- 
是否检查过过拟合? - 训练集上表现很好,但验证集/推理时出现幻觉 → 过拟合信号。
 
建议:在 SFT 后补充对齐训练,引入 fact-check loss 或 RLHF。
4. 推理层面
- 
解码策略是否过于自由? - Temperature 太高、top-p 太大 → 输出更随机 → 幻觉增多。
 
- 
是否提供了足够的上下文? - 提示词没给足背景,模型就会凭空填补。
 
- 
是否尝试过工具调用 / RAG? - 纯模型生成往往难以保证事实性,可以加外部知识库检索。
 
建议:
- 
降低 temperature(如 0.2~0.5),收紧 top-p。 
- 
优化 prompt,加入"不要编造,如果不知道就回答不知道"。 
- 
加入 RAG(检索增强生成),让模型有知识支撑。 
总结路径
- 
先看数据 → 够不够、准不准。 
- 
再看 LoRA 参数 → rank、适配能力。 
- 
再看训练方式 → 是否仅做了 SFT,缺乏对齐。 
- 
最后看推理设置 → 解码参数、上下文、工具辅助。