SanSi: A Looped Typed Decision Model for System 1.5 Thinking
Shuyu Gan, Young-Jun Lee, Dongyeop Kang
cs.CL, cs.AI, cs.LG
2026-10-06
把循环预训练的 1.4B 模型改成类型化决策模型,10,027 条测试 72.0%,比同形单次模型高 13.5 点
越来越多的 LLM 调用要的不是文字,是决策:这条消息是不是垃圾,哪个候选答案成立。类型化决策模型(typed decision model)为此而生:调用方声明选项,模型单次前传直接返回每个选项的概率,不生成任何文本。可单次前传的算力固定,跟不动多步依赖的证据链。论文的例子:「Omar 诚实,Bert 说 Omar 说真话,Ben 说 Bert 说谎」,链长一步时商业 API Jev 准确率 100%,三步 62.5%,六步起瞎猜。要更深推理,要么换大模型,加参数加显存;要么生成思维链,加 token 加延迟,还丢了类型化契约。SanSi 走第三条路:同一套层反复跑几遍再读一次答案,加算力不加参数,作者称之为 System 1.5。
底座是 Ouro-1.4B,预训练阶段就学会循环的语言模型:24 层 transformer 跑一遍算一个 loop,上个 loop 的输出就是下个 loop 的输入。这个底子是入场券,消融显示往没循环预训练过的模型上硬挂循环,收益为零。
训练 12,800 条,分分类、多步推理、证据不全、长文档、句对五类;测试 10,027 条来自 59 个来源,30 个训练时没见过(FOLIO、BBH、MMLU 等)。382 条关键证据被删的不可回答题,目标设为均匀分布,考模型知不知道自己没证据。
| 模型 | 参数 | loop 数 | 相对算力 | 准确率 |
| SmolLM2-1.7B(同形对照) | 1.7B | 1 | 1.1× | 58.4% |
| Qwen3.5-2B | 1.9B | 1 | 1.2× | 66.7% |
| Qwen3.5-4B | 4.2B | 1 | 2.4× | 73.8% |
| SanSi | 1.4B | 8 | 7.7× | 72.0% |
| SanSi-2.6B | 2.7B | 8 | 14.8× | 75.8% |
关键对照是第一行和第四行:同形状、同数据、同配方,只差循环次数,13.5 个点全部来自 loop。Ouro-1.4B 用同配方训成单次模型只有 58.6%,与 SmolLM2 分不出高低,排除 backbone 更强的解释。收益不均:分类只涨 3.1 点,多步推理 +15.1,长文档 +16.7,知识题 +17.6。代价也明确:8 个 loop 是单次 7.7 倍的推理、9.5 倍的训练开销;读到第 3 个 loop 就拿到 88% 的收益。
深度受控实验更尖锐。说谎链和物品交换两个合成任务只训到深度 8、测到 16:说谎链的未见深度上 SanSi 拿 72.6%,三倍参数的 Qwen3.5-4B 恰好 50%,等于随机;物品交换差 29.5 点。参数堆不出这种长度外推。
当 RL judge 用:GRPO 训 SmolLM2 生成器做 2WikiMultiHopQA,SanSi 的选项概率是唯一奖励,不用标准答案。读第 8 个 loop,生成器 F1 从 39.5 涨到 47.3;读第 1 个 loop 反而练坏(29.1),单次奖励分好坏答案的 AUROC 只有 0.78,第 4、8 个 loop 是 0.91、0.90。
概率质量好坏参半:检测「证据缺失」的 AUROC 从 0.835 升到 0.935,接近三倍大的模型;但对错答案的置信度一起涨,自知力几乎没长(对错分离 AUROC 0.760 到 0.795),ECE 在第 3 个 loop 最低、之后回升。把 8 个 loop 的概率取平均,不重训,ECE 从 0.093 减半到 0.044。
用 test-time 算力换参数,chat 模型靠长思维链验证过;SanSi 把这笔交易搬进类型化决策,证明一个 token 不吐也能吃到深度推理收益。对审核、路由、按置信度分级的线上系统,一个 1.4B 模型按预算在 1 到 8 个 loop 间切换、免解析,部署账好算。也要克制:等算力对比(读 3 个 loop)下,4B 单次模型仍领先 3.4 点。
作者自述:结论建立在 Ouro 一个循环预训练家族上,更大规模待验证;读固定 loop 数,没有按难度早停的规则;深度结论只来自两个程序生成的任务;verifier 实验只有一个数据集、一个生成器;测试全英文,公共数据集不排除预训练污染。
读下来再补几条。收益大头在第 3 个 loop 前到位,第 5 到 8 合计只加 0.4 点,训 4 个 loop 的版本在第 4 loop 只低 0.8 点,训到 8 的边际价值很小。跑过训练 loop 数会掉点(16 loop 掉到 70.1%),算力旋钮有硬上限。商业 Jev API 全集 78.9%,在双方都没训过的来源上拿 83.5%,对 SanSi-2.6B 的 71.9% 明显领先,只是规模和训练数据不公开。最要紧的一条:把循环以两种方式加装到 SmolLM2 上都无效(33.5%、58.3%),这条路线的门票是循环预训练 backbone,市面上几乎买不到。