Interfaze 发布 diffusion-gemma-asr-small:基于 DiffusionGemma 并行去噪解码器的开源扩散语音识别模型,支持六种语言
Interfaze 开源了 diffusion-gemma-asr-small,一个多语言语音识别模型,采用扩散解码器而非自回归解码器。该模型通过一个约 42M 参数的适配器将音频输入到 Google 的冻结 DiffusionGemma 模型中,单个适配器即可处理六种语言。转录成本由去噪步数决定,而非转录长度。在 LibriSpeech 测试集上词错误率为 6.6%,领先其他扩散 ASR 模型。
Interfaze,一家年轻的 YC 创业公司,近日开源了一款全新的语音识别模型——diffusion-gemma-asr-small。该模型采用扩散解码器进行语音转文本,而非传统的自回归方式。据称,这是首个多语言音频扩散 ASR 模型。单个适配器即可处理六种语言,研究团队仅在冻结的 26B 骨干网络上训练了约 42M 参数,仅占模型权重的 0.16%。
首先需要明确两个术语:自回归模型逐 token 生成文本,而扩散模型则并行优化所有 token。本模型采用扩散方法进行语音到文本的转换。
核心要点
- 据 Interfaze 团队称,这是首个开源的多语言扩散 ASR:单个约 42M 参数的适配器即可处理六种语言。
- 通过 DiffusionGemma 的扩散解码器进行转录,采用均匀随机 token 扩散,而非吸收式方案。
- 转录成本随去噪步数扩展,而非转录长度。
- 在 LibriSpeech 上以 6.6% 的词错误率领先扩散同行(Whisfusion 为 8.3%),但落后于自回归 Whisper。
- 适配器以 Apache-2.0 许可证发布;DiffusionGemma(Gemma 条款)和 whisper-small(MIT)需单独加载。
什么是 diffusion-gemma-asr-small?
diffusion-gemma-asr-small 是一个原生音频 ASR 模型。它使用离散扩散解码器将语音转换为文本,该解码器来自 Google 的 26B 混合专家模型 DiffusionGemma。DiffusionGemma 激活 4B 参数,采用 128 个专家和 top-8 路由。它通过离散扩散而非自回归生成文本。
扩散细节很具体。大多数扩散 LLM 使用吸收式方案,而 DiffusionGemma 采用均匀随机 token 扩散。它用一个固定长度的画布填充随机词汇 token,每一步保留高置信度的预测,并重新随机化其余部分。经过几步后,噪声退火为文本。
Interfaze 为这个纯文本模型添加了音频功能。开箱即用的 DiffusionGemma 支持文本、图像和视频,但不支持音频。本仓库仅提供训练好的适配器(约 42M 参数)。冻结的骨干网络需要从各自仓库单独下载。
工作原理
模型不会将原始波形直接输入 LLM。早期尝试这样做失败了,因为冻结的 LLM 从未见过频谱图,嵌入空间没有共振峰或音素的概念。模型学会了忽略音频并产生流畅的胡言乱语。
有效的设计使用冻结的 whisper-small 编码器,仅作为特征提取器,而非解码器。Whisper 将 30 秒音频转换为 1500 帧,每帧包含 768 维声学特征。然后,一个可训练的小型投影器压缩这些帧,使用 8 倍下采样的卷积层和线性映射。输出为 188 个“音频 token”,维度为 2816。这些 token 被分散到提示的预留槽中。LoRA 适配器使骨干网络能够关注这一新模态。然后,解码器对 192 token 的转录画布进行去噪,在大约 16 步内双向运行。
流程如下: 原始音频 → whisper-small 编码器(冻结)→ 投影器(训练,约 19M)→ 分散到 DiffusionGemma 编码器的 token 槽 → DiffusionGemma 解码器对 192 token 画布去噪(双向,交叉关注音频)→ 转录文本
训练突破
最初的训练停滞不前,损失函数徘徊在 8 附近。失败是循环的:投影器初始随机,输出为噪声;注意力机制学会了忽略它;几乎没有梯度到达投影器。模型从未学习。
解决方法是对投影器进行直接监督。研究团队将 188 个音频 token 通过冻结的 DiffusionGemma lm_head,并应用 CTC 损失与转录文本对比。CTC(连接主义时间分类)可以在无需注意力的情况下将音频特征与文本对齐。这绕过了僵局。音频嵌入变得能线性预测正确的单词。CTC 损失在 300 步内从 24 降至 8.6。在 LibriSpeech test-clean 上,英语词错误率在十个周期内从 90% 降至 52%,再到 14.6%,最终达 6.6%。
性能与基准
词错误率越低越好。模型在 FLEURS、LibriSpeech 和 VoxPopuli 上训练。以下分数均使用 Whisper 文本归一化器,16 个扩散步。
| 基准 | 指标 | 分数 | | --- | --- | --- | | LibriSpeech test-clean (en) | WER | 6.6% | | FLEURS 英语 | WER | 15.7% | | VoxPopuli 英语 | WER | 18.5% | | FLEURS 印地语 | CER | 15.8% | | FLEURS 普通话 | CER | 29.6% |
与其他扩散或非自回归 ASR 相比,它处于领先地位。
| 模型 | 方法 | LibriSpeech test-clean | | --- | --- | --- | | TransFusion (2022) | 多项式扩散 | ~6–7%(概念验证) | | Whisfusion (2025年8月) | Whisper-large-v3 + 掩码扩散 | 8.3% | | diffusion-gemma-asr-small (2026) | Whisper-small + DiffusionGemma | 6.6% |
与自回归 Whisper 相比,它仍落后。团队将此差距归因于数据而非架构。
| 基准 | 本模型 | Whisper-small | Whisper-large-v3 | | --- | --- | --- | --- | | LibriSpeech clean | 6.6% | ~3.4% | ~2.0% | | FLEURS-en | 15.7% | ~9–10% | ~4–5% | | VoxPopuli-en | 18.5% | ~9–11% | ~7–10% |
去噪步数扫描显示曲线近乎平坦。
| 步数 | FLEURS-en WER | 速度 | | --- | --- | --- | | 8 | 15.7% | 14.9× 实时 | | 16 | 15.6% | 10.3× | | 32 | 15.2% | 6.5× | | 48 | 15.6% | 4.7× |
从 8 步增加到 48 步,词错误率改进约 0.1 点,但延迟增加约 3 倍。模型在大约 8 次并行传递后收敛,对于 10 秒音频片段,模型时间约为 0.7–1.5 秒。
应用场景示例
批量转录管道受益于并行解码,成本由去噪步数而非片段长度决定。10 秒片段与更短片段所需的传递次数大致相同。
多语言转录只需一个适配器,覆盖英语、德语、法语、西班牙语、印地语和普通话。团队无需为每种语言加载单独模型。
非自回归 ASR 研究获得一个可复现的基线。该配方通过小适配器将冻结的 LLM 接地。研究人员可以通过更多音频或更大的编码器进行扩展。
如何开始
模型托管在 Hugging Face Hub,提供适配器、model.py、audio.py 和可运行的 inference.py。需要从 GitHub 主分支安装 transformers。
pip install torch peft soundfile librosa huggingface_hub \
"transformers @ git+https://github.com/huggingface/transformers.git"然后使用 Python 转录:
import sys, soundfile as sf
from huggingface_hub import snapshot_download
repo = snapshot_download("interfaze-ai/diffusion-gemma-asr-small") # 适配器,约 170 MB
sys.path.insert(0, repo)
from inference import load, transcribe
model, tok, fe = load(f"{repo}/diffusion_asr_small.pt", device="cuda")
wav, sr = sf.read("audio.wav") # 16 kHz 单声道 float32
print(transcribe(wav, model, tok, fe, max_steps=16))也可以从下载的仓库内使用命令行:
python inference.py audio.wavmax_steps 参数在速度与准确性之间权衡。团队指出 8 步接近最优且最快,默认值为 16。基座模型依据各自许可证加载:DiffusionGemma 遵循 Gemma 条款,whisper-small 遵循 MIT。