商汤OpenPPL开源高性能深度学习推理引擎,打通 AI 应用最后一公里

发布时间:2021-08-6 阅读量:3313 来源: 我爱方案网 作者: 我爱方案网整理

开源是推动人工智能技术进步的重要力量,从学术界到工业界,「开源」已然成为人工智能领域的一个关键词。


一方面,以OpenMMLab为代表的开源算法体系持续地「授人以渔」,构建了最坚实的AI生态基础;另一方面,在行业的AI应用落地中,算力侧的加速和优化愈发重要,而开源集结了企业和社区的共同力量,源源不断地向业界输送着技术源动力。


今天给大家介绍一位新的老朋友:OpenPPL开源高性能深度学习推理引擎


它是今年世界人工智能大会(WAIC)期间,商汤科技正式对外发布的一个开源项目,旨在将深度学习推理部署引擎中云端推理的能力开放给技术社区,从而帮助加速AI技术的应用和普及。


PPL是ParrotsPrimitiveLibrary的缩写,最开始是作为商汤自研深度学习训练框架SenseParrots的基础算子优化库的定位诞生的,如今PPL的作用发生了较大变化,但名字沿用至今。


45.jpg

官网:https://openppl.ai/


说它是新朋友,是因为才开源不久,而说它是老朋友,是因为已经在商汤内部使用多年。


▎把推理交给OpenPPL,把时间还给思考


对于AI从业者而言,深度学习相关的平台并不陌生,PyTorh、TensorFlow等都有大范围的使用,商汤也有自己的深度学习训练框架SenseParrots。那OpenPPL有什么用呢?


我们从一个AI应用的诞生说起。


46.jpg


从整个开发链路来看,一般会经过数据采集和算法模型设计,并产出需要的算法模型;模型经过压缩与转换后,使用AI推理平台做推理;最后产品落地去使用。


不难看出,这个过程中有两步很关键:训练与推理


在训练阶段,开发者需要将数据集「投喂」给算法以训练神经网络,比如分辨图像里的动物是一只猫还是一只狗,最终形成一个业务所需并且训练有素的算法模型。


推理则是用经过训练的模型,对新的数据进行预测,比如拿一张训练时没用过的新的图片,去分辨里面是猫还是狗。完成推理这一步,才算是人工智能技术落地应用的开始。


但要高效地部署模型,并不是一件那么容易的事。训练时可能只考虑模型效果好,但推理部署时不仅要考虑模型推理的效果,还要注意性能、运行速度等方面;又或者推理部署时使用的设备,与训练时的会不一样,从而达不到想要的效果。这就好比说,一个没有做多设备适配的App,很难指望它可以流畅地运行在各种手机上,即使安装上了,体验也可能不好。


作为AI应用落地最关键的一环,推理引擎OpenPPL的作用就是让经过训练的模型可以更高效地运行起来,给开发者提供更好的人工智能推理服务。


而且OpenPPL背后的技术,已在商汤内部使用和打磨多年,久经实战,积累了丰富的技术和业务实践。


OpenPPL源自商汤内部的计算与推理引擎SensePPL,后者是SenseCore商汤AI大装置的重要组成,可以将AI推理芯片的强大算力充分发挥出来,是人工智能应用落地的重要基础,已经支持了商汤在智慧医疗、智能遥感、AR等领域的行业应用。


▎为什么要开源OpenPPL


在AI应用的整个价值链条周期中,只有当算法模型真正地在终端设备中运行起来,才能发挥其价值。


因此,当商汤科技开源了OpenMMLab算法体系后,推理部署侧能力的开源便提上了日程。我们要构建一个完整的技术生态,就需要给到社区和更广大的用户一个完整的能力,这个能力包括训练以及其后的推理。


OpenPPL开源后,结合OpenMMLab,这就使得超过160+算法和超过1300个预训练模型能更好地被开发者所使用,创造出更有创意的AI应用,让AI赋能百业成为现实。


纵观OpenPPL的开源史,其在技术与应用上一直走在前列,我们也希望与业界共享这种能力。


早在2016年初SensePPL就加入了对Winograd算法的实现,使其在端侧具备初步可用性,并帮助业务侧实现了端侧人像检测,追踪,关键点等算法,在FaceU等App中集成,使实时美颜特效这个功能一鸣惊人,开创了手机拍照,视频娱乐的人工智能时代。


紧随其后的2017-2018年,SensePPL适时加入了对移动端GPU,以及若干种端侧DSP的支持,性能一度领先厂商自己提供的推理库。并在2018年某品牌手机内部,集成了SensePPL,在App市场上做到了最高80%的市场占有率。SensePPL的总部署设备量过亿


到了2019年,研发团队的关注重点逐渐从端侧转向云和服务器,SensePPL开始了对各种AI加速器和云端GPU的支持。目前在单batch模型推理领域,部分模型的性能可以超越TensorRT的较新版本,大幅领先onnxruntime等开源平台,同时我们已在不同程度支持了多种AI加速器,包括了昇腾,寒武纪等知名国产加速器品牌。


当决定反哺技术社区,选择开源之时,为了能让更多开发者顺畅使用我们的推理引擎,我们决定为开源的SensePPL版本选择一个业界通行的标准——onnx模型格式,并为此重构了SensePPL的核心框架。


新的PPL因开源而生,我们称之为「OpenPPL」,预示着拥抱开源,拥抱业界的标准化建设。


47.jpg

GitHub:https://github.com/openppl-public


▎一起玩转OpenPPL


对于开发者来说,一个工业级引擎的开源无疑是让人兴奋的,而它是否有意义则在于能否持续地为我们带来增益。


目前,OpenPPL已发布v0.1版本,支持主流的x86CPU和NVGPU,这两个架构基本能覆盖云和服务器领域相当一部分的部署需求。未来一年内,我们会大幅完善OpenPPL,达到商业化可用版本。


OpenPPL项目负责人也告诉商汤君,OpenPPL会吸收业界的需求,长期维护并完善算子的种类,模型支持的类型,并将长期优化模型推理全链条。除了模型本身的推理以外,模型前后处理,Serving等技术也会陆续引入。


这是一个新的开始,无论你是入门推理部署的技术萌新,还是志在优化性能的AI开发者,又或是业界上下游组织和厂商,都可以通过OpenPPL平台获得在推理等方面的技术支持。


OpenPPL,也在期待更多的开发者使用和反馈,整个社区一同构建国产高性能推理引擎。


相关资讯
核心对比!无源晶振与有源晶振在结构和工作原理的本质区别

无源晶振与有源晶振是电子系统中两种根本性的时钟元件,其核心区别在于是否内置振荡电路。晶振结构上的本质差异,直接决定了两者在应用场景、设计复杂度和成本上的不同。

温度稳定性对RTC晶振的计时误差影响与分析

RTC(实时时钟)电路广泛采用音叉型32.768kHz晶振作为时基源,但其频率稳定性对温度变化极为敏感。温度偏离常温基准(通常为25℃)时,频率会产生显著漂移,且偏离越远漂移越大。

从参数到实践!剖析有源晶振的频率稳定度、老化率及正确接线方案

有源晶振作为晶振的核心类别,凭借其内部集成振荡电路的独特设计,无需依赖外部电路即可独立工作,在电子设备中扮演着关键角色。本文将系统解析有源晶振的核心参数、电路设计及引脚接法,重点阐述其频率稳定度、老化率等关键指标,并结合实际电路图与引脚定义,帮助大家全面掌握有源晶振的应用要点,避免因接线错误导致器件失效。

如何对抗晶振老化?深入生产工艺与终端应用的防老化指南

晶振老化是影响其长期频率稳定性的核心因素,主要表现为输出频率随时间的缓慢漂移。无论是晶体谐振器还是晶体振荡器,在生产过程中均需经过针对性的防老化处理,但二者的工艺路径与耗时存在显著差异。

无源晶振YSX321SL应用于高精度HUD平视显示系统YXC3225

在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。