@eliebakouch:非常棒的博客,其中的科学研究和实验都很精彩,我对其中的计算效率倍增尤其印象深刻,特别是在代码等关键领域……
摘要
Cartesia 发布了关于分层网络(H-Nets)的研究博客,展示了无需分词器的字节级语言模型在受控实验中实现 3-5 倍计算效率提升,2 阶段 H-Net 以 10 倍更少的计算量和数据超越了规模匹配的开源模型,并在代码等领域的表现出色。
查看缓存全文
缓存时间: 2026/10/29 13:59
这篇博客文章写得太棒了,科学性和实验都非常扎实。我尤其印象深刻的是它在代码等关键领域的计算倍数提升,我们知道大多数大实验室并没有采用类似方法(因为从它们的分词器就能看出来)。很酷地看到这种研究率先公开出来!https://cartesia.ai/blog/from-tokens-to-bytes-part-1…
从 Token 到字节 I:层级网络的扩展
来源:https://www.cartesia.ai/blog/from-tokens-to-bytes-part-1
自 Richard Sutton 于 2019 年发表那篇极具影响力的论文(http://www.incompleteideas.net/IncIdeas/BitterLesson.html)以来,**“苦涩的教训”(Bitter Lesson)**的概念一直引领着 AI 领域的诸多进展。这一理念倡导利用算力并通过规模化学习的通用方法,尽可能摆脱人工设计的先验知识。我们的理解是,从根本上说,智能关乎从原始数据中学习:自主地发现模式、构建抽象、并从杂乱的底层输入中发展出意义,理想情况下是端到端的,并且尽可能高效地利用数据。随着 AI 向科学、机器人学和生物学等复杂领域推进——在这些领域中数据稀缺,且往往对人类来说难以理解,更不用说进行工程化处理了——将这一哲学内化于心,以发展更具通用性的学习算法,比以往任何时候都更为重要。
语言模型也许是当今 AI 最大的成功案例,在很大程度上体现了苦涩的教训。它们的能力主要归功于对几个简单算法的规模化,例如 Transformer 架构、下一个 token 预测、强化学习和测试时计算。然而,它们仍然依赖手工设计的编码步骤,例如分词器(tokenizer),这严重阻碍了它们从底层数据进行端到端学习的能力。为了释放又一次量级的扩展,我们相信,开发字节级语言模型是 AI 进步的基石——不仅仅是为了改进独立的 LLM,更是作为检验通用学习方法的试金石。如果连从字符和字节中学习语言都做不到,我们有什么资格在下一个前沿领域取得进展呢?
2025 年,我们提出了**层级网络(H-Nets)**的概念,它不仅解决了语言模型中的分词问题,更向能从不同模态的原始数据中学习的更具通用性的架构迈进了一步。此后我们大幅改进了 H-Nets 技术,现在很高兴能分享它们的能力!在这篇由两部分组成的系列文章中,我们将深入探讨新结果并讨论其含义。
在这篇分为两部分的文章的第一篇中,我们将探讨 H-Nets 的扩展律及其定性行为。
- 我们构建了标准分词 Transformer 的扩展阶梯,展示了经过精心控制的单阶段 H-Nets 通过学习式分词提供了显著的计算效率提升(最高达 3-5 倍)。
- 我们展示了扩展更灵活的两阶段 H-Net 的实验结果,它在极端效率提升下(计算量和数据量减少 10 倍)超越了一个匹配的开源模型。
- 我们分析了 H-Nets 学习到的模式,它们展现出了语言模型中前所未见的丰富多样的新行为,例如上下文内分词(in-context tokenization)。
- 我们讨论了 H-Nets 如何超越语言建模,在生物学和视觉领域有着正在进行的研究成果,展现了作为跨模态通用架构的潜力。
在下一篇中,我们将深入探讨更大范围的模型,以更好地理解 H-Nets 在语言建模中为何如此高效。
总的来说,我们的结果提供了证据表明 H-Nets 是一种真正与苦涩的教训相契合的基础架构,直接从原始数据中学习意义,并显著提升效率和可扩展性。这一研究议程代表着推进 AI 从所有数据中学习方式的重大机遇,我们对推动前沿充满期待!
层级网络(H-Nets)
我们去年提出了层级网络(论文、博客),作为一种新的端到端架构,能够建模数据中的多层次抽象,在语言建模及其他领域展现了潜力。简而言之:
这一术语的灵感来源于认知心理学中已有的**组块化(chunking)**概念,它是人类智能的重要组成部分。我们认为它对人工智能的前沿也同样不可或缺。
在语言建模的语境下,其核心思想是构建新的学习原语,使模型能够递归地将低层数据组块为更高层次的意义:字符组成词语,词语组成短语,短语组成概念。
在本文的语境中,大多数情况下,可以将层级网络视为分词的替代。H-Nets 不再将数据从字节预处理为 token(固定的字节块),而是直接在模型内部动态地执行分块操作。此外,H-Nets 的标志性特征是它们端到端地层级式地执行这种分块。相比之下,标准的分词语言模型甚至其他替代方案(其中一些我们将在第二篇中看到)采用多阶段训练,而对数据的分块/分词过程完全在离线状态下完成。
细节:分词与 BPE 语言模型并不直接阅读文本,而是接收来自固定词表的 token 序列作为输入。一个自然的词表是 256 个字节值,即每个 UTF-8 字节对应一个 token。然而,字节级序列很长,对标准语言模型来说处理起来代价高昂。分词旨在通过将字节序列压缩为频繁出现的块来缓解这一问题。最常见的方法——字节对编码(BPE),从 256 个字节开始,在固定的训练语料库上反复合并最频繁的相邻 token 对,直到词表达到预设大小(例如 Llama-3 的 128k)。在我们的数据混合中,每个 BPE token 覆盖约 4.57 个字节,使序列远短于字节级。然而,这种压缩是固定的,分词仍然是语言建模流程中最后几个由人工设计而非学习得到的部分之一。
我们将在这篇文章系列中看到,即使在替换分词的更窄范围内,H-Nets 的端到端特性也能带来真正的性能提升。除了分词之外,H-Nets 作为一种基础架构具有广泛的用途:
- H-Nets 可以递归嵌套,从而构建多层抽象。本文的主要成果是一个更大的两阶段层级网络与开源基线的对比实验。
- H-Nets 可以处理任何类型的数据,不仅仅是字节,也不仅仅是离散数据。相比之下,对连续数据进行分词是一个严峻的挑战。在本文的最后部分,我们将预览一些将 H-Nets 应用于文本之外的未来研究。
H-Net 架构
两阶段字节 H-Net
解码器
反分块
解码器
主网络
编码器
分块
编码器
图 1. 层级网络(H-Net)架构。输入经过 5 个模块:(1) 一个编码器读取输入,例如字节;(2) 一个可学习的分块步骤将它们压缩为少量块;(3) 主网络在粗粒度的块上操作(类似于 token);(4) 块被解压回输入分辨率并与残差求和;(5) 一个解码器完成对组合表示的处理。单阶段 H-Net 执行一次动态分块;主网络本身可以是一个 H-Net,从而使分块过程可以递归嵌套。将鼠标悬停在不同的字节上,看看它们是如何在两阶段层级网络中路由的!
图 1 展示了一个两阶段 H-Net,并定义了模型的主要组件:编码器、主网络和解码器。我们有时将编码器/解码器统称为外层网络,将主模型称为内层网络。
在整篇文章中,我们展示的是大幅改进版 H-Nets 的结果,我们计划发布该版本。我们稍后将在本文中评论它与早期架构的差异。
第一部分:BPE 与 H-Net 扩展阶梯
与许多架构论文一样,关于层级网络的原始论文侧重于在特定固定大小和数据范围上调优语言模型(例如在 FineWeb-Edu 上使用约 1.3B 参数模型和 100B token 已非常常见)。虽然它们看起来非常有前景,但缺少一环是缺乏计算最优的扩展律——现在这是衡量预训练创新的标准方法。例如,Kimi 在 Kimi Delta Attention(KDA)和注意力残差上的热门创新分别测得的计算倍数为 1.16 倍和 1.25 倍。
为了验证我们改进版 H-Net 架构的增益,我们首先着手构建一个现代 LLM 扩展阶梯,然后将其分词组件替换为精心控制的层级网络。
- 我们建立了一个训练混合数据集,以便在同等条件下比较字节级和 BPE 扩展律,仔细匹配了处理流程,甚至为基线重新训练了一个 BPE 分词器。
- 我们按照标准实践为基线 BPE Transformer 语言模型建立了一个扩展阶梯,复现了文献中的结果。
- 然后我们将每一级转换为字节级 H-Net 作为直接替换,复用 BPE 主干架构和超参数。
这一方案直接显示了在验证损失上更强的结果(1.3 倍),在代码等子领域增益更大(2 倍),并且在分布外的评估上也有提升(评估集上 2 倍,域外代码上最高 5 倍)。
一个数据受控的比较
由于字节级和 BPE 模型在不同粒度上处理相同的数据,需要格外小心以保持方法的受控性。
数据混合:我们的训练数据集按字节数计算,包含 70% 英文、20% 代码、5% 数学和 5% 多语言。
数据处理:每个样本同时以字节和 BPE token 的形式处理,在相同的边界处切分;因此,字节处理和 BPE 处理的数据集包含完全相同的文本,文档边界对齐。
指标:我们使用标准的每字节比特数(bits-per-byte, bpb)指标来衡量下一个 token 预测的损失,以便在不同分词器之间进行归一化比较。
语料内 BPE 分词器:LLM 通常使用现成的 BPE 分词器;H-Nets 的一个优势是它们直接在训练分布上学习分块。为了更加谨慎,我们还在语料上训练了一个 BPE 分词器。我们在下面的 BPE 扩展律中使用了它,最终在验证损失和下游评估上都带来了约 1.1 倍的计算增益(因此 H-Net 相对于标准现成分词器的计算倍数会更大!)。
BPE 分词器的词表大小为 128k,与我们基于的 Llama-3 分词器匹配。语料内分词器对数据集的压缩略强,将平均 BPE token 长度从 4.45(Llama-3 分词器)提高到 4.57。以语料内 BPE 分词器的 token 衡量,训练数据集包含 64.7% 英文、23.7% 代码、6.1% 数学和 5.5% 多语言。
每个 BPE token 对应的字节数
来源 UTF-8 字节 / BPE token
目标混合 4.57
图 2. BPE 分词器在预训练混合中对每个来源的压缩程度,以每个 token 对应的 UTF-8 字节数衡量。每个柱状图代表一个来源的总字节数除以其总 token 数。在四类数据中,英文网页文本每个 token 压缩的字节数最多,因为 BPE 偏向于数据频率;代码、数学和大多数其他语言压缩得更少。
构建一个稳健的 BPE 基线
对于我们的基线,我们拟合了一个标准 BPE Transformer 的良好调优的扩展律。为此,我们构建了一个扩展阶梯,遵循 Kimi 和 MAI 等现代扩展方法,通过层数 L 完整定义了一系列模型。我们将隐藏维度 D 设为 128 的倍数,使得宽高比 D/L 约为 75。对于所有模型,我们使用多头注意力,头数等于层数,头维度固定为 128。对于 MLP,我们使用 SwiGLU 层,中间维度设为 3.6D,同样取 128 的最近倍数。1
| 模型 | 总参数量 | 主干参数量 | 层数 | 隐藏维度 | 注意力头数 | 头维度 | FFN 维度 |
|---|---|---|---|---|---|---|---|
| L08 | 221M | 56.4M | 8 | 640 | 8 | 128 | 2304 |
| L12 | 399M | 169M | 12 | 896 | 12 | 128 | 3200 |
| L16 | 673M | 378M | 16 | 1152 | 16 | 128 | 4096 |
| L20 | 1.22B | 822M | 20 | 1536 | 20 | 128 | 5504 |
| L24 | 1.81B | 1.35B | 24 | 1792 | 24 | 128 | 6400 |
| L28 | 2.62B | 2.10B | 28 | 2048 | 28 | 128 | 7424 |
表 1. BPE Transformer 阶梯的示例级别。级别以深度命名,宽度随深度增长。每个级别使用 128 维注意力头,每个查询头对应一个键/值头。主干参数不包括 token 嵌入和输出层。
然后我们使用标准的 iso-FLOP 扫描方法拟合了计算最优扩展律。
- 所有运行使用 Muon 优化器和 WSD 学习率调度,固定比例的预热和衰减。
- 我们在选定的级别上调整了批大小和学习率,并拟合了超参数扩展律以外推到更大的级别。
- 我们仔细计算了所有模型的 FLOPs,包括所有序列混合层和 LM 头。对于 softmax 注意力,我们只计算因果 FLOPs,因为由于二次复杂度,过度计算非因果 FLOPs 会对处理更长序列的字节级模型产生不利影响。
一个等效的 H-Net 阶梯
因为字节级 H-Nets 与标准分词模型差异如此之大,直接比较它们绝非易事。有太多的变量:多少级分块、各自的压缩率、每一级的架构配置(外层网络 vs. 内层网络),以及每个组件的超参数。
我们决定研究一个更窄的设定:如果将 H-Nets 严格限制为纯粹替代语言模型中的分词部分,它们与 BPE 模型相比表现如何?
为此,我们将 BPE 阶梯的每一级转换为字节级单阶段 H-Net。单阶段 H-Net 可以被视为一个带有学习式分词的标准语言模型:内层网络在块上操作(扮演 token 的角色),外层网络执行动态分词的角色,将字节编码为块并解码回来。每一级都被非常仔细地匹配:
- H-Net 的内层网络与 BPE Transformer 的架构完全相同。
- H-Net 的外层网络(编码器和解码器)在 FLOPs 和参数量上与分词层(嵌入层和“反嵌入“或投影头)匹配。
- H-Net 的压缩比通过强辅助损失与 BPE 压缩率(4.57)匹配。
- BPE Transformer 的超参数(批大小和学习率)被直接迁移。
相似文章
Hierarchical Networks 的扩展规律
Cartesia 的 From Tokens to Bytes 系列第一篇探讨了 Hierarchical Networks(H-Net)的扩展规律,展示了学习式 tokenization 带来的 3-5 倍计算效率提升,2 阶段 H-Net 以 10 倍更少的算力和数据超越了相匹配的开源模型,并呈现了 in-context tokenization 等新行为,以及在生物、视觉等跨模态任务上的潜力。
@_albertgu:我一直相信,智能应当源自简单、通用的构建模块,它们能直接从原始数据中学习自身的抽象……
Albert Gu 宣布了 hierarchical networks (H-Nets) 的新版本,在 scaling law 受控实验中实现了 3-5 倍的效率提升,用大约 10 倍更少的数据和计算量匹敌一个在 11T tokens 上训练的开源模型,这是迈向从原始字节端到端学习的重要一步。
字节语言模型:规模化、涌现式抽象与信息分配
该论文研究无分词器的字节级语言模型,发现配合 token-superposition 训练与哈希嵌入后,扁平 Transformer 随规模扩大能持续超越子词模型,并能自发学习出类似分词器的局部文本抽象,据此可将投机解码的接受率提升 3.4 倍。
@omarsar0: NVIDIA 的压缩论文,相当惊艳。(记得收藏)更大的 MoE 模型在质量上持续胜出,但以交互延迟提供服务仍然困难…
NVIDIA 的论文介绍了 Puzzle-75B-A9B,这是一种压缩的混合 MoE 模型,能够在保持质量的同时将服务器吞吐量提高一倍,从而实现大型语言模型的成本高效部署。
@MaxForAI: http://Z.ai和清华这篇ZCube,做Infra的家人们值得看下。 很多人聊AI infra,第一反应还是GPU、显存、量化、推理框架。 但到长上下文和Prefill-Decode分离之后,网络已经不再是机房里的「配角」了。 每一…
ZCube是一种新的网络架构,通过打平拓扑并混合单/多轨接入,优化了长上下文和PD分离场景下的KV Cache传输,在GLM-5.1生产集群中实现了交换机/光模块成本降低33%、GPU推理吞吐提升15%、TTFT P99下降40.6%。