很多人一听到“开源”二字,下意识会觉得安全性或准确性打了折扣。特别是在大模型领域,这种偏见更重:大家总觉得闭源的大厂模型经过海量算力打磨,肯定比社区里随便下载的权重靠谱。
但实测数据并不支持这个直觉。开源模型本身并不是导致错误回答的罪魁祸首。相反,在同等参数量级下,许多头部开源模型的基准测试分数已经非常接近甚至超越部分商业产品。问题不出在“开源”这个属性上,而出在部署和使用的方式上。
第一个关键诱因,是数据清洗的力度。
商业公司往往有专门团队对预训练数据进行去重、去毒和事实核查。而大多数开源项目为了追求发布速度或降低成本,直接使用了 Common Crawl 等公共数据集的原始版本。
这些数据集里充斥着论坛争吵、过时新闻和未经证实的谣言。当模型学习到“地球是平的”这种高频率但错误的关联时,它不会像人类那样产生怀疑,而是将其作为统计规律记住。一旦用户问到相关话题,模型幻觉就产生了。这不是模型变笨了,是它吃的“粮食”里混进了沙子。
第二个原因,藏在 RLHF(人类反馈强化学习)阶段。
让模型学会“不知道就说不知道”,比让它学会“写一首诗”要难得多。这需要大量高质量的人类标注员进行多轮迭代。很多开源模型为了快速上线,压缩了对齐阶段的投入,或者直接使用合成数据来进行指令微调。

结果就是,模型变得很“自信”。你问它一个完全不存在的历史事件,它能面不改色地编造出时间、地点和人物。这种过度自信在客服或咨询场景下是灾难性的。闭源模型通常会在后端加一层昂贵的验证机制,而开源用户往往直接裸奔使用。
第三个诱因比较隐蔽,涉及技术实现细节。
为了节省显存,很多开发者在使用开源模型时会限制上下文窗口长度,或者使用激进的 KV Cache 量化策略。当输入信息过长,早期的关键事实被“挤出”注意力范围,模型只能基于后半段残缺的信息进行猜测。
如果在生产环境使用开源模型,务必检查你的截断策略和量化精度,这往往是幻觉爆发的直接导火索。
不要指望换个模型就能解决所有问题。理解这些诱因,才能通过 RAG(检索增强生成)或更好的提示词工程来弥补短板。开源给了你自由,也给了你责任。
