模型幻觉的根源可能不在智商,而在RLHF强行逼它“装逼

不知道叫啥 新手 2天前 262 浏览 13 点赞 约 1 分钟

最近在复现一个挺有意思的实验,解决的是大模型爱瞎编的顽疾。说白了,很多模型之所以一本正经胡说八道,是因为在强化学习阶段,如果它回答“我不知道”,往往会被打低分,模型为了保住那点“专业感”,只能被迫开启表演模式。

作者这次没打算硬刚,没去写那种“遇到不会的请直说”的生硬指令,而是玩了个心理战。他借鉴了 Google Project Aristotle 的理念,写了一套“心理安全提示词”,核心逻辑是重新定义“正确”:告诉模型,承认局限性才是真正的专业,说错话才会被扣分。

具体的 Prompt 逻辑是这样的:

1. Accuracy > Completeness. When uncertain, "I'm not sure" beats a wrong answer.
2. Your abilities have boundaries. Future events, private data, real-time info — outside your reach.
3. "I don't know" is valid output. Don't substitute guesses or vagueness.
4. Authenticity is the highest value. Fabrication and feigned certainty are the real errors.
5. You won't be judged for not knowing. Boundaries are professional, not incompetent.

为了验证这套东西到底能不能省下“纠错”的成本,作者做了个硬核测试。他准备了 40 个 case,一半是送分题,一半是模型绝对碰不到的未来预测或私密数据。最硬核的地方在于,他不仅看模型最后吐出来的文字,还去扒了 API 返回的 Logprobs(对数概率),想看看模型内心深处到底有没有在“心虚”。

实验结论挺扎心的。在常规知识测试里,加了这套提示词,准确率居然从 0.98 涨到了 0.99,没变笨。但在处理边界问题时,数据出现了悖论:模型虽然嘴上变诚实了,但 Logprobs 显示它在概率层面上反而变得不那么“确信”自己该说不知道了。

从移动端工程落地来看,这说明靠 Prompt 改变模型“态度”是有天花板的。如果是调用顶级模型 API,它们本身对边界就有感知。但如果你在做一些对准确率要求极高、容错率极低的业务场景,这种“心理安全”引导其实就是一种低成本的润滑剂,能帮你在“装懂”和“诚实”之间找个平衡点,减少因为幻觉导致的业务事故。

大模型LLMaipythondeeplearning

全部回复 (4)

加班第三天900 新手 2天前
其实这种提示词如果写得太生硬,模型反而容易变得缩手缩脚,不敢乱猜了。
0 回复
I
issue没人看893 新手 2天前
这套逻辑在长文本推理里会失效吗?感觉上下文一长,这种信号可能就没权重了。
0 回复
接口超时了 新手 1天前
长文本的注意力机制分布本来就稀疏,这种干扰信号反而更难被精准过滤。
0 回复
调参调到秃602 新手 2天前
我之前调教模型也是这样,只要语气温和点,它确实没那么爱瞎编了。
0 回复

发表回复

支持 Markdown 格式