MLPerf基准:阿里RISC-V处理器语音唤醒推理技术方案

简介: 4月7日,AI基准测试 MLPerf™ Tiny Benchmark结果公布,阿里巴巴在嵌入式语音唤醒场景中提交的方案较好地平衡了推理任务中的准确率与延时,保证准确率90.7%情况下耗时最短。

4月7日,AI基准测试 MLPerf™ Tiny Benchmark结果公布,阿里巴巴在嵌入式语音唤醒场景中提交的方案较好地平衡了推理任务中的准确率与延时,保证准确率90.7%情况下耗时最短。

本文介绍该方案在NN Compiler和RISC-V指令集等软硬一体加速技术方面的实践。


|| 基准测试情况


MLPerf Tiny Benchmark是针对IoT领域机器学习任务软硬件性能和算法优化能力的测试,自2018年由图灵奖得主David Patterson发起后,得到了各大云计算厂商、科研机构和高校的支持和参与。有别于Datacenter等大规模、高算力场景,Tiny方向聚焦于低功耗、高性价比的AIoT应用,包含语音唤醒等4个典型AI推理任务。目前 MLPerf™ Tiny 已经开展了两期(v0.5、v0.7)。

官方链接:

https://mlcommons.org/en/inference-tiny-07/

阿里方案结果代码:

https://github.com/mlcommons/tiny_results_v0.7/tree/main/open/Alibaba/code

(注:达摩院语音实验室本次以RISC-V芯片为硬件载体参与了语音唤醒推理任务)


|| 参赛情况统计


MLPerf™ Tiny 包含了四个不同的基准,提交者可以自行选择提交全部或部分基准的性能。以下是根据厂商、硬件及基准分类的结果统计。

图片.png

上表中“厂商”代表提交机构,“系统”是指一套硬件和软件共同组成的推理和部署系统。每个“系统”可以包含4个基准的部分或全部结果数据。本次 v0.7 结果与 v0.5 相比,参与厂商数量、系统多样性和数据点数目均有明显增加。


|| 语音唤醒推理加速方案


语音交互前端信号处理技术和方案研发是达摩院语音实验室核心技术方向之一,主要采用数理建模和数据驱动等方法论,具体包含基于空间滤波的多通道语音分离/增强(麦克风阵列技术)、基于深度学习的语音增强/回声抵消(AI降噪)、信号处理和统计建模(唤醒/识别)的端到端联合优化和音视频融合多模态信号处理等技术。


在此次基准测试中,达摩院语音实验室结合多年来在语音AI技术的全面积累,贡献了在语音唤醒KWS推理任务上「芯片-编译器-算法」全链路嵌入式AI技术的全栈工程实践。


首先,找到合适嵌入式应用的深度神经网络模型规模。借助阿里云震旦SinianML模型压缩技术进行多方位的优化,通过对模型施加动态的约束和诱导,调整模型的权重分布,促使模型的表达能力紧密汇聚在部分重要的参数之中,同时结合蒸馏、弹性伸缩等手段,实现在无损或极小精度损失的情况下,较大程度减小模型的计算量,挖掘模型的极限表达能力,从源头减少模型的计算复杂度。经过此轮优化,准确率保持不变,参数量下降了69.8%,为计算量优化打下扎实的基础。模型参数压缩结果如下:

图片.png

 

其次,通过图优化等编译技术优化模型推理静态图。通过平头哥模型部署工具集HHB(Heterogeneous Honey Badger)将模型生成C代码形式的图结构,HHB 基于 TVM 开源框架,支持 Caffe, TensorFlow,ONNX和 TFLite 等框架导出的网络模型,将其统一转换为统一的中间表达式,并在此基础上完成神经网络模型的图优化工作。具体细节可以参考:https://gitee.com/hhb-tools


最后,结合语音唤醒推理优化的算法领域知识,采用达摩院语音实验室自研嵌入式信号处理和神经网络加速框架和平头哥CSI-NN2汇编函数库,进一步提升模型推理过程中的存储访问效率和RISC-V处理器向量计算能力。硬件依赖的图优化和指令集加速等优化技术逐步接近硬件底层,优化结果依赖于处理器本身的设计、开发者对算法和芯片架构的深入理解。经过细致的调优,我们取得的最终加速结果如下:

图片.png



|| 技术应用场景


在语音AI场景,达摩院语音实验室联合平头哥等部门,打造基于RISC-V玄铁C906核的语音交互AIoT模组,服务于天猫精灵等内外部客户,为音箱、售票机、扫地机、车载和面板等品类产品插上智能化的翅膀,让用户实现「动口不动手」的便捷生活。

本次测试中,达摩院语音实验室的软硬一体联合优化技术,让回声消除、盲源分离、语音降噪和语音唤醒等高复杂度端侧语音AI前沿算法,在资源极致严苛的嵌入式芯片上得以实现,算法内存开销低至1M字节,运行功耗低于100mW,从而可以为客户整机降低一半以上的模组成本,并依然保持高性能的算法体验。

语音交互 AIoT 模组作为AI技术「被集成」的典型案例,结合开放的玄铁RISCV处理器生态,面向自然人机交互和沉浸式人人通信应用,将为更多的智能设备带来低功耗和高性价比的AI能力。


参考资料:

MLPerf Tiny Benchmark

https://doi.org/10.48550/arXiv.2106.07597

https://mlcommons.org/en/news/mlperf-tiny-v05/

https://www.163.com/dy/article/GQ9VV29O0511DSSR.html

https://blogs.nvidia.com/blog/2019/11/06/ai-inference-mlperf-benchmarks/

相关文章
|
机器学习/深度学习 监控 安全
深度学习在图像识别领域的最新进展与挑战
【10月更文挑战第1天】深度学习在图像识别领域的最新进展与挑战
|
网络协议 网络虚拟化 Python
配置BGP/MPLS IP VPN示例——详解版
本文介绍了BGP/MPLS IP VPN的配置示例,分部1与分部2只能和总部通信,不能互相通信。通过MPLS VPN实现分部与总部间的通信,使用BGP协议传递路由。配置包括接口IP地址设置、OSPF域内互通、PE上的VPN实例配置、MP-IBGP配置、PE与CE间EBGP对等体关系建立、MPLS及MPLS LDP功能配置,并验证了配置结果。最终测试显示,同一VPN下的CE设备可相互Ping通,不同VPN下的CE设备则不能。
配置BGP/MPLS IP VPN示例——详解版
|
Web App开发 Rust 前端开发
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
【一起学Rust | 框架篇 | Tauri2.0框架】Tauri App开启远程调试功能
1647 0
|
存储 缓存 运维
阿里云经济型e与通用算力型u1实例性能、适用场景及常见问题
在阿里云的众多云服务器实例类型中,经济型e和通用算力型u1实例因其高性价比和广泛的适用性而备受青睐。2024年经济型e实例2核2G3M带宽40G ESSD Entry盘99元1年,通用算力型u1实例2核4G5M带宽80G ESSD Entry盘199元1年,本文将深入解析这两种实例的性能特点、适用场景以及购买建议,以供参考。
阿里云经济型e与通用算力型u1实例性能、适用场景及常见问题
|
机器学习/深度学习 自然语言处理 达摩院
如何用一套语音识别系统实现多语种混合自由说?
语音识别技术,也被称为自动语音识别 (Automatic Speech Recognition,ASR),其目标是将语音转成文字。
2149 0
如何用一套语音识别系统实现多语种混合自由说?
|
机器学习/深度学习 算法 数据挖掘
7个最新的时间序列分析库介绍和代码示例
时间序列分析包括检查随着时间推移收集的数据点,目的是确定可以为未来预测提供信息的模式和趋势。我们已经介绍过很多个时间序列分析库了,但是随着时间推移,新的库和更新也在不断的出现,所以本文将分享8个目前比较常用的,用于处理时间序列问题的Python库。他们是tsfresh, autots, darts, atspy, kats, sktime, greykite。
9816 1
7个最新的时间序列分析库介绍和代码示例
|
存储 关系型数据库 数据库
服务器数据恢复—ESXi无法识别原数据存储和VMFS文件系统的数据恢复案例
一台某品牌服务器,通过FreeNAS来做iSCSI,然后使用两台同品牌服务器做ESXi虚拟化系统。 FreeNAS层为UFS2文件系统,使用整个存储建一个稀疏模式的文件,挂载到ESXi虚拟化系统。ESXi虚拟化系统中有3台比较重要的虚拟机,这几台虚拟机情况如下: 1、windows server操作系统,运行门户网站,采用ASP.net+PHP混合构架,部署的SqlServer和mysql数据库 。 2、FreeBSD操作系统,运行Mysql数据库,供其他多台虚拟机使用。 3、windows server系统,存放新开发的程序代码。
|
Java 测试技术 Maven
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
【2月更文挑战第11天】《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程) 是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
830 3
|
中间件 API 数据库
uni-app 25后端api开发和前后端交互(1-50)
uni-app 25后端api开发和前后端交互(1-50)
374 0
uni-app 25后端api开发和前后端交互(1-50)
|
SQL XML 存储
SpringBoot集成MybatisFlex
MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。 MyBatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于业务上的事情。 通俗来说,Mybatis-Flex 就是对Mybatis 这个orm框架的扩展,地位类似与MybatisPlus。
2996 0
SpringBoot集成MybatisFlex

热门文章

最新文章