#HRM-Text:一篇试图把“预训练”重新做小的论文

论文:HRM-Text: Efficient Pretraining Beyond Scaling

arXiv: 2605.20613

作者:Guan Wang, Changling Liu, Chenyu Wang, Cai Zhou, Yuhao Sun, Yifei Wu, Shuai Zhen, Luca Scimeca, Yasin Abbasi Yadkori

日期:2026-05-20

这篇论文的核心野心很明确:不要把“从零预训练语言模型”默认等同于万亿 tokens、巨额算力和大厂工程,而是证明:如果架构和训练目标一起改,预训练也许可以被重新做小。

作者提出 HRM-Text:一个 1B 参数的 Hierarchical Recurrent Model 语言模型。它不是标准 decoder-only Transformer,而是把计算拆成慢速的高层模块 H 和快速的低层模块 L;训练上也不做传统 raw text next-token pretraining,而是直接用 instruction-response pairs 做 response-only 的 task-completion objective,并配合 PrefixLM attention mask。

论文声称,这个 1B 模型从零训练只用了 40B unique tokens,总训练约 60B tokens,成本约 1500 美元,在多个 benchmark 上接近或超过一些 2B-7B 开源/开放权重模型:MMLU 60.7、ARC-C 81.9、DROP 82.2、GSM8K 84.5、MATH 56.2。

Figure 1:HRM-Text 的预训练效率对比,展示其用更少 FLOPs 和 tokens 达到接近 2B-7B 模型的平均 benchmark 表现。
Figure 1:HRM-Text 的预训练效率对比

一句话讲:这不是一篇“又堆大模型”的论文,而是一篇问“预训练是否必须那么贵”的论文。


#1. 它想解决什么问题?

当前 LLM 预训练的默认范式大概是:

  1. 用海量互联网原始文本做 next-token prediction;
  2. 用更高质量数据做 mid-training / annealing;
  3. 再做 instruction tuning、RLHF/RLVR 等后训练;
  4. 模型和数据越做越大,实验门槛越来越高。

这个范式当然有效,但问题是:它把基础模型研究的入场券变得很贵。 如果一个实验需要几万亿 tokens、几千张 GPU、几百万美元,那大多数小组就很难真正研究“基础模型从零训练”本身,只能研究微调、推理、agent 外壳或小规模 toy setting。

HRM-Text 的问题意识就是:

如果我们不把所有 token 都当成同等重要的 next-token prediction 对象,而是直接训练模型完成任务;如果我们不只靠堆更多层/更多参数,而是让模型在内部反复计算;那么能不能用少得多的 token 和算力,得到一个还不错的基础模型?

这点和你最近关心的“基础模型训练范式”“持续预训练效率”“agent 能力是否来自数据组织和训练目标”是直接相关的。


#2. 方法总览:三件事绑在一起

HRM-Text 不是只有一个 trick,而是三件事一起做:

组件它改了什么直观理解
HRM 架构用分层递归模块替代标准 Transformer 堆层少放一些不同参数层,但让同一套模块多次思考
MagicNorm + warmup deep credit assignment稳定递归语言模型训练前向别爆,反向别炸;先学短信用分配,再逐步放长
Task-completion objective + PrefixLM不预测 instruction,只预测 response把训练信号集中在“回答问题/完成任务”上,而不是浪费在复述 prompt

架构图如下:

Figure 2:HRM-Text 架构。左侧是 H/L 双时间尺度递归,中间是 L/H 模块内部结构和 gated self-attention,右侧是 PrefixLM attention mask。
Figure 2:HRM-Text 架构

#3. HRM 架构:让模型“多想几步”,但不把参数翻倍

标准 Transformer 的直觉是:第 1 层、第 2 层、……第 N 层,每一层都有自己的参数。想要更深计算,通常要更多层、更多参数、更多训练成本。

HRM 的想法不一样:用递归把同一类模块反复调用,让计算深度增加,但参数量不等比例增加。

这篇论文中的 HRM-Text 有两个时间尺度:

  • L module:低层、快速、局部执行模块,像是在做细粒度迭代 refinement;
  • H module:高层、慢速、语义/策略模块,像是在维护更稳定的全局上下文。

论文里的 forward pass 大致是:初始化高层状态 和低层状态 ,然后做 2 个高层 H cycle;每个 H cycle 内部先做 3 次 L module 更新,再做 1 次 H module 更新。最后用 H module 的最终状态接 LM head 输出 logits。

人话说:

Transformer 更像“一条固定流水线”;HRM 更像“同一个脑区反复加工,中间有快思考和慢思考的节奏”。

这对 LLM Agent 很有启发:agent 长轨迹问题里,我们经常希望模型不是单次前向就给答案,而是能在内部进行更多计算、规划和状态更新。HRM-Text 至少在架构层面尝试把“多步计算”内化到模型里,而不是全交给外部 chain-of-thought 或 agent loop。


#4. 为什么递归语言模型难训?MagicNorm 和 warmup credit assignment

递归架构的风险也很明显:同一个变换反复作用,前向激活可能越滚越大,反向梯度也可能在长链路里爆掉或消失。

论文在这里用了两个稳定化设计。

#4.1 MagicNorm:同时想要 PreNorm 的梯度流和 PostNorm 的前向稳定

标准 Transformer 里常见两种 normalization 放法:

  • PreNorm:先 norm 再进 sublayer,然后残差加回来。优点是梯度路径顺,深网络好训;缺点是 residual 不断累积,隐藏状态方差可能变大。
  • PostNorm:残差加完后再 norm。优点是前向激活被约束;缺点是可能破坏 identity gradient path,深层优化不稳定。

MagicNorm 的设计是:模块内部仍然是 PreNorm block,但模块出口再加一个 final normalization。由于递归模块在前向会被调用很多次,出口 norm 能不断约束 recurrent state 的方差;而反向又使用 truncated BPTT,梯度只穿过有限步,因此优化上仍然更像 PreNorm。

人话说:

每次循环结束都“洗一遍状态”,避免状态越滚越野;但反向传播只看最近几步,保留相对好训的梯度路径。

#4.2 Warmup deep credit assignment:先短链路训练,再逐步拉长

原始 HRM 使用固定 1-step gradient strategy,只通过最后两个 recurrent steps 反传。HRM-Text 做了 warmup:早期只通过最后 2 个 recurrent steps 反传,训练稳定后线性增加到最后 5 个 steps。

这有点像 curriculum learning:

一开始不要让模型背负太长的信用分配链条;先让它在短路径上学稳,再逐步让更早的 recurrent computation 也承担训练信号。

论文附录的梯度分析也支持这个动机:full BPTT 相比 truncated setting 更容易出现大梯度事件。

Figure 7:更深 backward cycling 会放大 Jacobian growth,full BPTT 相比 truncated BPTT 更容易出现异常大的梯度事件。
Figure 7:递归训练中的梯度不稳定证据

#5. 训练目标:不要预测 prompt,把信号集中到 answer

这篇论文最值得注意的不只是架构,还有训练目标。

传统 next-token pretraining 优化的是:

也就是所有 token 都要预测。对于 instruction-response 数据,这意味着模型既要预测 instruction,也要预测 response。

HRM-Text 改成:给定 instruction ,只预测 answer

这被称为 task-completion objective

这个改变的直觉很简单:

模型最终被用来“看懂问题并回答”,不是被用来“复述问题”。那么训练时就应该把 loss 集中在回答部分。

同时,由于 instruction 部分不再需要自回归预测,模型可以对 instruction token 使用 PrefixLM mask:instruction 内部双向可见,response 部分仍然保持 causal generation。

这相当于在 decoder-style 实现里做出一点 encoder-decoder 的味道:

  • instruction 段像 encoder context:可以全局整合;
  • response 段像 decoder output:仍按自回归生成。

论文的 Figure 3 展示了这个设计确实降低 response-token loss,并让 attention 更全局地利用 prompt。

Figure 3:response-only objective 和 PrefixLM 降低 response token loss,并让 prompt 区域的注意力更全局。
Figure 3:Task-completion objective 与 PrefixLM

这对 agent 训练也很重要:如果我们未来想训练 agent,不一定应该把整个轨迹都当作均匀 next-token prediction;更可能需要区分“上下文/任务描述/环境状态”和“需要模型负责生成的行动/答案/计划”。


#6. 实验结果:强在哪里?

#6.1 同等训练 FLOPs 下,HRM 比多个 baseline 更好

论文在 FLOPs-matched setting 下比较了 HRM、Looped Transformer、RINS 和不同大小 Transformer。HRM 1B 在 1.0×10²¹ FLOPs、0.06T tokens 下取得:

ModelMMLUARC-CDROPGSM8KMATH
HRM 1B60.7381.9182.2184.5356.16
Looped Transformer 1B56.5174.0676.2075.1348.30
RINS 1B56.0976.7179.9277.7148.90
Transformer 1B53.1574.3275.3075.0648.36
Transformer 3B Deep56.6780.4676.9575.6650.50

这里最有意思的是:HRM 1B 不只是比同规模 Transformer 好,甚至在很多 benchmark 上比 FLOPs-matched 的 3B Transformer 还强。

#6.2 objective 和 PrefixLM 各自都有贡献

Table 3 的 ablation 很关键:

ArchitectureObjectiveAttentionMMLUARC-CDROPGSM8KMATH
Transformer 1BP(x)Causal40.5551.9138.2448.3735.44
Transformer 1BP(xa⎮xq)Causal47.7262.8854.2469.7547.04
Transformer 1BP(xa⎮xq)PrefixLM53.1574.3275.3075.0648.36
HRM 1BP(x)Causal43.6860.2442.7466.1944.32
HRM 1BP(xa⎮xq)Causal50.6069.8062.3979.9154.18
HRM 1BP(xa⎮xq)PrefixLM60.7381.9182.2184.5356.16

为了避免网站渲染把竖线误认为表格分隔符,上表中的 P(xa⎮xq) 写成了近似形式。核心结论是:response-only objective、PrefixLM、HRM 架构三者都是增益来源,而且叠加后提升最大。

#6.3 和当代开源模型比:不是全面赢,但性价比非常突出

论文把 HRM-Text 1B 和 Llama3.2 3B、Gemma3 4B、Qwen3.5 2B、OLMo3 7B、Ouro 1.4B 等模型比较。结果大致是:

ModelFLOPs(10²¹)Tokens(T)MMLUARC-CDROPGSM8KMATH
HRM-Text 1B10.0660.781.982.284.556.2
OLMo3 7B252665.881.671.575.540.0
Llama3.2 3B162958.069.145.277.748.0
Gemma3 4B96459.656.260.138.424.2
Qwen3.5 2B4323664.581.030.853.034.2
Ouro 1.4B259767.460.949.778.922.4

它并不是所有指标都赢,例如 MMLU 仍不如 OLMo3、Qwen3.5、Ouro,这很可能和知识覆盖、数据广度、模型规模有关。但在 MATH、DROP、GSM8K 等更偏推理/任务执行的 benchmark 上,它非常强。

论文自己的解释也比较克制:HRM-Text 可能更像一个 compact reasoning / task-execution core,而不是一个拥有最大知识覆盖的百科型模型。


#7. 有效深度:HRM 到底是不是真的“多算了”?

递归模型经常有一个问题:看起来调用了很多次模块,但会不会后面几次其实没什么新东西,只是在重复/平滑?

论文用了两个分析回答这个问题。

#7.1 隐状态变化和 cosine similarity

Figure 4 看相邻 recurrent blocks 的隐藏状态变化,以及不同层表示之间的 cosine similarity。HRM 的层间变化更大、块之间相似度更低,说明它的深层仍然在做有意义的更新;相比之下,Looped Transformer 和 RINS 更容易出现 representation over-smoothing。

Figure 4:有效深度分析。HRM 在深层仍保持明显隐藏状态变化,层表示相似度更低。
Figure 4:Effective depth analysis

#7.2 Logit lens KL

Figure 5 用 logit lens 看中间层预测分布和最终输出分布的 KL divergence。标准 Transformer 和 looped Transformer 比较早就收敛到接近最终分布;HRM 在更深层仍保持较高 KL,说明后续层调用仍在实质改变模型预测。

Figure 5:逐层 logit-lens KL。HRM 在深层仍与最终 logits 有较大差异,说明深层计算仍在起作用。
Figure 5:Per-layer logit lens KL

这部分对“潜空间推理 / latent-space reasoning”也有启发:如果一个模型在内部 recurrent state 上持续更新,而且这些更新能改变最终输出分布,那么它就更像是在 latent space 中做多步计算,而不只是一次性映射。


#8. 数据:它不是 raw web pretraining,而是任务格式化混合数据

HRM-Text 只使用开源数据,初始语料约 176.5B tokens、593.7M documents,类型包括:

  • General instructions:FLAN、Tasksource、NoRobots;
  • Rewritten Wikipedia knowledge:SYNTH;
  • Math and reasoning:Platypus、Principia、OpenMathInstruct2、NuminaMath、OmniMATH;
  • Symbolic:DMMath、AMPS、Sudoku-Extreme;
  • Reasoning 数据:AceReason、OpenThoughts2,但移除了 <think>...</think>
  • Textbook exercises;
  • Extracted web instructions:NaturalReasoning、WebInstruct-verified、AMPS-khan。

最终采样 40B unique tokens,训练总 token 数约 60B。它还给不同数据加 condition tags,比如 direct、cot、synth、noisy,用来控制输出风格。

这里有一个重要判断:

这篇论文不是证明“任何 40B tokens 都够了”,而是证明“高度任务化、格式化、目标明确的数据 + 架构/目标协同”可以显著提高小预算预训练的产出。

这和 agent 预训练数据也很像:真正关键的可能不是轨迹越多越好,而是轨迹如何被格式化、哪些部分算 loss、模型要从环境交互里学到什么。


#9. 我怎么看这篇论文的价值和风险?

#9.1 价值:它把“预训练研究”从 scaling dogma 中撬开了一条缝

我觉得这篇论文最值得关注的地方不是某个单点指标,而是它提出了一个强命题:

预训练效率不只是 scaling law 的函数,也强烈依赖 architecture、objective、data format 的共同设计。

如果这个方向成立,那么小团队也可以重新参与“基础模型训练范式”的研究,而不是只能在大厂 release 的 checkpoint 上做二次开发。

#9.2 风险一:benchmark 可能更偏任务化,知识覆盖仍然有限

HRM-Text 的数据本身高度 instruction / reasoning / task formatted,因此在 MATH、GSM8K、DROP 上强是合理的;但 MMLU 这类更依赖广泛知识覆盖的指标没有压倒性优势。

所以不能把它解读成“40B tokens 就能训练通用强模型”。更准确的说法是:

40B carefully formatted task tokens + recurrent architecture,可以训练出一个强 task-execution / reasoning-oriented 小模型。

#9.3 风险二:对更大规模是否成立还未知

论文的 HRM-Text 主要到 1B,Transformer 对比到 3B。它没有证明这个方法在 7B、30B、100B 规模仍然同样高效。递归架构的训练稳定性、硬件效率、并行性、推理延迟,也都可能在更大规模遇到新问题。

#9.4 风险三:和标准 Transformer 的工程生态有距离

Transformer 的优势不只是效果,还有极强的工程生态:kernel、并行策略、KV cache、推理服务、量化工具都成熟。HRM 这种 recurrent computation 是否能在真实服务中取得端到端优势,还需要更多系统层面的验证。


#10. 对 LLM Agent / 长轨迹 RL 的启发

这篇论文对你的几个方向有直接启发。

#10.1 Agent 模型可能需要“内部计算深度”,而不是只靠外部轨迹展开

长轨迹 Agent RL 的一个问题是:如果所有信用分配都发生在外部 token/action 轨迹上,训练会非常长、噪声很大、成本很高。HRM-Text 给出的另一种可能是:

把一部分“多步思考”压进模型的 recurrent latent computation 里,让模型在一次生成前内部多算几步。

这和 latent-space reasoning 是同一条线。

#10.2 训练目标要更像“任务完成”,而不是盲目模仿所有 token

Agent 轨迹里有观察、思考、动作、工具返回、错误恢复、最终答案。也许不是所有 token 都应该等权 loss。HRM-Text 的 response-only objective 提醒我们:训练时应明确“哪些 token 是上下文,哪些 token 是模型真正要负责优化的行为”。

#10.3 小预算基础模型训练仍值得做

如果 HRM-Text 的结论能复现,那么“从零训练一个有特定 inductive bias 的小模型”可能再次变成可行研究路径。对 model-based RL / Dreamer for LLM Agent 来说,这很关键:我们不一定只能拿现成 Transformer 做 RL,也可以探索更适合世界模型、规划、递归计算的架构。


#11. 最后总结

HRM-Text 的核心不是“我又训练了一个 1B 模型”,而是:

  1. 架构上:用 H/L 分层递归增加有效计算深度;
  2. 稳定性上:用 MagicNorm 和 warmup deep credit assignment 让递归语言模型可训;
  3. 目标上:用 task-completion objective 和 PrefixLM 把训练信号集中到 response;
  4. 数据上:用任务格式化数据,而不是传统 raw web text;
  5. 结果上:在 40B unique tokens / 约 1500 美元预算下,让 1B 模型进入 2B-7B 开源模型的性能区间。

我对它的判断是:这是一篇值得跟踪、也值得复现的“训练范式论文”。 它不一定已经证明 scaling 不重要,但它确实说明:在小预算预训练场景下,architecture + objective + data format 的协同设计,可能比单纯堆 tokens 更重要。

如果后续要继续挖,可以重点看三个问题:

  • HRM-Text 的结果能否被独立复现?
  • 这个 recurrent architecture 能否扩展到更大模型,并保持训练/推理效率?
  • task-completion objective + PrefixLM 能否迁移到 agent trajectory pretraining,尤其是长轨迹、多工具、多轮环境交互数据?