大模型为何会回答无解问题?研究发现关键不在“不会识别”
导语
当用户要求模型计算 cot(-540°),或判断 (1).startswith("1") 时,问题并不只是“模型算错了”。这类输入在给定语义、类型或定义下可能根本不存在可接受的答案,但语言模型仍常常给出一个看似完整、语气自信的结果。来自 Hugging Face Daily Papers 的一项研究,将这种现象拆成两个环节:模型有没有识别出问题不可回答,以及识别之后有没有把信号传递给拒答或澄清机制。
核心发现
- 模型内部存在不可解性信号。 研究者在多个指令微调模型中寻找隐藏状态方向,发现一个线性方向可以区分可回答问题与结构上不可能的数学、代码问题。这意味着在真正生成答案以前,模型已经形成了某种“没有合法答案”的表示。
- 识别方向不同于安全拒答方向。 这个不可解性方向与通常用于有害内容拒答的方向几乎正交。也就是说,模型处理危险请求时学到的“拒绝”通路,并不会自动接管数学定义不成立或代码操作无效的情况。
- 行为方向只能部分解释识别。 研究还构造了一个依据模型行为定义的“无效性感知”方向。它比安全拒答方向更接近不可解性识别方向,但两者并不完全重合,说明内部判断与外部表达之间仍有额外转换环节。
- 激活引导支持因果关系。 在生成阶段沿识别方向施加引导,会以双向且随强度变化的方式影响模型对无效数学和代码输入的处理;随机方向则没有相同效果。这个结果支持“路由失败”而非单纯相关性的解释。
- 错配并非完全由指令微调造成。 基础模型与指令模型的比较表明,这种低余弦相似度的几何关系在预训练结束时已经存在。后续训练可能改变了行为表现,但没有自动把两套表示对齐。
意义与影响
这项研究改变了对“模型为什么一本正经地回答无解问题”的常见理解。若模型根本没有识别能力,解决方案通常是补充数据、增强推理或训练更大的模型;但如果问题在于识别信号没有进入合适的行为通路,那么单纯提升参数规模未必有效。更重要的方向,是把结构有效性检查、类型检查、数学定义检查与输出策略明确连接起来,让模型在确认“没有可接受答案”时选择拒答、请求澄清,或解释失效原因。
对评测而言,也不能只统计最终答案是否正确。隐藏状态是否提前编码了不可解性、识别信号能否稳定影响生成,以及安全拒答机制是否被错误复用,都值得成为新的分析维度。对模型安全来说,研究同样提醒我们:拒答不是一个统一能力,而可能由多个相互独立的判断与执行通路组成。
评论
正在确认登录状态……
正在加载评论……