Tengine,可能是最好用的Arm嵌入式系统AI框架了!

本文作者:Arm       点击: 2018-09-14 14:25
前言:
边缘AI应用正处于大规模落地的前夕,巨大的IoT市场和革命性的AI技术产生的剧烈交互将带来前所未有的应用革命和商业机会。那么在边缘设备部署AI应用的瓶颈都有哪些?

 有人有现成的芯片和应用场景,却为缺乏算法和平台苦恼。
 有人有自己的算法,却为缺乏一个好用的嵌入式跨平台框架而苦恼。
 有人有自己的算法和硬件平台,却为嵌入式平台有限算力苦恼。
OPEN AI LAB看到了业界痛点,顺应市场需求推出了专为嵌入式平台设计的AI推理框架——Tengine。
 
专门针对Arm嵌入式设备优化的神经网络推理引擎
OPEN AI LAB于2016年12月成立,由Arm中国联合产业伙伴发起,致力于推动芯片、硬件、算法、软件整个产业链的深度合作,加速人工智能产业化应用部署和应用场景边界拓展。Tengine便是一款轻量级模块化高性能的神经网络推理引擎,专门针对Arm嵌入式设备优化。完美支持Arm平台,支持Arm Cortex CPU,Arm Mali GPU,Arm DLA,第三方DSP,堪称兼容“全能王”。
 
而开发者可以使用Tengine一网打尽主流框架模型和嵌入式操作系统,还能异构调度平台里的各类硬件,充分利用硬件算力。此外,Tengine还提供了常见AI应用算法,包括图像检测,人脸识别,语音识别等。不懂AI没关系,上手就能跑AI应用。Tengine同时还支持各类常见卷积神经网络,包括SqueezeNet,MobileNet,AlexNet,ResNet等,支持层融合、8位量化等优化策略。并且通过调用针对不同CPU微构架优化的HCL库,将Arm CPU的性能充分挖掘出来。
 
 
Tengine的“发动机”——HCL计算库
有人说NCNN是一个为手机端极致优化的高性能神经网络前向计算框架,从设计之初深刻考虑手机端的部署和使用。在过去,NCNN确实是这样的,只是那时候还没有Tengine。
 
现在,HCL计算库作为Tengine的插件,是性能最快的Arm CPU NN计算库,并且支持动态8位量化计算,精度几乎不变,相比于NCNN最快能带来2-3倍的性能提升,内存使用减少为三分之一。
 

 
*Tengine性能数据A72,A53性能基于RK3399平台测试,A17性能基于RK3288平台测试
NCNN数据为2018年9月7日
 
HCL INT8量化计算精度变化
 

FP32

INT8

Diff

 

TOP1

TOP5

TOP1

TOP5

TOP1

TOP5

MobileNetv1

67.86%

87.60%

66.40%

86.44%

-1.46%

-1.16%

SqueezeNet

57.86%

79.86%

57.80%

79.92%

-0.06%

0.06%

GoogLeNet

68.48%

88.82%

68.70%

88.82%

0.22%

0.00%

ResNet50

71.60%

89.90%

71.60%

89.86%

0.00%

-0.04%

*采用ILSVRC2012_VAL数据集测试5000张图片得到量化精度测试结果如下
 
Tengine + HCL,不同人群的量身定制
Tengine作为AI 应用框架,不仅对上层应用提供推理API接口,支持主流模型与格式,还在下层定义硬件接口,适配嵌入式平台各类计算模块,此外支持同时运行多个AI应用算法以及调用多个计算模块计算。因此,Tengine的面世对AI开源生态具有里程碑的意义。有了Tengine,应用和算法厂商可以摆脱复杂的嵌入式平台适配工作,配合HCL直接挖掘硬件的全部潜能;有了Tengine,芯片厂能够站在Arm 嵌入式AI生态的肩膀上,以最快的速度顺利将芯片推向市场,在边缘AI应用中部署。作为OPEN AI  LAB为边缘AI应用部署开发的两大利器,Tengine + HCL将助力嵌入式人工智能产业加速向前推进,为最终实现万物智能贡献力量。