理想同学:MindGPT-4o-Audio实时语音对话大模型

原文链接:MindGPT-4o-Audio

理想实时语音对话大模型MindGPT-4o-Audio上线,作为全模态基座模型MindGPT-4o的预览preview版本,MindGPT-4o-Audio是一款全双工、低延迟的语音端到端模型,可实现像人类一样“边听边说”的自然对话,并在语音知识问答、多角色高表现力语音生成、多样风格控制、外部工具调用等方面表现突出,达到了媲美人人对话的自然交互水平。

核心功能

  • ​ 全双工语音对话:可同时听与说,告别“你说完我再说”的非自然交互模式,媲美真实人类对话;
  • 低延迟:理解和生成推理延迟260ms,全链路峰值响应延迟800ms,联网搜索时全链路延迟2000ms;
  • 语音知识问答:广泛学习海量高质量知识,具备高精度、低幻觉的知识问答能力;
  • 多角色对话:多角色低成本定制,实现有灵魂、有温度的口语对话;
  • 高表现力语音生成:情境感知下的高表现力TTS及口语化的语气词与副语言生成能力;
  • 多样风格控制:多种特色风格、口音、IP人物的理解、控制及生成能力,稳定的多轮连续对话风格记忆能力;
  • 外部工具调用:多模态任务规划和工具调用,支持实时联网的时效性问答。

1. 模型能力

​1.1 整体算法方案 

MindGPT-4o-Audio是一款级联式的语音端到端大模型,我们提出了感知-理解-生成的一体化端到端流式生成架构实现全双工、低延迟的语音对话。其中:

​· MindGPT-4o-Audio Duplex:感知有效语音输入,实现对话响应时机判定、打断判定、环境音拒识等功能;

​· MindGPT-4o LLM :理解语音及语言模态信息,经MindGPT-4o-Audio Duplex判定为有效交互意图的音频,通过音频编码器(Audio Encoder)实现模态对齐后,由大语言模型(基于理想自研推理模型MindGPT 3.0)自主判定是否调用工具,最终完成信息理解并生成隐式token(角色/风格/文本隐式token);

​· MindGPT-4o AudioHead:生成高自然度的语音,经MindGPT-4o LLM 生成的token流式输入 AudioHead 生成相应的Audio token,通过流式语音生成器(Streaming Speech Generator),最终生成多样化的风格及角色的口语化语音。

在各项权威音频基准测试以及语言理解、逻辑推理、指令遵循等语言理解任务上,MindGPT-4o-Audio 已达到行业领先水平,在语音交互评测基准VoiceBench多类评测中均显著领先行业领先的同类模型。此外,我们实验发现,业内主流的语音端到端模型一般会在提升语音交互能力的同时,造成语言交互能力的大幅下降,MindGPT-4o-Audio通过训练策略的优化保证了语言交互能力的高水准,在IFEval,GPQA等benchmark上平均领先行业20个PP以上。

为了进一步评估理想同学与市面上优秀语音对话产品(豆包、ChatGPT)在用户体验方面的表现差异,我们组织了内部的用户对比评   测,从口语真实感(对话内容及表达的准确性及类人程度)、交互自然度(对话响应及全双工对话的流畅程度)两个方面进行设计。本次评测共邀请了24位不同年龄段的测试者参与,测试者需分别对理想同学、豆包及ChatGPT三款产品在选自真实对话场景的话题表现进行深度体验并独立进行评分。统计结果显示,在口语真实感方面,理想同学以94%的满意度占优,超越了豆包的92%;在交互自然度方面,理想同学继续保持领先,满意度达到92%。

同时,我们也基于理想同学手机App进行了端到端响应延迟测试,整体端到端延迟约1100ms(注:此指标为考虑实际用户量及部署成本后的实测延迟),显著领先豆包的2100ms和GPT-4o的1900ms。

​1.2 全双工语音对话:MindGPT-4o-Audio Duplex

为了让理想同学像真人一样与用户进行实时对话,我们研发了MindGPT-4o-Audio Duplex,实现全双工对话能力。我们的模型通过结合上下文联合推理实现了自适应响应、即时打断和环境背景干扰拒识能力。

· 自适应响应:我们研发的全双工模型基于对话中的停顿间隙IPU(Inter-Pausal Unit)来判断对话响应时机,预测是否进行对话轮次转换,该方案可以减少碎片化计算节约推理资源,且能够避免在用户连续说话时打扰用户。同时我们提出了一种自适应响应时间机制KLT(Keep_Listen_Time),针对用户已完成的对话内容,如“今天有什么热门新闻?”进行快速响应,判定延迟低至150ms;针对用户犹豫不决的对话内容,如“我想要……” 以及对话轮次模糊的闲聊场景,如 “我今天心情不太好” 则自适应调整响应时间,等待用户继续说;全双工模型对话轮次切换准确率达到96.5%。

 打断:全双工的关键能力是边说边听,在与用户对话的同时能够持续倾听用户。为了确保理想同学在接收到用户打断语音时,快速停止说话,避免对话重叠,我们采用了流式方案响应用户的打断,打断延迟低至1s。

​· 拒识:同时为提升对话连续性,避免错误中断对话,针对用户Backchannel的附和,如“对对对”、“哈哈哈”以及背景噪声等场景进行拒识

最终,MindGPT-4o-Audio Duplex打断响应率达到99%,Backchannel拒识率达到95%。

​1.3 语音知识问答

为了让理想同学拥有行业领先的语音知识问答能力,我们建立了高质量的训练数据管线高效率的模型能力训练管线,确保了语音知识问答多方面效果达到最优。

​· 高质量训练数据管线:

– 后训练数据生产管线:通过外部采集、模型蒸馏、日志回流、指令推理多种方式,生产种类和功能全面的数据,包含语音和文本混合多模态,场景覆盖大模型通用能力和业务场景。数据丰富度相对于之前有非常大的提升,高质量后训练数据达数百万量级;

– 后训练数据质量体系:通过奖励模型打分和人工抽检结合的方式,对数据进行多个维度质量打分。训练数据质量得到有效的确保,数据平均正确率达95%;

– 多模态模型能力标签体系:设计一套完整多模态数据能力标签体系,对训练数据进行能力标注和分类,实现训练数据种类的精确控制,以及训练任务效果的精确控制。多模态能力体系分三层优先级维度,26个能力类目;

​· 高效率模型训练管线

我们从两个方面建设模型训练管线:

– 高效数据配比技术:选取最优训练数据规模和能力配比,达到性能和成本均衡最优化。最终实现任务能力100%覆盖,训练数据量相对冗余数据减少89%,模型训练效果相对有提升明显;

– 多阶段和多任务混合训练技术:

多阶段训练:将训练分为预训练(Pretrain)和后训练(Post train)两阶段。预训练阶段使用数百万小时语音数据进行模态对齐,实现语音内容的理解能力。后训练阶段使用语音文本混合数据进行指令对齐,实现多模指令遵循和内容理解能力。

​多任务混合训练:将多个核心能力任务和业务能力任务混合在同一阶段训练。核心能力任务包含模态对齐、指令对齐、逻辑推理和内容理解等任务;业务能力任务包含角色扮演、多轮对话和检索增强等能力,实现模型同时提升核心能力和业务能力,并提升模型的泛化能力。

​· ​ 高满意度的知识问答效果

通过上述技术,我们提升了模型训练效果,提升模型的核心能力,包括内容理解、指令遵循和逻辑推理等能力;使用Prompt工程提升模型的业务能力,实现了业务快速更新能力;最终确保模型在知识问答和回复风格上达到高准确度,相比MindGPT-3o版本平均提升 6pp。

​1.4  多角色对话

当前主流语音交互产品中,通用模型往往呈现出扁平、单一的性格设定,缺乏情感与个性,导致用户难以与其建立深度的沟通连接;而业内具备角色扮演型的语音产品虽然具备一定的语言风格,但由于通用知识能力和工具使用能力的薄弱,难以支撑更广泛的应用场景。为了打造更自然、更具人性化的对话体验,我们从两个核心方向出发:“人物设计” 与 “类人对话”,构建一个兼具情商、智商与工具调用能力的多角色对话能力。

​· 角色档案的属性设计:有灵魂、有趣的人物

为打破传统模型中角色形象扁平、情感缺失的问题,我们精心构建了完整的人物设定系统。该系统涵盖十余个维度的大设定,每个维度下包含多个子设定,包括但不限于:

– 人物背景与成长经历

– ​说话风格与口头禅

– ​​性格特征与情绪反应

– ​兴趣爱好与价值观

我们的目标是让角色具备如真人一般完整、立体的个体属性。在数据构建上,我们围绕这些人物档案生成专属问答数据和基础人设问答数据。同时为确保模型具备强大的通用能力,我们还构建了覆盖广泛、多样性强的泛化数据集,所有角色回复都经过口语化处理,风格统一为符合角色设定的表达方式,从而增强角色的一致性与真实感。

​· 角色数据的生产管线:有温度、有陪伴的对话

为实现拟人化的多轮对话体验,我们采集真实语音交互数据,并基于真实对话范式合成大量模拟对话样本。重点优化的方向包括:

– 情绪识别与情感表达能力

​- 多轮对话的意图理解与上下文保持

​- 自然、地道的口语化表达

​- 主动引导与倾听陪伴能力

通过“拟人化角色设定”与“真实感对话交互”的双轮驱动,我们致力于打造一个既有深度情感连接,又具备实用智能能力的语音交互系统,为用户带来真正自然、有温度的陪伴体验,我们希望用户面对的不再是“一个工具”,而是一个能聊天、会共情、懂回应的朋友。

1.5  高表现力语音生成

为了提升理想同学声音的整体表达效果,我们对表达自然度、推理速度和发音精度三个维度对模型进行了大量的设计与优化。

​​· 表达更自然:我们验证了对话历史上文语音的引入能够显著提升模型的韵律表达自然度,预训练阶段我们采用了30万小时以上的自建大规模连续对话语音数据库,使得模型具备了对于上文语音语义信息的理解,从而有效提升了模型的韵律表达精度。此外,在副语言表现方面,不借助额外的副语言标签,而是直接通过自然语言文本对副语言进行自适应的理解建模,整体表达效果也更加自然,使理想同学在口语真实感和交互自然度方面,达到了领先水平。

​​· 反应更快:MindGPT-4o-Audio采用文本token和语音编码混合流式建模,模型生成的语音编码将即时输入音频生成模块转换为语音并播放。有别于传统的整句合成以及依赖文本前端的建模方式,该方案不增加任何额外计算开销,实现了真正意义的流式合成,做到“想到哪就说到哪”,将语音生成的首包整体延时做到了100ms以内。

​​· 发音更准:模型整体采用了字符级别的建模方案,整体对于发音精度的挑战非常大,我们采用了多种优化策略来持续优化发音精度,包括文本CFG策略、phoneme信息引入、文本正则以及长尾数据增广、DPO优化等方案。最终实测在中文、英文测试集上,发音错误率达到了极低的水平

​​1.6 多样风格控制

除了让理想同学具备高表现力的对话合成效果外,我们还赋予了理想同学风格控制的能力。我们希望理想同学能够支持特色风格、口音的扮演能力,同时具备风格的多轮记忆能力。

​· 丰富的风格扮演能力:MindGPT-4o-Audio即使在使用默认音色的情况下,也可以根据需要模仿不同的风格、口音。要做到这一点,往往从训练数据上就同一个发音人具备多风格和口音的演绎能力,因此实现难度大,成本高。基于此,我们重新设计了音频编码方案,在最大程度保留韵律表现力的基础上,完成音色信息的解耦,实现风格控制及韵律建模,使得模型具备了各类型情绪演绎、风格扮演和口音模仿能力

​​· 语音指令控制能力:MindGPT-4o-Audio还支持显示的语音指令控制,模型具备对多种语音语义指令的泛化性理解,为了提升模型对于风格指令的遵循能力,我们引入大语言模型里的CoT(Chain-of-Thought)技术,设计出了Style CoT方案,模型将先对当前风格信息进行预判,再将其作为输入生成语音,该方案进一步增强了模型对于风格的控制生成能力,使模型能够遵循指令实现风格演绎扮演、语速、语调的调整。另外,大多数的语音交互方案对于风格的触发基本都是单轮触发,缺乏风格的多轮记忆能力,不能做到多轮的风格遵循以及强度等级的风格控制,风格CoT的引入,使得模型具备了对于多轮风格的指令遵循及强度控制能力

2. 工具能力

为了支持时效性问答、提升知识问答效果,我们基于MindGPT-4o-Audio研发了多模态任务规划和工具调用能力。

​2.1 多模态规划

我们实现了MindGPT-4o-Audio的多模态任务规划和工具调用能力,输入语音、文本多模态信息,输出任务和工具调用结果。

​· 在任务规划方面,支持多轮对话和时空感知能力,能根据历史上下文信息和当前的时间、位置信息,规划合理任务。比如“现在的金价是多少”,任务规划为“2025年6月6日的金价”,“周末了,给我推荐几个遛娃的地方”,任务规划为“推荐北京市适合遛娃的地方”,然后,将规划出的任务形成DAG(有向无环图)表示,可建模单步任务、并行多任务、多步骤任务之间的拓扑关系,能很好支持复杂任务的规划。

​其中,我们建立了高效的智能体后训练数据管线,按照业务维度和能力维度进行数据的构造,使用大模型泛化、线上真实数据回流、人工生产等方式,实现对话全场景的全数据覆盖。我们还设定了严格的数据准出体系,通过模型打分、人工质检的方式对数据进行清洗,确保高质量数据的比例;在训练管线上,我们按照模态和任务的双维度进行科学的数据配比,按照课程学习的思路逐步提升模型从简单任务到复杂任务的规划能力。

​· 在工具调用方面,我们使用function calling技术来实现这一能力,并通过一系列工作提升模型对工具选择、参数遵循的能力。

​其中,我们的数据管线首先通过清洗高质量开源数据集,获取一批通用工具数据集,然后针对内部业务工具,参考MetaTool的数据构造格式,比如直接泛化生成、关键词生成、细节生成、重复问题处理等方式,构造符合业务需求的工具数据。此外,为针对性强化模型对参数类型和参数格式的指令遵循能力,我们针对性构造区分度不明显的工具数据;在训练管线上,我们进行两阶段训练流程,先进行SFT作为冷启动,让模型初步具备工具调用能力,然后采用RL-DPO,增强模型在工具选择和参数遵循上的能力。

我们实现的多模态任务规划和工具调用在链路延迟和效果上,均有优秀的表现。在链路延迟上,根据语音输入直接进行任务规划,减少了传统链路额外语音识别的时间开销,端到端响应延迟显著领先豆包和ChatGPT;多模态任务规划在业务测试集上准确率达到95.55%;工具调用能力在业务测试集上准确率达到94.25%。在通用工具调用benchmark上,我们也达到业界一流水平。

​2.2 工具调用

我们支持知识搜索、体育赛事查询、影视娱乐查询、新闻查询、天气查询、股票信息查询、交通限行信息查询、日历查询、油价查询、汇率查询、商品信息查询等工具,模型解决问题的能力大大提升。

特别在搜索效果优化上,针对多来源信息冲突矛盾、内容丰富度不足等常见问题,我们上线了更细粒度的原子化知识层级(Claim-level)的重排序,以及基于知识推理的扩展搜索技术,大幅提升内容真实性和完整性。理想同学不仅能够获知更实时的热点事件,还能更准确理解专业术语,问答效果显著提升12%。

​· 传统搜索技术,以网页搜索为例,一般采用NDCG@k、Precision@k、MAP等评估指标,侧重在粗粒度文档层级衡量效果,无法反映出多文档在细粒度知识层面上的内容重复、遗漏、冲突及错误问题。RAG场景下,搜索结果整体输入大模型,对文档偏序关系不敏感,更需确保在观点层面知识的正确性与完整性。针对这一本质性差异,我们提出Claim-level Rerank技术,通过将多条搜索结果,细化为原子化知识单元Claim的集合,并定义Claim F1值作为RAG搜索的核心评估指标,即关注全部搜索结果中正确Claims的召回率和精确率。我们验证了Claim F1值与大模型RAG问答效果的相关系数达到0.212,较传统搜索的Precision@k指标的相关系数提升2.6倍。

​· ​面对时效性强、知识密集型或者语义模糊的用户查询时,传统搜索工具,通常面临三大技术瓶颈和挑战:

知识滞后性:大模型依赖静态训练数据,难以应对新兴名词、专业领域术语、突发实时热点事件;

语义鸿沟:用户查询存在拼写错误、概念混淆时,传统模型缺乏验证纠错机制;

扩展同质化:基于语义的朴素扩展方法易产生重复或无意义结果,搜索结果未增加有效信息。

为解决以上问题,我们融合知识图谱增强和MindGPT 3.0的思维链推理能力,实现动态Query理解框架,具备多角度、差异化的改写扩展搜索能力,分钟级覆盖热点事件,搜索结果丰富度提升35%,专业术语识别准确率提升47%,复杂Query无需用户澄清,首次搜索满足率提升28%。

为真实评估理想同学与市面上优秀语音对话产品(豆包、Kimi)在工具调用端到端回复的表现差异,我们从任务维度和场景维度设计并执行了一项用户对比评测。测试者需分别对理想同学、豆包和Kimi三款产品在这些对话场景中回复结果的真实相关性进行评测。统计结果显示,理想同学在不同复杂度任务的对话场景上均优于豆包和Kimi。

​3. 安全对齐能力

我们致力于建设符合通用价值观、中国普适价值观、理想同学自身价值观的MindGPT-4o-Audio,为此设计了完备的大模型安全对齐体系,根据MindGPT风险浓度差异,深度融合系统级防御能力和大模型安全对齐能力,使得MindGPT-4o-Audio在满足通用能力显著提升的同时,保持价值观回复能力安全、可控。

​· MindGuard:在输入阶段识别用户输入的风险意图,Mind Guard会对高风险的语音输入进行检测拦截;在输出阶段,Mind Guard对极端风险进行识别和拦截,避免风险内容展现给用户;为了不影响语音端到端实时效果,输入和输出安全检测均采用边生成边检测,发现风险进行仲裁;

​· 风险领域完备性:开发价值观攻击模型对MindGPT进行自动化、持续性攻击,自动化攻击帮助我们完善安全体系的已知风险领域。对于未知风险领域,安全对齐团队与公司安全团队redteam合作,持续收集各种新增、长尾的风险数据,同时线上日志挖掘也是安全体系新风险扩充的重要一环;

​· 安全对齐:PTST、价值观CoT SFT等方法有效降低安全对齐所需的数量,显著提升价值观思考过程有效性和最终回复的无害性,MindGPT-4o-Audio在具备强大的安全推理和思考能力的同时,降低对通用指标的负向影响;

​· 价值观安全奖励模型:基于自有安全体系的安全回复准则构建rule based和model based价值观奖励模型,应用于MindGPT-4o-Audio预训练、后训练、安全自动化评估等全生命周期,显著提升了安全对齐的效率和效果。

4. 工程能力

为打造 MindGPT-4o-Audio 高品质的语音交互体验,我们在 MindGPT-3.0 对话系统的基础上全面升级,围绕全双工、低延迟进行了深度优化。其中全双工方面,我们主要应用端云结合的 RTC 通信技术;低延迟方面,我们探索了端云全链路流式架构 + 流式推理技术。

4.1 基于 RTC 的全双工架构

传统的轮次(Turn-based)对话架构只能实现半双工能力,即用户输入和模型回复只能交替进行;而我们借助 RTC 技术,将整个对话架构升级为全双工系统,模型能够在“说话”的同时,实时“听到”当前用户正在说什么,结合模型能力,实现了真正的全双工语音对话(能够实时打断、被打断、甚至“抢话”等能力):

· 传统的半双工对话,往往依赖于 VAD (Voice Activity Detection)等模块实现下述过程:

– 收声,如检测到用户声音,停止上一轮模型回复的播报;

– ​检测用户说话结束,将整段音频作为模型输入;

– 模型生成回复,在端侧调用 TTS 播放;

– 重复 a-c。

· 基于 RTC 的全双工对话,模型能够自己“说”的同时,“听”到用户在说什么,实时判定是否要停止说话(被打断),或者开始说话(打断用户或者正常接话)

– 为用户和模型生成一对一的 RTC “房间”,用户和模型都加入房间;

– 模型实时按帧对齐的,收听用户说的话,以及当前自己说的话;

– 模型自主判定,什么时候打断或被打断 (是否继续播放回复或者停止播放回复)。

​4.2 全链路低延迟优化

我们分别在网络接入层、服务架构层、模型推理层进行了低延迟的深度优化,力求达到更自然、流畅的人机交互体验:

​· RTC 低延迟、抗弱网优化:

– 低延迟:与传统通信技术(如 websocket)相比,我们采用 RTC 技术,通过弱网补偿、骨干网优化、音频编解码优化等手段,显著降低了通信延迟的同时仍能确保较高品质的音质,平均消息到达延迟下降 67%。

– 抗弱网:通过 RTC 抗弱网技术,我们能够在弱网环境下仍然保持较高的连通率及通话音质,相对传统技术,RTC 信道在较高丢包率的网络环境下仍能保持较流畅的通话体验。

​​· 全链路流式优化:传统的对话架构在处理多模态信息时往往不够优化:存在 ASR -> LLM -> TTS 级联结构,语音识别结束后才进入大模型推理,大模型推理后才能进入语音合成,存在显著的级联延迟。我们基于 MindGPT-4o-Audio 多模态的能力,消除了级联结构,并在全链路(网络接入、业务逻辑、模型推理等)各个服务层级实现了音频全流式传送尽可能的将流式音频及时送达各服务模块并启动预计算,实现全链路通信和计算的重叠,从而显著降低了延迟水平。

​· 流式推理优化:

– 重叠计算:针对语音模态输入,我们在全链路流式的基础上,重叠了多个模块的推理过程,如双工判定模块和生成模块、文本 Prefill 和 AudioEncoder 模块等;流式推理优化后首 token 延迟从 1s 降到 20ms,语音生成的首包从 500ms 降到 60ms;

– P-D分离 + 多级调度:基于 P-D 分离的思路,将多模推理分解成 AudioEncode、Prefill、Decode 等多个阶段,并且针对不同阶段进行定制的调度策略优化,如 AudioEncode 使用 Static Batching 调度,Prefill 使用 Chunked Prefill 调度,Decoder 使用 Continuous Batching 调度,保证推理性能最优,高并发时仍然可以保持推理延迟在几十毫秒量级;

– 异构计算:推理服务异构计算架构,针对多模推理各阶段的算力需求和并发特点,将其分别部署到异构型号的 GPU 上,以最优化利用机器资源,降低延迟的同时降低了部署成本;对比非异构计算版本,推理成本降低 50%。

4.3 Prompt 平台

此外为了更好支撑业务定制及运营,我们上线了高灵活度的Prompt平台,持续确保业务质量:

​​· 动态提示词系统:建设一套基于原子指令和组合的动态提示词系统,针对语音大模型定制一套对话系统提示词框架,实现语音对话和知识增强问答能力,增强对话遵循和知识推理能力。使得在线推理格式与模型训练格式100%匹配,同时增加模型认知、模型安全和用户环境信息等核心业务指令遵循能力,确保业务能力覆盖 100%。

​​· 场景化提示词系统:使用链路信号自动感知技术,实现了场景流量自动圈选能力;并且对圈选的场景定制特定功能提示词框架,确保模型整体功能稳定,实现了场景个性化能力。支持全链路个性化效果定制,可以做到T+0分钟级快速热更新,指令任务达成率 > 95%。

​​· 角色扮演场景化:使用场景化提示词,实现自动感知角色扮演场景,在模型推理中使用不同提示词框架,使模型输出具有当前场景个性化的角色回复风格。目前上线个性化场景7个,后续可快速更新和新增场景,场景平均达成率 >90%。 

Whisper-Streaming

论文:Turning Whisper into Real-Time Transcription System

code:https://github.com/ufal/whisper_streaming

这篇文章介绍了最近一种先进的多语言语音识别和翻译模型Whisper,然而,它并非设计用于实时转录。在本文中,我们在Whisper基础上构建了Whisper-Streaming,这是一种实时语音转录和翻译的实现,类似于Whisper模型。Whisper-Streaming采用本地协议策略与自适应延迟,以实现流式转录。我们展示了Whisper-Streaming在未分割的长篇语音转录测试集上实现了高质量和3.3秒的延迟,并展示了它作为多语言会议现场转录服务中组件的稳健性和实用性。

Whisper-Streaming的核心组件和内部工作原理。它包括更新循环、音频缓冲区、跳过音频缓冲区中已确认的输出、修剪缓冲区、连接句间上下文,以及可选的语音活动检测。

图1 处理三个连续更新的示例。黄色高亮文本是“提示”,表示要遵循的先前上下文。黑色边框矩形是音频缓冲区,里面的文本是Whisper从该声音段生成的转录文本。蓝色垂直线是时间戳,将缓冲区分为两部分,左边是先前确认的部分,右边是未确认的部分。LocalAgreement-2策略,或搜索最长公共前缀,应用于未确认(右侧)部分的两个连续更新。最长公共前缀用绿色突出显示,绿色下划线突出显示新确认的输出,而绿色虚线下划线表示先前和随后确认的输出。灰色下划线示范了在被忽略的确认部分的更新。

更新循环 Whisper-Streaming的主要部分是一个程序,利用循环接收源音频块并触发流式策略更新。参数MinChunkSize控制延迟和质量,并确定每次迭代处理的最小持续时间。如果更新计算超过MinChunkSize,下一个更新将立即在累积的音频输入上执行。该参数影响延迟和质量。

音频缓冲区 Whisper被训练用于处理长达30秒且包含一个完整句子的序列。它提供标点和单词级别的时间戳。这个过程在图1中有所说明。每次更新都涉及将传入音频存储在音频缓冲区的顶部,并用Whisper处理整个缓冲区。我们保持不变的是缓冲区始终以新句子开头,以保持Whisper的高质量。LocalAgreement-2被应用于当前和先前的Whisper输出。“确认输出”中最后一个单词的时间戳被保存。在后续更新中,我们总是从缓冲区的开头重新处理Whisper,包括上一个“确认输出”时间戳之前的部分(在图1中以灰色背景表示)。确认部分中转录的更改被忽略,因为它们在意义上常常是微不足道的。

跳过确认部分 当确定相对于先前更新的上一个确认单词的转录单词位置时,我们考虑到了由于新音频块导致的Whisper时间戳的潜在不准确性和更新。如果一个单词的时间戳在距离上一个确认单词的1秒间隔内,我们比较其前面的n-gram(其中n的范围从1到5)与上一个确认输出中的后缀。如果它们匹配,我们跳过这些单词。然而,这个规则在未来的工作中可以通过包括诸如设置和微调字符编辑距离阈值、修剪n-gram中的标点符号和大小写等措施来进一步增强。

修剪音频缓冲区 为了避免延迟中不可接受的长峰值,音频缓冲区限制在约30秒左右。当确认输出包含结束句标点符号后面跟着一个开始新句子的单词时,缓冲区会在标点符号的时间戳处被修剪。为此目的使用了语言特定的句子分割工具(例如Koehn等人,2007),确保缓冲区始终包含一个单句。尽管如此,如果缓冲区长度超过30秒,我们会保留由Whisper标记的最后确认的段落。

连接句间上下文 Whisper的转录函数利用“prompt”参数来保持文档内的一致性(一致的风格、术语和句间引用)。我们从先前音频缓冲区的确认输出中提取最后200个单词作为“prompt”参数,如图1所示(黄色背景文本)。

语音活动检测 有一个参数用于激活或停用Whisper的默认语音活动检测(VAD)过滤器,影响质量和延迟。

Paraformer-v2: An improved non-autoregressive transformer for noise-robust speech recognition

原始 Paraformer 在非自回归语音识别方面取得了显著成效,尤其在普通话任务中表现突出,但其也存在一些局限性,特别是在跨语言适配和噪声鲁棒性方面。

背景:

1. 多语言适配能力有限(Multilingual Limitations)

  • CIF 模块难以适应非拼音型语言(如英语)
    原始 Paraformer 使用 CIF(Continuous Integrate-and-Fire) 预测每个 token embedding。该机制假设每个语音片段可以通过声学模式推断出输出 token 数量。但英语等语言往往使用 BPE(Byte Pair Encoding) 等子词单元,token 数量波动大、边界不规则,CIF 很难准确预测 token 数。
  • 在英语、法语等语言上性能显著下降;
  • CIF 在 token 数量估计不准时,会导致对齐错乱、token 重复或丢失。

2、 对噪声敏感(Noise Sensitivity)

  • CIF 预测 α 权重完全基于声学表示,不含语义约束
    • 如果输入中含有背景噪声(如会议环境),CIF 模块可能将噪声解释为有意义的语音特征;
    • 导致触发 α → β 条件时“错误地触发 token”,产生虚假输出。
  • 噪声环境下 WER/CER 明显上升;
  • 无语音输入时仍有输出(无法正确“输出空白”)。

3. 训练对目标长度高度敏感

  • CIF 模块需预测 token 数量,训练时必须强制调节 α 的归一化,使 token 数接近 ground truth;
  • 若目标长度估计不准,Decoder 会收不到足够 token embedding,导致学习不稳定

原始Paraformer:

Encoder 提取帧级表示:

CIF 生成 token embedding:使用 CIF(Continuous Integrate-and-Fire) 模块将帧级特征聚合为 token embedding 序列:

CIF 中权重 α 的生成:

Decoder 并行预测:

为使预测长度 U′U’U′ 尽可能接近 ground truth 长度 UUU,训练时需要对α1:T​ 做归一化:

Decoder 并行预测:Decoder 是一个 双向 Transformer

Loss:

改进:

利用 CTC 模块来获取 token embedding,事实证明,该模块具有更好的多语言适应性和更强的抗噪性。

使用 CTC 模块提取 Token Embedding:

生成帧级 posterior:类似于标准 CTC 解码头,对每一帧计算 token 分布(含 blank)

Greedy 解码得到 token 序列:

每一帧取最大概率的 token index(可能含 blank 和重复)

压缩 token 序列(Remove blanks & merge repeats):

对重复 token 合并并平均其 posterior,得到 token 数量为 U′U’U′ 的 embedding 概率序列,去除 blank;

映射为 Token Embedding:

并行 Decoder 解码(Bidirectional):(没有因果掩码(causal mask)限制上下文访问每个位置的 token 同时关注其左侧和右侧所有位置

CTC 压缩后的长度 U′U’U′ 和真实 token 长度 UUU 不一致,导致无法直接计算 CE Loss,解决方法:使用 Viterbi 对齐 将 CTC posterior 对齐到 target:

  • 其中 A1:T​ 是 Viterbi 解码得到的帧与 token 的对齐序列;
  • 这样生成的压缩 posterior 长度严格等于目标长度 U。

Paraformer-v2 同时优化:

  • Decoder 输出与目标之间的 CE Loss;
  • Encoder 输出与目标之间的 CTC Loss。

实验结果:

实际训练疑问:

StreamSpeech:“All in One”流式语音模型,支持语音识别、翻译、合成

两种主要结构:编码器-解码器框架(Transformer 及其变体)和多任务框架。 数据难题:数据增强、预训练、知识提炼和多语言建模。 应用:实时性、分段、命名实体、性别偏见和代码转换

 2024年6月,中国科学院计算技术研究所自然语言处理团队发布“All in One”流式语音模型——StreamSpeech。该模型可以在用户说话的同时,以端到端的方式实现语音识别、语音翻译、语音合成的多任务实时处理,延时低至320毫秒。StreamSpeech是能够以端到端方式同时完成多项离线和流式语音任务的开源模型。StreamSpeech可以部署在手机、耳机、AR眼镜等设备,助力国际会议、跨国旅行等场景下的低延时跨语言交流需求。

 StreamSpeech采用先进的two-pass架构,集成了流式语音编码器、实时文本解码器和同步的文本到语音合成模块。通过引入连接时序分类(Connectionist temporal classification,CTC)对齐机制,StreamSpeech能够控制模型在用户说话的同时理解并生成语音识别、翻译和合成结果。StreamSpeech在离线和实时语音到语音翻译上超过Meta的UnitY架构,在开源数据集上取得当前的最佳性能。此外,StreamSpeech还能在翻译过程中生成中间文本结果为用户提供“边听边看”的流畅体验

StreamSpeech 采用两遍架构,首先将源语音转换为目标文本隐藏状态(自回归语音到文本翻译,AR-S2TT),然后通过非自回归文本到单元生成生成目标语音。引入源/目标/单元 CTC 解码器,通过语音识别 (ASR)非自回归语音到文本翻译 (NAR-S2TT)语音到单元翻译 (S2UT) 等多个任务学习对齐,从而指导 StreamSpeech 何时开始识别、翻译和合成。

  • 1. StreamSpeech 在离线和同步语音到语音翻译方面都实现了最先进的性能 。
  • 2. StreamSpeech 可以通过 “All in One”无缝模型执行流式 ASR、同步语音到文本翻译和同步语音到语音翻译。
  • 3. StreamSpeech 可以在同声翻译过程中呈现中间结果(即 ASR 或翻译结果) ,提供更全面的低延迟通信体验。
图 2: StreamSpeech 采用两遍架构,首先将源语音转换为目标文本隐藏状态 Dtext
 (自回归语音到文本翻译,AR-S2TT),然后通过非自回归文本到单元生成生成目标语音。引入源/目标/单元 CTC 解码器,通过语音识别 (ASR)、非自回归语音到文本翻译 (NAR-S2TT) 和语音到单元翻译 (S2UT) 等多个任务学习对齐,从而指导 StreamSpeech 何时开始识别、翻译和合成。

StreamSpeech:

Architecture

StreamSpeech 由三部分组成:流式语音编码器、同步文本解码器和同步文本到单元生成模块。引入多个 CTC 解码器,通过辅助任务学习对齐,并据此指导策略。

流式语音编码器: Conformer 架构通过堆叠注意力模块和卷积模块。在语音建模方面展现出显著优势,但在流式语音输入建模方面却存在困难,这主要是由于双向自注意力和卷积运算涉及整个序列的感受野。为此,我们提出了基于块的 Conformer 架构,旨在赋予 Conformer 架构编码流式输入的能力,同时保留局部块内的双向编码

图 3 展示了基于块(chunk-based)的 Conformer 架构。首先,原始语音输入会被转换为语音特征(在我们的工作中使用的是滤波器组特征,每个语音特征通常对应约 40 毫秒的时长。基于块的 Conformer 会将流式语音划分为若干个块(chunk),每个块包含 C 个语音特征,其中 C 是一个控制块大小的超参数。在基于块的 Conformer 中,自注意力(self-attention)和卷积操作在块内部是双向的,在块之间则是单向的,从而能够处理流式输入。

对于基于块的自注意力机制,特征 xi​ 会关注那些位于相同块内前面块内的特征 xj,其计算方式如下:

其中,Attn(xi,xj)是标准的多头注意力机制,而⌈⋅⌉ 表示向上取整操作。

对于基于块的卷积(chunk-based convolution),卷积操作的上界会被截断在当前块的边界处。即当使用核大小为 k 的卷积时,其计算方式为:

在实现上,基于块的卷积可以通过掩码操作(屏蔽掉那些被截断的位置)并行计算。通过流式编码器,计算源语音的隐藏状态,记为 H=(h1,⋯,h|H|) 。基于块的 Conformer 使得流式语音编码器不仅能够满足流式编码的需求,还能对语音进行局部双向编码。

H≤g(i)​ 的语义范围:

  • 包括了从起始到第 g(i) 帧为止的语音输入(多个 chunk 累积的结果);
  • 每一个帧的表示都融合了:
    • chunk 内的 双向上下文(强表征)
    • chunk 之间的 单向依赖(因果性)

同步文本解码器: 在流式编码器之后,文本解码器通过关注源语音隐藏状态 H ,同时生成目标文本 Y 。为了实现这一点,StreamSpeech 需要一个策略来决定何时生成每个目标标记(即,解码器可以关注多少个语音状态)。合理的策略应该确保模型等到识别源语音中的源文本(读取),然后再生成相应的目标文本(写入)。

Simultaneous Text Decoder(同步文本解码器)是在流式语音编码器之后,边接收源语音隐藏状态 H边生成目标文本 Y。为实现低延迟输出,需要一个策略(policy)来判断:

  • 何时 READ(读取更多源语音)
  • 何时 WRITE(生成目标 token)

核心做法:通过 CTC 对齐引导策略

1. 引入两个 CTC 解码器

  • Source CTC Decoder:对齐源语音 → 源文本(ASR)
  • Target CTC Decoder:对齐源语音 → 目标文本(NAR-S2TT)

分别计算两个任务的 CTC Loss:

构建 READ / WRITE 策略函数。用上面两个 CTC 的输出计算当前语音段 X≤j对应的:

  • 已识别的源 token 数 Njasr
  • 已预测的目标 token 数 Njnar-s2tt

然后定义策略函数 g(i),表示在什么时间步 j可以生成目标 token yi

StreamSpeech 在接收到语音 X≤g⁢(i) 后自回归生成目标标记 yi 

READ 检测(左条件):ASR 模块识别出一个新的源 token,说明我们“听”到了新语义,应该考虑进入写入阶段。

WRITE 准备(右条件):非自回归模块预测当前语音内容足以包含第 iii 个目标 token,我们可以放心翻译了。

尽管 NAR-S2TT 用来预测 token 数以对齐,但最终目标 token yi 是通过 AR-S2TT 来生成的,以提升翻译质量:

基于由 ASR 和 NAR-S2TT 派生的对齐策略指导的策略,同步文本解码器在接收到语音 X≤g⁢(i) 后生成 yi ,并通过自回归语音转文本翻译(AR-S2TT, X→Y )的交叉熵损失进行优化

Non-autoregressive Text-to-Unit Generation:为了同步生成当前目标文本所对应的语音单位(unit),StreamSpeech 采用了一种 非自回归的文本到单位(T2U)架构(Gu et al., 2018),该架构由一个 T2U 编码器 和一个 单位 CTC 解码器 组成。

  • T2U 编码器的输入是来自同步文本解码器生成的隐藏状态 Dtext​。
  • 鉴于音频单位序列 U 通常比文本序列 Y 更长,我们将 T2U 编码器的输出上采样 r 倍作为解码器输入

 it⁢h 输入对应于 D⌈i/r⌉t⁢e⁢x⁢t 。然后,单元 CTC 解码器通过关注位于 D⌈i/r⌉t⁢e⁢x⁢t 之前的 T2U 编码器输出,以非自回归的方式生成单元序列 U 。正式地,单元 CTC 解码器 CTCDecU 的输出 Du⁢n⁢i⁢t 计算如下:

NAR T2U 生成通过 CTC 损失在语音到单元翻译任务(S2UT, S→U )上进行了优化:

最终,使用一个基于单位的 HiFi-GAN 声码器(Kong et al., 2020)来根据生成的单位序列合成目标语音。注意,这个声码器是预训练的并被冻结,不参与 StreamSpeech 的联合训练。

训练(Training):

StreamSpeech 中涉及的所有任务都是通过**多任务学习(multi-task learning)端到端(end-to-end)**的方式联合优化的。总体训练目标L 包括以下几个任务的损失:

  • S2UT(语音到单位翻译)
  • AR-S2TT(自回归语音到文本翻译)
  • ASR(语音识别)
  • NAR-S2TT(非自回归语音到文本翻译)

多任务学习能够有效地将同步策略的学习翻译能力的学习整合进一个统一框架中。此外,像 ASR 和 AR-S2TT 等辅助任务生成的高质量中间结果,也可以在推理过程中展示给用户,作为补充参考内容。

多块训练(Multi-chunk Training):在推理过程中,Simul-S2ST(流式语音到语音翻译)可能会面临不同的延迟需求。为每种延迟分别训练一个模型代价很高。为了解决这个问题,我们提出了 多块训练(multi-chunk training),以提升 StreamSpeech 在不同延迟水平下的性能表现。

在多块训练中:

  • 流式语音编码器的块大小 C不是固定的
  • 而是从 U(1,∣X∣) 的均匀分布中随机采样,其中 ∣X∣ 表示整个输入语音序列的长度;
  • 特殊情况C=∣X∣ 即对应于离线 S2ST设置。

通过多块训练,单个 StreamSpeech 模型就能适应不同的延迟需求。

Inference:

在推理过程中,StreamSpeech 会基于设定的块大小 C 来处理流式语音输入,其中每个语音特征通常对应 40 毫秒的音频时长(例如,C=8 表示每 320 毫秒处理一次语音输入)。

然后,StreamSpeech 会使用 ASR 和 NAR-S2TT 的 CTC 解码器对当前接收到的语音 X^ 进行解码,分别生成源语言 token A^ 和目标语言 token Y^。

当满足以下两个条件时:

  1. 识别出了新的源 token(即 ∣A^∣>∣A∣)
  2. 当前语音中预测的目标 token 数超过已生成的目标 token(即 ∣Y^∣>∣Y∣)

模型将会进入 WRITE 阶段

  • 更新源文本 A
  • 持续自回归地生成新的目标 token,直到达到 Y^ 的数量上限或遇到 <eos> 结束符
  • 根据目标文本生成对应的单位序列 U
  • 使用声码器合成出目标语音 S

否则,如果上述条件不满足,模型会进入 READ 阶段,等待接收下一个大小为 C 的语音块。

由于引入了多块训练(multi-chunk training),StreamSpeech 可以通过动态调整块大小 C 来控制推理延迟。其中:

  • 较小的 C 意味着更低的延迟
  • 较大的 C 则带来更完整的上下文,提升质量。

实验

预处理
源语音转换为 16000Hz,将目标语音生成为 22050Hz。对于源语音,我们计算 80 维的 Mel 滤波器组特征,并进行全局的倒谱均值-方差归一化,每个语音特征对应 40 毫秒的时长。对于目标语音,通过 mHuBERT3提取离散单元,并使用预训练的基于单元的 HiFi-GAN 语音生成器进行语音合成。对于源文本和目标文本,我们分别使用 SentencePiece生成大小为 6000 的 unigram 词汇表。

离线语音到语音翻译(Offline S2ST):StreamSpeech 采用 双阶段(two-pass)架构,相比使用单阶段(one-pass)架构的 S2UTTranslatotron,在性能上取得了显著提升。多任务学习(multi-task learning)不仅能指导策略学习,还能为翻译提供中间监督信号,从而进一步提升了离线 S2ST 的性能。

StreamSpeech 推理加速效果
为评估 StreamSpeech 的推理效率,表 2 报告了其相对于 UnitY 的加速比(speedup)。
在该双阶段架构中,StreamSpeech:

  • 第一阶段翻译使用自回归结构(更适合处理复杂语言重排);
  • 第二阶段语音合成使用非自回归结构(尽管序列较长,但几乎单调对齐,易于并行)。

这种 先 AR 后 NAR 的两阶段架构,在保持翻译质量的同时,实现了 显著的推理速度提升

Simul-S2ST(同步语音到语音翻译):

在所有延迟设置下,StreamSpeech 的表现都优于 Wait-k,尤其是在低延迟条件下,BLEU 分数提升约 10 分

Wait-k 策略是目前使用最广泛的同步策略,在同步文本到文本(T2TT)和语音到文本(S2TT)任务中表现良好。StreamSpeech 在同步语音到语音翻译中,不仅兼顾了延迟与质量,还通过对齐驱动策略实现了更自然的发声节奏,在多个基线之上取得了系统性提升。

语音翻译综述:Recent Advances in Direct Speech-to-text Translation

  • 语音翻译综述:Recent Advances in Direct Speech-to-text Translation
  • 两种主要结构:编码器-解码器框架(Transformer 及其变体)和多任务框架。 数据难题:数据增强、预训练、知识提炼和多语言建模。 应用:实时性、分段、命名实体、性别偏见和语种混合转换

    名词解释:

    • 误差累积(error accumulation):指在连续的转录或翻译步骤中,由于前一步骤的错误会在后续步骤中积累,导致最终结果的质量逐渐下降的现象。这种误差累积通常在语音到文本(Automatic Speech Recognition, ASR)系统和文本到文本(机器翻译或文本转写)系统之间的多步骤流程中出现。在这些系统中,声音信号首先被转录成文本,然后文本再被翻译成目标语言或者以其他方式进行处理。如果在转录步骤中出现错误,这些错误将传递到后续步骤,影响最终的翻译或文本转写质量。
    • 自回归(Autoregressive):在 E2E ST(End-to-End Speech Translation)模型中,”autoregressive” 表示模型会逐个生成翻译文本的每个词或子词,每次生成都会依赖于前一个时间步生成的内容。这是一种逐步、串行的生成过程。典型的 autoregressive 模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、和变换器(Transformer)等。
    1. 早期的语音翻译【Speech-to-text translation (ST)】解决方案是通过级联系统,使用多个子任务进行处理。
      • 比如首先通过ASR(Automatic Speech Recognition)系统,将语音转录为文本,然后再使用 MT(Machine Translation)系统将文本翻译为另一种语言。
      • 对于这样的级联系统,研究方向主要为解决误差累积(error accumulation)的问题。
    2. 端到端语音翻译【end-to-end speech translation (E2E ST)】有这样的好处:
      • 能够减少误差累积
      • 能够减少延迟
      • 拥有更多的上下文建模
      • 适用于不成文语言
    3. 基础建模:
      • ST 的语料库通常包含语音 s,转义文字 x,以及翻译结果 y
      • 基础的 E2E ST 模型框架是基于 Encoder-Decoder 架构的
      • 然而,E2E ST 模型的训练并不容易,其效果也只是接近于级联系统的结果,并不是性能最好的技术。
    4. 目前,E2E ST 模型研究方向主要为:
      • 建模负担(Modeling Burden):
        • 需要同时处理跨模态(声音到文本)和跨语言(源语言到目标语言)的问题,导致模型建模会很复杂
        • 收敛困难,性能较差
      • 数据稀缺(Data scarcity):
        • ASR、MT 的语料库非常多,且有些非常大
        • 但是 ST 的语料库其标注难度较高,因此 ST 的数据很少
      • 应用问题(Application issues):
        • 需要考虑实际应用中的问题,如实时翻译,长格式音频分割等等。

    Tackling Modeling Burden

    • 对于语音信号这种长序列输入,我们采用高容量端到端模型,通常是 Transformer及其变种架构。
    • 对于建模负担问题,通常采用多任务学习框架,对原始的 Transformer-based 模型进行修改。
    • 对解码效率问题,我们采用非自回归模型,从而提高解码速度

    Transformer 

    Speech-Transformer
    • 基于 text-to-text Transformer
    • 主要改进点为 acoustic features 在进入自注意力编码器前,首先由卷积层(通常是步长为 2 的两层,将长度压缩 4 倍)压缩,然后再接一个归一化层
    Conformer
    • 主要改进点在于,在每个 encoder blocks 的 多头自注意力模块 和 前馈层 之间加入了 卷积模块
    • 卷积模块包括了注意力和卷积组件,由两个 Macaron-net 风格的前馈层(feed-forward layers)和残差连接(residual connections)所包围。
    SSL-Transformer
    • 这是一种结合了自监督学习(self-supervised learning,SSL)得到的语音表示模型
    • SSL 已经被成功应用到了提取语音特征的任务中去
    • SSL-Transformer 主要就是将原始的音频波形输入到自监督学习模型中,通过多个卷积层和编码层的处理,从而提取语音特征。
    • SSL-Transformer 模型中,自监督学习模型可以被整合到解码器中:或者作为一个独立的编码器,或者作为一个语音特征提取器,然后与整个 Transformer 模型相连接。

    Multitask Frameworks

    针对模型负担的问题,多任务的核心思想是利用一些辅助工具来辅助目标任务的完成。比如ASR和MT。而有些任务模块和辅助模块的参数是可以共享的,这就导致了辅助任务的可行性。目前有三种类型的多任务框架:

    Decoupled Decoder(解耦解码器)

    额外的解码器用于引导模型学习文本转录(transcript),同时仍然以端到端的方式进行模型训练。主要思想有两种,一种是如何通过生成的文本转录来更好促进翻译,比如采用两遍解码器(two-pass decoder);还有一种是同时生成文本转录和翻译(dual decoder)

    • Two-pass decoder:先将声学特征通过这个Decoder,然后再把转录结果和解码器结果结合起来用于翻译工作。但由于采用的是顺序生成(sequential generation),失去了低延迟的固有优势。因此有人用非自回归方法进行第一段的解码。
    • Dual decoder:交互式解码(interactive decoding)使用两个解码器同步生成转录和翻译。与此同时还额外使用了交叉注意力模块(cross-attention module)来为两个解码器交换信息。wait-k 策略(wait-k policy)通过首先预测转录文本的标记,为翻译标记的解码(the decoding of the translation tokens)提供了更多有用的信息。
    Decoupled Encoder(解耦编码器)

    对于解耦解码器,当遇到多重推理的时候可能会导致设计与延迟问题。更好的解决方案是通过解耦编码器同时识别和理解原始语音输入的语义。因此我们采用下面这张图的方案,共有两个encoder,低级语音编码器首先对来自语音输入的声学信息进行编码,语义编码器进一步学习翻译解码所需的语义表示。

    • 编码每个阶段都可以通过转录信息进行监督学习
    • 转录也提供了语音的对齐,可以缓解 encoding 负担

    Two-stream Encoder(双流编码器)

    ASR 的数据可以用来增强组件,那么 MT 的数据也可以吗?在训练过程中,我们可以同时接收语音和文字的输入,其各自有各自的编码器,还有个共享编码器。这个结构通常通过多任务训练损失进行优化,例如用于语音翻译(ST)和机器翻译(MT)的负对数似然(NLL)损失。其中的优势在于,通过与 MT 编码器共享,可以学到更好的语义表示,以提高翻译性能。

    在推断过程中,则是输入语音数据,通过语音编码器,共享编码器,解码器,最终生成翻译后的文本。

    • Speech encoder:其需要更有能力单独提取语音输入的声学特征。Wav2vec2 等预训练语音模型可用作语音编码器,以获得更好的 ST 性能
    • Text encoder:文本编码器可以是文本嵌入层(text embedding layer)或文本 Transformer 编码器的几层。同时,还可以用语音音素(phoneme)来代替原始转录作为文本输入,这样可以减少两种输入的模态差异。
    • Interaction:也有很多语音编码器和文本编码器交互的变种。
      • 有使用对比学习法(contrastive learning method)来缩短语音和文字的表达差异的
      • 有提出 Chimera model 来将语音和文字表达长度对齐的。
      • 还有同时考虑到表达和长度差异,从而在共享编码器后面添加交叉注意力正则化模块(cross-attentive regularization module)的,正则化模块首先通过自注意力或交叉注意力从文本或语音编码器生成两个具有相同长度的重构序列,然后优化重构序列之间的L2距离。

    Non-autoregressive Modeling

    端到端模型相比于同等级的级联系统大大降低了计算时延,但是这种优势仅在自回归解码的情况下有效,这个技术研究有两条路线:

    • 参考自动语音识别(ASR)和机器翻译(MT)任务中的方法,如条件掩码语言模型和重新评分技术,来开发非自回归语音翻译模型。
    • 探索更高效的架构,依赖纯粹的CTC(Connectionist Temporal Classification)进行预测,以提高速度。CTC 是一种用于序列标签任务的损失函数,它可以用于训练模型,使其能够将输入序列映射到输出序列。

    未来发展:

    LLM(Large Language Model)

    LLMs 包括 ChatGPT、Bloom等等,它们都有非常强大的能力,那么如何将LLM强大的生成能力融入到 ST 的任务中去,以及如何将语音数据也纳入LLM 的训练中去,是很值得研究的方向。

    • 第一步我们可以先优化语音的表示,使得其能够与文本的表示相媲美。
      • 伪语言——语音离散表示(speech discrete representations as pseudo-language)就是一个不错的方向。
    • 此外,预训练大规模 acoustics-aware LLMs 也是一个很 promising 的方向。

    Multimodality(多模态)

    人工智能生成的文本、图像、语音、视频等多模态信息爆发,推动了ST领域去探索更加复杂的人机交互(HCI,human-computer interaction)场景的研究,比如交流翻译(speech-to-speech translation),视频翻译等等。

    而多模态数据爆炸式的增长也致使在多模态数据上进行上下文学习(ICL,In-Context Learning)也成为了一个很有前途的研究方向,以更好地理解和利用不同模态数据之间的关联,从而实现更准确、更综合的多模态分析和应用。

    多模态预训练也被证明在许多领域中都是有效的。

    多模态之间的信息交互和关联也有待被发掘,比如视频中角色的语音和同一时间段角色的图像帧、韵律环境(prosodic environments,比如声调,音高,音量,语速,停顿等等,可以传达语言的情感、语气等)之间的关联。

    CosyVoice 3:语音合成领域迎来里程碑式突破

    CosyVoice 2 在语言覆盖范围、领域多样性、数据量和文本格式多样性方面存在明显局限性,在实现野外语音生成方面仍有较大改进空间。阿里巴巴团队全新发布的CosyVoice 3,以超越人类基线的自然度、覆盖 9 国语言 18 种方言的超强泛化能力,重新定义了「野外语音生成」的标准。

    摘要

    尽管 CosyVoice 2 在中文和英文广播场景中表现良好,但它在语言覆盖范围、领域多样性、数据规模以及文本格式多样性方面仍存在明显局限,距离实现真实环境中的语音生成还有较大提升空间。此外,针对语音生成模型的模型和数据的扩展规律,以及训练后的优化技术尚未被充分探索。

    为了解决上述问题,我们推出了 CosyVoice 3 —— 一款面向真实环境应用的大规模零样本语音生成模型,具备更广泛的语言覆盖和多样化的使用场景,在内容一致性、说话人相似度和韵律自然度等方面显著超越其前代产品 CosyVoice 2。

    我们的主要贡献如下:

    • 1)通过监督多任务训练开发的新型语音分词器用于改善韵律自然度,包括自动语音识别、语音情感识别、语言识别、音频事件检测和说话人分析
    • 2)一种适用于后期训练的新型可微分奖励模型[DiffRO],不仅适用于 CosyVoice 3,还适用于其他基于 LLM 的语音合成模型。
    • 3)数据集规模扩展:训练数据从万小时扩展到百万小时,涵盖 9 种语言和 18 种汉语方言,跨越多个领域和文本格式
    • 4)模型规模扩展:模型参数从 5 亿增加到 15 亿,由于更大的模型容量,在多语言基准测试中性能得到提升。这些进展显著推动了野外语音合成的发展。
    • 为应对真实世界中语音合成场景的多样性与泛化挑战,我们发布了面向零样本真实场景语音合成的评测基准集 CV3-Eval。该基准集基于 Common Voice、FLUERS、EmoBox 及网络爬取的真实音频数据构建,涵盖广泛的语言与方言、应用领域与环境、情绪与风格。

    技术方案

    图2:(a)监督式多任务训练的语音分词器 和(b)CosyVoice 3 的训练流程示意图。虚线框中的模块仅在训练阶段使用。语音分词器通过监督训练,涵盖自动语音识别(ASR)、语言识别(LID)、语音情感识别(SER)、音频事件检测(AED)以及说话人分析(SA)等任务。CFM 表示条件流匹配模型(Conditional Flow Matching model)。

     通过监督多任务训练实现语音分词器

    CosyVoice 3 的语音分词器基于 MinMo语音大模型[基于sensevoice-large的encoder],这是一种在多个语音任务中表现优异的大规模预训练语音理解模型。

    CosyVoice 2 将有限标量量化(FSQ)模块插入 SenseVoice-Large ASR 模型的编码器不同,CosyVoice 3 将 FSQ 模块插入到了 MinMo 模型的语音编码器【也是 SenseVoice-Large encoder,但重新进行了多任务训练】中。相比于 SenseVoice-Large ASR 模型,MinMo 是一款更为先进的多模态大语言模型(LLM),在超过140万小时的语音数据上进行了训练,在多种基准任务中展现出更优越且达到了SOTA水平的表现,包括口语对话、多语种语音识别、以及情感识别等任务。

    为了进一步增强语义信息的捕捉能力,我们在 MinMo 的训练数据中选取了约53万小时的数据子集,针对我们的语音分词器进行监督多任务学习,涵盖了多语种ASR、语言识别(LID)、语音情感识别(SER)、音频事件检测(AED)以及说话人分析(SA)等任务

    在训练阶段,如图2a所示,输入语音 X 首先经过 Voice Encoder1 【 SenseVoice-Large Encoder】得到中间表示 H,其中 Voice Encoder1 包含12个带旋转位置嵌入(RoPE)的Transformer模块。接着,中间表示H 被送入 FSQ 模块进行量化,量化后的表示再传递至 MinMo 的其余模块,包括 Voice Encoder2 和 MinMo LLM,用于预测对应文本标记的后验概率。

    Voice Encoder1、FSQ 模块中的低秩投影器、有限舍入操作(bounded round operation)以及索引计算模块共同构成了 CosyVoice 3 的语音分词器。我们的语音分词器的标记速率为 25 Hz,即每秒生成 25 个语音标记(speech tokens)。

    可微奖励优化的强化学习

    强化学习(RL)在提升生成语音质量方面是有效的,目前尚未建立一个通用适用于语音生成任务的强化学习方法论。与自然语言处理任务中的大语言模型(LLMs)不同,TTS 系统需要额外的下游条件流匹配(CFM)模块和声码器模型,将离散的语音标记转换为音频波形。这些下游模型带来了巨大的计算负担。更严重的是,经过下游处理后生成的语音通常表现出高度相似性,因此在训练奖励模型时,很难区分正反馈与负反馈

    为了解决这些问题,我们提出了可微奖励优化(DiffRO)方法,该方法直接优化语音标记,而非合成音频。DiffRO 首先在 ASR 训练数据上训练一个类似 ASR 的 Token2Text 模型,并将后验概率作为奖励。为了进一步简化训练策略,DiffRO 使用 Gumbel-Softmax 操作对大语言模型预测的标记进行采样,并通过反向传播直接优化语音标记,以最大化奖励分数,而无需传统的强化学习训练循环。

    Gumbel-Softmax 是一种用来在离散空间中实现可微分采样的技巧,常用于需要从分类分布中抽样但又想保持梯度可传播的场景,比如强化学习中的策略采样、生成模型中的词生成,以及如 DiffRO 中对离散语音 token 的优化。

    其中,µₜ 和 µ̃ₜ 分别表示第 t 个时间步的真实语音标记和其采样预测值。RASR 是基于类似 ASR 的 Token2Text 模型计算得到的奖励函数。由于 RASR(Y) 旨在鼓励 µ̃ 捕捉文本中的全部信息,因此它有助于 TTS 系统更清晰、准确地理解文本。因此,我们可以直接优化大语言模型(LLM),使其输出标记与 ASR 偏好对齐,并使用 Kullback-Leibler(KL)散度来防止模型偏离参考模型太远。与其他强化学习方法不同,我们在输出标记级的 logits 上计算 KL 散度,而非在序列级的后验概率上计算。

    除了 Token2Text 模型之外,DiffRO 还利用情感识别(SER)、MOS 评分预测、音频事件检测(AED)以及其他音频理解任务,用于多任务奖励(MTR)建模。MTR 机制可以帮助 TTS 系统根据指令控制语音属性Ai

    发音修复

    基于大语言模型的语音合成(TTS)系统主要采用基于BPE的文本分词器,输入为原始文本。与传统的基于音素的方法相比,这类系统在发音的可控性方面存在不足。具体来说,对于由多音字或训练数据中稀少或未出现的罕见词引起的错误发音,缺乏基于人工干预的稳健方法。
    为了实现一个在发音上具备有效可控性的工业级TTS系统,我们对CosyVoice 3进行了扩展,使其能够通过扩充分词器词汇表来建模混合的词和音素序列。为实现该目标,我们构建了一个辅助训练集,将中文单音字替换为拼音,将英文单音词用CMU发音词典中的音素替换,并将该辅助数据集加入基础训练集中。

    文本规范化的自我训练

    在文本分词之前,TTS系统通常通过文本规范化(TN)模块处理原始文本,将数字和特殊符号转换为其对应的口语化文本,这一过程依赖大量手工设计的规则;然而,手工规则在覆盖特殊符号方面面临持续挑战。
    我们探索利用大语言模型(LLM)执行文本规范化任务,从而构建更加统一的端到端TTS系统。
    以原始文本为输入,我们采用三种方式构建辅助训练集:
    1)通过内部基于规则的文本规范化模块处理原始文本,得到规范化文本,再通过CosyVoice 2合成音频。
    2)利用Qwen-Max模型进行文本规范化,然后对规范化文本通过CosyVoice 2合成音频。
    3)利用Qwen-Max对已有的文本-音频对中的文本进行逆向文本规范化,恢复为原始(未规范化)文本,将该原始文本与对应音频作为配对样本,直接加入基础训练集。
    我们验证了基于扩展训练集训练的新系统可以直接合成原始文本,同时在处理各种特殊符号时展现出更好的鲁棒性和覆盖能力。

    指导式语音生成

    为了提升CosyVoice 3的可控性和表现力,相较于CosyVoice 2,我们在基础训练集中融入了更多富有表现力的语音数据。高质量指令跟随数据的时长从1500小时扩展到5000小时,覆盖了更广泛的类型,包括情感、语速、声调、方言、口音及角色扮演。类型总数增加到100多种,如表1所示。
    与CosyVoice 2类似,CosyVoice 3也支持语言指令和细粒度指令。对于自然语言指令,在合成语音的输入文本前添加自然语言描述及特殊结束标记“<|endofprompt|>”
    对于细粒度指令支持在文本标记间插入声音爆发(vocal bursts)和声音特征标签以实现控制。例如,输入文本中的“[laughter]”与“[breath]”标记可分别用来生成明显的笑声和呼吸声。标签“<strong>XXX </strong> ”用于强调特定词语。

    说话人微调中的能力迁移

    将单语说话人转变为多语者:CosyVoice 3 相较于前代的显著提升之一是语言支持的扩展。为了使单语目标说话人能够说多种语言,我们构建了一个辅助训练数据集,包含来自随机选择说话人的高质量单语录音,覆盖所有支持的语言。每条语音的说话人ID和语言ID均通过自然语言指令进行指定。

    指令生成能力的迁移:通过对预训练模型进行说话人特定数据的微调,可以提升个别说话人生成语音的质量和表现力。我们构建了一个部分标注说话人ID的训练数据集,该数据集包含目标说话人的高质量数据以及预训练时使用的指令跟随数据集。在自然语言指令提示中,我们指定说话人提示和风格提示。例如,一个完整的指令提示可能是:“你是说话人A,请高兴地和我说话。”然而,部分数据条目可能缺少说话人ID或风格标签,此时在提示中对应字段留空。微调过程中,我们还会随机屏蔽说话人提示或风格提示,以增强模型的迁移能力。
    该方法确保了不同说话人间指令的全面覆盖,并有助于防止预训练模型在指令生成时发生灾难性遗忘。

    多语言数据处理流程


    相比中文和英文,获取其他语言的大规模高质量TTS数据更具挑战性。为应对这一挑战,我们主要从网络有声书、视频和播客中收集野外多语言音频数据。随后,实施多语言数据处理流程,产出质量充足的模型训练数据。该流程包括六个步骤:

    1. 语音检测与分段
    2. 降噪
    3. 自动语音识别(ASR)转录
    4. 标点调整
    5. 音量标准化
    6. 过滤异常音频-文本长度比例的数据

    语音检测与分段:原始数据依次通过说话人分离(speaker diarization)语音活动检测(VAD)音频事件检测模块处理,得到说话人级别且时长小于30秒的语音片段。该步骤虽采用内部模块,但同类开源方案也能实现类似效果。

    降噪:采用MossFormer2模型进行降噪。接着,根据语句起始和结束帧的能量水平,筛除因异常截断导致开头或结尾单词不完整的语句剩余语句去除开头和结尾的静音后保留用于后续处理。

    ASR转录:为获得足够可靠的文本转录,首先使用FasterWhisper Large-V3进行语言识别,然后分别使用多款开源ASR模型(包括Faster-Whisper Large-V3、NVIDIA NeMo Canary-1B、Meta FAIR seamlessM4T-V2-large)对语句进行转录。随后进行交叉验证,选取不同系统ASR结果间平均成对字错误率(WER)低于15%的转录结果

    标点调整:由于ASR生成文本中的标点可能不能准确反映对应音频的实际停顿,我们采用Montreal Forced Aligner计算词与词、句或短语间的时长,并根据预设阈值对标点进行增删(停顿时间≥300毫秒时添加逗号,≤50毫秒时移除表示停顿的标点,如逗号、分号、冒号、句号、问号和感叹号)。

    音量标准化:对音量进行简单直接的归一化处理,

    过滤异常音频-文本长度比例的语句:在完成上述所有处理步骤后,对每个生成的语音-文本对提取语音标记和文本标记,计算并排序语音标记长度与文本标记长度的语句级比例。
    我们丢弃长度比例最小的1%和最大的5%的语句,以过滤可能存在异常的情况,例如:音频很短且无有效人声但对应较长文本转录,或音频较长但仅包含目标语言的短语音片段,从而对应较短文本转录。

    Experimental Settings

    Training Data for Speech Tokenizer

    使用 53 万小时的监督多任务数据集,以标准化转录为标签,训练语音分词器,包括自动语音识别 (ASR)、语种识别 (LID)、语音情感识别 (SER)、音频事件检测 (AED) 和说话人分析 (SA)。训练数据详情如表 3 所示。多语言 ASR 训练数据包括中文、英语、日语、韩语、俄语、法语和德语。

    Scaling up Dataset Size and Model Size for CosyVoice 3

    在 CosyVoice 3 中,我们从多个角度扩展数据量。针对广泛使用的中英文数据,我们采用低成本数据生产流程与自训练数据构建相结合的方式,增强领域、风格、文本格式和稀有案例的多样性。在领域多样性方面,我们收集了电商、导航、金融、教育等多个领域的语音数据。在风格多样性方面,我们添加了对话、演讲、歌唱等多种语言在文本多样性方面,我们通过文本规范化 (TN) 和逆文本规范化 (ITN) 为同一段语音构建不同的文本格式,增强模型对各种文本格式的鲁棒性。此外,我们利用早期版本的 CosyVoice 3 策略性地自训练构建了大量的稀有案例,以提高合成的稳定性。在语言覆盖方面,我们在中英文数据集中新增了日语、俄语、法语、德语、西班牙语、韩语和意大利语等七种常用语言,数据覆盖比例如图 3a 所示。前期工作表明,监督式多任务语音分词器在一些新语言(例如 CosyVoice 3 中的西班牙语和意大利语)上表现良好。除了标准的常见方言发音外,我们还增加了对汉语口音和方言的覆盖范围,目前已支持 19 种常见口音或方言,数据占比如图 3b 所示。通过这些数据扩展,CosyVoice 3 的训练数据已达到百万小时,涵盖了日常生活中的大多数用户案例,并朝着自然界零样本语音生成的目标迈进。

    除了扩展数据集大小之外,扩大模型大小对于当前的大规模模型至关重要。因此,我们在 CosyVoice 3 中增加了文本转语音语言模型 (LM) 和条件流匹配 (CFM) 模型的大小。具体而言,文本转语音 LM 的参数数量从 0.5 亿增加到 1.5 亿。对于 CFM,我们采用最新的扩散变换器 (DiT) 作为骨干网络,将参数数量从 1 亿增加到 3 亿。初步实验证明了 DiT 架构的强大性能;因此,复杂的文本编码器和长度正则化模块不再需要,并从 CosyVoice 3 中移除。我们通过简单的插值操作解决了语音标记和 Mel 特征之间的帧率不匹配问题。

    为了评估 CosyVoice 3 的零样本语音生成能力,我们关注三个关键方面:内容一致性、说话人相似度和音频质量。对于内容一致性,我们使用 Whisper-large V3测量 ASR 转录文本与给定文本的字符错误率 (CER) 或词错误率 (WER)。对于英文 ASR,我们使用 Paraformer  测量中文 ASR。为了评估说话人相似度,我们使用 ERes2Net 说话人验证模型从生成的语音中提取说话人嵌入,并计算与参考语音嵌入的余弦相似度。对于音频质量,我们使用 DNSMOS 网络对生成的语音进行评分,该网络的得分与人类听觉感知高度相关。

    为了更好地评估 CosyVoice 3,我们建立了一个多语言基准 CV3-Eval,其中包括客观和主观评估的子集。

    Experimental Results

     SEED-TTS-Eval 上的客观 TTS 结果

    CosyVoice 3 与基线在 SEED 测试集上的内容一致性 (WER/CER) 和说话人相似度 (SS) 方面的零样本 TTS 性能比较。对于说话人相似度,括号外的结果由基于 WavLM 的模型测量,括号内的结果由 ERes2Net 测量。 粗体表示最佳结果,下划线表示次佳结果

     在多语言基准 CV3-Eval 上的客观评估:

    对于 CosyVoice 3 来说,生成生僻词、绕口令和领域特定术语仍然很困难,这突显了未来有待改进的地方。

     跨语言语音克隆结果:CosyVoice 3 在跨语言语音克隆方面相较 CosyVoice 2 的显著提升。值得注意的是,由于两种语言的字符重叠,CosyVoice 2 在将语音从日语转换为中文时遇到了困难。CosyVoice 3 通过将所有日语字符转换为假名解决了这个问题。此外,扩大模型规模也带来了益处:与 CosyVoice3-0.5B 相比,CosyVoice3-1.5B 在所有条件下都表现出了更佳的字错误率 (WER),同时保持了与 CosyVoice 2 相似的说话人相似度。这表明,由于容量的增加,更大的模型可以提升在挑战性任务上的表现。总体而言,CosyVoice3-1.5B 仍然是 zh2en 和 en2zh 跨语言语音迁移任务中的领先模型。

    在与文本无关的任务中,情感准确率显著下降,尤其是“悲伤”和“愤怒”情感。这表明 TTS 系统主要从文本情绪中推断输出音频的情感基调。这一观察结果为了解不太令人满意的表现提供了宝贵的见解,并突出了未来需要改进的地方。

    主观评价结果:

    Qwen3 技术报告

    • MoE 模型:Qwen3-235B-A22B 和 Qwen3-30B-A3B;其中 235B 和 30B 分别是总参数量,22B 和 3B 分别是激活参数量。
    • 密集模型:Qwen3-32B、Qwen3-14B、Qwen3-8B、Qwen3-4B、Qwen3-1.7B 和 Qwen3-0.6B。

    整体架构:

    1) 包含num_experts个轻量级专家网络(Qwen3MoeMLP)的并行计算单元;

    2) 基于注意力机制的路由网络(gate)。

    在计算过程中,路由网络通过动态决策机制为每个输入Token生成路由决策,筛选出匹配度最高的top_k个专家节点。随后,系统将根据路由权重对选定专家的计算结果进行加权融合,最终生成该隐层的表征输出。

    那么同样我们对比DeepSeekMOE,Qwen3MOE有两个点的改变:

    1)没有shared expert。

    2) 优化了MLP架构,变为Qwen3MoeSparseMoeBlock。

    模型特性优化总结表

    特性实现细节
    注意力机制改进的Qwen3Attention(支持Flash Attention优化)
    MoE路由策略Top-K专家选择(默认K=2),支持权重归一化
    专家结构每个专家为标准MLP(hidden_size → moe_intermediate_size → hidden_size)
    动态专家分配每间隔decoder_sparse_step层使用MoE(其他层使用标准MLP)
    负载均衡机制通过router_logits计算辅助损失,防止专家极化
    计算优化使用index_add操作实现零浪费的专家计算

    对比传统MOE优化效果:

    优化方向Qwen3-MoE实现方案对比传统MoE模型优势
    路由机制Top-K + 动态权重归一化(norm_topk_prob)缓解专家利用不均衡问题,相比Mixtral的固定权重分配更灵活
    稀疏模式分层动态稀疏(decoder_sparse_step控制MoE层间隔)混合密集与稀疏计算,相比全MoE结构降低计算开销
    内存优化logits_to_keep参数支持部分logits计算长序列生成时内存占用减少,优于Mixtral的全序列计算
    注意力机制改进的Flash Attention 3.0集成相比标准Attention实现,训练速度提升,显存占用减少
    负载均衡改进的辅助损失函数(load_balancing_loss_func+自研调整系数)专家利用率从Mixtral的提升,防止专家极化
    动态计算mlp_only_layers参数跳过MoE层支持按需切换密集/稀疏模式,相比固定结构推理灵活性提升

    性能方面,在代码、数学、通用能力等基准测试中,旗舰模型 Qwen3-235B-A22B 与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型表现相当

    此外,小型 MoE 模型 Qwen3-30B-A3B 的激活参数数量是 QwQ-32B 的 10%,表现却更胜一筹。甚至像 Qwen3-4B 这样的小模型也能匹敌 Qwen2.5-72B-Instruct 的性能

    性能大幅提升的同时,Qwen3 的部署成本还大幅下降,仅需 4 张 H20 即可部署满血版,显存占用仅为性能相近模型的三分之一

    核心亮点

    • 多种思考模式

    Qwen3 模型支持两种思考模式:

    1. 思考模式:在这种模式下,模型会逐步推理,经过深思熟虑后给出最终答案。这种方法非常适合需要深入思考的复杂问题。
    2. 非思考模式:在此模式中,模型提供快速、近乎即时的响应,适用于那些对速度要求高于深度的简单问题。

    这种灵活性使用户能够根据具体任务控制模型进行“思考”的程度。例如,复杂的问题可以通过扩展推理步骤来解决,而简单的问题则可以直接快速作答,无需延迟。至关重要的是,这两种模式的结合大大增强了模型实现稳定且高效的“思考预算”控制能力。如上文所述,Qwen3 展现出可扩展且平滑的性能提升,这与分配的计算推理预算直接相关。这样的设计让用户能够更轻松地为不同任务配置特定的预算,在成本效益和推理质量之间实现更优的平衡。

    下图为在 AIME24、AIME25、LiveCodeBech(v5)和 GPQA Diamond 等基准测试集中,非思考模式与思考模式的思考预算变化趋势。

    • 多语言

    Qwen3 模型支持 119 种语言和方言。这一广泛的多语言能力为国际应用开辟了新的可能性,让全球用户都能受益于这些模型的强大功能。

    语系语种&方言
    印欧语系英语、法语、葡萄牙语、德语、罗马尼亚语、瑞典语、丹麦语、保加利亚语、俄语、捷克语、希腊语、乌克兰语、西班牙语、荷兰语、斯洛伐克语、克罗地亚语、波兰语、立陶宛语、挪威语(博克马尔语)、挪威尼诺斯克语、波斯语、斯洛文尼亚语、古吉拉特语、拉脱维亚语、意大利语、奥克语、尼泊尔语、马拉地语、白俄罗斯语、塞尔维亚语、卢森堡语、威尼斯语、阿萨姆语、威尔士语、西里西亚语、阿斯图里亚语、恰蒂斯加尔语、阿瓦德语、迈蒂利语、博杰普尔语、信德语、爱尔兰语、法罗语、印地语、旁遮普语、孟加拉语、奥里雅语、塔吉克语、东意第绪语、伦巴第语、利古里亚语、西西里语、弗留利语、撒丁岛语、加利西亚语、加泰罗尼亚语、冰岛语、托斯克语、阿尔巴尼亚语、林堡语、罗马尼亚语、达里语、南非荷兰语、马其顿语僧伽罗语、乌尔都语、马加希语、波斯尼亚语、亚美尼亚语
    汉藏语系中文(简体中文、繁体中文、粤语)、缅甸语
    亚非语系阿拉伯语(标准语、内志语、黎凡特语、埃及语、摩洛哥语、美索不达米亚语、塔伊兹-阿德尼语、突尼斯语)、希伯来语、马耳他语
    南岛语系印度尼西亚语、马来语、他加禄语、宿务语、爪哇语、巽他语、米南加保语、巴厘岛语、班加语、邦阿西楠语、伊洛科语、瓦雷语(菲律宾)
    德拉威语泰米尔语、泰卢固语、卡纳达语、马拉雅拉姆语
    突厥语系土耳其语、北阿塞拜疆语、北乌兹别克语、哈萨克语、巴什基尔语、鞑靼语
    壮侗语系泰语、老挝语
    乌拉尔语系芬兰语、爱沙尼亚语、匈牙利语
    南亚语系越南语、高棉语
    其他日语、韩语、格鲁吉亚语、巴斯克语、海地语、帕皮阿门托语、卡布维尔迪亚努语、托克皮辛语、斯瓦希里语
    • 增强的 Agent 能力

    我们优化了 Qwen3 模型的 Agent 和 代码能力,同时也加强了对 MCP 的支持。

    预训练

    在预训练方面,Qwen3 的数据集相比 Qwen2.5 有了显著扩展。Qwen2.5是在 18 万亿个 token 上进行预训练的,而 Qwen3 使用的数据量几乎是其两倍,达到了约 36 万亿个 token,涵盖了 119 种语言和方言。为了构建这个庞大的数据集,我们不仅从网络上收集数据,还从 PDF 文档中提取信息。我们使用 Qwen2.5-VL 从这些文档中提取文本,并用 Qwen2.5 改进提取内容的质量。为了增加数学和代码数据的数量,我们利用 Qwen2.5-Math 和 Qwen2.5-Coder 这两个数学和代码领域的专家模型合成数据,合成了包括教科书、问答对以及代码片段等多种形式的数据。

    Qwen3模型采用三阶段预训练过程:

    1. 通用阶段 (S1): 在第一阶段,所有Qwen3模型使用4,096 token的序列长度,在超过30万亿token的数据上进行训练 。此阶段旨在建立模型的语言能力和通用世界知识基础,训练数据覆盖119种语言和方言 。
    2. 推理阶段 (S2): 为了进一步提升推理能力,此阶段的预训练语料库增加了STEM、编码、推理和合成数据的比例 。模型使用4,096 token的序列长度,在约5万亿高质量token上进行进一步预训练 。在此阶段还加速了学习率衰减 。
    3. 长上下文阶段: 在最后一个预训练阶段,收集高质量长上下文语料库,将Qwen3模型的上下文长度扩展到32,768 token 。长上下文语料库中,75%的文本长度在16,384到32,768 token之间,25%的文本长度在4,096到16,384 token之间 。报告提及沿用Qwen2.5的做法,使用ABF技术将RoPE的基础频率从10,000提高到1,000,000 。同时,引入YARN和Dual Chunk Attention (DCA)技术,在推理过程中实现序列长度容量的四倍增长 。

    类似于Qwen2.5,Qwen3根据这三个预训练阶段开发了最优超参数(如学习率调度器和批次大小)预测的缩放律 。通过广泛实验,系统研究了模型架构、训练数据、训练阶段与最优训练超参数之间的关系 。最终为每个密集模型和MoE模型设定了预测的最优学习率和批次大小策略。

    由于模型架构的改进、训练数据的增加以及更有效的训练方法,Qwen3 Dense 基础模型的整体性能与参数更多的Qwen2.5基础模型相当。例如,Qwen3-1.7B/4B/8B/14B/32B-Base 分别与 Qwen2.5-3B/7B/14B/32B/72B-Base 表现相当。特别是在 STEM、编码和推理等领域,Qwen3 Dense 基础模型的表现甚至超过了更大规模的 Qwen2.5 模型。对于 Qwen3 MoE 基础模型,它们在仅使用 10% 激活参数的情况下达到了与 Qwen2.5 Dense 基础模型相似的性能。这带来了训练和推理成本的显著节省。

    后训练

    为了开发能够同时具备思考推理和快速响应能力的混合模型,我们实施了一个四阶段的训练流程。该流程包括:(1)长思维链冷启动,(2)长思维链强化学习,(3)思维模式融合,以及(4)通用强化学习。

    后训练部分详细介绍了Qwen3模型的后训练流程和评估结果 。Qwen3的后训练流程策略性地设计了两个核心目标:思维控制和强到弱蒸馏 。

    思维控制 (Thinking Control):

    思维控制涉及将“非思维”模式和“思维”模式集成到模型中,为用户提供灵活性,选择模型是否进行推理,并通过指定思维过程的token预算来控制思考的深度 。

    强到弱蒸馏 (Strong-to-Weak Distillation):

    强到弱蒸馏旨在优化轻量级模型的后训练过程 。通过利用大型模型的知识,显著降低了构建小型模型所需的计算成本和开发工作 。

    如图1所示,Qwen3系列的旗舰模型遵循复杂的四阶段训练过程 。前两个阶段侧重于发展模型的“思维”能力 。后两个阶段旨在将强大的“非思维”功能整合到模型中 。

    初步实验表明,将教师模型的输出logit直接蒸馏到轻量级学生模型中,可以有效增强其性能,同时保持对其推理过程的细粒度控制 。这种方法避免了为每个小型模型单独执行详尽的四阶段训练过程 。它带来了更好的即时性能(通过更高的Pass@1分数体现),也提高了模型的探索能力(通过改进的Pass@64结果反映) 。此外,它以更高的训练效率实现了这些提升,所需的GPU小时仅为四阶段训练方法的1/10 。

    在第一阶段,我们使用多样的的长思维链数据对模型进行了微调,涵盖了数学、代码、逻辑推理和 STEM 问题等多种任务和领域。这一过程旨在为模型配备基本的推理能力。后训练始于策划一个涵盖数学、代码、逻辑推理和通用STEM问题等广泛类别的综合数据集 。数据集中的每个问题都配有经过验证的参考答案或基于代码的测试用例 。该数据集作为长链式思维(long-CoT)训练“冷启动”阶段的基础 。数据集构建涉及严格的两阶段过滤过程:查询过滤和响应过滤 。报告详细描述了过滤过程,包括使用Qwen2.5-72B-Instruct识别和移除不易验证的查询,排除无需CoT推理即可正确回答的查询,以及对生成的候选响应进行多项标准的严格过滤 。此阶段的目标是在模型中注入基础的推理模式,而不过度强调即时推理性能 。

    第二阶段的重点是大规模强化学习,利用基于规则的奖励来增强模型的探索和钻研能力。推理RL阶段使用的查询-验证对必须满足四个标准:未在冷启动阶段使用、对冷启动模型可学习、尽可能具有挑战性、涵盖广泛的子领域 。共收集了3,995对查询-验证对,并使用GRPO更新模型参数 。报告提及使用大批次大小和每次查询多次rollout,以及利用离线训练提高样本效率,对训练过程有益 。通过控制模型的熵,平衡探索和利用,实现了训练和验证性能的持续改进 。例如,Qwen3-235B-A22B模型的AIME’24分数在170个RL训练步骤中从70.1提高到85.1 

    在第三阶段,我们在一份包括长思维链数据和常用的指令微调数据的组合数据上对模型进行微调,将非思考模式整合到思考模型中。确保了推理和快速响应能力的无缝结合。思维模式融合阶段的目标是将“非思维”能力整合到之前开发的“思维”模型中 。这允许开发者管理和控制推理行为,同时降低部署独立模型处理思维和非思维任务的成本和复杂性 。为此,在推理RL模型上进行持续监督微调(SFT),并设计聊天模板来融合两种模式 。

    SFT数据构建:SFT数据集结合了“思维”和“非思维”数据 。为了不损害第二阶段模型的性能,“思维”数据是使用第二阶段模型本身通过对第一阶段查询进行拒绝采样生成的 。“非思维”数据则精心策划,涵盖编码、数学、指令遵循、多语言任务、创意写作、问答和角色扮演等广泛任务 。报告还提及使用自动生成的清单评估“非思维”数据的响应质量,并增加低资源语言翻译任务的比例以增强性能 。

    聊天模板设计:为了更好地集成两种模式并允许用户动态切换模型的思维过程,Qwen3设计了聊天模板 。通过在用户查询或系统消息中引入/think/no think标志,模型可以根据用户的输入选择适当的思维模式 。即使在非思维模式样本中,也保留了空的思维块,以确保模型内部格式的一致性 。默认情况下,模型在思维模式下运行,因此也包含一些用户查询不含/think标志的思维模式训练样本 。对于更复杂的多轮对话,随机插入多个/think/no think标志,模型响应遵循最后遇到的标志 。

    思维预算:思维模式融合的另一个优势是,一旦模型学会以非思维和思维模式响应,它自然会发展出处理中间情况的能力—基于不完整的思考生成响应 。这为实现模型思维过程的预算控制奠定了基础 。当模型的思考长度达到用户定义的阈值时,会手动停止思考过程并插入停止思考指令,然后模型根据其累积的推理生成最终响应 。报告指出,这种能力并非显式训练所得,而是思维模式融合应用自然产生的结果 。

    最后,在第四阶段,我们在包括指令遵循、格式遵循和 Agent 能力等在内的 20 多个通用领域的任务上应用了强化学习,以进一步增强模型的通用能力并纠正不良行为。

    通用RL阶段旨在广泛增强模型在各种场景下的能力和稳定性 。为此,建立了覆盖20多个不同任务的复杂奖励系统,每个任务都有定制的评分标准 。这些任务专门针对以下核心能力的提升:指令遵循、格式遵循、偏好对齐、Agent能力和专业场景下的能力(如RAG任务) 。

    报告提及使用了三种不同类型的奖励来提供反馈:基于规则的奖励(用于推理RL阶段和通用任务,如指令遵循和格式遵循)、基于模型的奖励(带参考答案,允许更灵活地处理多样化任务)、基于模型的奖励(不带参考答案,利用人类偏好数据训练奖励模型,处理更广泛的查询并增强模型的互动性和帮助性)。

    强到弱蒸馏 (Strong-to-Weak Distillation):

    强到弱蒸馏流程专门为优化轻量级模型而设计,包括5个密集模型(Qwen3-0.6B、1.7B、4B、8B和14B)和1个MoE模型(Qwen3-30B-A3B)。这种方法在增强模型性能的同时,有效赋予了强大的模式切换能力 。蒸馏过程分为两个主要阶段:

    1. 离线蒸馏 (Off-policy Distillation): 在初始阶段,结合教师模型在/think/no think模式下生成的输出进行响应蒸馏 。这有助于轻量级学生模型发展基本的推理技能和在不同思维模式之间切换的能力 。
    2. 在线蒸馏 (On-policy Distillation): 在此阶段,学生模型生成在线序列进行微调 。具体来说,采样提示,学生模型以/think/no think模式生成响应 。然后通过将学生的logit与教师模型(Qwen3-32B或Qwen3-235B-A22B)的logit对齐,最小化KL散度来微调学生模型 。

    通过评估Qwen3-32B模型在不同训练阶段的性能,报告得出结论:第三阶段将非思维模式整合到模型中,模型开始具备模式切换的初步能力 。第三阶段还增强了思维模式下的通用和指令遵循能力 。第四阶段进一步加强了模型在思维和非思维模式下的通用、指令遵循和Agent能力,确保了准确的模式切换 。

    然而,对于知识、STEM、数学和编码等任务,思维模式融合和通用RL并未带来显著改进,甚至在一些挑战性任务上,思维模式下的性能有所下降 。报告推测这种性能下降是由于模型在更广泛的通用任务上进行训练,可能会损害其在处理复杂问题时的专业能力,并表示在Qwen3开发过程中接受了这种性能权衡以增强模型的整体多功能性 。

    高级用法

    我们提供了一种软切换机制,允许用户在 enable_thinking=True 时动态控制模型的行为。具体来说,您可以在用户提示或系统消息中添加 /think 和 /no_think 来逐轮切换模型的思考模式。在多轮对话中,模型会遵循最近的指令。

    未来发展:

    Qwen3 代表了我们在通往通用人工智能(AGI)和超级人工智能(ASI)旅程中的一个重要里程碑。通过扩大预训练和强化学习的规模,我们实现了更高层次的智能。我们无缝集成了思考模式与非思考模式,为用户提供了灵活控制思考预算的能力。此外,我们还扩展了对多种语言的支持,帮助全球更多用户。

    展望未来,我们计划从多个维度提升我们的模型。这包括优化模型架构和训练方法,以实现几个关键目标:扩展数据规模、增加模型大小、延长上下文长度、拓宽模态范围,并利用环境反馈推进强化学习以进行长周期推理。我们认为,我们正从专注于训练模型的时代过渡到以训练 Agent 为中心的时代。

    Nexa AI OmniAudio-2.6B:全球最快的边缘部署音频语言模型

    OmniAudio 是全球最快、最高效的音频语言模型——OmniAudio – 2.6B 是一款高性能的多模态音频语言模型,参数量为 2.6B,能够高效处理文本和音频输入。它将 Gemma – 2 – 2B、WhisperTurbo 以及定制的 Projector 模块集成到一个统一框架中,突破了传统模型串联 ASR(自动语音识别)和 LLM(大语言模型)的架构限制,实现了更低延迟、更高效能的音频 – 文本一体化处理。这种一体化的设计使得音频信息能够直接在模型内部进行处理和转换,避免了传统架构中多次数据传输和处理带来的延迟和资源浪费。

    huggingface : https://huggingface.co/NexaAIDev/OmniAudio-2.6B

    二、技术原理

    1、模型架构

    Gemma – 2 – 2B:作为负责文本处理的基础语言模型,它拥有强大的语言理解和生成能力。其内部的神经网络结构经过精心设计和训练,能够对音频文本转换后的文本进行深入分析和理解。例如,在处理复杂的语义关系时,Gemma – 2 – 2B 可以准确地识别出词汇之间的逻辑联系,从而为后续的语言生成提供准确的基础。

    • WhisperTurbo是优化后的音频编码器,能够生成高质量的音频嵌入。它通过对音频信号进行特征提取和编码,将音频信息转化为模型可处理的形式。WhisperTurbo 在处理音频信号时,能够捕捉到音频中的细微特征,如语音的语调、语速变化等,这些特征对于准确理解音频内容至关重要。
    • 定制Projector模块:将 Whisper 的音频 token 转化为与 Gemma 文本嵌入对齐的序列,确保音频 – 文本模态的高效融合。它通过一种特殊的映射机制,使得音频和文本在向量空间中能够准确对应,同时保持语言模型的原始性能。这种对齐方式使得模型在处理音频输入时,能够像处理文本输入一样高效地进行语言理解和生成。

    2、训练方法

    • 预训练阶段:基于 MLSEnglish10K 转录数据集进行基础的音频 – 文本对齐能力训练。为了支持多任务应用,数据集中引入了特殊的 <|transcribe|>token,用以区分语音转文本和内容补全任务,确保模型在不同场景下性能的一致性。在预训练过程中,模型通过大量的音频 – 文本对数据学习,逐渐掌握音频和文本之间的对应关系,形成初步的音频处理和语言理解能力。
    • 监督微调阶段(SFT):使用合成数据集进行指令调优。数据集同样以 MLSEnglish10K 为基础,结合专有模型对上下文进行扩展,生成丰富的 “音频 – 文本” 对。通过这种方式,模型具备了更强的音频输入语义理解和会话生成能力。例如,在处理特定领域的音频数据时,模型能够根据微调数据中的领域知识,准确理解音频中的专业术语和特定表达方式。
    • 直接偏好优化(DPO):利用 GPT – 4O API 对模型初始输出进行评估,标注不正确的输出为 “拒绝”(rejected),并生成替代答案作为 “偏好”(preferred)参考。为了保持 Gemma – 2 的文本处理性能,额外增加了偏好训练步骤,使用 Gemma – 2 的原始文本作为 “标准” 训练模型,在处理音频输入时匹配其高水平表现。通过 DPO,模型能够不断优化自己的输出,使其更加符合人类的语言习惯和实际需求。

    三、功能特点

    1、处理速度快

    在 2024 Mac Mini M4 Pro 上,使用 Nexa SDK 并采用 FP16 GGUF 格式时,模型可实现每秒 35.23 个令牌的处理速度,而在 Q4_K_M GGUF 格式下,可处理每秒 66 个令牌。相比之下,Qwen2 – Audio – 7B 在相似硬件上只能处理每秒 6.38 个令牌,展示出显著的速度优势,能够满足实时音频处理的需求。例如,在实时语音翻译场景中,快速的处理速度可以确保翻译结果几乎与语音同步输出,大大提高了沟通效率。

    2、资源效率高

    模型的紧凑设计有效减少了对云资源的依赖,使其成为功率和带宽受限的可穿戴设备、汽车系统及物联网设备的理想选择,降低了设备的运行成本和对网络的依赖。在一些网络信号不稳定的偏远地区,或者在电池续航有限的可穿戴设备上,OmniAudio – 2.6B 能够凭借其低资源消耗的特点,稳定地运行并提供准确的音频处理服务。

    3、高准确性和灵活性

    尽管 OmniAudio – 2.6B 专注于速度和效率,但其在准确性方面也表现不俗,适用于转录、翻译、摘要等多种任务。无论是实时语音处理还是复杂的语言任务,OmniAudio – 2.6B 都能够提供精准的结果。例如,在处理学术讲座的音频转录时,模型能够准确识别专业术语和复杂的句子结构,生成高质量的文字转录稿。

    四、应用场景

    1、智能家居

    可以集成到智能家居设备中,如智能音箱、智能家电等,实现语音控制和交互。用户可以通过语音指令控制家电的开关、调节温度、查询信息等,提供更加便捷的智能家居体验。例如,用户只需说出 “打开客厅的灯”,智能音箱中的 OmniAudio – 2.6B 模型就能准确识别指令并控制灯光设备,让家居生活更加智能和便捷。

    2、车载系统

    在汽车中,OmniAudio – 2.6B 可以用于语音导航、语音娱乐系统、车辆状态查询等功能。驾驶员可以通过语音与车辆进行交互,提高驾驶安全性和便利性。比如,驾驶员在行驶过程中无需手动操作,只需说出 “导航到最近的加油站”,车载系统就能快速响应并规划路线,避免了分心驾驶带来的安全隐患。

    3、远程医疗

    在远程医疗领域,该模型可以用于实时转录医生与患者的对话、翻译医疗文件和语音指令等,提高医疗服务的效率和质量,方便医患之间的沟通。例如,在跨国远程会诊中,OmniAudio – 2.6B 可以实时翻译不同语言的对话,让医生和患者能够无障碍交流,确保诊断和治疗的准确性。

    4、可穿戴设备

    如智能手表、智能耳机等可穿戴设备可以利用 OmniAudio – 2.6B 实现语音助手功能,用户可以通过语音查询天气、设置提醒、发送短信等,为用户提供更加便捷的操作方式。比如,用户在运动时双手不方便操作,只需对着智能手表说出 “设置明天早上 7 点的闹钟”,手表就能快速完成设置,提升了用户体验。

    Kimi-Audio 音频基础大模型

    遵循自然语言处理领域的发展轨迹,音频处理正快速从”单任务专用模型”向”多任务通用模型”演进。

    Kimi-Audio被设计为一个通用的音频基础模型,能够在单一统一框架内处理多种音频处理任务。主要特性包括:

    • 通用能力:支持自动语音识别(ASR)、音频问答(AQA)、自动音频描述(AAC)、语音情感识别(SER)、声音事件/场景分类(SEC/ASC)以及端到端语音对话等多样化任务。
    • 顶尖性能:在多项音频基准测试中达到最先进水平(参见评估部分和技术报告)。
    • 大规模预训练:基于超过1300万小时的多样化音频数据(语音、音乐、环境声)和文本数据进行预训练,具备强大的音频推理和语言理解能力。
    • 创新架构:采用混合音频输入(连续声学向量+离散语义标记)和具有并行输出头的LLM核心架构,可同步生成文本和音频标记。
    • 高效推理:配备基于流匹配技术的分块流式解码器,实现低延迟音频生成
    • 开源计划:公开预训练和指令微调的代码与模型检查点,并发布完整评估工具包以促进社区研发。

    Introduction

    现有研究在构建通用音频基础模型方面仍存在不足:

    1)仅聚焦特定任务类型(如音频理解、音频生成或语音对话);

    2)忽视音频预训练,仅在下游任务微调LLM

    Kimi-Audio作为开源音频基础模型,通过三大核心要素实现技术突破:

    • 架构创新
    模型包含音频分词器(输入)、解分器(输出)和音频LLM核心(处理)三大组件。采用离散语义音频标记作为基础表征,同时在输入端融合连续声学向量以增强感知能力,在输出端结合离散文本token以提升生成能力。通过将音频token率压缩至12.5Hz,有效弥合文本与音频序列的模态鸿沟。

    • 数据工程
    构建包含语音增强、说话人分离、转写过滤等流程的数据处理管线,采集超1300万小时预训练数据针对监督微调阶段,我们创新提出纯开源数据解决方案——仅依赖公开资源与处理工具即可构建高质量SFT数据集,无需商业数据采购

    • 训练策略
    基于预训练LLM初始化模型,设计三级渐进式预训练任务:1)单模态(纯文本/音频)知识学习;2)音频-文本跨模态映射;3)音文交错联合建模。在微调阶段开发高效训练方案提升任务泛化性。

    针对音频模型评估标准不统一的问题,开发了包含语音识别、音频理解、语音对话等全维度评测工具包。

    Architecture

    Kimi-Audio作为一种音频基础模型,采用统一架构实现音频理解、生成与对话的全方位处理。如图2所示,系统包含三大核心组件:

    1. 音频分词器:通过12.5Hz帧率的向量量化将输入音频转换为离散语义标记,同时提取连续声学向量增强感知能力;
    2. 音频大模型:采用共享Transformer层处理多模态输入后,通过并行输出头同步生成语义标记与文本标记,提升生成能力;
    3. 音频解码器:基于流匹配技术将预测的离散语义标记重建为连贯音频波形。

    该一体化架构使Kimi-Audio能在单一模型中无缝处理语音识别、理解及对话等多样化任务。

    音频分词器

    本模型采用离散语义标记+连续声学向量的混合分词策略,在保留离散标记语义效率的同时,通过连续表征捕捉丰富声学细节。

    离散语义token:继承GLM-4-Voice方案,基于Whisper编码器架构引入向量量化层,通过单码本将语音表征压缩为12.5Hz低帧率的离散标记序列。该组件源自监督式语音分词器,由ASR模型驱动优化。

    连续声学特征:从预训练Whisper模型提取50Hz帧率的连续特征,通过适配器降采样至12.5Hz后与离散标记嵌入相加,作为音频LLM的联合输入。

    技术优势:离散标记提供高效语义表征、连续特征保留细粒度声学信息、12.5Hz统一帧率实现模态对齐

    音频大语言模型

    该模型能产生多模态输出,包括音频的离散语义标记和对应文本标记,以增强生成能力。为实现音频语义标记与文本响应的同步生成,我们改造了标准LLM架构,将其划分为共享功能模块与专用功能模块:原始Transformer底层(即最初若干层)的大部分被用作共享层,这些层通过处理输入序列学习跨模态表征,整合输入或上下文中文本与音频模态的信息。基于共享层,架构分叉为两个并行的Transformer层头部——文本头部专门自回归预测文本标记以形成文本输出,音频头部则预测离散音频语义标记,这些预测的音频标记随后传入音频解标记器模块合成最终波形输出。

    为充分利用预训练文本LLM的强大语言能力,共享Transformer层和文本头部的参数直接初始化为预训练文本LLM的权重,音频头部层则随机初始化。该策略确保模型在习得高效音频处理与生成能力的同时,始终保持卓越的文本理解与生成性能。

    音频解码器

    音频解码器的目标是根据离散语义音频标记生成高质量、富有表现力的语音。我们采用与MoonCast相同的解标记器架构,该架构包含两部分:

    • 1)流匹配模块,将12.5Hz的语义标记转换为50Hz梅尔频谱图
    • 2)声码器,将梅尔频谱图转换为波形。

    为降低语音生成延迟,我们设计了一种分块流式解标记器。初步实验表明,若简单将语义标记分块独立解码,会在块边界出现断续问题。因此,我们提出了一种带前瞻机制的分块自回归流式框架。

    分块自回归流式框架
    将音频分割为块(如每块1秒):{c₁, c₂, …, cᵢ, …, c_N},其中N为总块数。首先,为匹配语义标记(12.5Hz)与梅尔频谱图(50Hz)的序列长度,将语义标记上采样4倍。其次,在训练和推理时应用分块因果掩码——对于当前块cᵢ,所有先前块cⱼ(j<i)均作为提示。设cᵢ的梅尔频谱图为mᵢ,对应离散语义音频标记为aᵢᵈ。流匹配模型的前向步骤会将mᵢ与高斯噪声混合,反向步骤则在条件aᵢᵈ和历史提示cⱼ(含mⱼ与aⱼᵈ)下去噪生成纯净的mᵢ。推理时,当LLM生成一个音频块后,流匹配模型会立即将其解标记为梅尔频谱图,最终通过BigVGAN码器逐块生成波形。

    前瞻机制
    实验发现,因果注意力机制因无法感知块边界未来上下文,导致生成音频在边界处仍存在断续。为此,我们提出无需训练的前瞻机制:对于当前块cᵢ,从下一块cᵢ₊₁提取n个(如4个)未来语义标记拼接至cᵢ末端,形成扩展块ĉᵢ。解标记ĉᵢ生成梅尔频谱图后,仅保留原始cᵢ对应的部分。该机制仅会使首块生成延迟n个标记的时间,但显著改善边界连续性。

    Data

    预训练数据

    我们的预训练语料库包含单模态(纯文本、纯音频)和多模态(文本-音频)数据。纯音频预训练数据覆盖了广泛的现实场景,包括有声书、播客和访谈等,约包含1300万小时的原始音频,涵盖丰富的声学事件、音乐、环境音、人声以及多语言信息。

    大多数音频语料仅包含原始音频,缺乏对应的转录文本、语言类型、说话人标注和分段边界。此外,原始音频中常存在背景噪声、混响和说话人重叠等干扰因素。我们开发了高效的自动音频数据处理流程以生成高质量标注,最终形成多模态(音频-文本)数据。相较于以往主要生成无上下文信息的短音频片段的数据流程,我们的流程旨在提供具有连贯长上下文的长音频标注。该流程按步骤包含以下核心组件(如图3所示):

    语音增强
    为抑制背景噪声和混响,我们基于Band-Split RNN(BSRNN)架构开发了语音增强模型(图3A)。该模型可进行48kHz语音增强。实验发现语音增强会消除环境音和音乐,可能损害音频理解能力,因此在预训练阶段我们以1:1比例随机选择原始或增强后的音频。

    基于聚类分割的分段
    我们采用说话人聚类分割方法处理长音频,使用PyAnnote工具包¹进行说话人聚类(图3B),该工具会对音频分段并标注说话人标签。但原始输出效果欠佳,因此我们开发了后处理流程来优化:

    • 说话人聚类合并:PyAnnote可能将同一说话人标注为多个聚类,导致碎片化。我们计算每个初始聚类的代表性说话人嵌入向量,合并余弦相似度超过0.6的聚类对(图3C)。
    • 基于分块的重分配初始分割可能产生包含多说话人的片段。为提纯:1)先将所有片段切分为1.5秒分块;2)对相邻分块,若余弦相似度低于0.5则视为不同说话人,并将其重分配到相似度最高的说话人聚类(图3D)。
    • 片段合并:初始分割可能导致片段长度差异过大(短于1秒或长于100秒)。我们迭代合并标注为同一说话人的相邻片段(重分配后),合并终止条件为:累计长度超过27秒或片段间静音间隔大于2秒(图3E)。
      经此优化后的分割结果比基线输出具有更准确的说话人轮换和更一致的片段长度。

    语音转写
    为获取各语音片段的语言类型和文本转录,我们首先使用Whisper-large-v3模型检测语言类型。本研究仅保留英语和汉语片段进行转写:英语片段直接使用Whisper-large-v3生成带标点的文本;汉语片段采用FunASR工具包³的Paraformer-Zh模型生成带字级时间戳的文本。由于Paraformer-Zh无法输出标点,我们按以下策略添加:若相邻字符间隔大于0.5秒但小于1.0秒,插入”逗号”;若超过1.0秒,则插入”句号”。

    实施细节
    该数据处理流程部署在30个云实例组成的集群上,每个实例配备128个虚拟CPU(vCore)、1TB内存和8块NVIDIA L20 GPU,采用支持AMX等向量化加速指令的英特尔至强铂金8575C处理器。整个集群总计提供3,840个vCore、30TB内存和240块NVIDIA L20 GPU。经深度优化后,该流程每日可处理约20万小时原始音频数据。

    监督微调(SFT)数据

    在预训练阶段之后,我们通过监督微调(SFT)进一步提升 Kimi-Audio 在指令跟随和音频处理任务上的性能。SFT 数据主要分为三类:音频理解语音对话 和 音频转文本对话

    音频理解

    我们主要采用开源数据集进行音频理解训练,涵盖 6 种任务

    • 自动语音识别(ASR)
    • 音频问答(AQA)
    • 自动音频描述(AAC)
    • 语音情感识别(SER)
    • 声音事件分类(SEC)
    • 音频场景分类(ASC)

    具体数据集及 SFT 阶段的训练轮次详见表 1。

    除开源数据外,我们还使用了:

    • 55,000 小时 内部 ASR 数据
    • 5,200 小时 内部音频数据(覆盖 AAC/AQA 任务)

    语音对话

    为了激活 Kimi-Audio 模型在不同对话场景下生成多样化风格、高表现力语音的能力,我们构建了大规模的语音对话数据,这些数据由一系列用户查询助手响应组成的多轮对话构成。

    用户查询生成

    • 我们指导 大语言模型(LLM) 编写用户查询文本,然后使用 Kimi-TTS 系统将其转换为语音。
    • 提示语音(prompt speech)从包含 超过 125,000 种音色 的大规模音色库中随机选择。

    助手响应生成

    • 我们选择一位配音演员作为 Kimi-Audio 的固定音色,并以该音色合成具有合适风格和情感的助手响应。
    • 以下介绍 Kimi-Audio 配音演员的数据录制过程,以及用于合成多样化风格和表现力响应的 Kimi-TTS 和 Kimi-VC 系统。

    Kimi-Audio 配音演员的数据录制

    为了实现生成语音的多样化风格和高表现力,我们选择了一位配音演员作为 Kimi-Audio 的固定音色,并在专业录音棚中精心录制了该音色的数据集。

    录制设计

    • 20+ 种风格和情感(如开心、悲伤、愤怒、严肃等),每种情感进一步分为 5 个强度等级,以体现不同的情感表达程度。
    • 对于每种风格和情感等级,我们录制了参考音频,以确保不同文本句子之间的情感和风格一致性。
    • 整个录制过程由专业录音导演指导,确保高质量数据。

    Kimi-TTS(零样本语音合成系统)

    我们开发了一个零样本文本转语音(TTS)系统,称为 Kimi-TTS,仅需 3 秒的提示语音即可生成语音,并保持提示语音的音色、情感和风格

    应用场景

    1. 用户查询语音合成:使用大规模音色库(125K+ 音色)为不同用户查询生成多样化音色的语音。
    2. 助手响应语音合成:使用 Kimi-Audio 配音演员录制的风格和情感数据,合成助手的响应语音。

    技术架构

    • 类似 MoonCast 的架构,采用 LLM 根据提示语音和输入文本生成语音 token。
    • 使用基于流匹配(flow-matching)的语音解 token 器生成高质量语音波形。

    训练数据与优化

    • 在 100 万小时(由自动数据流水线生)的数据上训练。
    • 采用强化学习(RL)进一步提升生成语音的鲁棒性和质量

    Kimi-VC(语音转换系统)

    由于配音演员难以覆盖所有风格、情感和口音,我们开发了一个语音转换(VC)系统,称为 Kimi-VC,用于将不同说话人/音色的语音转换为 Kimi-Audio 固定音色,同时保留原始语音的风格、情感和口音

    技术架构

    • 基于 Seed-VC  框架。
    • 在训练阶段引入音色扰动(timbre-shifting),以缓解信息泄露,并确保训练和推理阶段的对齐。

    优化与数据

    • 使用 Kimi-Audio 配音演员录制的语音数据进行微调,确保高质量的语音转换。

    音频到文本对话

    为了让 Kimi-Audio 具备基础的对话能力,我们从文本领域收集了开源的监督微调(SFT)数据(如表 2 所示),并将用户查询转换为多种音色的语音,从而构建音频到文本对话数据(用户输入为语音,助手响应为文本)。

    数据预处理

    由于部分文本难以直接转换为语音,我们进行了以下优化:

    1. 过滤不适用内容:剔除包含复杂数学、代码、表格、复杂多语言内容或过长文本的数据。
    2. 口语化改写:将书面化表达调整为更自然的对话风格。
    3. 单轮转多轮优化:将复杂指令的单轮问答数据拆解为更简洁、易理解的多轮对话形式。

    模型训练

    预训练阶段

    Kimi-Audio的预训练目标是从真实世界的音频文本领域学习知识,并在模型的潜在空间中对齐这两个模态,从而支持复杂任务如音频理解、音频到文本对话和语音对话。为此,我们设计了多阶段预训练任务:

    1. 单模态预训练(音频/文本独立学习)
    2. 音频-文本映射学习
    3. 三种跨模态交织任务(进一步 bridging 音频与文本)

    数据表示形式

    给定原始音频A,数据处理流水线会将其分割为N个片段{S₁, S₂, …, Sₙ},每个片段Sᵢ包含:

    • 音频信号aᵢ
    • 对应文本转录tᵢ

    我们对音频片段aᵢ提取两种特征:

    • 连续声学向量 aᵢᶜ
    • 离散语义token aᵢᵈ

    为适配模型架构(以离散语义token为主输入/输出,同时输入连续声学token和输出离散文本token),训练序列表示为:

    {a₁ᶜ/a₁ᵈ/t₁, a₂ᶜ/a₂ᵈ/t₂, ..., aₙᶜ/aₙᵈ/tₙ}

    其中:

    • 通过填充空白token确保音频与文本序列等长
    • 实际训练片段可为以下任意组合:
      • 纯音频:aᵢᵈ 或 aᵢᶜ/aᵢᵈ
      • 纯文本:tᵢ
      • 跨模态对:aᵢᵈ/tᵢ

    对于连续+离散音频联合输入(aᵢᶜ/aᵢᵈ):

    1. 将离散语义token通过查表转换为嵌入向量
    2. 与连续声学向量相加得到最终音频特征aᵢ

    对于音频-文本联合输入(aᵢᵈ/tᵢ):

    • 将音频语义token和文本token分别嵌入后相加
    • 通过各自独立的输出头生成对应token

    具体预训练任务设计见表3,下文将详细介绍。

    aᵢᵈ 表示音频片段 *i* 的离散语义标记;
    aᵢᶜ 表示音频片段 *i* 的连续声学向量;
    aᵢ 表示音频片段 *i* 的 aᵢᵈ 和 aᵢᶜ 的组合;
    下划线 表示该部分在训练时会计算损失。

    音频/文本单模态预训练
    我们首先分别学习文本和音频的知识。对于文本预训练,我们直接使用MoonLight[44]中的文本数据,这些数据质量高且全面,适合训练大语言模型。我们仅对文本标记进行下一标记预测。对于音频预训练,针对每个片段Si,我们对其离散语义标记序列a_d^i进行下一标记预测。

    音频-文本映射预训练
    直观上,为了在统一空间中对齐音频和文本,学习两种模态之间的映射是有帮助的。因此,我们设计了自动语音识别(ASR)和文本到语音合成(TTS)预训练任务。对于ASR,我们将训练序列构建为{a1, t1, a2, t2, …, aN, tN}。对于TTS,训练序列构建为{t1, a_d^1, t2, a_d^2, …, tN, a_d^N}。我们仅在ASR中计算文本标记的损失,在TTS中计算音频语义标记的损失

    音频-文本交错预训练
    为了进一步弥合音频和文本模态之间的差距,我们设计了三种音频-文本交错预训练任务:

    • 音频到语义标记交错:将训练序列构建为{a1, a_d^2, a3, a_d^4, …, aN−1, a_d^N},然后仅计算语义音频标记a_d^i的损失,而不计算ai−1的损失。
    • 音频到文本交错:将训练序列构建为{a1, t2, a3, t4, …, aN−1, tN},仅计算文本标记ti的损失。
    • 音频到语义标记+文本交错:将训练序列构建为{a1, a_d^2/t2, a3, a_d^4/t4, …, aN−1, a_d^N/tN}。对于a_d^i/ti,由于语义音频标记序列总是比文本标记序列长,语义标记的预测类似于流式文本到语音任务。实验发现,前几个语义标记的预测较难,因为模型需要同时预测下一个文本标记及其语义音频标记。我们通过在语义音频标记前添加6个特殊空白标记(根据初步实验在生成质量和延迟之间权衡确定)来延迟前几个语义音频标记的预测,从而解决这一问题。

     预训练方案

    我们基于预训练的 Qwen2.5 7B 模型初始化 Kimi-Audio 的音频大语言模型,并通过添加语义音频标记和特殊标记扩展其词表。我们按照 1 : 7 : 1 : 1 : 1 : 1 : 2 的任务权重(如表3所示)对上述预训练任务进行训练。Kimi-Audio 的预训练数据包含 5850亿音频标记 和 5850亿文本标记,训练 1个周期

    优化器采用 AdamW,学习率按余弦衰减从 2e⁻⁵ 降至 2e⁻⁶,并使用 1% 的token进行学习率预热。

    音频分词器的连续声学特征提取模块:该模块基于 Whisper large-v3初始化,能够捕捉输入音频信号中的细粒度声学特征。在预训练的初始阶段(约 20% 的token训练完成前),该 Whisper 特征提取器的参数保持冻结。随后解冻,使其参数能够与模型其余部分联合微调,从而更好地适应训练数据的细节和目标任务的需求。

    监督微调

    任务设计:在通过海量真实音频与文本数据完成预训练后,我们对 Kimi-Audio 进行监督微调,使其具备指令跟随能力。具体设计如下:

    1. 任务通用性:下游任务多样,因此不设置特殊任务切换操作,而是采用自然语言指令描述每个任务;
    2. 多模态指令为每条指令同时构建音频版(由 Kimi-TTS 根据文本零样本生成)和文本版,训练时随机选择一种形式;
    3. 指令增强:通过大语言模型生成 200条ASR任务指令30条其他任务指令,每个训练样本随机选取一条以增强鲁棒性。监督微调数据规模约 30万小时

    微调方案:对每个数据源进行 2-4个周期 的微调。优化器采用 AdamW,学习率按余弦衰减从 1e⁻⁵ 降至 1e⁻⁶,并使用 10% 的标记进行预热。

    音频解码器训练分为三个阶段:

    1. 预训练阶段:使用约 100万小时 预训练音频数据,联合训练流匹配模型和声码器,学习多样化的音色、韵律和音质特征;
    2. 分块微调:在同一数据集上采用动态分块策略(块长0.5秒至3秒)进行优化;
    3. 高质量精调:最终基于 Kimi-Audio 发言人 的高质量单人录音数据进行微调,进一步提升生成效果。

    推理与部署

    Kimi-Audio 设计用于处理多种音频相关任务,包括语音识别、音频理解、音频-文本对话及语音-语音对话。由于实时语音对话在基础设施和工程实现上复杂度最高,本节以其为例阐述 Kimi-Audio 的部署实践。我们首先说明客户端(如 Kimi APP 或网页浏览器)与服务器(Kimi-Audio 服务)间的实时语音对话流程,随后介绍产品化部署方案。

    实时语音对话流程

    图4展示了用户客户端(如 Kimi APP)与服务器(Kimi-Audio 服务)之间的语音-语音对话流程。每轮对话按以下步骤执行:

    1. 用户语音输入:用户通过客户端(如 Kimi APP 或浏览器)说话,音频数据被采集并实时流式传输至服务器;
    2. 端点检测:服务器端的语音活动检测(VAD)模块判断用户是否结束说话;
    3. 触发推理:当用户停止说话时,服务器发送提交信号并启动 Kimi-Audio 模型的推理流程;
    4. 实时流式播放:推理过程中,客户端实时接收生成的音频片段并立即播放给用户。
    5. 客户端(手机或网页浏览器)将接收到的音频片段实时播放给用户。

    服务端的 Kimi-Audio 在每轮对话中的推理流程如下:

    1. 音频编码:通过音频分词器将输入音频转换为离散语义标记和连续声学向量;
    2. 输入构建:将系统提示标记、音频标记和对话历史标记拼接为 Audio LLM 的输入序列;
    3. 模型推理:Audio LLM 接收标记序列并生成输出标记;
    4. 音频合成:通过反分词器将输出标记还原为音频波形。

    生产环境部署
    如图5所示,在生产环境中,所有核心组件(音频分词器、音频大语言模型和音频反分词器)均属于计算密集型模块,需要可扩展且高效的基础架构支撑。为此我们设计了如下生产级部署架构:

    Kimi-Audio实时通信服务
    该服务作为客户端交互接口,负责接收用户音频数据并转发至推理调度器,同时将生成的音频分块返回客户端。我们采用WebRTC协议确保稳定低延时的通信连接。

    推理调度器
    推理调度器通过在后端存储中以token形式维护对话历史来管理会话流程。每轮交互执行以下步骤:
    • 调用分词器服务将用户音频转换为token
    • 将新token与对话历史拼接构建模型输入
    • 将输入发送至大语言模型服务生成响应token
    • 调用反分词器服务将响应token转换为音频输出

    此外,该系统会将所有输出token作为持续更新的对话历史存储,确保多轮对话的连贯性。

    实验

    首先开发了面向音频理解、生成及对话任务的开源评估工具包。【https://github.com/MoonshotAI/Kimi-Audio-Evalkit.】该工具目前集成支持Kimi-Audio及系列前沿音频大模型,并可扩展评估其他音频基础模型,主要特性包括:

    • 标准化评估框架
    基于Qwen-2-Audio实现标准化词错误率计算,并集成GPT-4o-mini作为智能评判器,克服指标不一致和简单字符串匹配的局限,实现公平对比。

    • 统一比较平台
    提供支持多模型多版本的统一平台,简化横向对比。通过定义和共享标准化推理参数与提示策略(”配方”),直接解决评估设置不一致问题,显著提升不同研究成果间的可复现性。

    挑战与未来趋势

    尽管Kimi-Audio在构建通用音频基础模型方面取得显著进展,但要实现更强大、更智能的音频处理系统仍存在诸多挑战。我们梳理现存问题并指出以下极具潜力的发展方向:

    从语音转写到音频描述

    当前音频基础模型的预训练范式通常依赖音频-文本对齐训练,其中文本数据多通过ASR(自动语音识别)从语音转写获得。但转写文本仅聚焦口语内容(”说了什么”),忽略了音频中的副语言信息(如情感、风格、音色、语调)、声学场景和非语言声音等重要特征。未来需引入描述性文本(如音频字幕)来构建更丰富的上下文表征。通过同时融合转写文本与描述文本,模型不仅能更好地理解与生成口语内容,还能处理复杂的声学环境,为构建更细腻的多模态音频处理系统和更通用的音频智能奠定基础。

    更优的音频表征

    现有音频表征主要采用语义token或声学token:

    • 语义token:通常通过ASR辅助损失函数获取,侧重转写导向的信息,但难以捕捉对理解与生成至关重要的声学细节
    • 声学token:通过音频重构损失函数学习,侧重描述导向的声学特征,但缺乏连接文本智能所需的抽象语义信息

    关键研究方向是开发能同时整合转写导向语义与描述导向声学特征的新型表征,在保留高层抽象信息的同时,涵盖说话人身份、情感、环境音等细微特征,这对实现更复杂的音频理解与生成至关重要。

    摒弃ASR/TTS的建模依赖

    现有音频基础模型在预训练和微调阶段严重依赖ASR/TTS生成训练数据,其质量受限于:

    • ASR的文本识别准确率
    • TTS合成语音的表现力/多样性/质量

    这种模式下,音频模型本质上只是现有ASR/TTS系统的精馏版本性能天花板受制于ASR/TTS系统的上限,无法实现真正的自主音频智能。未来应探索不依赖ASR/TTS伪音频数据、直接基于原生音频数据的训练范式,这将大幅提升模型性能上限。

    Dolphin -支持东方40语种+中国22方言的新SOTA语音大模型

    在当今数字化时代,语音识别技术已成为人机交互的关键桥梁,广泛应用于智能客服、语音助手、会议转录等众多领域。然而,对于东方语言的识别如越南语、缅甸语等,现有模型往往表现不佳,难以满足用户的需求。为解决这一难题,海天瑞声携手清华大学电子工程系语音与音频技术实验室,共同推出了Dolphin —— 一款专为东方语言设计的语音大模型

    Dolphin 采用的多任务格式,其主要沿用了 OpenAI Whisper的
    格式。Dolphin 专注于自动语音识别 (ASR),不支持翻译任务。此外,Dolphin 引入了特定区域的标记,从而支持方言。

    Dolphin 是由 Dataocean AI 与清华大学合作开发的多语言、多任务 ASR 模型。它支持东亚、南亚、东南亚和中东地区的 40 种东方语言,同时还支持 22 种中国方言。该模型基于超过 21 万小时的数据进行训练,其中包括 DataoceanAI 的专有数据集和开源数据集。该模型可以执行语音识别、语音活动检测 (VAD)、语音分割和语言识别 (LID)

    二、创新技术架构 

    • 模型结构    

    Dolphin网络结构基于CTC-Attention架构,E-Branchformer编码器和Transformer解码器,并引入了4倍下采样层,以实现高效的大规模多语言语音识别模型的训练。CTC-Attention架构结合了CTC的序列建模能力和注意力机制的上下文捕捉能力,能够有效提升模型的识别准确性和效率。E-Branchformer编码器采用并行分支结构,能够更有效地捕捉输入语音信号的局部和全局依赖关系,为模型提供了更丰富的特征表示。解码器部分则采用了在序列到序列任务中表现出色的Transformer,能够生成高质量的文本输出。为了进一步提高训练效率和性能,我们在模型中引入了4倍下采样层。这一层可以减少输入特征的序列长度,从而加速计算过程,同时保留关键的语音信息,确保模型的识别效果不受影响。

    • 多任务格式

    Dolphin 借鉴了 Whisper 和 OWSM 的创新设计方法,但专注于ASR 进行了若干关键修改。Dolphin 不支持翻译任务,并且去掉了previous text及其相关标记的使用,这简化了输入格式并减少了潜在的复杂性Dolphin引入了两级语种标签系统,以便更好地处理语言和地区的多样性。第一个标签指定语种(例如: <zh> 、 <ja>),第二个标签指定地区(例如 <CN> 、 <JP>)。 比如:<ru><RU> 表示俄罗斯的俄语,而 <ru><BY> 表示白俄罗斯的俄语。这种分层方法使模型能够捕捉同一种语言内不同方言和口音之间的差异,以及同一地区内不同语言之间的相似性,从而提高了模型区分密切相关的方言的能力,并通过在语言和地区之间建立联系增强了其泛化能力。

    三、强大的数据基础 

    Dolphin的训练数据集整合了海天瑞声【Dataocean AI】的专有数据和多个开源数据集,总时长超过20万小时,涵盖40个东方语种。其中,海天瑞声数据集包含137,712小时的音频,覆盖38个东方语种。这些高质量、多样化的数据为模型的训练提供了坚实的基础,使其能够更好地适应不同语言和方言的语音特征。

    清理后数据集中 40 种东方语言的数据时长分布(以对数刻度表示)。其中 36 种语言的数据时长超过 100 小时,16 种语言的数据时长超过 1000 小时。

    数据处理:对于像 YODAS 这样包含人工注释和 ASR 生成的转录本的数据集,我们只使用人工注释的部分。因此,我们的大部分训练数据都是手动转录的,以确保更高的转录质量。这种数据质量,尤其是转录本的质量,是使模型即使在模型规模较小的情况下也能实现显著优于 Whisper 识别性能的关键因素。对于时间戳,采用与 Whisper 相同的句子级时间戳方法,其中时间戳标记标记每个句子的起始和结束。对于长音频录音(通常长达几分钟),会在数据预处理过程中将其分割成较小的片段,然后将它们合并为长音频序列。

    训练优化:

    在训练数据的初始版本中,我们直接使用了清理后的数据集。然而,一个主要问题是短音频样本的比例过高。大多数音频片段的时长约为 5 秒,导致跨多种语言的删除错误率过高。这个问题与大多数训练数据由短音频样本组成这一事实相符。

    为了解决这个问题,尝试了一种替代方法,将清理后的音频数据连接成 25-30 秒的长片段。这显著降低了较高的删除错误率。虽然这种方法导致插入错误率略有增加,但整体识别性能有所提升,平均字词错误率 (WER) 降低了 9.01%。

    四、卓越性能表现 

    通过精心设计的架构和大规模的训练数据,Dolphin在多种语言上的词错误率(WER)显著低于现有开源模型。

    例如,在海天瑞声数据集上,Dolphin 模型的平均WER为31.5%,small模型为24.5%,medium模型为22.2%;在CommonVoice数据集上,Dolphin 模型的平均WER为37.2%,small模型为27.4%,medium模型为25.0%。即使与Whisper large-v3模型相比,Dolphin在模型规模更小的情况下,性能也更为出色。以中文为例,Dolphin中模型的WER仅为9.2%,而Whisper large-v3模型为27.9%。 在KeSpeech (包含一个普通话子集和八个中国方言子集)测试集上,Dolphin模型表现出了卓越的效果.

    五、技术挑战

    内存占用问题

    图 3: 数据加载策略优化。假设一个节点有 4 个 GPU,每个 GPU 分配一个对应的进程,称为 rank。优化前,每个 rank 加载数据集的完整副本,记为 {D0,D1,D2,D3}。优化后,每个 rank 仅分配其计算所需的数据集子集。

    我们的训练集包含 1.6 亿条话语,在数据处理阶段遇到了内存不足 (OOM) 问题。我们对数据处理的 sampler、dataset、dataloader 模块进行了深入分析,发现大量的 utterances 导致了内存溢出。PyTorch 支持两种类型的数据集:map-style 和 iterable-style。ESPnet 使用的是 map-style。map-style 数据集将 utterance 的元数据(utterance id 与文本、音频的映射)加载到内存中,内存占用随着训练数据 utterances 的数量线性增长。为了提高数据加载速度,dataloader 内部会有多个 worker 进行数据预取,这进一步增加了物理机的内存占用,最终导致 OOM。

    受 Zero-DP的启发,我们提出了图 3 中的数据分片策略。我们不再加载整个数据集副本,而是优化每个 Rank,使其仅加载数据集中必要的子集。这种方法显著减少了每个 Rank 的内存占用,从而降低了物理机上的整体内存消耗。此外,随着数据并行度的提高,单个节点的内存占用呈线性下降。

    训练效率:

    将短音频合并成长音频可以显著提高 GPU 的计算密度和利用率,从而显著提高训练效率。在我们的数据集中,音频时长呈现出明显的左偏分布,短音频(1-10 秒)占比较高,长音频(11-30 秒)占比较低。为了使音频时长分布更加均衡,我们将短音频合并,并将它们均匀地重新分配到 0-30 秒范围内以 5 秒为间隔的桶中。

    在处理 21 万小时的大规模数据集时,使用 ffmpeg 将多个短音频物理合并成长音频会非常耗时。为此,我们采用了更高效的逻辑合并策略。具体来说,在数据准备阶段,我们使用字典来表示音频合并前后的映射关系,并在训练过程中动态地合并音频。

    通过优化合并策略,小模型单次 epoch 训练时间从 64 小时大幅缩短至 28.6 小时,训练速度提升 123.78%,大大加速了模型迭代进程。

    六、开源与社区贡献 

    为促进语音识别技术的进一步发展,Dolphin的训练模型和推理源代码已公开发布。这一举措不仅为研究人员提供了宝贵的研究基础,也为开源社区注入了新的活力,鼓励更多创新与合作。通过共享技术成果,我们希望能够吸引更多的开发者和研究机构参与到东方语言语音识别的研究中来,共同推动技术的进步。 

     Dolphin,一个大规模多语言多任务自动语音识别 (ASR) 模型。Dolphin 构建于 Whisper 风格的架构之上,并基于 OWSM,集成了专有和公开可用的数据集。实验结果表明,Dolphin 在各种语言和模型规模上始终优于现有的 SOTA 模型,有效弥合了东西方语言之间的性能差距。值得一提的是,Dolphin 基础模型的性能甚至优于 Whisper large-v3 版本。通过开源 Dolphin 基础模型、小型模型以及推理代码,我们旨在为多语言语音处理的进一步发展做出贡献。

    支持的语言列表:

    Language code

    Language CodeEnglish NameChinese Name
    zhMandarin Chinese中文
    jaJapanese日语
    thThai泰语
    ruRussian俄语
    koKorean韩语
    idIndonesian印度尼西亚语
    viVietnamese越南语
    ctYue Chinese粤语
    hiHindi印地语
    urUrdu乌尔都语
    msMalay马来语
    uzUzbek乌兹别克语
    arArabic阿拉伯语
    faPersian波斯语
    bnBengali孟加拉语
    taTamil泰米尔语
    teTelugu泰卢固语
    ugUighur维吾尔语
    guGujarati古吉拉特语
    myBurmese缅甸语
    tlTagalog塔加洛语
    kkKazakh哈萨克语
    orOriya / Odia奥里亚语
    neNepali尼泊尔语
    mnMongolian蒙古语
    kmKhmer高棉语
    jvJavanese爪哇语
    loLao老挝语
    siSinhala僧伽罗语
    filFilipino菲律宾语
    psPushto普什图语
    paPanjabi旁遮普语
    kabKabyle卡拜尔语
    baBashkir巴什基尔语
    ksKashmiri克什米尔语
    tgTajik塔吉克语
    suSundanese巽他语
    mrMarathi马拉地语
    kyKirghiz吉尔吉斯语
    azAzerbaijani阿塞拜疆语

    Language Region Code

    Language Region CodeEnglish NameChinese Name
    zh-CNChinese (Mandarin)中文(普通话)
    zh-TWChinese (Taiwan)中文(台湾)
    zh-WUChinese (Wuyu)中文(吴语)
    zh-SICHUANChinese (Sichuan)中文(四川话)
    zh-SHANXIChinese (Shanxi)中文(山西话)
    zh-ANHUIChinese (Anhui)中文(安徽话)
    zh-TIANJINChinese (Tianjin)中文(天津话)
    zh-NINGXIAChinese (Ningxia)中文(宁夏话)
    zh-SHAANXIChinese (Shaanxi)中文(陕西话)
    zh-HEBEIChinese (Hebei)中文(河北话)
    zh-SHANDONGChinese (Shandong)中文(山东话)
    zh-GUANGDONGChinese (Guangdong)中文(广东话)
    zh-SHANGHAIChinese (Shanghai)中文(上海话)
    zh-HUBEIChinese (Hubei)中文(湖北话)
    zh-LIAONINGChinese (Liaoning)中文(辽宁话)
    zh-GANSUChinese (Gansu)中文(甘肃话)
    zh-FUJIANChinese (Fujian)中文(福建话)
    zh-HUNANChinese (Hunan)中文(湖南话)
    zh-HENANChinese (Henan)中文(河南话)
    zh-YUNNANChinese (Yunnan)中文(云南话)
    zh-MINNANChinese (Minnan)中文(闽南语)
    zh-WENZHOUChinese (Wenzhou)中文(温州话)
    ja-JPJapanese日语
    th-THThai泰语
    ru-RURussian俄语
    ko-KRKorean韩语
    id-IDIndonesian印度尼西亚语
    vi-VNVietnamese越南语
    ct-NULLYue (Unknown)粤语(未知)
    ct-HKYue (Hongkong)粤语(香港)
    ct-GZYue (Guangdong)粤语(广东)
    hi-INHindi印地语
    ur-INUrdu乌尔都语(印度)
    ur-PKUrdu (Islamic Republic of Pakistan)乌尔都语
    ms-MYMalay马来语
    uz-UZUzbek乌兹别克语
    ar-MAArabic (Morocco)阿拉伯语(摩洛哥)
    ar-GLAArabic阿拉伯语
    ar-SAArabic (Saudi Arabia)阿拉伯语(沙特)
    ar-EGArabic (Egypt)阿拉伯语(埃及)
    ar-KWArabic (Kuwait)阿拉伯语(科威特)
    ar-LYArabic (Libya)阿拉伯语(利比亚)
    ar-JOArabic (Jordan)阿拉伯语(约旦)
    ar-AEArabic (U.A.E.)阿拉伯语(阿联酋)
    ar-LVTArabic (Levant)阿拉伯语(黎凡特)
    fa-IRPersian波斯语
    bn-BDBengali孟加拉语
    ta-SGTamil (Singaporean)泰米尔语(新加坡)
    ta-LKTamil (Sri Lankan)泰米尔语(斯里兰卡)
    ta-INTamil (India)泰米尔语(印度)
    ta-MYTamil (Malaysia)泰米尔语(马来西亚)
    te-INTelugu泰卢固语
    ug-NULLUighur维吾尔语
    ug-CNUighur维吾尔语
    gu-INGujarati古吉拉特语
    my-MMBurmese缅甸语
    tl-PHTagalog塔加洛语
    kk-KZKazakh哈萨克语
    or-INOriya / Odia奥里亚语
    ne-NPNepali尼泊尔语
    mn-MNMongolian蒙古语
    km-KHKhmer高棉语
    jv-IDJavanese爪哇语
    lo-LALao老挝语
    si-LKSinhala僧伽罗语
    fil-PHFilipino菲律宾语
    ps-AFPushto普什图语
    pa-INPanjabi旁遮普语
    kab-NULLKabyle卡拜尔语
    ba-NULLBashkir巴什基尔语
    ks-INKashmiri克什米尔语
    tg-TJTajik塔吉克语
    su-IDSundanese巽他语
    mr-INMarathi马拉地语
    ky-KGKirghiz吉尔吉斯语
    az-AZAzerbaijani阿塞拜疆语