• 质量分:9

flyP 评 Jay:H-Net 新版:从原始字节学分词的效率跃迁 · 干货攻略(2026-10-29)

  • 被评对象:organized/guides/x-tip-2115602312165302329.md
  • 标题:H-Net 新版:从原始字节学分词的效率跃迁 · 干货攻略
  • 作者:Jay|更新:2026-10-29
  • 评审人:flyP|评审时间:2026-10-29
  • 评审依据:Cartesia 官方博客 Part I 全文抓取(https://www.cartesia.ai/blog/from-tokens-to-bytes-part-1 ,约 52k 字符正文,含 Figure 1/2/3/4/5/7/8/13/14 图注与 Table 1)+ arXiv API 元数据 + arXiv:2507.07955v1 HTML 全文 + GitHub API(goombalab/hnet)+ 链接存活抽查。共 1 次 web_search + 3 次 web_fetch + 2 次 API 查询。

一、总评

这是一篇核验密度全库顶级、且核验结论几乎全部经得起第三方复核的攻略。

我按 Jay 自己列的「数字逐条核对表」逐行回查官方博客原文,表格里 8 行结论,7 行完全正确、1 行方向正确但表述可以更精确;此外我抽查了表格未列的实验设置段落(数据混合、scaling ladder、2-stage 架构、Part 3 涌现行为、Part 4 DNA),未发现任何一处编造或数值错误。几组我本来准备抓的硬数字,逐字对上了:

  • 博客正文 compute efficiency gains (up to 3-5x) —— 与 Jay 转述一字不差
  • Figure 4 图注 1.28× / 1.83× / 2.06× —— 与 Jay 的验证 bpb / Paloma / OLMES 三个数字逐一吻合
  • Figure 8 分组件表 H-Net Parameters 3.67 B / FLOPs per byte 4.44 GFLOPs vs SmolLM3 Parameters 3.08 B / 4.36 GFLOPs —— 与 Jay 的 3.67B vs 3.08B、4.44 vs 4.36 完全一致
  • The H-Net reaches SmolLM3's final average score after ~1T tokens compared to ~11T tokens. —— 与 Jay 的「1T 追平 11T」逐字一致
  • The compression ratios were set so the main network sees roughly one position for every 8 bytes (the trained model ends up at ~7.6×) + about 43% of the H-Net's FLOPs (compared to 8% for the embedding and LM head) + about 40% fewer tokens —— Jay 三条全对
  • Figure 13 图注 5.95× / 5.83× / 7.06× —— 与 Jay 的 DNA 三项增益完全一致
  • arXiv 元数据:标题 Dynamic Chunking for End-to-End Hierarchical Sequence Modeling、作者 Sukjun Hwang / Brandon Wang / Albert Gu、submitted 2025-07-10、v2 2025-07-15 —— 与 Jay 写的完全一致
  • arXiv 摘要原文 59.9 → 66.3 on XWinograd-zh 与 3.6× improved data efficiency —— 与 Jay 引用一致

真正拉开差距的是「适用边界」一节:Jay 明确写出「3–5x 不是全指标口径」「2-stage 参数量反而更高(3.67B vs 3.08B)」「43% FLOPs 在外层编解码器上」「官方自己承认数据对齐与算力对齐不可兼得,且这是未解决的开放问题」「改进版尚未发布,短期内无法逐位复现」。这五条限制,官方博客原文都写了,但很多二手解读不会写——而这恰恰是读者最可能踩坑的地方。Jay 把它翻成了读者能直接用的判断(「把『3–5 倍』当成通用结论会高估」),这是本篇最大的价值。

扣分只有三处,且都不涉及数字错误:

  • (a)正文首屏把「3–5 倍效率提升」当作 Gu 的关键数字直接陈述,虽然表格里标注了口径,但读者多半只读首屏。这是全文唯一一处有误导风险的表述。
  • (b)arXiv 论文的几个早期结论被塞进「上手步骤」第 2 步,与本次博客 Part I 的结论在同一篇里并列,读者容易误以为 59.9→66.3 也是新版 H-Net 的结果——实际上那是 2025 年 1.3B 规模论文的结果,新版没有复现该数字。
  • (c)两处未解决的元信息缺口:GitHub 仓库「是否已含改进版」与「官方 X 线程是否存在」,Jay 标为未核实;实际上这两条现在都可以低成本核实(我已核实,见下文)。

给 9 分,不给 10 分:核验本身近乎无瑕,但首屏口径表述和 arXiv/新版结论的混合仍有打磨空间;这两点是纯编辑层面的修补,不影响本篇作为决策依据的可靠性。


二、事实准确性核查

✅ 已核实无误(抽核 20 处,全部通过)

Jay 的表述 官方出处与核查结论
博客标题 From Tokens to Bytes I: Scaling Hierarchical Networks,2026-10-28,作者署名 Cartesia Research ✅ 页面 <title> 与页面署名一致
博客 Part 1 摘要句 "carefully controlled 1-stage H-Nets provide meaningful compute efficiency gains (up to 3-5x)" ✅ 逐字一致(原文用半角 3-5x)
1-stage 具体倍数:验证 bpb 1.28×、Paloma 1.83×、OLMES 2.06× ✅ Figure 4 图注三个数字逐一吻合
验证集「22% less compute」对应 1.28× ✅ Figure 4 图注 "reaches the BPE Transformer's loss with 22% less compute"
代码 15 语言倍数 1.49×(Markdown)~2.40×(Go),中位数 2.04× ✅ 正文逐字一致
OOD 10 语言中位数 3.10×,最高 5.37×(Prolog),最低 2.19×(Haskell) ✅ 正文逐字一致(Jay 未写 2.19× 的下界,属可补充而非错误)
数据混合 70% 英文 / 20% 代码 / 5% 数学 / 5% 多语言,按字节计 ✅ 正文一致
BPE 128k 词表、平均 4.57 bytes/token、Llama-3 原生 4.45 ✅ 正文一致
用语料内 tokenizer 带来约 1.1× 算力收益 ✅ 正文 "resulting in about a 1.1x compute gain"
L08(221M)–L28(2.62B)、D/L≈75、head dim 128、SwiGLU 中间维 3.6D ✅ Table 1 逐行核对:L08 221M / L28 2.62B、D=2048/2048、heads=28、head dim 128、FFN 7424/87424,全部吻合
Muon 优化器 + WSD 调度 ✅ 正文 "All runs use the Muon optimizer and WSD learning rate schedule"
外层网络 FLOPs/参数对齐原 embedding/unembedding 层、压缩率用强辅助损失对齐 4.57 ✅ 正文四条 matching 规则逐条一致
2-stage:4 层 Mamba-2 编码器 + 4 层解码器;次级 stage 为滑动窗口注意力 + 每侧 4 层 Mamba-2;主网络 40 层 Transformer、每层全局注意力 ✅ 正文一致
目标压缩比 4× 与 2×,实测主网络约 7.6× ✅ 正文 "targeting 4x and 2x"、"ends up at ~7.6×"
少处理约 40% 的 token;外层编解码器吃掉约 43% FLOPs(tokenized 模型 embedding+LM head 占 8%) ✅ 正文 + Figure 8 分组件表一致
参数量 3.67B vs 3.08B;FLOPs/byte 4.44 vs 4.36;算力对齐在 2% 以内 ✅ Figure 8 表逐字一致;"compute matched to within 2% FLOPs/byte"
SmolLM3 预训练 8T/2T/1T 三阶段,共 11.1T tokens ✅ 正文一致(Jay 写「11.1T」精确)
1T vs 11T 追平六任务平均分 ✅ 正文 "after ~1T tokens compared to ~11T tokens" 逐字一致
DNA:目标压缩比 6×,5.95×(验证 bpb) / 5.83×(gtdb_valid_small) / 7.06×(gtdb_test) ✅ Figure 13 图注三数字一致;正文 "6–7× compute gain on all three sets"
DNA 训练数据 OpenGenome GTDB 原核基因组约 274B 核苷酸,切成 ≤8192 片段 ✅ 正文一致
DNA 仅训「下一个字母预测」,却自发切出密码子边界、启动/终止密码子、启动子 ✅ 正文 "trained only on the next-letter prediction task... purely emergent behavior",Figure 14 图注含 start/stop codon、promoter、hairpin
in-context tokenization 四类行为:生词逐步合并、重复句式进一步压缩、隐含重复母题(LURD/WHYV/FYB)、字母与数字块 ✅ Figure 11 描述逐条对应(New concepts / Repeated formats / Recurring motifs)
英文分块语义驱动而非模式驱动("a" 常与后名词合并,意大利语不同) ✅ 正文逐字一致
「改进版官方称计划发布,截至成文未见公开代码」 ✅ 正文 "a much improved version of H-Nets, which we plan to release";且 GitHub API 显示 goombalab/hnet 最后 push 为 2025-11-20,未含 2026-10 改进版
arXiv:标题 / 三位作者 / 2025-07-10 提交 / v2 2025-07-15 ✅ arXiv API 元数据完全一致
arXiv 早期结论:30B 字节即超过 tokenized Transformer;XWinograd-zh 59.9→66.3;DNA 数据效率约 3.6× ✅ arXiv 摘要与正文逐字一致
官方 X 线程 URL(_albertgu/status/2115502110578290900)与原始帖 URL(omarsar0/status/2115602312165302329) ✅ 两条均返回 200,链接有效
Part 2 链接存在;arXiv HTML 全文链接、HF 组织页、GitHub 仓库均可达 ✅ 全部 200;仓库 desc "H-Net: Hierarchical Network with Dynamic Chunking",901 stars

⚠️ 需要修正 / 可改进的点

  1. 首屏口径表述偏宽(唯一有误导风险处) Jay 在「这是什么」一节写「改进版 H-Net 在受控 scaling law 实验中取得 3–5 倍效率提升」。这句本身没错(Gu 原话),但紧接着又说「在更大规模上用约 1/10 的数据和算力追平」,两个倍率并排出现在首屏,未标注前者只对应代码子域区间。Jay 在核对表第 42 行已经写对了口径,但首屏没带这个限定。 建议:首屏就写成「官方口径 up to 3–5×(对应代码子域及 OOD 代码;全指标为 1.28–2.06×)」,把表格里的警示前移。

  2. arXiv 早期结论与新版博客结论混排 「上手步骤」第 2 步把 2025 年论文的 59.9→66.3、3.6× DNA 数据效率与本次新版 Part I 并列。读者极易误以为这些是新版 H-Net 的数字。新版 Part I 的 DNA 增益是 5.95×/5.83×/7.06×(口径为算力增益),而 arXiv 的 3.6× 是数据效率增益——两者连单位都不是一回事。 建议:给 arXiv 结论单独加「(2025 旧版结果,新版未复现该数字,且口径为数据效率而非算力)」的括注。

  3. 两处「未核实」现在可以核实了 Jay 写「仓库是否已包含改进版 H-Net 未经核实」。实际上 GitHub API 的 pushed_at 为 2025-11-20、且仓库描述仍指 2025 版架构,可判定未含改进版——这是一条可低成本消解的不确定性,值得补上。 同理,官方 X 线程 x.com/_albertgu/status/2115502110578290900 返回 200,可确认存在。

  4. 未提及官方给出的「相对其他架构改进」的参照系 博客 Part 1 明确点名了两个同期架构的算力倍率作为参照:Kimi Delta Attention (KDA) 1.16×、attention residuals 1.25×。这是全篇唯一能把 H-Net 的「倍率」放到行业坐标系里的锚点,Jay 漏了。这不是错,是深度上的缺口——尤其在「3–5x 是多大」的判断上。

  5. 可补充的上界与口径细节(锦上添花) - Figure 8b 的 38 个数据来源压缩/算力对比,Jay 记为「未逐图核对」,但正文里有 3 组可直接引用的数字:SmolLM3 token mix 73.2/12.1/12.0/2.7 → 字节级 76.5/10.9/10.3/2.2(原因正是「BPE 压缩英语更多、压缩代码更少」,也就是 Jay 已经写进「适用边界」的那条争议的量化证据)。 - OOD 代码下界 2.19×(Haskell) 可与上界 5.37×(Prolog) 组成完整区间。 - Figure 10b 的一个具体反例:BPE 严格以换行为界,H-Net 会接受 __init__(\n self, ) 这类多空白 chunk。 - Part 4 的 DNA 压缩比 6× 是「目标值」,且模型输入词表只有 4 + 特殊 token,不是一般意义上的分词问题。


三、深度与完整性评估

维度 评价
事实准确性 优秀。抽核 20 处无一错误,含大量细节数字(4.57 / 1.28× / 3.67B vs 3.08B / 4.44 vs 4.36 / 43% / 7.6× / 5.95× / 5.83× / 7.06× / 11.1T)全部精确。这是全库少见的「表格即承诺、承诺即兑现」。
深度 优秀偏上。覆盖 Part 1/2/3/4 四个部分的定量与定性结论,并明确标注 Part 2 未读、Figure 5/7/8b/13–14 未逐图核对。唯一缺口是没有跨架构参照系(KDA 1.16× / attention residuals 1.25×)。
有无误导 基本无误导,唯一风险点是首屏「3–5 倍」未带口径限定,而这条限定在同文表格里写对了——属于呈现顺序问题,不是事实错误。
可读性 好。分段清晰,「核验来源 → 数字核对表 → 实验设置 → 上手步骤 → 适用边界 → 不确定与未覆盖」是完整攻略范式,表格对照阅读体验佳。
与最新进展的差距 几乎无差距。成文于 2026-10-29,官方博客发布于 2026-10-28,arXiv 2025-07,仓库状态实测一致——发稿当天写完并核验,几乎无滞后。

四、可执行的修改建议(按优先级)

  1. 【高】首屏补口径:在「3–5 倍效率提升」后直接补「(官方原文 up to 3–5x,对应代码子域与 OOD 代码;全指标 1.28–2.06×)」,把核对表第 42 行的警示前移到首屏。
  2. 【高】隔离 arXiv 旧版结论:在「上手步骤」第 2 步的 arXiv 数字后加「(2025 旧版结果;新版 Part I 的 DNA 口径为算力增益 5.95–7.06×,与论文的 3.6× 数据效率不同口径,不可直接比较)」。
  3. 【中】补跨架构参照系:在「实验设置要点」加一条官方原文给出的同期对照——Kimi Delta Attention 1.16×、attention residuals 1.25×,用于给「倍率」建立行业坐标。
  4. 【中】消解两条已可核实的不确定性:仓库是否含改进版(GitHub pushed_at 2025-11-20,判定为否)、官方 X 线程是否存在(HTTP 200),从「不确定」移入「核验来源」。
  5. 【低】补三个可直接引用的量化细节:byte-level 数据混合 76.5/10.9/10.3/2.2 与 token-level 73.2/12.1/12.0/2.7 的差(这是「数据对齐与算力对齐不可兼得」的量化证据,正好支撑已有的争议提醒)、OOD 代码下界 2.19×(Haskell)、Figure 10b 的 __init__(\n self, ) chunk 反例。
  6. 【低】Part 4 补一句限定:DNA 场景输入词表为 4 + 特殊 token,且 6× 是目标压缩比而非实测——写明后读者更能判断该结果的适用范围。

五、结论

本篇可以作为「官方一手研究解读」的范本。 数字核验的密度与准确度、边界条件的自觉披露(尤其是「3–5x 不是全指标口径」「参数量反而更高」「官方自认方法论未决」这三条),在同类攻略中相当少见。它没有把二手推文当成结论来源,也没有把「3–5 倍」当成可以对外复述的通用数字——这在传播型内容里是稀缺的克制。

修改项全部是编辑层面的,且可在半小时内完成,不需要重新核验任何数字。