《017-舒卓.pdf》由会员分享,可在线阅读,更多相关《017-舒卓.pdf(13页珍藏版)》请在三个皮匠报告上搜索。
1、AI关键算子RVV性能优化舒卓Nuclei TechnologyContents:2024/10/8Confidential 2024 Nuclei.All Rights Reserved.2嵌入式 AI 框架Nuclei RISC-V V 扩展简介使用 V 扩展优化 AI 关键算子示例在 Nuclei Evalsoc 上实测的提升效果嵌入式 AI 框架2024/10/8Confidential 2024 Nuclei.All Rights Reserved.33嵌入式 AI 框架指专门为资源受限的嵌入式设备设计的机器学习框架。由于嵌入式设备资源有限,常见做法是采用 训练-推理分离,即在服务器
2、(多核CPU/GPU)上训练模型,然后在嵌入式设备执行模型推理。Nuclei 嵌入式 AI 框架2024/10/8Confidential 2024 Nuclei.All Rights Reserved.44Nuclei Core(with B/P/V)NMSIS NN LibraryTFLite-microTinyMaixMCUNetNuclei AI Software Platform语音识别动作识别人脸识别人脸检测手写数字识别动作检测Nuclei AI DemosNuclei AI LibraryNuclei 基于 tflm/tinymaix 等推理框架进行了适配,提供 NMSIS NN
3、 Library 以及 Nuclei AI Library 等库,用户可以轻松的获得RISC-V P/V扩展加速能力。Nuclei NN Library:基于 CMSIS-NN 进行深度 P/V 扩展优化链接:https:/ Nuclei AI Library:使用 V 扩展优化常见的AI算子链接:https:/ Nuclei AI demo:基于 Nuclei SDK 适配,上手简单,并提供丰富示例链接:https:/ RISC-V V 扩展2024/10/8Confidential 2024 Nuclei.All Rights Reserved.55Nuclei V 扩展特性:支持 RVV
4、 1.0 VLEN 长度(128/512/1024bit)可配 支持整数/定点/浮点运算 支持最新 RVV intrinsic(v0.12.0)用户可以使用 Nuclei 的 NICE 硬件扩展接口,添加自定义 Vector 指令嵌入式AI的几个关键算子-CNN网络2024/10/8Confidential 2024 Nuclei.All Rights Reserved.6CNN 网络典型的层:卷积层、激活层、池化层、全连接层等下图为 Alexnet 网络在 CPU 进行推理的 benchmark,由图可以看出,卷积层和全连接层占用了 89%的时间,如何高效地进行卷积层和全连接层的计算是提升深
5、度学习推理性能的关键点。图片来源于 Jia,Yangqing.Learning semantic image representations at a large scale.University of California,Berkeley 使用 V 扩展优化-GEMM2024/10/8Confidential 2024 Nuclei.All Rights Reserved.7GEMM算子:即通用矩阵乘,GEMM 是非常重要的算子。对于CONV2D 常用的优化方法是 im2col+GEMM 优化,而全连接也是特殊的 GEMM。使用 RVV 优化 GEMM 有如下几种方法:方法1:直接使用 R
6、eduction 指令使用 V 扩展优化-GEMM2024/10/8Confidential 2024 Nuclei.All Rights Reserved.8 方法2:使用 macc 指令,一次可以算多个点方法2有几个优点:1.Reduction 指令效率较低,应尽量避免使用2.充分”榨取”已经load的数据,减少 load 操作使用 V 扩展优化-Exp2024/10/8Confidential 2024 Nuclei.All Rights Reserved.9Softmax/Elu/Silu 等激活函数调用