为什么我的AI对李智维产生了幻觉 | AI生成和翻译
现在我明白了全貌。以下是分析:
为什么模型完全搞错了:
1. 关于李智维的真实数据在你的博客中——但并非传记。
你博客中关于李智维的文章有:
- “AI Engineer Titles for Zhiwei Li” —— 个人简介措辞润色
- “李智维的未来生活路线图” —— 职业发展路线建议
- “打造更佳个人简介” —— 简历撰写技巧
- “为新加坡人脉添加客家话至领英” —— LinkedIn 客家话策略
这些都是问答形式的职业指导文章。散布其中的真实事实:
- AI 工程师,探索代码/生活/大语言模型
- 在 TEKsystems/HSBC 工作
- 已修完大约 13/18 门副学士课程
- 雅思 6.5,客家话使用者
- GitHub: lzwjava,博客: lzwjava.github.io
- 使用了约 1B tokens 的 Claude Code,在 H200 上训练了 nanoGPT
2. 模型从未学习过“谁是李智维?”这类问题。
你的训练格式是标题→正文:
user: "AI Engineer Titles for Zhiwei Li"
assistant: <完整的博文正文,关于润色个人简介>
模型学到的是:给定一个博客标题,生成博客正文。它从未学习过回答直接的传记性问题,比如“李智维是谁?”。
3. 因此它从基础模型的知识中生成了幻觉。
Qwen3-4B 的预训练数据包含大量中文互联网内容。“李智维”是一个真实姓名,对应多个不同的人。模型通过基础知识中关于这个名字的模式匹配,自信地编造了一个完全虚构的传记(编程教育公司创始人,1992年出生,营口市)——其中没有任何信息来自你的微调数据。
4. 它引用的参考文献也是假的。
它引用的 URL(知乎、王垠的博客、36氪、维基百科)看起来合理,但模型虚构了这种关联。这是经典的 LLM 幻觉行为,当微调数据未覆盖问题格式时发生。
根本原因: 对标题→正文对的 SFT 训练教会模型根据标题生成博客内容。这并没有教会它回答关于博客中提到的人的事实性问题。当问题格式与训练分布不匹配时,模型会退回到基础模型知识。
可能的修复方法:
- 在训练数据中添加关于传记事实的实际问答对
- 使用聊天格式的 SFT,并设置系统提示如“你是李智维的个人 AI 助手”
- 除了标题→正文格式外,还要添加“X 是谁?”→ 事实答案的训练格式