迈向语音大模型的平权之路

什么样的事情最有价值?难且正确的事情。把 1B 级别的大模型优化到和 200M级别模型相同水平的 RTF 同时 WER 维持代差,难道不是一件该令人亢奋的事情吗?

-- 向前看,别回头

在两个月前的年度总结中,WeNet 社区已经开始向着更“大”更“强”迈进,去全面拥抱语音大模型的无限未来。然而,横在语音大模型面前的还有两座必须翻越的山峰: 训练效率 和 推理效率

经过 2023 年下半年的努力,WeNet 已经翻越了第一座山峰,达成了训练平权,将 1.5B 级别语音大模型(Whisper, etc)的训练门槛降到了 8 张 3090 (24GB) 10~20h 内以全量参数更新的方式跑完 1.5B 模型在 aishell 上的 40 轮训练。而两个月之后的今天,我们将发起向第二座山峰冲锋的号角,走出一条迈向语音大模型的推理平权之路。

1. 语音大模型的阿喀琉斯之踵

Scale up 已经在无数领域被证明其正确性,然而一个 1B 级别的“大”模型虽然可以做到性能大幅超越 200M “小”模型,但是 RTF 却会成倍增加,让语音大模型难免有些食之无味,弃之可惜。

常见的 RTF 优化手段,如量化,剪枝,蒸馏等,固然会给大模型推理带来一些收益,但是这些仍然难以抹平“大”和“小”之间的效率差异,更不用说还存在着精度和速度之间的 trade-off,因此,我们需要从源头处就做出改变,用推理效率反过来指导模型训练,用一个新的架构尝试解决上述的死局。

2. U2++ MoE

图片

(https://arxiv.org/pdf/2404.16407)

为了解决语音大模型的推理效率问题,同时尽可能地减少掉点,我们探索了 MoE[1]技术,将其用应用到我们现有的 U2++ 框架中,在16万小时的数据上验证了其有效性:

we prove that MoE-1B model can achieve Dense-1B level accuracy with Dense-225M level inference cost

当然,还有必不可少的:

Streaming  capability

3. 相关工作

U2++ MoE 并不是第一个将 MoE 引入到语音识别这项任务的,早在 2021 年,腾讯 AI Lab 的研究员们就已经探索出 SpeechMoE[2](以及后续的一系列工作),谷歌[3]、网易[4]等也在最近一两年内相继跟进。然而,这些工作无一例外,都是从提升多语言/多方言/中英混等的识别性能为出发点来使用 MoE。此外还有快手[5]的工作,尝试使用 MoE + Layer reuse 减少模型参数量(但是计算量并没有减少,因此 RTF 预期持平)。

那么,U2++ MoE 的出发点是什么?我们希望循着 scaling law 探索边界的同时能加速 scaling law 的落地。

我们即不关心如何在现有数据下提升 多语言/多方言/中英混 的性能,也不关心如何减少参数量,相反,我们认为解决 多语言/多方言/中英混 的问题,scale up 数据在现阶段比任何雕花都是更有效的手段,而减少参数量则是完全和 scaling law 背道而驰。

不同的出发点显然会让动作的执行出现差异,其中最明显的便是使用上的便捷性。

  • 与上述所有工作相比,我们不使用任何额外的loss(balance loss, etc)。我们甚至想argue 一下,balance loss 是用来解决 文本 token 被分发到专家时的负载不均问题,文本 token 天然是离散的,连续两个token之间是不具有相似性的,做出“文本 tokens 应当被均匀地分给所有专家”的假设是合理的。但是这个假设对语音帧构成的 tokens 是否合理有待商榷,毕竟,相连语音帧之间具有极高的相似性,我们为什么要强制地把这些具有相似性的帧 token 打散到不同的专家呢?当然,我们这里的argue也只是打打嘴炮,并没有做实际的消融和对比,WeNet 的一贯风格是简单至上,Keep it simple, Keep it stupid。

  • 与 SpeechMoE[2], 网易[4] 相比,我们不使用任何额外的 embedding network (语言emb,方言emb,etc) 。还是那句话,出发点不一样,动作执行会不一样,对于多语种问题,scale up 数据会是更经济环保+有效的手段,Keep it simple, Keep it stupid。

  • 与 谷歌[3] 相比,我们证明了 MoE 可以用于且有益于流式模型。谷歌也曾尝试过在流式 encoder 中引入 MoE,但是失败了(见 [3] 中 section 5.1.1, paragraph 2, first sentence),而我们在 U2++ 框架中引入 MoE 后,流式问题则是一发入魂,丝滑无比,不需要堆砌任何额外的 trick,简单的 MoE + 简单的 U2++, 非流式和流式两者兼顾,Keep it simple, Keep it stupid。

U2++ MoE 是如此的简单,甚至简单到令人尴尬,我们用一句话就可以描述 U2++ MoE 的使用方法和功效:

只需要将你原来模型yaml配置中的原始 FFN 修改为 MoE,其他的什么都不用动,重新硬 train 一发,你就有希望获得 4X 大小模型的 WER 和与当前baseline 相近的 RTF

Overall, Keep it simple, Keep it stupid


实验结果

我们在自己内部的16万小时数据上基于如下三个模型做了对比实验(其中 M 表示 encoder 层数,N 表示 decoder 层数):

图片

实验结果显示:

  • 在相同的训练steps(236k steps)下,对比 (b) (d) (e) 列,MoE-1B (3.93) 模型会略差于 Dense-1B (3.72) 模型,但是两者都是远远超越了 Dense-225M (4.50)。

  • 在相同的训练时间(25.9 days)下,对比 (c) (d) (f) 列,MoE-1B (3.80) 和 Dense-1B (3.72) 差距进一步缩小,两者相比 Dense-225M 模型仍有 10% 的相对提升。

这两组对比的结论向我们更进一步地展示了 The power of Scaling Law。不管你是固定训练步数,还是固定整体的训练计算资源(训练天数),更大的模型都是比更小的模型更 optimal 的选择(在不考虑RTF的前提下)。

图片

接下来是 RTF 的对比,我们看到,不管是 ctc greedy 解码,亦或是 rescore 解码,MoE-1B 模型整体上还是和 Dense-225M 模型在同一个量级,两者相比 Dense-1B 模型有成倍的降低。

 上述结果均为非流式(MoE-1B, etc)的结果,对于流式模型(U2++-MoE-1B, etc),我们是在非流式模型的基础上,进一步进行的流式微调,结果如下表所示,在流式上,我们可以得到和非流式相同的结论:

 

(注:这里没有U2++-Dense-1B的 WER 结果是因为模型会经常 crash,走几步就是 Loss Spike,训练很难进行下去,加上这个 RTF 已经没有实际部署的可行性,遂罢)

Towards Next Generation of ASR Backbone ?

大多数人可能会和我有一样的疑问,为什么 SpeechMoE 早在三年前(2021年)就已经有了,但是时至今日,似乎还没有成为主流的 ASR Backbone?我想,制约其普及的关键因素可能是训练效率

在上述提及的相关工作中,除了财大气粗的谷歌,其余工作要么是在小模型上做 MoE,要么需要引入额外的训练库 FastMoE 和 较多的训练资源来训大的模型。以 SpeechMoE 为例,为了在 WenetSpeech 上训练 1.37B 的 Conformer-MoE(32e),不仅需要在 WeNet 代码基础上额外整合 FastMoE,还动用了 24 张 V100 的训练资源(训练天数未知),门槛相对较高,不是所有人都玩得起。而 WeNet 在越过了训练平权的山峰后,根据 Wenetspeech上微调 1.5B Whisper的结果,这个门槛如今已降到 8 张 3090 + 5天时间,而 MoE 模型的训练则会更快。

 

旧时王谢堂前燕,飞入寻常百姓家,这,就是语音大模型的平权。

公平,公平,还是tmd公平。

One More Thing

把 1B 级别的大模型优化到和 200M 级别模型相同 level 的 RTF 同时性能维持代差,我们吹的牛皮实现了。

枪有了,还缺子弹。

Scaling Law 不仅仅是 scale 参数量,还包括 scale 数据量,我们的下一站,是 WenetSpeech 2.0, 既授人以鱼,也会授人以渔

在 WenetSpeech 2.0 中,我们开源的数据量,将会有数量级的提升,而 WenetSpeech 2.0 也将不再单单服务于 ASR,会同时照顾 TTS 的需求。我们都知道,现在的 TTS 正处于日新月异的变革之中,然而其中万变不离其宗的,还是数据,idea is cheap,data is the king。

参考资料

[1]

Noam Shazeer, Azalia Mirhoseini, Krzysztof Maziarz, Andy Davis, Quoc V. Le, Geoffrey E. Hinton, and Jeff Dean, Outrageously large neural networks: The sparsely-gated mixture-of-experts layer, in 5th International Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. 2017, OpenReview.net.: https://arxiv.org/abs/1701.06538

[2]

You Z, Feng S, Su D, et al. Speechmoe: Scaling to large acoustic models with dynamic routing mixture of experts[J]. arXiv preprint arXiv:2105.03036, 2021.: https://arxiv.org/abs/2105.03036

[3]

Hu K, Li B, Sainath T N, et al. Mixture-of-expert conformer for streaming multilingual ASR[J]. arXiv preprint arXiv:2305.15663, 2023.: https://arxiv.org/abs/2305.15663

[4]

Wang W, Ma G, Li Y, et al. Language-routing mixture of experts for multilingual and code-switching speech recognition[J]. arXiv preprint arXiv:2307.05956, 2023.: https://arxiv.org/abs/2307.05956

[5]

Bai Y, Li J, Han W, et al. Parameter-Efficient Conformers via Sharing Sparsely-Gated Experts for End-to-End Speech Recognition[J]. arXiv preprint arXiv:2209.08326, 2022.: https://arxiv.org/abs/2209.08326

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3014838.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

有哪些岗位适合持有CISAW证书的人去申请?有哪些优势?

持有CISAW证书的人,原来有这么多高薪岗位可以选择! CISAW证书是信息安全领域的权威认证,持有该证书的人具备较高的专业能力和水平,可以胜任多种信息安全相关岗位。 马老师:13521730416 信息安全工程师是其中一类&…

【Qt】深入理解QWidget常用控件: enable属性、geometry属性和window frame属性

文章目录 前言:1. 什么是控件2. Qt中QWidget控件的常用属性及元编程QWidget 核心属性enable属性:geometry 属性 :window frame 窗口框架 总结: 前言: 图形化界面的开发常常需要使用各种控件,而Qt作为一个强大的跨平台GUI应用程序…

【iOS逆向与安全】网上gw如何自动登录与签到SM2,SM3,SM4算法加解密

1.下载 app 2.frida 调试 3.抓包查看接口 4.分析加密数据 5.易语言编写代码 1 .开始下载 下载好发现有越狱检测,检测点为: -[AppDelegate isJailBreak]; 于是编写插件xm代码 : %hook AppDelegate- (void)isJailBreak{NSLog("AppDelegate is…

【cpp题解】动态规划之爬楼梯 (70)

目录 前言我的思路思路一思路二 我的代码 前言 今天我来学一学动态规划,大二的时候学算法分析与设计,觉得算法是真难,有些高不可攀。现在大四了,其实今天稍微学了一下,简单的动态规划问题就和递归差不多,没…

linux虚拟机配置环境

1.配置虚拟机 在VMware中安装CentOS7(超详细的图文教程)_在vmware上安装centos-CSDN博客https://blog.csdn.net/qq_45743985/article/details/121152504 2.固定虚拟机ip地址 Vmware虚拟机Linux配置固定IP地址(详细版)_虚拟机固…

教你快速记录每日待办事项,并提醒自己按时完成不忘记

在忙碌的日常生活中,我们经常会面临待办事项繁杂、时间紧迫的困扰。为了更高效地管理时间和任务,我们需要一个能够快速记录并准时提醒我们完成待办事项的工具。此时,敬业签这类的待办软件就成为了很多人的首选工具。 敬业签是一款功能强大的…

HTML5+CSS3+JS小实例:旋转渐变光标

实例:旋转渐变光标 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale…

一般实现分布式锁都有哪些方式?使用 Redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

目录 1.Redis 分布式锁 &#xff08;1&#xff09;Redis 最普通的分布式锁 &#xff08;2&#xff09;RedLock 算法 2.zk 分布式锁 3.redis 分布式锁和zk分布式锁的对比 1.Redis 分布式锁 官方叫做 RedLock 算法&#xff0c;是 Redis 官方支持的分布式锁算法。 这个分布式…

24年最新AI数字人简单混剪

24年最新AI数字人简单混剪 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

Web 性能终极指南(点击即可跳转对应的内容界面,制作不易。给个关注谢谢。)

Web 性能&#x1f680;终极指南 #[HTML全文] #CSS的 #JavaScript的 #反应 点击即可跳转对应的内容界面&#xff0c;制作不易。给个关注谢谢。 有很多方法可以加快您的网站速度。难道你不希望每个网络性能提示都集中在一个地方吗&#xff1f;我也是这么想的&#xff0c;所以我把…

揭秘数据可视化:五款利器助力决策

在当今这个数据驱动的时代&#xff0c;数据可视化已成为企业决策、数据分析不可或缺的一部分。通过直观、生动的图形、图像&#xff0c;数据可视化能够更快速、更准确地传达信息&#xff0c;帮助企业洞察数据背后的价值。本文将为您介绍几款优秀的数据可视化工具。 一、山海鲸…

python 使用 MQTT

目录结构 1、py代码 offRelay12-yixing.py # _*_ coding: utf-8 _*_ # 须用到第三方库&#xff1a;paho-mqtt # 安装命令 python3 -m pip install paho-mqttimport time import json import paho.mqtt.client as mqtt# 函数&#xff1a;关闭所有房间的12路继电器模块上指定的…

原型模式类图与代码

现要求实现一个能够自动生成求职简历的程序&#xff0c;简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同&#xff0c;并尽量减少程序中的重复代码。 采用原型模式(Prototype)来实现上述要求&#xff0c;得到如图 7.25 所示的类图。 原…

王春城:精益变革对于组织的长期发展有什么好处?

众所周知&#xff0c;精益变革不仅仅是一种管理方法的改进&#xff0c;更是一种思维方式的转变&#xff0c;旨在消除浪费、提高效率和持续改进。那么&#xff0c;精益变革对于组织的长期发展究竟有什么好处呢&#xff1f;下面天行健王春城老师将从多个方面详细阐述。 首先&…

【承装修、试电力施工许可证申报指南】广西承装(修、试)电力设施许可证资质代办流程

【承装修、试电力施工许可证申报指南】广西承装(修、试)电力设施许可证资质代办流程 广西承装(修、试)电力设施许可证资质代办流程 在广西地区&#xff0c;承装、修、试电力设施许可证的资质代办流程相对复杂&#xff0c;但遵循一定的步骤和规定&#xff0c;可以确保流程的顺利…

Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案

文章目录 一、vue中使用el-table的typeindex有时不显示序号Table 表格显示索引自定义索引报错信息解决方案 二、vue中Missing required prop: “value” 报错报错原因解决方案 三、el-table的索引值index在翻页的时候可以连续显示方法一方法二 四、vue3中Element Plus全局组件配…

男士内裤品牌哪个好?口碑最好的男士内裤汇总

许多男士选内裤可能比较随意&#xff0c;但实际上作为长时间贴合身体皮肤的贴身衣物&#xff0c;经常会出很多汗。而普通的内裤会吸附很多汗水却不易干&#xff0c;导致细菌含量超标&#xff0c;摩擦力增强&#xff0c;容易造成破皮感染从而影响健康。 但是现在的男士内裤种类和…

充电宝哪个牌子好?比较好用充电宝牌子,这些品牌别错过

作为一个资深的手机控&#xff0c;深知手机对于现代人的重要性。从早到晚&#xff0c;无论是点外卖、看剧还是处理各种事务&#xff0c;手机几乎成了我生活的必需品。然而&#xff0c;手机电量的问题总是让人头疼。在家时&#xff0c;找个插座充电自然不成问题&#xff0c;但出…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

Baidu Comate:你的智能编码助手,编程效率倍增的秘密武器

Baidu Comate智能编码助手 Baidu Comate 智能编码助手简单介绍安装使用查看Comate插件功能智能代码提示使用飞浆和百度智能小程序进行智能问答使用AutoWork插件实现二次函数图像的生成引用Comate知识库存在的问题结束语 Baidu Comate 智能编码助手简单介绍 Baidu Comate&#x…