Hierarchical Networks 的扩展规律

Hacker News Top 论文

摘要

Cartesia 的 From Tokens to Bytes 系列第一篇探讨了 Hierarchical Networks(H-Net)的扩展规律,展示了学习式 tokenization 带来的 3-5 倍计算效率提升,2 阶段 H-Net 以 10 倍更少的算力和数据超越了相匹配的开源模型,并呈现了 in-context tokenization 等新行为,以及在生物、视觉等跨模态任务上的潜力。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/10/29 01:33

# 从Token到字节(一):扩展层级网络 来源:https://www.cartesia.ai/blog/from-tokens-to-bytes-part-1 自Richard Sutton于2019年发表那篇有影响力的论文(http://www.incompleteideas.net/IncIdeas/BitterLesson.html)以来,**苦涩的教训**这一概念指导了现代AI的大部分进展。该理念倡导使用利用算力、随规模扩展而学习的通用方法,尽可能摆脱人工设计的先验知识。我们的理解是:从根本上说,**智能关乎从原始数据中学习**——自主发现模式、构建抽象概念,并从杂乱的低层输入中发展出意义,理想情况下是*端到端*地、尽可能高效地完成这些过程。随着AI向科学、机器人学和生物学等复杂领域推进——这些领域数据稀缺、且往往对人类来说难以理解,更不用说为其人工设计特征了——将这一哲学内化于心,以开发更具通用性的学习算法,比以往任何时候都更加重要。 语言模型或许是当今AI最大的成功案例,它们在很大程度上践行了苦涩的教训。它们的能力主要归功于扩展了几个简单算法,如Transformer架构、下一token预测、强化学习和推理时计算。然而,它们仍然依赖于手工设计的编码步骤(如分词器),这严重阻碍了它们从底层数据中进行端到端学习的能力。为了实现下一次扩展的阶跃式突破,**我们相信开发字节级语言模型是AI进步的基础**——不仅是为了改进独立的大语言模型,也是作为通用学习方法的一块试金石。如果我们连从字符和字节中学好语言都做不到,又有什么权利去推进下一个前沿领域呢? 2025年,我们提出了**层级网络(H-Net)**的概念,它不仅解决了语言模型中的分词问题,更是迈向了更通用的架构——能够从不同模态的原始数据中学习。此后我们大幅改进了H-Net技术,很高兴能分享它们的能力!在这个由两篇文章组成的系列中,我们将深入探讨新成果及其意义。 在这两篇文章的第一篇中,我们将探索H-Net的扩展规律及其定性行为。 1. 我们为分词Transformer构建了标准的扩展阶梯,并展示了经过精心控制的单阶段**H-Net仅通过习得的分词就能带来显著的算力效率提升**(最高可达3-5倍)。 2. 我们展示了扩展更灵活的两阶段H-Net的实证结果,它在**极端效率提升(减少10倍算力和数据)**的条件下**超越了参数匹配的开源模型**。 3. 我们分析了H-Net学到的模式,发现它们展现出**丰富多样的新行为**——这些行为此前在语言模型中从未出现过,例如**上下文内分词**。 4. 我们讨论了H-Net如何超越语言建模,以及在生物学和视觉领域的最新研究进展,展现了其作为**跨模态通用架构**的潜力。 在[下一篇文章](https://www.cartesia.ai/blog/from-tokens-to-bytes-part-2)中,我们将深入探索更大范围的模型,以更好地理解H-Net为何能在语言建模中实现如此高的效率。 总而言之,我们的结果为H-Net是一种**真正契合苦涩教训**的基础架构提供了证据——它直接从原始数据中习得意义,并显著提升了效率和可扩展性。这一研究议程代表着推动AI从所有数据中学习的重大机遇,我们对推进这一前沿充满期待! ## 层级网络(H-Net) 我们于去年提出了层级网络([论文](https://arxiv.org/abs/2507.07955),[博客](https://goombalab.github.io/blog/2025/hnet-past/)),作为一种新的端到端架构,能够建模数据中的多层抽象,在语言建模及其他领域展现出潜力。简而言之: 这一术语的灵感来源于认知心理学中已有的[组块化](https://en.wikipedia.org/wiki/Chunking_(psychology))(chunking)概念,它是人类智能的重要组成部分。我们认为,它对于人工智能的前沿发展同样不可或缺。 在语言建模的语境下,其核心思想是构建新的学习原语,使模型能够递归地将低层数据组块化为高层意义:字符组成单词,单词组成短语,短语组成概念。 在本文的语境中,大多数情况下,您可以将层级网络理解为替代分词。H-Net不再是将数据从字节预处理为token(固定的字节块),而是直接在模型内部*动态地*执行组块化。更重要的是,H-Net的标志性特征是它以层级化的方式*端到端地*执行这种组块化。相比之下,标准的分词语言模型甚至其他替代方案(其中一些我们将在[第二篇](https://www.cartesia.ai/blog/from-tokens-to-bytes-part-2#how-much-does-end-to-end-training-help)中看到)采用多阶段训练,数据的组块化/分词过程完全在离线状态下进行。 **细节:分词与BPE。** 语言模型并不直接读取文本,而是从固定词表中接收一串token作为输入。一个自然的词表是256个字节值,即每个UTF-8字节对应一个token。然而,字节级序列很长,对标准语言模型来说处理开销很大。分词旨在通过将字节序列压缩为高频出现的块来缓解这一问题。最常见的方法是字节对编码(BPE),它从256个字节开始,在固定的训练语料上反复合并出现频率最高的相邻token对,直到词表达到预设的大小(例如Llama-3的128k)。在我们的数据混合中,每个BPE token平均覆盖约4.57个字节,使得序列长度远短于字节级。然而,这种压缩是固定的,分词仍然是语言建模流水线中少数几个由人工设计而非学习得到的环节之一。 我们将在这系列文章中看到,即使在替代分词的更窄语境下,H-Net的端到端特性也能带来真正的性能提升。除了分词之外,H-Net作为一种基础架构还具有广泛的用途: - H-Net可以递归嵌套,允许多层抽象的构建。本文的主要结果是一个更大的两阶段层级网络与开源基线的对比。 - H-Net可以处理任何类型的数据,不仅是字节,也不仅是离散数据。相比之下,对连续数据进行分词是一个严峻的挑战。在本文的[最后一部分](https://www.cartesia.ai/blog/from-tokens-to-bytes-part-1#part-4-from-tokens-to-atoms-hierarchical-networks-beyond-language)中,我们将预览一些将H-Net应用于文本之外的未来研究。 **H-Net架构** 两阶段字节H-Net 解码器 去组块化 解码器 主网络 编码器 组块化 编码器 **图1.** 层级网络(H-Net)架构。输入依次经过5个模块:(1)编码器读取输入,如字节;(2)习得的组块化步骤将输入压缩为若干块;(3)主网络在粗粒度的块(类似于token)上进行操作;(4)块被解压回输入分辨率,并与残差相加;(5)解码器完成对组合表示的处理。单阶段H-Net执行一层动态组块化;主网络本身可以是H-Net,使得组块化过程可以递归嵌套。悬停在不同的字节上,看看它们是如何在两阶段层级网络中被路由的! 图1展示了一个两阶段H-Net,并定义了模型的主要组件:编码器、主网络和解码器。我们有时将编码器/解码器统称为*外层网络*,将主模型称为*内层网络*。 在本文中,我们展示的是经过大幅改进的H-Net版本,我们计划将其开源。我们稍后会讨论它与早期架构的差异。 ## 第一部分:BPE与H-Net扩展阶梯 与许多架构论文一样,层级网络的原始论文侧重于在特定固定大小和数据规模的语言模型上调参(例如约13亿参数的模型在FineWeb-Edu的100B token上训练非常常见)。尽管结果看起来很有前景,但缺少计算最优扩展规律——这是衡量预训练创新的标准方法。例如,Kimi在[Kimi Delta Attention (KDA)](https://arxiv.org/abs/2510.26692)和[注意力残差](https://arxiv.org/abs/2603.15031)上的热门创新分别测量了1.16倍和1.25倍的计算乘数。 为了验证我们改进的H-Net架构的增益,我们首先构建了一个现代大语言模型扩展阶梯,然后用经过精心控制的层级网络替换其分词组件。 - 我们建立了一个训练数据混合,以便在同等条件下比较字节级和BPE扩展规律,仔细匹配处理方式,甚至为基线重新训练了一个BPE分词器。 - 我们按照标准实践为基线BPE Transformer语言模型搭建了扩展阶梯,复现了文献中的结果。 - 然后我们将每个阶梯层级转换为字节级H-Net,作为即插即用的替换,复用BPE骨干架构和超参数。 这种方法直接展示了在验证损失上的更强结果(1.3倍),在代码等子领域增益更大(2倍),并且在分布外也有提升(评估中2倍,分布外代码中最高5倍)。 ### 数据控制的比较 由于字节级和BPE模型以不同粒度处理相同的数据,因此需要格外注意保持方法论的一致性。 **数据混合**:我们的训练数据集由70%英文、20%代码、5%数学和5%多语言组成(按字节数计算)。 **数据处理**:每个样本同时以字节和BPE token的形式进行处理,在相同的边界处分割;因此字节处理和BPE处理的数据集包含完全相同的文本,文档边界完全对齐。 **指标**:我们使用标准的每字节比特数(bpb)指标来衡量下一token预测损失,该指标在不同分词器之间具有归一性。 **语料内BPE分词器**:大语言模型通常使用现成的BPE分词器;H-Net的一个优势是它直接在训练分布上学习其组块化。为了更加谨慎,我们还在语料上训练了一个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](https://arxiv.org/abs/2607.24653)和[MAI](https://microsoft.ai/pdf/mai-thinking-1.pdf#page=6),构建了一个扩展阶梯,完全通过层数*L*来定义一族模型。我们将隐藏维度*D*设为128的倍数,使得宽深比*D/L*约为75。所有模型均使用多头注意力,头数等于层数,头维度固定为128。对于MLP,我们使用SwiGLU层,中间维度设为3.6*D*,同样取最近的128倍数。 | 模型 | 总参数量 | 骨干参数量 | 层数 | 隐藏维度 | 注意力头数 | 头维度 | FFN维度 | |------|---------|-----------|------|---------|-----------|--------|---------| | L0 | 822M | 56.4M | 8 | 640 | 8 | 128 | 2304 | | L12 | 2399M | 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嵌入层和输出层。 然后我们使用标准的等FLOP扫描方法拟合了计算最优扩展规律。 - 所有运行均使用Muon优化器和WSD学习率调度,采用固定比例的预热和衰减。 - 我们在选定的层级上调整批大小和学习率,并拟合超参数扩展规律以外推到更大的模型。 - 我们在所有模型中仔细计算了FLOPs,包括所有序列混合层和LM头。对于softmax注意力,我们也仅计算因果FLOPs,因为由于二次复杂度,过度计算非因果FLOPs会对处理更长序列的字节级模型造成不公平的惩罚。 ### 等价的H-Net阶梯 由于字节级H-Net与标准分词模型差异巨大,直接比较它们非常复杂。其中有很多可变因素:多少层组块化阶段、各自的压缩率、每个阶段的架构配置(外层网络vs.内层网络),以及每个组件的超参数。 我们决定研究一个更窄的设定:如果将H-Net限制为纯粹替代语言模型中的分词部分,它与BPE模型相比表现如何? 为此,我们将BPE阶梯的每个层级转换为**字节级单阶段H-Net**。单阶段H-Net可以被理解为一个具有习得分词能力的标准语言模型:内层网络在块(扮演token的角色)上运行,外层网络执行*动态*分词的职责——将字节编码为块,再将其解码回字节。每个层级都经过了非常仔细的匹配: - H-Net的内层网络是完全相同的Transformer架构。 - H-Net的外层网络(编码器和解码器)在FLOPs和参数量上与分词层(嵌入层和"反嵌入"或投影头)相匹配。 - H-Net的压缩率通过强力的辅助损失与BPE压缩率(4.57)对齐。 - BPE Transformer的超参数(批大小和学习率)被直接迁移。 **将BPE层级转换为H-Net** 扩展阶梯中的一个层级 BPE阶梯中的一个层级及其等价的H-Net 两个模型以字节形式读取完全相同的文本。每个模型都有自己的主骨干网络,运行在约4.5字节的单位上,两个骨干网络架构完全相同。分词语言模型的分词器和嵌入层(参数量,几乎不消耗FLOPs)

相似文章

字节语言模型:规模化、涌现式抽象与信息分配

Reddit r/singularity

该论文研究无分词器的字节级语言模型,发现配合 token-superposition 训练与哈希嵌入后,扁平 Transformer 随规模扩大能持续超越子词模型,并能自发学习出类似分词器的局部文本抽象,据此可将投机解码的接受率提升 3.4 倍。