什么是状态追踪
读代码时要知道变量被反复赋值后现在是多少,读小说时要知道刀从谁手里到了谁手里,这类能力叫状态追踪。理论上,Transformer 在依赖链很长的状态追踪上有已知局限,这也是 Gated DeltaNet 这类带「运行记忆」的循环和混合架构受关注的原因之一。但现有测试多集中在最难的情形,难以分辨不同架构到底卡在哪一级。
Allen 人工智能研究所(Ai2)11 月 3 日发布的 StateBench(论文 arXiv:2611.03094,作者 Jackson Petty、William Merrill、Ashish Sabharwal)把问题按 Krohn–Rhodes 理论分成四级,可以用变量赋值来理解:
- r-trivial:只赋值一次,如
let x = 4,像出生日期,答出最初的值即可; - aperiodic:按值重新赋值,如
x = 4之后又x = 2,像恒温器,只需找到最后一次设置; - soluble:在当前值上更新,如
x = x + 5,像比赛记分,必须一路累加; - general finite:按引用赋值或交换,如
x = y,最典型的是五个杯子来回交换后找球(S₅ 问题)。
为公平比较,四级题目由同一串赋值序列派生,变量数、取值数和赋值位置都相同,只换赋值类型;同一问题还以多种格式出题,比如电子表格编辑。
测出来的结果
- 开源预训练模型:在同一数据上预训练的 70 亿参数 Olmo 3(Transformer)、Olmo Hybrid(加了 Gated DeltaNet 层)以及更小的模型,几乎都能做好 r-trivial,aperiodic 随输入变长掉分,general finite 一直停在随机水平。格式影响很大:2.75 亿参数的混合与 Gated DeltaNet 模型在 RULER 风格的 r-trivial 题上接近满分,换成电子表格编辑格式就接近随机。
- 前沿模型:Gemini 3.8 Flash、Claude Opus 5.5、GPT-6 Sol 与 Luna 在前两级表现良好,到 soluble 和 general finite 两级,准确率随输入变长急剧下降,在最长的 general finite 问题上降到 13% 或更低。研究者认为一个原因是难的层级里能影响最终答案的步骤多得多,漏掉一次更新就会答错。
- 从零训练:团队在 StateBench 上从零训练了 2.75 亿参数的 Transformer、混合架构和 Gated DeltaNet 各两种变体,训练序列最长 256 次赋值,测试长到 64,000 次,即训练长度的 250 倍。Gated DeltaNet 与混合模型在前三级上几乎完美泛化到最长序列;Transformer 学会了较简单的层级但在长序列上退化,且始终学不会 general finite;在最难一级,记忆更新更灵活的 Gated DeltaNet 变体泛化得最远,能接近满分地撑到训练长度约 10 倍。
意味着什么
结论有两层:对 Gated DeltaNet 和混合架构来说,预训练模型做不好,问题更像是出在训练数据而非架构本身;Transformer 则不同,直接训练也学不会最难一级。研究者也列出了尚未回答的问题,比如受限版 Gated DeltaNet 在层级中的准确位置,以及 StateBench 目前假设变量数固定、而真实对话里会不断出现新的人和物。对用长文档做智能体或代码分析的团队,这组结果提示:「找最新值」和「沿变化链推算」是两类难度不同的任务,前沿模型擅长前者,后者在长输入上仍不可靠。
via: Ai2:StateBench: Testing how language models track state changes over long documents、arXiv:A Fine-Grained Hierarchy and Benchmark for State Tracking in Language Models