Latent Speech-Text Transformer¶
会议: ICLR 2026 Oral
arXiv: 2510.06195
代码: GitHub
领域: 音频语音
关键词: speech-text modeling, latent patches, autoregressive, ASR, TTS, cross-modal alignment, BLT
一句话总结¶
提出 Latent Speech-Text Transformer (LST),将离散语音 token 聚合为更高层级的"潜在语音 patch"作为自回归单元(类似 BLT 对 bytes 的处理),对齐语音和文本的序列建模粒度(从 20× 缩小到 ~1:1),在 speech HellaSwag 上获得 +6.5% 绝对提升且增益从 420M→7B 持续增长,同时降低 ASR/TTS 推理计算成本。
研究背景与动机¶
领域现状:语音离散 token(如 HuBERT 25Hz,501 码本)使得自回归语音 LM 成为可能。但语音 token 序列远长于对应文本(10-20×),导致训练和推理效率远低于文本 LLM——据估计需要比文本多三个数量级的数据才能达到同等能力。
现有痛点: - 信息密度不匹配:语音 token 序列与文本 token 在序列长度上严重不对称,阻碍跨模态知识迁移 - 计算分配不均:预训练和推理时大部分计算花在长语音序列上,而非有意义的语义建模 - 现有对齐尝试不足:warm initialization(从文本 LLM 初始化)、交错训练虽有帮助,但 speech→speech 和 text→text 性能仍有显著差距 - BPE 在语音 token 上失效(Cuervo & Marxer 2024 报告)——简单的子词切分不适用于语音
核心矛盾:语音建模需要细粒度 token(25Hz),但自回归建模在长序列上效率低且跨模态对齐差
核心 idea:借鉴 Byte Latent Transformer (BLT) 的思想——将语音 token 聚合为"潜在 patch"(高层自回归单元),全局 Transformer 在 patch 级别建模,轻量解码器展开 patch 为语音 token。Patch 粒度与文本 token 对齐
方法详解¶
整体框架¶
LST 把语音离散 token 序列 \(\{s_0,\ldots,s_T\}\) 先用一个轻量 Patch Encoder 聚合成数量少得多的"潜在语音 patch" \(\{z_0,\ldots,z_{T'}\}\)(\(T'\ll T\)),让主力的全局 Transformer 在 patch 与文本 token 这两种粒度相当的单元上做统一自回归,再用一个轻量 Patch Decoder 把每个 patch 还原回语音 token 并算标准 NTP 损失。整套结构沿用 Byte Latent Transformer 的"细粒度 token → 高层 patch → 全局建模 → 解码展开"思路,只是把对象从 byte 换成了语音 token,从而把语音相对文本 20× 的长度差压回到接近 1:1。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
A["语音离散 token 序列<br/>HuBERT 25Hz · 501 码本"] --> PA
subgraph PAT["Curriculum Patching(设计 1)"]
direction TB
PA["按对齐/静态切边界<br/>P(u) 从 1 线性衰减到 0"] --> PB["聚合成潜在语音 patch<br/>序列长度 ≈ 原来 1/p"]
end
PB --> ENC
subgraph ARCH["轻量 Encoder/Decoder + 重型全局 Transformer(设计 2)"]
direction TB
ENC["轻量 Patch Encoder<br/>滑窗自注意力 + 交叉注意力"] --> GT["全局 Transformer<br/>patch 级自回归主力"]
GT --> DEC["轻量 Patch Decoder<br/>展开 patch 回语音 token"]
end
TX["交错文本 token<br/>Llama 2 tokenizer"] -->|patch 级跨模态对齐 · 设计 3| GT
DEC --> L["token 级 NTP 损失"]
关键设计¶
1. 三种 Patching 策略与 Curriculum 过渡:在"语义对齐"和"推理无依赖"之间拿全
如何切 patch 直接决定语音能不能和文本对上粒度。最朴素的 Static Patching 用固定大小 \(p\) 做非重叠切分(如 \(p=3\),每 3 个语音 token 合成一个 patch),简单高效、推理时不需要任何外部模型,但切点和语义边界无关。Alignment Patching 则先用 Wav2Vec2+CTC 强制对齐拿到语音-文本时间戳,让每个文本单元(词 / BPE)对应一个 patch、静默段单独成 patch,对齐质量最好,但代价是推理时仍要挂一个对齐模型,不实用。LST 的最终方案是 Curriculum Patching:训练早期用 alignment 享受语义对应,随后让"采用对齐切分"的概率 \(P(u)\) 在训练步区间 \([\tau_1,\tau_2]\) 上从 \(1\) 线性衰减到 \(0\),平滑切换到 static。这样对齐信号在前期被"蒸馏"进 patch 表示里,后期即使换成静态切分模型也保留了学到的语义对应,推理时彻底摆脱对齐模型——既要了对齐的质量,又去掉了对齐的依赖。值得注意的是,直接把 BPE 子词切分搬到语音 token 上是失效的(Cuervo & Marxer 2024),这也是为什么 LST 走 patch 路线而非词表压缩。
2. 轻量 Encoder / Decoder + 重型全局 Transformer:把算力花在 patch 级语义而非冗余 token 上
Patch Encoder 由滑动窗口自注意力加交叉注意力组成,把窗口内的 token 嵌入聚合成一个 patch 嵌入;Patch Decoder 是一个轻量 Transformer,每层插入交叉注意力以接收对应 patch 的信息,自注意力窗口限制在 512 token 内逐步还原语音 token。关键在于算力分配:主要 FLOPs 集中在 patch 级的全局 Transformer 上,而 Encoder / Decoder 都做得很轻。由于全局建模在长度只有原来 \(1/p\) 量级的 patch 序列上进行,自回归的主开销随之大幅下降,长距离依赖也更容易学,这正是 LST 能同时降低 ASR/TTS 推理成本又不掉重建质量的原因。
3. patch 级的跨模态对齐:让语音和文本在同一序列里以相近粒度共存
把语音压成 patch 后,它与文本 token 在序列长度上趋于一致,于是二者可以放进同一条自回归序列里被同等对待。训练采用交错数据——同一语料的语音段和文本段交替出现,部分语音段被替换为对应文本——迫使模型在两种模态间来回预测。结果是 patch 会自动学到与音节 / 单词的对应关系,打通 speech↔text 的知识迁移通道;这也是为什么跨模态训练不仅没拖累文本能力,反而能反向小幅提升 text→text 表现。
损失函数 / 训练策略¶
全模型端到端训练(Patch Encoder + 全局 Transformer + Patch Decoder 一起优化),目标是作用在 Patch Decoder 输出上的标准 token 级 NTP 损失。语音侧用 HuBERT 25Hz、501 码本的 tokenizer 离散化,文本侧用 Llama 2 tokenizer。
实验关键数据¶
主实验(Speech HellaSwag,story completion)¶
| 设置 | 条件 | LST 提升 |
|---|---|---|
| Compute-controlled(同训练步数) | 420M | +6.5% absolute |
| Data-controlled(同数据量) | 420M | +5.3% absolute |
| Compute-optimal scaling | 420M → 1.8B | 增益随规模增长 |
| Fixed-token budget | 7B, 70B tokens | 增益持续 |
关键:增益不仅不饱和,而且随模型增大持续增长——说明 LST 改善了 compute-optimal scaling。
下游任务¶
| 任务 | 效果 | 说明 |
|---|---|---|
| ASR 适应 | 更稳定 | patch 级建模减少了长距离依赖问题 |
| TTS 推理 | 序列更短,计算更低 | 压缩序列长度的直接好处 |
| 重建质量 | 不降低 | 证明 patch 压缩无损 |
| Text→Text | 也有提升 | 跨模态训练反向提升文本能力 |
消融实验¶
| 配置 | 效果 | 说明 |
|---|---|---|
| 无 patching(baseline) | 基线 | 标准交错训练 |
| BPE on speech tokens | 无改善/退化 | 确认 BPE 对语音 token 不适用 |
| Static patching (p=3) | 显著提升 | 即使简单切分也有效 |
| Alignment patching | 最好但需辅助模型 | 语义对齐的价值 |
| Curriculum patching | 最佳平衡 | 保留对齐好处 + 无需推理辅助模型 |
关键发现¶
- 信息密度对齐是核心:将语音和文本拉到相近的序列长度后,跨模态知识迁移显著改善——支持了"粒度不匹配是主要瓶颈"的假设
- 即使最简单的 static patching 也有效——说明问题不在于精确的语义对齐,而在于减少语音序列的冗余
- Patch 自动学习到语义对应:curriculum patching 从对齐开始但最终切换到静态,模型保持了学到的对应——说明对齐信号可以被"蒸馏"到 patch 表示中
- 增益随模型规模增长——这对 scaling law 有重要含义:LST 可能改变了语音 LM 的 compute-optimal 点
- 文本性能也提升——语音 patching 不仅不损害文本,反而通过更好的跨模态训练间接提升
亮点与洞察¶
- BLT 范式从文本到语音的成功迁移:Byte Latent Transformer 的核心思想(将细粒度 token 聚合为 patch 做全局建模)在语音域同样有效,且可能更有用(语音的冗余比 bytes 更大)
- 效率与质量双赢:降低序列长度同时提升质量——不是 trade-off 而是 win-win。原因:更短的序列使全局 Transformer 更容易学到长距离依赖
- Curriculum 的巧妙设计:alignment patching 需要推理辅助模型(不实用),static patching 丢失语义对齐(不最优),curriculum 从前者平滑过渡到后者——训练用对齐,推理用静态
局限与展望¶
- Patch 大小的选择对不同语言(音节结构差异大)和说话速率的鲁棒性未充分验证
- 仅使用 HuBERT semantic tokens,未测试 codec-based acoustic tokens(如 SoundStorm)
- 未与 Moshi、Spirit-LM 等端到端语音 LLM 做直接对比
- Curriculum 调度的超参数 \(\tau_1, \tau_2\) 需要调优
- 7B 实验在次优 token budget(70B vs 最优 ~140B)下进行,完整 compute-optimal 实验成本高
相关工作与启发¶
- vs BLT (Pagnoni 2024):LST 将 BLT 的 byte→patch 思想迁移到 speech token→speech patch,直接启发
- vs Nguyen 2025(交错训练):交错训练是基线方法,LST 在此基础上增加 patching——正交改进
- vs Moshi(端到端语音 LLM):Moshi 用多流建模,LST 用 patch 压缩——不同的解决信息密度不匹配的路径
评分¶
- 新颖性: ⭐⭐⭐⭐ 潜在 patch 概念简洁有效,BLT→语音的迁移既自然又有非显然的设计考虑
- 实验充分度: ⭐⭐⭐⭐⭐ 多尺度(420M→7B)× 两种控制设置 × 下游任务 × 充分消融
- 写作质量: ⭐⭐⭐⭐ 清晰易懂,从动机到设计到实验逻辑流畅
- 价值: ⭐⭐⭐⭐⭐ ICLR Oral 实至名归,对语音-文本联合建模有重要指导意义,改善了 scaling behavior