近来做模型移植,接触到移动端推理框架,做一个总结:
1. Android NNAPI:一个基于安卓系统的可在移动设备上运行与机器学习相关的计算密集型操作的C语言API,NNAPI降为更高层次的构建和训练神经网络的机器学习框架(Tensorflow Lite,Caffe2等等)提供底层支持。这些API将会集成到所有的Android 8.1(以及更高版本)设备上。NNAPI高几层的系统架构如下图所示:
2. TFLite GPU: TFLite 移动端GPU加速,目前只支差Android 和iso。详见 官方文档
3. Hexagon NN:高通数字信号处理器的神经网络框架。付一段网络大神的说明:
众所周知,DNN的崛起在于GPU的广泛使用。为什么高通要为自家的DSP开发tensorflow套件。在移动环境中,DSP之于移动GPU的优越性在哪里呢?
答:深度学习的NN模型,在移动端,特别是手机端的运算速度和功耗都是非常高的,如果有硬件支持,则速度和功耗都会得到很大的优化。所以tensorflow对dsp的优化是非常必要的。而且在inference的时候,一般情况下8bit int的运算就够了,这正是dsp最擅长的计算。移动端的gpu是针对图形计算优化的,更多的是浮点运算,在api接口上,目前只有opencl等,在速度和开发支持上都还不够。
------小米语音识别负责人 高鹏
DSP(Digital Signal Processors, DSP,如 Hexagon DSP)数字信号处理器,大多数现代手机所采用的微处理器。这些芯片专为改善通信和加快多媒体处理而开发,可以大幅提升移动设备 / 边缘设备上的模型推理速度。此外,DSP 通常也比 GPU 更具能效,而这一点对解锁依赖低功耗使用场景的用例至关重要。
骁龙处理器(Qualcomm Snapdragon)是美国高通公司为移动设备所推出的处理器系列平台名称。
3. Samsung Eden delegate: 三星的移动端推理框架。来自网友的一段解释“Qualcomm对quantized走的是Hexagon Delegate;FP类型走的是GPU Delegate。Samsung的Quantized与FP类型走的都是其Eden Delegate。” 相关博客
4. MediaTek Neuron delegates:MTK神经网络代理,贴一段相关说明。