AREXOpen in interactive Feed

AREX Feed Article

Albert Gu 发布新一轮 H-Net 字节级语言建模研究:自报最高 3~5 倍效率增益、以约 1/10 数据与算力追平 11T tokens 训练的 SmolLM3

October 29, 2026

北京时间 10 月 29 日凌晨 1 时 53 分(UTC 10 月 28 日 17:53),CMU 助理教授、Cartesia 首席科学家、Mamba/SSM 作者 Albert Gu 其 Hierarchical Networks(H-Net)字节级语言建模研究的新一轮版本。他给出两组核心数字:在受控 scaling law(规模律)实验中获得最高 3~5 倍效率增益;在更大规模上,以约 1/10 的数据与算力追平一个用 11T(约 11 万亿)tokens 训练的开源模型。帖文附带一段视频,随帖说明其旁白完全由 Cartesia 的 Sonic 文本转语音模型生成。

数字背后的材料是同日发布的两篇 《From Tokens to Bytes》上下篇,被追平的开源基线在博客中写明为 Hugging Face 的 3B 模型 。这两组数字均为作者一方自报的实验结果,以博客与推文形式发布,而非经同行评审的论文。截至 10 月 29 日发稿,该推文已获得 3,076 个赞、2,522 个收藏、约 26.8 万次浏览,转发 321 次。

一条推文、两篇博客,和一个五天前的预热

Gu 在帖文里把动机讲得很直接:「我一直相信,智能应当来自简单的、通用的构建模块,它们直接从原始数据中学习自己的抽象——换句话说,就是 bitter lesson(苦涩教训)。」他称对原始字节做语言建模是这一理想的缩影,也是 AI 的核心问题:「如果我们连让 LLM 从字节端到端学习都做不到,又怎么去处理我们理解得更少的世界其他数据?」

给出两篇博客入口:Part 1《Scaling Hierarchical Networks》与 ,均发布于 10 月 28 日。这次发布并非无预警:五天前(10 月 23 日)Gu 曾,称「为一次即将到来的发布做准备」,并提醒大家「手工编写的正则表达式存在于每一个前沿 LLM 里,而且干着相当重的活」——这正是 Part 2 分析的 pretokenization(预分词正则)。

H-Net 是 Gu 团队 2025 年 7 月发表的概念(,作者 Sukjun Hwang、Brandon Wang、Albert Gu,后进入 ):一种在模型内部用动态分块替代 tokenizer(分词器)的端到端层级架构,模型自己把字节压成分块、再逐级压成更高级的语义单元,当时的结论是字节级单级 H-Net 能胜过运行在 BPE(字节对编码)tokens 上的强 Transformer。博客说明,原论文的实验规模停在约 1.3B 参数、100B tokens,且没有做 compute-optimal(算力最优)scaling law;本轮工作把规模推到 3.67B 参数与约 1T token 当量的训练量,并补上了这项如今衡量预训练创新的标准做法。

受控对照:只把 tokenizer 换掉,乘数从 1.28 倍到 5.37 倍

的第一组实验刻意收窄变量。团队先搭了一个标准 BPE Transformer scaling ladder(即逐档扩大模型规模的训练梯队,L08 到 L28 等多档,总参数 2.21 亿~26.2 亿,Muon 优化器、WSD(warmup-stable-decay)学习率日程,损失指标用 bits-per-byte(按字节归一化的预测损失,BPB));为求公平,还在训练语料上重新训练了一个 128k 词表的 BPE tokenizer,平均每个 token 压 4.57 字节,比 Llama-3 的 4.45 略多。博客强调,这个语料内 tokenizer 让基线自己先赚了约 1.1 倍效率,若换成通用的现成 tokenizer,H-Net 的乘数只会更大。随后把每一档 BPE 模型原位替换成字节级单级 H-Net:主网络架构完全相同,外层网络与原 tokenizer 层(embedding 输入嵌入与 LM head 输出投影层)参数和 FLOPs(浮点运算量)对齐,压缩率用辅助损失对齐到 4.57,批量大小与学习率直接沿用。

结果分几层:验证损失上 H-Net 的算力乘数为 1.28 倍;到下游评测(Paloma、OLMES 两套各含数十个数据集与任务的评测套件)扩大到 1.83 倍和 2.06 倍;代码子域上,15 门训练内语言的中位乘数为 2.04 倍(Markdown 1.49 倍到 Go 2.40 倍),10 门训练外语言(OCaml、Prolog、Lean、Fortran 等)中位数升至 3.10 倍,最高是 Prolog 的 5.37 倍。推文所称的「3~5 倍」,主要对应这组训练外代码乘数。作为参照,博客引了近期两项架构创新的乘数:Kimi 的 KDA(Kimi Delta Attention)为 1.16 倍、attention residuals(注意力残差)为 1.25 倍。

与 SmolLM3-3B 的对齐实验:数据、算力与架构

第二组实验把 H-Net 放大到两阶段层级,与 SmolLM3-3B 对比。选它做基线,是因为 Hugging Face 公开了完整训练配方:预训练分三个阶段、共 11.1T tokens(8T/2T/1T),用 Llama-3 tokenizer。Cartesia 团队基于同样的公开数据源和 Hugging Face 随训练发布的多个中途 checkpoint(训练检查点)做了尽力复现,得以全程对比两模型,并按字节而非 token 比例对齐数据配比,英文网页/多语言/代码/数学 = 76.5/10.9/10.3/2.2,对上 SmolLM3 按 token 计的 73.2/12.1/12.0/2.7。

新 H-Net 的结构是:最外层字节级阶段在编码器与解码器中各用 4 层 Mamba-2;其上一级各加一个滑动窗口注意力模块和 4 层 Mamba-2;主网络是与 SmolLM3 每层形状相同的 40 层全局注意力 Transformer。压缩率按先前工作在两级外层编码器分别设为 4 倍与 2 倍,主网络实际每 7.6 字节才见一个位置,处理同样文本时比 SmolLM3 少约 40% 的序列位置;代价是外层网络占去约 43% 的 FLOPs,而 tokenized 模型里 embedding 加 LM head 只占 8%。模型总参数 3.67B 对基线 3.08B,FLOPs/byte 对齐在 2% 以内,优化超参完全照抄基线、未为 H-Net 单独调参。

按博客沿用 SmolLM3 官方基准中「Reasoning & Commonsense」与「Knowledge & Understanding」两组评测的结果,H-Net 在约 1T tokens 处达到 SmolLM3 训满 11T tokens 后的最终平均分;由于两模型按字节算力对齐,训练 FLOPs 的节省与 token 节省成正比,这就是「约 1/10 数据与算力」的来源。有一处方法差异需要说明:H-Net 只用了 SmolLM3 的 stage-1 数据配比,并在最后 15% 训练里冷却学习率,而 SmolLM3 的冷却发生在第三阶段(10T tokens 之后)且换了数据配比。

基线一方也作出回应。曾参与 SmolLM3 工作的 Elie Bakouch(X 资料显示此前任职 Hugging Face,现任 Prime Intellect 研究员):「我们可怜的 SmolLM3 被碾碎了」。他随后表示这是「非常棒的工作」,很高兴 SmolLM3 的开放配方能被用作基准,同时承认「回头看确实有些地方本可以做得更好」,并称结果「非常非常令人印象深刻」。

字节模型的算力劣势从何而来:pretokenization 与端到端

回答一个更基础的问题:字节级模型理论上更贴合 bitter lesson,为何在算力效率上落后于带 tokenizer 的模型?博客把账拆成两笔。

一笔是压缩带来的算力效率。训练一个完全不做 pretokenization 的 BPE(BPE-NP)阶梯后,仅 BPE 压缩就让算力效率比纯字节 Transformer 高近 5 倍;加上 pretokenization 再赚 1.5 倍,合计约 7.2 倍。pretokenization 指的是从 GPT-2 时代起不断加码、内置于各模型 tokenizer 的那串手工正则,GPT-2、cl100k、o200k、DeepSeek-V3 各有一版,DeepSeek-V3 的版本里甚至硬编码了 CJK 字符区间。

另一笔是泛化迁移。BPE-NP 在 OLMES 上的表现差到异常,博客把主因定位在已知的 prompt boundary problem(提示边界问题),即便打上边界修正补丁,它折算到下游仍要多花约 1.9 倍算力;标准 BPE 的迁移也比字节模型差 1.5 倍。H-Net 两头都占:压缩端拿到 BPE 同级的效率,迁移端拿到字节模型同级的水平(比 BPE 好 1.61 倍),叠出 2.06 倍的 compute-to-OLMES(算力直接对下游评测)乘数。博客据此提出,此前「tokenizer 不影响 loss-to-loss 律(预训练损失到下游损失的迁移关系)」的观点(如 一文的结论)「是一个迷思」——这一判断仍是他们的自报结论。

「端到端」本身也被单独检验。团队造了一个与 H-Net 架构、压缩率完全相同的 -like 模型(Byte Latent Transformer 的思路:由代理模型按熵阈值划块),再和一个用「冻结的 H-Net 代理」给边界的版本对比。同一架构下,端到端学习的边界在三档 FLOPs 预算上全部占优,例如 10¹⁹ FLOPs 处验证 BPB 为 0.8001,好于熵阈值的 0.8160 和冻结代理的 0.8139,而且这一记法完全不计代理模型的训练与推理开销,本就偏向对照方。

模型自己学出的「词」

博客用分块可视化直接呈现了模型学到的「词」。H-Net 的边界基于上下文而非固定模式:英语里「a」常与后面的名词合并,意大利语里却较少如此;「a foot」「quite a few」多个词可以被并成一个块;没有 pretokenization 的 BPE 则会出现 be at a bear 这种切法。代码上,H-Net 允许跨空格、制表与换行的块(如 __init__(\n self,),且压缩率普遍高于 BPE:SQL 是每块 4.03 字节对 BPE 每 token 2.89 字节,中文则是 1.62 对 3.75。

分块还会在推理时继续演化,博客称之为 in-context tokenization(上下文内分词):陌生词首次出现时被拆成多块,反复出现后逐步合并;重复格式被划成大块以省算力;段落里反复出现的字母块 LURD、WHYV、FYB 和数字块 2526、3987、3526 都会被当成隐式模式自动分组。博客还拿初代模型(他们戏称 LH-Net,L 可理解为 lazy 或 lookahead)对比:初版在多级分块时无法正确切分 CJK 多字节字符,常把 rhino 切成 r/hino、mass 切成 mas/s;新版则能给出 trackers → track/ers 这类对齐有语言学意义词干的切分。

语言之外,以及还没放出的代码

DNA 实验给出了语言之外的一组完整 scaling law。在约 2,740 亿个核苷酸的 GTDB 原核生物基因组上、以核苷酸为输入单位训练,H-Net 相对 Transformer 的算力乘数为 5.95 倍(验证 BPB)、5.83 倍与 7.06 倍(两个官方保留集)。模型只在原核生物上做过「下一字母预测」,但在从未见过的人类组蛋白基因 H2BC17 上,分块自发对齐了密码子结构:680 个字母被切成 86 个平均 7.9 字母的块,编码区按 1~3 个密码子分块,两侧非编码区则变成长而无结构的块;tRNA 基因里自然单元缩到单字母,边界也跟着变。博客称这类行为要到训练后期才出现,并以此论证手工 tokenizer 在多模态域会更难设计。

视觉方向的版本还处于博客所说的「进行中研究」:团队把多维 H-Net 用作像素空间 flow-matching(流匹配)模型(JiT 基线)的骨干,报告称它提升了生成质量、在无监督情况下从原始像素发现语义概念,并能沿空间、去噪步数与样本数三个轴动态重分配算力;由于不强制局部相邻合并,模型常能把被前景遮挡的不同背景区域划入同一个块,博客认为这是在从二维投影推断三维结构。音频则是 Cartesia 最初启动 H-Net 研究的动机:让模型自己把原始波形抽象成音素与词。

这些数字目前无法独立验证。博客写明改进版 H-Net「计划随时间逐步向社区发布」,但没有给出时间表;公开的 (898 星)最近一次推送仍停留在 2025 年 11 月 20 日(GitHub API 数据)。博客给出的引用格式也表明,这批结果目前以「Cartesia Blog, October 2026」的形式存在。在新版代码放出、第三方得以复现之前,3~5 倍与约 10 倍这两组数字只有作者一方的实验支持。

参考链接