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

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

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

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

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

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

图片

官网:https://openppl.ai/

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

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


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

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


图片


从整个开发链路来看,一般会经过数据采集和算法模型设计,并产出需要的算法模型;模型经过压缩与转换后,使用 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」,预示着拥抱开源,拥抱业界的标准化建设。

图片

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

一起玩转OpenPPL


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

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

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

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

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

OpenPPL官网:https://openppl.ai/
GitHub:https://github.com/openppl-public
社区QQ群:627853444
微信公众号:OpenPPL_AI

图片

  相关阅读,戳这里 


《全新OpenMMLab邀你入伙 共创AI开源世界》
《66篇CVPR论文再续辉煌,探寻商汤创新之源》


图片