--- title: "Xiaomi Dasheng — 通用声音基座模型(8卡起步的 AI 工程实践)" source_url: "https://mp.weixin.qq.com/s/uz2P_xLrj9eMMb7ulsxn_w" mp: "Xiaomi Dasheng / 微信公众号" author: "Xiaomi Dasheng 团队" pub_date: "2026-06-12" ingested: "2026-06-12" sha256: "35e3807266161d7b0f150f4eec2b78e1040791f49707c3b752f7da475beff5ac" type: source tags: ["xiaomi-dasheng", "audio-foundation", "mae-audio", "audio-pretrain", "universal-audio", "midashenglm", "dashengtokenizer", "audio-caption", "knowledge-distillation", "ced", "self-supervised"] --- # Xiaomi Dasheng — 通用声音基座模型 ## 核心定位 "**通用声音表征**"指让一个模型同时听懂**语音、环境声和音乐**。 - 三年前音频领域**鲜有通用预训练尝试** - 语音识别(ASR)模型做不了声音分类 - 声音分类模型做不了语音识别 - **语音、声音、音乐之间的空地几乎没人涉足** **技术栈演进路径**: 1. **MAE(掩码自编码)学声音表征** 2. **千小时数据验证规模效应** 3. **六维度标注打通声音到语言** 4. **理解和生成共用一个模型** > **Xiaomi Dasheng 系列每一步都踩在没有现成答案的地方**。本文分享的是技术路径上几个关键判断,以及在无人区做选择时,那些事后被验证的直觉。 ## 01 技术选型:基于 MAE 构建音频预训练框架 ### 问题:设备对声音"盲" 手机、音箱、电视、摄像头都搭载麦克风,但**对声音是"盲"的,只能识别语音,对其他声音一概不知**。雨声、风声、婴儿哭声、厨房的异常响动,在设备眼里都只是"非语音信号"。 ### 困境:缺乏通用预训练方法 - 文本领域 2017 年就找到了 Transformer,2020 年算法已经成熟 - 音频领域则不同:**语音识别模型做不了声音分类,声音分类模型做不了语音识别** - 要做通用声音理解,**需要从底层重新构建** ### 选择:Meta 的 MAE 框架(从视觉迁移) **Masked Autoencoder(MAE)** 原理:把音频频谱的部分遮掉,让模型学会**补全被遮挡的区域**。 > 通过这个过程,模型被迫学习声音的**本质结构**,而非针对特定任务的表面特征。 ### 关键判断 > **增量优化和底层重建不是程度的差异,是方向的差异。** > > 预研的价值之一,是帮团队识别**什么时候该换方向**。 ## 02 数据工程:海量音频的筛选与扩量实践 ### 公开数据现状 - 公开视频 80-90% 含人声,**纯粹的环境声和音乐极为稀缺** - 最终使用**当时最大的公开音频数据集**——**约 1000 年**的开源数据 - 原始数据**无监督、无标注** ### 视频-音频同步筛选 通过画面中的视觉信号做语义校验:如画面中出现狗的同时也有狗叫声,认为这段数据在语义上有效。 ### 工程挑战 | 维度 | 数据 | |------|------| | **原始数据量** | **~300T**(相当于连续播放**几百万小时**的声音) | | **存储空间** | 严重不足 | | **分包** | **146 个包**,覆盖语音 / 音乐 / 环境声 / 机械噪声 | | **搬运方式** | 多台机器、错峰下载上传 | | **搬运周期** | **约 1 年** | | **训练资源** | **1 台机器 8 张卡**,完成 Base 到 1.2B 参数全部训练 | ### 规模扩展的实证收益 **HEAR 基准测试**: | 模型规模 | 参数量 | 平均性能 | |---------|--------|----------| | Base | 86M | 78.88 | | 1.2B | 1.2B | **81.25** | **训练数据扩量(AudioSet 5K → 27 万小时)**: | 模型规模 | 额外提升 | |---------|---------| | 小 | **+6.37** 个百分点 | | 中 | **+8.69** 个百分点 | | 大 | **+8.45** 个百分点 | ### 失败教训:盲目扩量 > 团队曾把训练数据集扩容至原有 10 倍体量,本以为遵循"数据越大模型越强"的缩放规律就能解决问题,**结果出乎意料:扩充后的模型在 AudioSet 公开测试集指标不升反降,切回业务场景测试,实测效果同样变差**。 **关键认知**: - 开源基准上的指标和实际业务指标**高度正相关** - **盲目扩量是无效的,音频数据的质量优先级远大于单纯的数据体量** ### 业务结果 - 音频标记算法**首次突破 AudioSet 50+ mAP** - Mini 版模型以 **49.0 mAP** 大幅超越同类,参数量仅为其 **约 1/10** - 大模型效果好但**终端设备跑不起** - 基于 **CED(Consistent Ensemble Distillation)** 知识蒸馏,从大型教师模型集成蒸馏出小模型,部署到小米终端设备 ### 通用性验证(GLAP 实验) **在五个编码器的对比中,只有 Xiaomi Dasheng 在语音、声音、音乐三个检索任务上同时表现良好**。 | 编码器类型 | 语音 | 声音 | 音乐 | |-----------|------|------|------| | **判别式**(CED / Beats) | 偏科 | ✅ | ✅ | | **生成式**(Xiaomi Dasheng) | ✅ | ✅ | ✅ | > 解释:**判别式编码器针对特定任务优化,遇到语音就"偏科"**;**生成式编码器通过"补全被遮挡的频谱"学到更本质的音频结构,三大领域都能兼顾**。 > **开源基准不是终点,但它是预研阶段最诚实的验证手段**。在业务场景全面铺开之前,开源指标上的真实提升就是最可靠的信号。 ## 03 语义拓展:六维标注实现音频自然描述 ### 问题:分类概率缺乏语义丰富度 Xiaomi Dasheng 能理解声音了,但输出形式是分类概率值。**普通人看不懂**,即使是专业人士,概率值也缺乏语义丰富度——它告诉你"有风声",但无法描述"外面刮着大风,有人在远处说话"。 ### 技术架构 **Xiaomi Dasheng 编码器 + 大模型解码器** = **MiDashengLM** ### 行业常规做法的局限 用 ASR 转录做音频-文本对齐,**只能理解"人说了什么"**,会丢弃环境声 / 音乐 / 情感 / 空间混响等信息。 **在 ACAV100M 数据集上,这种做法会损失高达 90% 潜在有用数据** ——等同于花了大量精力去"听懂"万物,最后在对齐环节又把大部分信息扔掉了。 ### 关键突破:通用音频描述对齐 **用多专家分析管道做细粒度标注**(语音 / 人声 / 音乐 / 环境声学,2 秒粒度),再通过大模型合成统一描述。 ### 6 维度 Caption 数据集 ACAVCaps | 维度 | 标注内容 | |------|----------| | **1. 语音内容** | 人说了什么 | | **2. 说话人情绪** | 情感状态 | | **3. 背景声音** | 环境声 | | **4. 音乐** | 音乐元素 | | **5. 场景环境** | 空间信息 | | **6. 音频类型** | 类别 | 配套 **MECAT Benchmark**,**全部开源**。 ### 关键认知:六维精细化标注的"意外"价值 > **这个数据集的诞生其实有点意外**。在项目初期时,团队沿用了行业只用单句文本描述整段音频的通用方案,但效果不佳。后来有同事提出拆分 6 个维度做细粒度标注,**一开始大家都不看好**,认为多维度信息冗余、对模型理解并无增益。 > > 但后续做音频生成实验时发现,**六维精细化标注恰恰是模型生成真实声场音频的关键**。 ### 反直觉洞察:更高的训练损失 = 更丰富的学习信号 | 类型 | 损失 | 学习信号 | |------|------|----------| | **ASR 训练** | 低 | "从左到右"简单映射,模型很快拟合,**学到的东西可能比较有限** | | **通用音频描述** | **高** | 融合语音摘要 / 环境声描述 / 音乐描述,**需要理解更复杂的语义**,训练损失反而更高 | > 在通用音频理解中,**更高的训练损失可能意味着更丰富的学习信号**。 ### 业务结果 - **MiDashengLM 在 22 个公开评测集上取得 SOTA** - **TTFT 仅为业界先进模型的 1/4** - 同等显存下**吞吐效率是其 20 倍以上** - **0.6B 轻量版本**:支持 **CPU 部署 + 浏览器 WebAssembly 运行** - 从云端到边缘设备全覆盖 - **数据 + 模型 + 代码 全部开源** ## 04 架构突破:打破理解与生成的模型壁垒 ### 行业困境 - **行业通行做法**:先训练声学编码器做理解,再训练声学解码器做生成,两者**独立** - 两套模型 = **两倍计算资源 + 两倍部署成本** - **难以在同一个模型中同时做理解和生成** - 理论上可只对音频编码器做量化,但**压缩后的特征会丢失细节**,训练成本可能不降反升 ### 行业假设:高维特征不适合直接生成 > 传统生成模型理论有一个常见假设:**高维度特征不太适合直接用于生成**。生成通常需要压缩到低维隐空间,高维特征信息较"散",解码器利用起来有难度。**这个假设在相当长的时间里被广泛接受**。 ### DashengTokenizer 突破 > **DashengTokenizer 的尝试,就是探索这个假设的边界。** > > 我们通过**冻结 Dasheng 的语义特征,仅注入声学信息,用一层结构就实现了理解和生成的统一**,让同一个编码器既能"听"又能"说"。 ### 业务结果 **在 22 个任务上,DashengTokenizer 显著超越了此前使用的音频编码器和音频编解码器**。 - **文本到音频 / 文本到音乐 / 语音增强任务**全面超越标准 VAE 方法 - **结论**:**VAE 架构不再是音频合成的必要条件** ### 关键判断 > **挑战行业假设不是为了推翻它,而是为了搞清楚它的边界在哪里。** > > DashengTokenizer 的价值不是否定了 VAE,**而是证明了 VAE 不是唯一解**。 ## 05 后续探索:DashengAudioGen 梳理 Xiaomi Dasheng 系列的技术路线,每个阶段之间存在**清晰的延续**: | 阶段 | 技术 | 价值 | |------|------|------| | **MAE 预训练** | 通用表征 | 基础 | | **大规模数据工程** | Scaling 验证 | 可行性 | | **通用音频描述** | 语义输出 | 应用空间 | | **DashengTokenizer** | 理解 + 生成统一 | 范式突破 | > 从"给设备装耳朵"到"给设备装嘴巴",每一步都建立在上一步的基础之上。 > > 走入一个**无人涉足的领域**,是预研技术的魅力,也是创新的必经之路。这件事还在进行中。 ### DashengAudioGen(进行中) 让生成的声音**更贴近真实场景**——不只是干净的语音合成,而是**带环境音、背景噪声、回声和远近感的完整声学场景**。 - 详情:https://nieeim.github.io/Dasheng-AudioGen-Web/ - 代码:https://github.com/xiaomi-research/dasheng-audiogen ## 关键数字 | 指标 | 数值 | 备注 | |------|------|------| | 原始音频数据 | **~300T** | 几百万小时 | | 数据包数 | **146 个** | 覆盖语音/音乐/环境声/机械噪声 | | 数据搬运周期 | **~1 年** | 多机错峰 | | 训练硬件 | **1 机 8 卡** | Base → 1.2B 全部完成 | | HEAR Base 性能 | 78.88 | 86M 参数 | | HEAR 1.2B 性能 | **81.25** | | | 数据扩量提升 | **+6-8 个百分点** | AudioSet 5K → 27 万小时 | | AudioSet 首次突破 | **50+ mAP** | 音频标记算法 | | Mini 模型 mAP | 49.0 | 参数量仅同类 1/10 | | ACAV100M 损失 | **90%** | ASR 对齐损失潜在有用数据 | | MiDashengLM SOTA | **22 个**公开评测 | | | MiDashengLM TTFT | 业界先进模型 **1/4** | | | MiDashengLM 吞吐 | 同等显存下 **20 倍** | | | 轻量版本 | **0.6B** | CPU + WebAssembly | ## 核心方法论 > **预研中被质疑最多的方向,有时恰恰是最有价值的。** > > 六维度标注从"没人看好"到"成为关键",说明预研团队需要**容忍一定程度的"低效探索"**。 > **开源基准不是终点,但它是预研阶段最诚实的验证手段。** 在业务场景全面铺开之前,开源指标上的真实提升就是最可靠的信号。 > **挑战行业假设不是为了推翻它,而是为了搞清楚它的边界在哪里。** ## 关键人物 / 团队 - **Xiaomi Dasheng 团队** — 小米(主体团队未具名) - 团队**从一台 8 卡机器起步**,用 1 年时间走完 5 阶段技术栈 - 已开源:ACAVCaps 数据集 / MECAT Benchmark / DashengTokenizer / MiDashengLM