~/yomxxx/posts/2026-09-30-telescopic-language-models-continuous-depth-paper.mdx
Paper

$ cat TLM 论文速读:一次训练,二十个深度全可用的望远镜式语言模型

-- 5 min read ·

一句话总结

arXiv 2609.35769《Telescopic Language Models》证明:让单一语言模型在每个层深度都可用,缺的不是嵌套架构,而是训练目标。随机前缀监督加完整锚点,两次前向反向、零推理开销,把固定出口方案在出口之间的「性能悬崖」抹平成连续斜坡。

问题:一个模型,多个算力预算

线上服务每天面对的现实是:同一个语言模型要服务从旗舰手机到数据中心的各种算力预算。传统做法要么为每个预算单独训练一个模型(成本线性增长),要么训练 Matryoshka 式嵌套套件(如 MLMS),一次训练得到几个固定尺寸的子模型。

嵌套套件的问题在于:它只在训练过的几个出口上是有效模型。论文的测量触目惊心——在一个 200M 的 MLMS 套件上,介于 50M 与 100M 出口之间的深度 13,困惑度高达 285;低于最小出口的深度直接崩溃,k=1 处 438,883,比随机猜测(词表大小 49,152)还差九倍。部署预算若恰好落在出口之间或之下,套件什么也给不了你。

方法:随机前缀监督

TLM 的训练循环异常简洁。每一步:

1. 采样前缀深度 k ~ π(如 uniform 分布在 1..20)
2. 前向:k 层前缀,算完整 next-token 交叉熵损失
3. 前向:完整 20 层模型(full anchor),同一 batch
4. 两次反向传播,λ = γ = 1,无蒸馏

就是这两次前向反向撑起了全部魔法。随机截断的前缀保证每个深度都有概率被监督——uniform 采样下每个深度被访问的期望次数相同,训练产物在全部二十个层前缀上都是有效语言模型。完整锚点保护峰值质量:消融实验中去掉锚点后,全尺寸困惑度从 14.99 恶化到 22.32,但连续性几乎不变(AULB 3.28 到 3.41)——锚点管峰值,随机前缀管覆盖,两个目标各司其职。

架构零改动。论文直接沿用 MLMS 的嵌套 Transformer(20 层,三个宽度段:11 层宽 320、5 层宽 576、4 层宽 960),控制变量到「所有方法使用完全相同的数据流,唯一变量是训练目标」。推理时任意深度直接截断使用,没有任何额外计算。

结果:曲线、成本与出口

三组数字值得记住。

连续性:TLM uniform 的困惑度从 k=1 的 81 平滑降到 k=20 的 15,全程近单调。同样深度的 MLMS 在出口之间是 285,出口之下是数百到数十万。质量-预算曲线下面积(AULB)3.28 对 5.90,降低 44%;部署前沿面积(LODA)38.9 对 21.8,接近翻倍。

峰值:全尺寸困惑度 14.99,落在 MLMS 的 14.96-15.42 区间内,视为持平。与独立训练的 vanilla twin(13.98)的差距,从 MLMS 的 7.1% 缩小到 exit-grid 变体的 4.8%。

成本:131 GPU 小时对无蒸馏 MLMS 的 149(省 12%),对 vanilla 三模型套件的 216(省 1.7 倍)。关键是单位操作点成本:TLM 一次训练产出 20 个有效操作点,摊到 6.5 GPU 小时一个点;MLMS 产出 3 个点,50 GPU 小时一个点。

诚实记录弱项:在 MLMS 的训练出口上,MLMS 仍然占优(50M 出口 21.89 对 24.38)。TLM 的 exit-grid 变体可以缩小差距(24.4),但如果业务只需要三个固定尺寸,独立训练的 vanilla 套件单点质量仍然最好——TLM 不是全维度碾压,是把「离散的点」换成了「连续的曲线」。

最有说服力的对照实验

论文里我最欣赏的一组实验是 exit-grid TLM:把前缀采样器限制为只采样 MLMS 的三个固定出口。结果这个「架构相同、只是监督密度变成稀疏栅格」的变体,在出口外的深度同样崩溃(k=5 处 2,693)——完整复现了 MLMS 式的悬崖。

这一下把归因钉死了:嵌套结构无罪,训练目标的监督密度才是弹性的来源。Matryoshka 套件、TLM、固定出口方案,其实共享同一个设计空间,区别只在于把监督预算撒在哪些深度上。采样器 π 因此成为「训练时的选择而非架构决定」——是旋钮,不是墙。

顺带一个精细的修正实验:MLMS 出口外的崩溃部分归因于读出头(readout head)失准——只微调输出头,k=5 能从 1,412 恢复到 177。但即便如此,仍比 TLM 训练过的同深度前缀差约六倍。修头能救急,救不了本质。

工程意义

对推理服务团队,TLM 直接改变容量规划的语言。过去说「我们有 50M、100M、200M 三档模型」,现在可以说「预算在 0.11 倍到 1 倍全模型延迟之间任意选」。低于最小出口的十个浅操作点(低至 0.11 倍延迟、困惑度 26-81)是 MLMS 完全不存在的供给——对延迟敏感的流式场景(输入补全、粗排、路由)是新的可用区间。

对训练团队,两次前向反向的约束意味着与现有训练管线的兼容性极好:不需要架构改动、不需要蒸馏教师、不需要多阶段课程。13% 的算力节省反而是次要的,主要收益是「一次运行覆盖全部预算」带来的迭代速度。

保守项也要看清:证据止步于 200M 规模加单种子为主;生成中途切换深度(KV cache 跨层迁移)未解决;参数量轴上的连续性优势比延迟轴小(前缀共享 embedding 与 head)。把它当作「训练目标设计」层面的可靠结论,而非可以直接抄到 70B 生产配置的配方。

与相关工作的位置

固定出口家族(MatFormer、LayerDrop、slimmable networks)都把弹性做成离散档位;TLM 指出它们是这个连续设计空间里的单点。动态深度推理(每 token 早退)解决的是另一件事——单次请求内的算力分配,而 TLM 是跨请求的服务级算力分配。两者理论上可叠加:TLM 提供部署档位的连续性,动态早退在档位内做 token 级优化。

代码已开源(github.com/ZhilinGuo/telescopic-language-models),论文 12 页,两个主实验 arm 有第二种子与配对 bootstrap 置信区间。按论文速读的口味,这是那种「结论简洁到可疑、但对照实验做得足够狠」的工作——值得在自己的代理任务上复现 AULB 曲线再决定是否采信。

Frequently asked questions

TLM 和 Matryoshka 嵌套模型有什么区别?
两者架构可以完全一样(论文直接沿用了 MLMS 的嵌套 Transformer),区别只在训练目标。MLMS 只在几个固定出口上计算损失,出口之间没有监督,困惑度会崩溃到数百甚至数十万;TLM 每步随机采样一个前缀深度做监督加一次完整模型前向,让每一个深度都被充分训练。论文用 exit-grid 采样器复现了 MLMS 式崩塌,证明是训练目标而非嵌套结构决定弹性。
为什么 TLM 反而更省 GPU?
MLMS 每一步需要在所有 M 个出口上反向传播损失,出口越多反向传播越多;TLM 每步只对单个随机采样的前缀(平均比全模型浅)加完整模型各做一次前向反向,恰好两次。实测 131 GPU 小时对比无蒸馏 MLMS 的 149,省约 12%,同时产出 20 个有效操作点而非 3 个,单位操作点成本从 50 降到 6.5 GPU 小时。
TLM 在自己的弱项上表现如何?
弱项是固定出口处的峰值质量。在 MLMS 训练过的 50M 出口,MLMS 困惑度 21.89,TLM 是 24.38;100M 出口是 17.47 对 19.11。但如果部署预算恰好落在这几个离散点上且只需要三个模型,独立训练的 vanilla 套件(216 GPU 小时)单点质量仍然最优。TLM 的价值在于预算不确定或需要连续调节时的整体曲线。
前缀采样策略怎么选?
论文把采样器当成一个可调旋钮:uniform 对全部二十个深度等概率采样,连续覆盖最好,AULB 3.28;log-uniform 偏向浅前缀,训练更快但深采样不足(k=1 崩到 6740);exit-grid 只采样固定出口,出口质量最好(14.65 困惑度)但放弃连续性。工程上按业务预算分布选:预算分散用 uniform,集中在几个已知档位用 exit-grid。
这个结果能直接推广到生产级大模型吗?
作者明确说不能外推。证据规模是 200M 代理模型加 FineWeb-Edu 20B tokens,多数实验单种子;8B 到 70B 规模上峰值与连续性的分离是否成立是开放问题。另外论文只在每请求固定深度上评测,生成中途切换深度涉及 KV cache 跨层处理,留作未来工作。落地前需要在中规模模型上复现关键曲线。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.