大模型做题时明明在瞎猜,却不肯多花一秒想想
前两天读到一篇论文被一个数据搞得很不舒服。论文说他们测了从 3B 到 70B 的各种大模型发现模型的不确定感和它最终答对的概率之间没有统计相关性。p ≥ 0.568意味着基本是独立的两件事。做个人工智能的都知道这有多反常识。你去问小学生11等于几他脱口而出又快又准。你问他请用拓扑学证明欧拉公式他眉头皱成川字声音低八度开始嗯…那个…可能…。人的确定感和正确率是强绑定的。但大模型不这样。模型在做的、“了”、是的时候和在推演因此根据黎曼曲率张量我们可以得到…的时候花的计算资源一模一样。每个 token 都走完同样多的 Transformer 层。也就是说模型明知道自己在一本正经地胡说八道它也不会停下来想一想。一个直觉让它不确定时就多想我当时脑子里冒出一个很自然的想法要不让模型自己决定用多少脑力具体来说就三步第一步实时监控模型的状态。Transformer 推理的时候内部其实暴露了很多信号——注意力的分布、每一层表征的变化、最后输出概率的尖锐程度。这些本来就有不要白不要。当一个 token 的注意力很分散到处乱看、表征还在剧烈变化层之间差异大、输出概率很平坦几个候选答案差不多——那不用问模型根本没谱。第二步没谱就多想想有谱就快点过。如果模型对某个 token 很确定就让它提前跳出别继续算那些不会改变结果的层了。如果不确定就允许它走完所有层甚至开辟多条推理路径同时探索。第三步多开的路如果想到一起去了就合并。多条路径如果内部表征越来越像余弦相似度 0.85说明它们其实在走同样的思路没必要双线并行合并成一条释放资源给其他地方用。我给这个想法起了个名字叫 IGARInformation-Guided Adaptive Reasoning听起来很唬人其实就是看情况分配算力。后来我在实现时发现了一些坑写代码提取信号很容易。register_forward_hook挂上注意力分布的熵、跨层表征的相似度、输出概率的置信度三行代码就拿到了。但真正想在生产里落地有几个躲不过去的问题第一三个信号怎么加权我目前是注意力熵 0.3、跨层散度 0.3、置信度 0.4 —— 坦率说这是拍脑袋拍的。不同任务上最优权重肯定不一样但没空跑实验去验证。第二动态跳过层的工程实现比想象中难得多。Python 里调model.forward()时动态决定哪些层跳过是可行的但想在生产级的推理引擎vLLM、TensorRT-LLM里做到逐 token 动态跳过得动 C/CUDA 层面的代码。这是个大活。第三生产环境里多路径推理的延迟不太友好。一条路径走完如果觉得不够确定再开几条——这听着合理但意味着最难的请求可能延迟翻倍。怎么在架构层做这件事我还没想清楚。不过话说回来这个方向我仍然觉得值得试几个理由问题是真实存在的。Gao et al. 2026 的数据是 peer review 过的不是我自己编的。各路大厂都在往这个方向走。Anthropic 在搞模块化路由DeepMind 在搞自适应计算OpenAI 在搞过程奖励模型。大家从不同角度切入同一个命题推理不该是固定预算的应该是按需分配的。退一步说就算整体框架不成立实时监测模型不确定性这个子模块本身就很有用。可以做拒答不确定的就不答可以做安全过滤不确定的答案标记出来可以做成本控制高不确定的请求路由到更强更贵的模型。如果你手头有 GPU 也对这个方向感兴趣下面三个实验是最想看的实验一拿 500 道 GSM8K 数学题对每道题算平均 U(t)不确定性分数看 U(t) 高的题是不是真的更容易错。如果相关性不成立整个框架的基础就不成立。两小时能跑完。实验二实现最简单的动态深度——U(t) 0.3 的 token 只走一半层数看准确率掉了多少、计算量省了多少。如果准确率掉了超过 2%简单的提前退出策略就行不通需要更复杂的机制。实验三挑出 U(t) 0.7 的难题分别用 1/3/5/7 条路径跑多路径推理看看路径数增加到什么时候准确率开始饱和。如果 3 条和 7 条效果差不多那多路径策略的好算力上限就知道在哪了。这三个跑完基本就知道这个方向值不值得继续投入了。