测试时训练(Test-Time Training,TTT)出自论文《Learning to (Learn at Test Time): RNNs with Expressive Hidden States》。
动机
自注意力在长上下文上表现好,但复杂度是平方级;已有 RNN 层的复杂度是线性的,可长上下文表现受限于隐藏状态的表达能力。论文要解决的就是「线性复杂度 + 强表达力隐藏状态」这一组合。
机制
核心想法是让隐藏状态本身就是一个机器学习模型,把更新规则定义为一步自监督学习。由于隐藏状态在测试序列上也会通过训练来更新,这类层被称为 TTT 层。论文给出两种实例:TTT-Linear(隐藏状态是线性模型)与 TTT-MLP(隐藏状态是两层 MLP)。
实验结论
论文在 1.25 亿至 13 亿参数规模上,与强 Transformer 及现代 RNN(Mamba)对比。结果是与 Transformer 类似,TTT-Linear 与 TTT-MLP 能通过条件于更多 token 持续降低困惑度,而 Mamba 在 16k 上下文之后无法继续下降;TTT-MLP 在显存 I/O 上仍面临挑战,但在长上下文上显示出更大潜力。
与「测试时计算」的区别
测试时计算(Test-Time Compute)指在作答阶段投入更多算力做推理;TTT 指的是在推理阶段对层内隐藏状态模型做权重更新,属架构层面的机制,二者不是一回事。
适用边界
论文自述 TTT-MLP 存在显存 I/O 挑战,长上下文方向仍被表述为「有前景的后续研究方向」,并非已成熟落地的方案。