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

简介: 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 包含了四个不同的基准,提交者可以自行选择提交全部或部分基准的性能。以下是根据厂商、硬件及基准分类的结果统计。

image.png

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


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

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

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

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

image.png

 

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

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

image.gif

image.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/

目录
相关文章
|
缓存 Java C语言
嵌入式 LVGL移植到STM32F4
嵌入式 LVGL移植到STM32F4
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
83488 1
|
2月前
|
安全 Java 开发者
Java集合框架:详解Deque接口的栈操作方法全集
理解和掌握这些方法对于实现像浏览器后退功能这样的栈操作来说至关重要,它们能够帮助开发者编写既高效又稳定的应用程序。此外,在多线程环境中想保证线程安全,可以考虑使用ConcurrentLinkedDeque,它是Deque的线程安全版本,尽管它并未直接实现栈操作的方法,但是Deque的接口方法可以相对应地使用。
133 12
|
11月前
|
人工智能 C++ iOS开发
ollama + qwen2.5-coder + VS Code + Continue 实现本地AI 辅助写代码
本文介绍在Apple M4 MacOS环境下搭建Ollama和qwen2.5-coder模型的过程。首先通过官网或Brew安装Ollama,然后下载qwen2.5-coder模型,可通过终端命令`ollama run qwen2.5-coder`启动模型进行测试。最后,在VS Code中安装Continue插件,并配置qwen2.5-coder模型用于代码开发辅助。
18482 7
|
机器学习/深度学习 人工智能 算法
技术开源|FunASR升级第三代热词方案
技术开源|FunASR升级第三代热词方案
3101 62
|
人工智能 算法 前端开发
如何使用ModelScope训练自有的远场语音唤醒模型?
本文介绍魔搭社区中远场语音增强与唤醒一体化的语音唤醒模型的构成、体验方式,以及如何基于开发者自有数据进行模型的定制。
1217 0
如何使用ModelScope训练自有的远场语音唤醒模型?
|
Ubuntu 开发工具 git
ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed
本文提供了一个解决Ubuntu 14.04系统上使用Git时遇到的"gnutls_handshake() failed: Handshake failed"错误的脚本,通过替换git的默认加密传输库gnutls为更稳定的openssl,并指导如何编译安装新版本的git来解决问题。
610 0
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
802 9
|
Cloud Native 安全 数据中心