arXiv'25 | Kimi-Audio:1300 万小时音频 + 混合 token 输入,月之暗面的通用音频底座怎么搭

arXiv’25 | Kimi-Audio:1300 万小时音频 + 混合 token 输入,月之暗面的通用音频底座怎么搭

原文:Kimi-Audio Technical Report


1. 前言

大厂 ASR/音频报告系列第五篇,聊聊月之暗面 2025 年 4 月开源的 Kimi-Audio。

严格说 Kimi-Audio 不是一个 ASR 模型,而是一个通用 audio foundation model:理解(ASR、音频问答、情感识别)、生成(TTS)、对话(实时语音聊天)一个模型全包,而且模型、代码、评测工具链全部开源。但它的 ASR 成绩单足够亮眼——LibriSpeech test-clean 1.28、AISHELL-1 0.60——放在这个系列里毫无违和感。

这篇报告值得细读的原因是:它把”怎么从 0 到 1 搭一个工业级音频大模型”的全部工程细节都写出来了,包括数据 pipeline 用了多少台机器、tokenizer 怎么选型、预训练任务怎么配比。透明度在这批报告里是最高的。

2. 架构:混合输入 + 双头输出

Kimi-Audio 模型架构

三大件:tokenizer、Audio LLM、detokenizer。

输入侧:离散 + 连续混合表示。这是 Kimi-Audio 架构上最有辨识度的设计:

  • 离散语义 token:用 GLM-4-Voice 的监督式 speech tokenizer(Whisper encoder 加 VQ 层),12.5Hz
  • 连续声学特征:Whisper encoder 直接输出的特征(50Hz),过 adaptor 降采样到 12.5Hz,然后和离散 token 的 embedding 相加作为 LLM 输入

为什么要两路?离散 token 语义浓度高、适合和文本统一建模,但量化必然丢声学细节(音色、情感、环境音);连续特征保真但”不像语言”。相加输入等于让 LLM 同时拿到”说了什么”和”怎么说的”。又见 12.5Hz——和 Qwen3-ASR 的 AuT 输出率完全一致,这个数字基本成了行业共识。

主干:从 Qwen2.5-7B 初始化,改成分支结构——共享层之上分出 text head 和 audio head,text head 继承预训练权重,audio head 随机初始化。输出音频时 audio head 产生离散语义 token,text head 同步产生转写(图里的 Audio Delay 是为了让音频 token 等文本 token 先走几步,语义先行)。

输出侧:flow-matching detokenizer + BigVGAN vocoder,12.5Hz 语义 token → 50Hz mel 谱 → 波形。为了实时对话做了 chunk-wise streaming:1 秒一个 chunk,从下一 chunk 预取 4 个 token 做 look-ahead,解决块边界的不连续。

3. 数据 pipeline:这部分是全文的精华

预训练数据 1300 万小时原始音频(有声书、播客、访谈,含音乐和环境音)。原始音频没有转写、没有说话人标注、还有噪声混响,所以搭了一条全自动标注流水线:

音频预训练数据处理流水线

走读一遍:

  1. Speech Enhancement:BSRNN 架构做 48kHz 语音增强去噪。但有个反直觉的细节——增强后的音频和原始音频按 1:1 随机混用,因为增强会把环境音和音乐洗掉,而这些对音频理解任务是宝贵信号,不是噪声
  2. Speaker Diarization:PyAnnote 切说话人
  3. Cluster Merging:说话人聚类中心余弦相似度 > 0.6 就合并(PyAnnote 常把同一个人切成多个 ID)
  4. Chunk-based Reassignment:1.5 秒粒度重新校验每块的说话人归属(阈值 0.5),修剪切分边界
  5. Segment Merging:同说话人相邻段合并,控制在 27 秒内
  6. Transcription:英文 Whisper-large-v3、中文 Paraformer-Zh;间隔 0.5-1s 补逗号、超 1s 补句号

基建规模也直接写了:30 个云实例、3840 vCores、30TB 内存、240 张 L20,每天处理 20 万小时音频。1300 万小时的语料大约需要这个集群跑两个月。这种数字对想复现的团队是最有价值的参考——数据工厂本身就是模型能力的一部分

4. 训练:任务配比的艺术

预训练共 585B audio token + 585B text token(1 epoch),设计了 7 类任务,权重 1:7:1:1:1:1:2

  • 纯文本(权重 7):防止 LLM 的文本能力退化,占比最大
  • 纯音频、ASR(audio→text)、TTS(text→audio)各占 1
  • 三种交错任务(audio/text 按句子交错拼接)占 1+1+2,教模型在模态间自由切换——这是对话能力的基础

细节:Whisper 特征提取器前 20% token 冻结,之后解冻联合训练;SFT 阶段用 30 万小时数据,其中 ASR 指令写了 200 种变体防止过拟合到固定 prompt。

对比一下:StepAudio 2.5 是 800B+800B、Qwen3-Omni 是 3T token,Kimi-Audio 的 585B+585B 规模不算最大,但任务配比表是几家里唯一完整公开的

5. ASR 结果

各 benchmark 上与音频大模型的 WER 对比

  • LibriSpeech test-clean/other:1.28 / 2.42,比 Qwen2.5-Omni(2.37/4.21)好一大截
  • AISHELL-1:0.60,这个数字在当时是全场最佳(后来 StepAudio 2.5 做到 0.71 都还没追上它)
  • WenetSpeech meeting/net:6.28 / 5.37,全面领先同期音频大模型
  • 内部测试集 1.42/2.44,比 Qwen2.5-Omni(1.53/2.68)略好

音频理解侧同样能打:MMAU-Sound 73.27、Nonspeech7k 93.93(Qwen2.5-Omni 只有 69.89)、CochlScene 80.99。语音对话主观评分平均 3.90,超过 GLM-4-Voice(3.65),略逊 GPT-4o(4.06)。

注意对比对象:Kimi-Audio 的对手是 Qwen2-Audio、Baichuan-Audio、Qwen2.5-Omni 这些通用音频模型,不是 FireRedASR、Qwen3-ASR 这类专用 ASR。通用模型里它的 ASR 是最强一档,但和专用系统比(FireRedASR-LLM 平均 3.05 的四集成绩),就是”全能选手 vs 单项冠军”的关系了。

6. 我的 take

  1. 混合 token 输入是个被后续工作追认的好设计。纯离散 token 的信息瓶颈(GLM-4-Voice 路线)和纯连续特征的”不像语言”(早期 Whisper+LLM 路线)之间,”离散+连续相加”是个工程上很聪明的折中。后来各家的 audio LLM 多多少少都在这个方向上收敛。

  2. 数据 pipeline 的透明度是这篇报告最大的公共品。增强音频 1:1 混原始音频这种细节,是踩过”增强把环境音洗没了、音频理解任务全崩”这种坑才会写出来的。连集群配置和日处理量都给了,这在大厂报告里极其少见。

  3. 1:7 的音频:文本任务配比很说明问题——通用音频模型最大的风险不是音频学不会,而是文本能力在多模态训练中退化。7 倍权重的纯文本任务本质上是在给 LLM”保底”。这个教训对任何做多模态续训的团队都适用。

  4. 评测工具链开源(Kimi-Audio-Evalkit)是聪明的生态动作。音频 LLM 的评测乱象(WER 计算不统一、prompt 不一致)确实存在,谁定义评测标准,谁就占据话语权——这和 Qwen 开源模型抢生态位是同一逻辑的不同打法。

系列还剩最后一篇横向对比总结,把这几家的路线放到一张图上讲清楚。


题外话:Kimi-Audio 预训练任务 1:7:1:1:1:1:2 的权重配比,报告只给了结果没讲怎么搜出来的——这类多任务权重优化其实是 AutoML 的经典问题(可以看作超参搜索的特例)。我们在《动手学 AutoML:从 NAS 到大语言模型优化实战》里讲过贝叶斯优化、进化搜索这类方法怎么系统地做这种决策,比网格试错省算力,感兴趣的朋友可以翻翻。

动手学AutoML书籍封面

Flag Counter