以下文章来源于智东西 ,作者韦世玮
看点:AI开源抢位赛再次开打!“Tengine”AIoT开发平台如何助攻产业落地?
最近,国内的人工智能(AI)开源生态突然热闹了起来,这厢清华大学刚开源了一个强化学习平台,那边华为和旷视又相继开源了AI计算和深度学习框架。
从学术界到产业界,“开源”已经成为一个AI领域的关键词。作为计算机行业发展至新兴阶段的现象之一,开源为AI行业的百花齐放提供了不可或缺的动力。
一方面,它从授人以鱼到授人以渔的转变,为AI构建了一个开放共进的生态环境,并帮助行业加速AI应用落地;另一方面,它在解决行业实际问题时持续更新和迭代,亦源源不断地给AI领域输送重要的技术养料和创造力。
在这一股股重要的开源力量中,OPEN AI LAB的Tengine值得关注。
这家诞生于2016年12月的初创公司,经历三年多的发展,已经连续推出面向AIoT边缘计算的AI推理加速框架Tengine、一站式端到端解决方案平台Tengine2等平台级产品,推动边缘AI算力、算法及行业方案等环节的深度协作,加速AI技术在细分行业的商业化落地。
近日,智东西与OPEN AI LAB联合创始人兼CTO黄明飞做了一次深度对话。对话中,黄明飞还透露,Tengine与开源社区大咖OpenCV有深度合作,通过Tengine普及更多的开发者,惠及更广的行业应用部署。
“Tengine”究竟是什么?光芒背后,OPEN AI LAB又以怎样的定位,投身正在起步的中国AI开源生态?同时,与OpenCV的合作之于AI开源生态又有怎样的意义和影响? (OpenCV 4.3.0发布,OPEN AI LAB AIoT智能开发平台Tengine与OpenCV合作共同加速边缘智能)
▲OPEN AI LAB联合创始人、CTO黄明飞
01中国AI开源浪潮背景之下,AIoT激烈的落地战
自谷歌深度学习框架TensorFlow拉起开源大旗后,AI的框架开源逐渐成为学术界和产业界的趋势。
TensorFlow之外, Keras、PyTorch、Caffe、Theano、PaddlePaddle、Angel、XDL等AI框架和平台,相继发展成开源项目,分别吸引了一批开发者。
实际上,AI框架和一系列智能开发平台的开源,与近年来AI面临的落地挑战息息相关。
当下各行各业看似皆可“AI化”,但如何为纷繁复杂的实际应用场景提供有效的解决方案,AI框架和平台无疑被承载了最大期望,向上要承载不同的算法模型和应用程序,向下要兼容各类芯片和计算机操作系统。
通过开源吸引上下游广泛的参与,社区型协作共同发挥作用让技术迭代更迅速,应用更广泛,最终实现产业共同繁荣。与此同时,以5G为代表的物联网(IoT)通讯技术快速发展, AI与IoT融合成智能物联网(AIoT)。
在黄明飞看来,由于AIoT技术在行业的普及对低成本、实时性低功耗、高可靠性的需求,以及隐私安全等问题的浮现,AI计算正从云端下移到边缘节点中,如智慧交通、自动驾驶、智能家居和城市大脑等领域,数以亿万计的边缘节点和终端设备需要实现本地智能化,称之为边缘AI计算。
边缘计算的需求对硬件成本、功耗、兼容和易用性提出了较大的挑战,硬件上面临着芯片种类复杂、算力利用率低,软件开发环境复杂、兼容性差等关键问题。
黄明飞谈到,如何能简单快速地实现AI算法模型从云端向下迁移到边缘节点部署,充分发挥边缘节点上的芯片算力与硬件性能,已成为AI在行业落地和规模部署经济性的关键所在。
在这一背景下,OPEN AI LAB的边缘AI推理框架Tengine备受关注。
02 Tengine的核心能力及产业赋能
(一)Tengine是什么,解决什么问题?
“如果简单来形容,它就是一个嵌入式的AI推理框架,帮助算法开发者解决在AI快速产业化落地中遇到的各个瓶颈难题。”黄明飞说到,相比业内系列框架,Tengine有两个特点,一是物理位置层面,其所关注的重点是嵌入式设备,也就是海量的AIoT应用设备,而非服务器集群;二是业务模式层面,重点在于推理,并非训练。
从架构上看,Tengine自上而下主要可分为模型兼容层、基础工具链、模块化架构层、操作系统层、异构计算层五大框架层级,具有跨算法框架兼容、跨芯片适配、算力异构调度加速、轻量无依赖、一致性开发移植部署工具链几大核心能力,以有效提升AI生产力。
1、跨OS/算法框架适配
随着AI在产业、学术界的快速发展,市面上主流的算法训练框架蓬勃发展,如TensorFlow、Caffe、PyTorch、MXNet、ONNX、PaddlePaddle等以其各自的优势,在行业中获得广泛使用。
但对于开发者而言,训练只是第一步,训练后获得推理模型的有效部署才是解决场景问题的关键,快速的硬件平台迁移及高效部署已经成为AIoT产业快速发展的掣肘。
Tengine目前广泛支持市面上主流的模型格式,如TensorFlow、Caffe和MXNet,并且通过ONNX模型实现了对PyTorch和PaddlePaddle的支持,让开发者能更自由地选择训练框架,降低了面对不同硬件和场景而迁移平台的成本。
在操作系统层面,由于AIoT场景的差异化及非收敛性,Android、Ubuntu、RTOS等各有其适配的产品形态,Tengine同样在OS层面进行了兼容适配,以简化AI开发者的开发流程。
2、跨芯片平台适配
算法框架及操作系统之外,一个更为大众所津津乐道的就是芯片的发展。
当下AIoT芯片发展百家争鸣,不同场景需求、性能需求、功耗需求、成本需求,带来的是芯片厂商的芯片系列的广泛定义,这也是AIoT产业蓬勃发展的重要特征。
但芯片的持续创新迭代,对于开发者,特别是占据市场创新能力大半的中小型团队来说,算法开发、芯片适配、动态资源调度、性能调优往往依赖于庞大且冗余的技术栈能力,直接导致产业化窗口把握、开发成本居高不下、决策周期长等一系列问题。
为了助力产业提速增效,Tengine为开发者提供跨硬件设备的统一开发平台,在不同硬件设备上的API都尽可能保持一致,帮助开发者以一致的方式实现对不同芯片的有效调用适配。
开发者仅仅需要通过Tengine API,就能充分调用包括MCU、Arm Cortex-A/M系列处理器、Arm中国周易AIPU,以及海思NNIE、瑞芯微RK3399Pro NPU等等在内的芯片算力。
3、异构/加速支持,芯片有效性提升
业务跑通是第一步,跑得快跑得好才是芯片优势的核心体现。
Tengine通过异构计算技术,能够帮助开发者同时调用CPU、GPU、DSP、NPU等不同计算单元的运算资源,进一步提升芯片有效性,以完成AI网络计算。
4、超轻量无依赖
在AIoT非常多场景中,考虑功耗、成本等要素,往往对于资源的分配极为苛刻,不依赖外部库很多时候会成为工程化场景的一大诉求。为此,OPEN AI LAB专为嵌入式神经网络推理设计了一个HCL vision的图像处理库,拥有常见图像处理算子,以满足神经网络推理前后处理需求。
通过对框架设计进行一系列的简化和轻量处理,Tengine最小程序体积能达到300KB,在MCU上最小体积为20KB,并且自带视觉、语音的前后处理
函数,对额外资源的占用进一步优化,提升芯片的适用范围和潜力。
5、全栈部署移植支持
AI产业化的难点,往往不是一个技术单点,而是一套体系化的工作,最终成效亦不取决于长版有多长,而是取决于短板有多短。
Tengine从诞生至今,已开发出具备量化训练工具、调试工具、模型库、编译器等工具在内的完整工具链,能进一步满足开发者的各类高精度应用需求。
(二)Tengine的前世今生
不难看出,其实Tengine与国内外大多数开源的深度学习框架和平台定位是不同的。
目前,国内大多数公司和机构的开源框架和平台,更多是涉及机器学习、深度学习、自然语言处理和数据科学等领域,但针对AIoT领域嵌入式设备进行开源的框架和平台少之又少,在商业领域同样鲜少出现。
2016年,虽然AI的主要应用方向还是在云端,但已开始出现AI从云端往设备端迁移的趋势。黄明飞谈到,OPEN AI LAB曾尝试使用TensorFlow、Caffe等开源框架,对嵌入式设备应用进行开发和设计,但却无法充分发挥其AI性能。
“它们无论是尺寸,还是优化设计,都不是围绕着嵌入式端来设计的。”黄明飞坦言,如果要去改动这些框架,实际上是非常困难的一件事。
为了更好的做到行业赋能与生态协同,OPEN AI LAB投入到嵌入式AI推理框架的研发中,自此Tengine诞生。
2017年,OPEN AI LAB正式在Github上发布第一个Tengine版本。至今,Tengine已经经历了4个大版本的升级,并在这一系列的迭代和更新中,Tengine也逐渐形成了自己的体系化能力及优势。
随着Tengine开源的发展和推动,它已经成功帮助智慧城市、公共交通、智慧车载、工业智能、智慧养殖、消费电子和智能家居等多个领域的企业,实现了广泛的行业落地和应用。
例如,面向智慧停车管理方向的合作伙伴,利用Tengine开发了AI+停车模式,能够识别有牌车与无牌车,以及车牌、车型、车身颜色、车内人脸等420多种车辆及车辆附属物品。
Tengine作为国内自主知识产权的商用级AIoT智能开发平台,从短期看,它不仅能帮助开发者在开发过程中,进一步提升算法移植和部署效能;从长期看,它的开源也将为打破AIoT产业壁垒,快速整合上下游以实现AIoT产业的落地和应用,为丰富全球AI开源生态提供了重要的推动力。
(三)Tengine开源与商用的双螺旋
“实际上,Tengine需要面对两个方面,一是开发者,二是行业客户。”黄明飞谈到,开源不是商业行为,但OPEN AI LAB作为一个创业公司,在满足开发者需求的同时,仍需要面向行业客户而生存。
但也因为这一特殊性,Tengine的发展也逐渐形成一个产业与开发者双向“反哺”的过程。
“在过去两三年里,Tengine主要优先解决行业客户的问题。”在黄明飞看来,行业客户所面临的问题具有代表性,能够从系统的角度来帮助改进Tengine。随着研发人员在满足客户需求的前提下不断调整Tengine,OPEN AI LAB又将Tengine的开源版本进行迭代,从而反哺到开发者。
“开发者所提出的很多问题对改进Tengine很有价值。”黄明飞说到,在未来一年里,OPEN AI LAB也将进一步把开发者和商业客户放到同等重要的层面,与开发者共同将Tengine演进成更优秀的开源项目。
(四)Tengine到Tengine2,为广泛的行业赋能
基于Tengine的推理框架和异构计算,OPEN AI LAB还推出了面向行业应用的AI全栈赋能解决方案平台——Tengine2。
在Tengine基础之上,更加广泛的帮助行业伙伴,实现行业智能化业态升级,涵盖了数据、训练、评测、调优、端侧部署等开发部署流程,其底层推理框架和异构计算由Tengine支持。
03联合OpenCV合作发布,未来展望
黄明飞在与智东西的交流中谈到,目前OPEN AI LAB研究团队的研究重点,仍主要集中在开源平台Tengine,以及一站式AI端到端平台方案Tengine2的更新和演进上,已形成一支百人规模的研发团队。
1、强强联合,助力开源
黄明飞透露,本月初,OPEN AI LAB与老牌跨平台计算机视觉库OpenCV已联合发布新版本,让OpenCV开源社区生态更全面和丰富,也让Tengine能够面向更广泛的全球开发者。
近期,据IT开发者社区CSDN汇总国内外AI工具框架关键词,并基于实际数据梳理的《中国 AI 应用开发者报告》,目前在国内的AI开发者中,Tengine成为最受国内AI开发者欢迎的本土AI工具框架。
▲受中国AI开发者欢迎的全球AI工具框架排名(数据来源:CSDN)
OpenCV主要针对云端应用,能够运行在Windows x86或Android等操作系统上,并提供Python、Ruby等多种语言接口,帮助开发者实现图像处理和计算机视觉(CV)领域的诸多通用算法。
但随着AIoT产业的发展,OpenCV亦逐渐需要一个专门面向嵌入式端而开发的开源框架和平台。
“让Tengine成为OpenCV的一部分,深度融合助力开源,在全球开发者开发嵌入式计算机视觉,对深度学习产生需求时,能够使用Tengine,并一起开发Tengine。”黄明飞说到。
从产业角度看,这次合作也将推动AI赋能产业的步伐,进一步加快AIoT行业智能化建设的节奏。“这是我们Tengine面向全球化开源进程中的重要一步。”黄明飞表示,今年是OPEN AI LAB将开发者放在与行业客户同等重要的一年,需要更多开发者与公司共同开发Tengine,共同带来更多的创新和进步。
2、未来挑战及思考
随着AIoT市场和应用场景的扩大,行业亦对Tengine提出了新的需求。黄明飞谈到,目前行业并非巨头独大,GPU、NPU和ACAP等底层芯片仍在层出不穷地出现,各类算法与AI训练框架百花齐放。
因此,如何更广泛地支持异构的动态调度,充分发挥芯片性能,降低开发、迁移和部署的成本,让开发者和行业用户能更简单灵活地使用,这些都给Tengine带来了诸多挑战,亦是Tengine和Tengine2未来不断演进的方向。
尽管国内AI开源生态的发展仍在起步阶段,但黄明飞认为,“要想做好开源,除了思考商业策略、开源切入点、生态环境,还需注重开源服务和战略定力。开源不仅仅为了建立自身生态,还需要考虑我们为开发者带来了什么选择,解决了什么问题。”
现阶段,OPEN AI LAB的基本工作仍是要把Tengine做好,为开发者提供更丰富的内容和工具,让开发者享受更加简单灵活的开发体验的同时,也与OPEN AI LAB一同为开源生态做出更好的贡献。
问及关于更远未来,“Tengine的未来是一个很大的话题,也许明年我们再讨论开源的时候,会有一个更明确的答案告诉你。”黄明飞笑着回答。
结语:加速我国AIoT产业落地的AI开源“领军力量”
随着AIoT产业和AI技术的发展,AI开源已经成为加速行业创新和落地的一个重要推动力,并且AI产业与科研、国家建设发展的结合也愈发紧密。
Tengine作为我国AI开源大军中的一股重要力量,它的开源对于AIoT产业,特别是在跨芯片适配、异构加速、框架兼容、全栈工具链等方面,对于加速产业上下游融合,更好地分工协同,起着不可小觑的作用。
与此同时,Tengine和OpenCV的合作,不仅丰富了全球AI开源生态,为全球开发者带来更多的开发工具选择,同时也让国外看到了中国AI开源发展的决心和力量。
开源所赋予行业的意义,远不止是技术、应用的落地和发展,它更多代表了科技的创新力和生命力。随着我国将AI、IoT和大数据等技术的发展提到国家层面,支持和引领着AI产业的发展,我国的AI开源生态在这场变革的浪潮下,也将拥有更广泛的未来与前景。
(本账号系网易新闻·网易号“各有态度”签约帐号)
OpenCV4.3.0 Change Logs
https://github.com/opencv/opencv/wiki/ChangeLog#version430
点击获取Tengine开源版本
https://github.com/OAID/Tengine
开发者技术交流群人数突破千
(群号:829565581),
群里各位大佬坐镇,
日常技术讨(shui)论(qun),
期待你的加入~~