
StateBench:测试语言模型在长文档中的状态追踪能力

StateBench 是一个用于长上下文状态追踪的基准测试。状态追踪是很多任务的基础能力,比如阅读代码时跟踪变量赋值,或者跟随故事中角色位置和物品归属的变化。现有测试大多聚焦最难的案例,但不同架构在最难问题上的差距并不能反映它们在更常见、更简单问题上的表现。StateBench 设计了四个难度等级,用来细粒度地区分架构能力。
四个等级可以类比为四种变量赋值操作:r-trivial 对应不可变赋值,只需恢复初始值;aperiodic 允许按值重新赋值,只需找最新值;soluble 加入自引用更新(如 x = x + 5),必须把变化向前传递;general finite 允许按引用赋值(如 x = y 或交换变量),会形成跨更新的依赖。这些等级在理论上与 Krohn–Rhodes 理论相联系,分别对应不同原语构造的问题类别。为了保证公平比较,StateBench 从同一个通用赋值序列出发,推导出四个难度版本,变量数量、取值数量和赋值位置完全相同,只有赋值类型不同。
在开放预训练模型上,作者测试了 Olmo 3(transformer)、Olmo Hybrid(加入 Gated DeltaNet 层)以及 2.7B 和 275M 参数的小模型。所有模型都没有在超过 64,000 token 的上下文上训练,而测试输入远超此长度。结果几乎一致:模型在 r-trivial 上表现良好,在 aperiodic 上随输入变长准确率下降,在 general finite 上停留在随机水平。问题格式影响很大:275M 参数的 hybrid 和 Gated DeltaNet 模型在 RULER 风格的 r-trivial 任务上接近满分,但在同样的任务换成电子表格编辑格式后接近随机。这也是 StateBench 用多种格式测试同一问题的原因。
对四个前沿模型(Gemini 3.8 Flash、Claude Opus 5.5、GPT-6 Sol 和 Luna)的测试显示,它们在 r-trivial 和 aperiodic 上表现良好,但在 soluble 和 general finite 上准确率随输入增长急剧下降,最长的 general finite 问题上降至 13% 或更低。一个可能因素是敏感性:越难的等级,影响最终答案的步骤越多,模型只要漏掉一次更新就会答错。
为了区分架构本身和预训练数据的影响,作者从零训练了多个 275M 参数模型,包括 transformer、hybrid 和两种 Gated DeltaNet 变体。训练序列最多 256 个赋值,测试序列最长 64,000 个赋值,即训练长度的 250 倍。Gated DeltaNet 和 hybrid 在 r-trivial、aperiodic、soluble 上几乎完美泛化到数万个赋值,而 transformer 在更长序列上退化,并且从未学会 general finite。在最难等级上,记忆更新更灵活的 Gated DeltaNet 变体泛化最远,在约为训练长度 10 倍 的序列上仍保持接近完美。这说明对 Gated DeltaNet 和 hybrid 而言,预训练模型在难任务上的失败更多来自训练而非架构;但 transformer 即使经过直接训练,也无法掌握 hardest 等级。
还有一些开放问题。新证明表明,记忆更新受限(非负特征值)的 Gated DeltaNet 在论文的固定精度舍入算术下可以解决所有 aperiodic 任务和某些 periodic 任务,但它在等级体系中的确切位置仍未确定。StateBench 目前假设变量数量固定,而真实任务中会不断出现新实体。作者希望这个基准能帮助研究者找到模型失效的精确位置,也为更鲁棒的状态追踪架构提供导航。


