20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

作者: 佚名 2019-12-23 15:11:23

 今年 8 月,飞桨(PaddlePaddle)对外发布面向终端和边缘设备的端侧推理引擎 Paddle Lite Beta 版。

经过近两个多月的迭代和发展,2019 Wave Summit+ 深度学习开发者峰会上 Paddle Lite 2.0 正式版发布。

Paddle Lite 的 Github 链接:

https://github.com/PaddlePaddle/Paddle-Lite

Paddle Lite 致力于提供一套功能完整、易用、高性能的端侧推理引擎,方便广大开发者将应用部署到任何端侧设备之上。

对比最初的 beta 版本,正式版在编译、文档、性能、硬件支持、平台支持等方面都有了较大的改进提升。

而飞桨团队也透露,将在今年内继续推进若干小版本的升级,并期待和欢迎开发者加入社区并给出反馈。

在 AI 技术落地中,推理阶段与实际应用相关联,直接关系到用户的体验,是非常具有挑战性的一环。

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

图 1:典型端侧 AI 应用部署场景

Paddle Lite 是飞桨产品栈中用于端侧高性能轻量化 AI 应用部署的推理引擎,核心用途是将训练出的模型在不同硬件平台场景下快速部署,根据输入数据,执行预测推理得到计算结果,支持实际的业务应用。

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

图 2:Paddle Lite 功能定位

Paddle Lite 自 Beta 版发布以来,在如下核心功能上进行升级:

  • 多框架支持:原生支持 PaddlePaddle 的模型,同时通过 X2Paddle 工具,提供对 TensorFlow,PyTorch 和 ONNX 模型格式的更充分的支持。
  • 多硬件支持:除了 ARM CPU、移动端 GPU、华为 NPU,新增支持 Nvidia GPU 和 X86 CPU。
  • 更好的性能:更新 benchmark,提升了在 ARM CPU 上尤其是 int8 的性能。
  • 更加完备的功能:支持 python API,优化编译流程,新增预测库极致裁剪等功能。
  • 更加完善的文档和 demo:提供完善的文档和多平台的 demo,包括安卓、iOS 和树莓派等。

多框架支持

Paddle Lite 不仅可以支持飞桨格式模型,也支持 Caffe, TensorFlow, ONNX 等第三方格式的模型,详情可以参考 X2Paddle。

官方已经验证如下主流模型的适配情况:

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

除了上述主流模型以外,ARM CPU FP32 新增如下 3 个模型支持:

  • transformer
  • facebox
  • blazeface

ARM CPU INT8 量化预测支持如下模型:

  • shufflenetv2
  • mobilenet-ssd
  • vgg16
  • googlenet
  • mobilenetv1
  • mobilenetv2
  • Resnet50

多硬件支持

在 v2.0 版本中,Paddle Lite 新增 Nvidia GPU 和 X86 CPU 两大类硬件支持。

Nvidia GPU 方面,为了充分利用 GPU 的高性能,Paddle Lite 用 CUDA 相关软件栈开发了对应的 Kernel,支持 Nvidia 多类 GPU 硬件,比如服务器端的 P4、T4,以及嵌入式端的 Jetson TX2、TX1、Nano 等。

目前 CUDA GPU 支持如下三种模型:

  • Yolov3
  • Alexnet
  • Unet

在 X86 CPU 方面,Paddle Lite 增加了 MKL 相关 Kernel,目前能够驱动 inception v4,googlenet,resnet50 等 3 个模型的高效执行,相应算子对其他多数 CV 类模型具有普适性。

更好的性能

ARM CPU (v7,v8) 上 float32 和 int8 两种计算模式的预测性能均得到提升(见图 3,图 4),详情可以参考最新的 Benchmark,链接如下:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/benchmark/

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

图3

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

图4

测试条件:batchsize=1,单线程

更加完备的功能

①支持 python API

为了简化 ARM Linux 相关硬件上的预测部署,Paddle Lite 增加了 Python API 的预测接口,目前在树莓派和 Jetson TX2 等卡上做了应用验证。

②优化编译流程

Paddle Lite 支持两种模式的编译:

  • tiny_publish:用于对部署体积有严格要求的平台,对应 MobileConfig 预测接口。
  • full_publish:用于对部署体积无要求的平台,使用简便,对应 CxxConfig 预测接口。

编译方面,除了 docker 以外,新增了 Linux(推荐 Ubuntu)、Mac 等编译平台的支持,并且修复了编译(full_publish)时下载 git submodule 缓慢的问题。

在统一的编译脚本下,目前支持:

  • android ARM CPU, GPU
  • iOS
  • X86
  • NV GPU/CUDA
  • Huawei NPU
  • ARM Linux

等硬件平台的预测库编译。

③预测库极致裁剪

Paddle Lite 对现有移动端预测库进行了进一步压缩,ARM V8 so 从 1.4M 降到 1.3M;此外,还发布了根据单个模型做定制裁剪的功能,即生成一个只包含该模型必需算子的预测库,效果如下图所示:

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

更加完善的文档和 DEMO

完善文档内容,主要包括:

  • 增加支持硬件的列表,参考:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/support_hardware/

  • 增加根据模型裁剪算子的方法,参考:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/library_tailoring/

  • 更新最新 Benchmark,参考:

https://paddlepaddle.github.io/Paddle-Lite/v2.0.0/benchmark/

为了实际地展示 Paddle Lite 的部署能力,Paddle Lite 增加了 Paddle-Lite-Demo:

https://github.com/PaddlePaddle/Paddle-Lite-Demo

GitHub 官方 DEMO 库,目前包含:

  • Android ARM CPU
  • Android Huawei NPU
  • iOS ARM CPU
  • ARM Linux 树莓派

等多种平台,包括分类、检测等模型的功能演示。

以 ARM Linux 树莓派为例,Paddle Lite 驱动树莓派 3B 调用摄像头进行识别任务,整体效果如图 6 所示:

20+移动端硬件,Int8极速推理,端侧推理引擎Paddle Lite 2.0 正式发布

图 6

详情请参考树莓派摄像头的购买、安装、配置与验证,以树莓派 3B 为例:

https://github.com/PaddlePaddle/Paddle-Lite-Demo/blob/master/PaddleLite-armlinux-demo/enable-camera-on-raspberry-pi.md

如果您想了解更多关于 Paddle Lite 的相关内容,请参阅以下相关链接。

参考链接:

  • Paddle Lite 的 Github 链接:
  • https://github.com/PaddlePaddle/Paddle-Lite
  • Paddle Lite 的文档链接:
  • https://paddlepaddle.github.io/Paddle-Lite/
  • Paddle Lite Demo 的链接:
  • https://github.com/PaddlePaddle/Paddle-Lite-Demo
  • PaddlePaddle 的 Github 链接:
  • https://github.com/paddlepaddle
  • 如果使用过程中遇到任何问题,大家可通过 Paddle Lite 官方 QQ 群与开发人员进行技术交流及问题反馈,飞桨 Paddle Lite 官方 QQ 群(群号696965088)。
人工智能 机器学习 技术
上一篇:人脸识别技术运用中的认知误区 下一篇:史上最全解读 | 飞桨模型库重大升级,主流算法模型全覆盖
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

面部识别的利与弊:是福还是祸?

虽然现代技术使面部识别更加精确和安全,但与面部识别隐私问题和监控有关的担忧也在增加。因此,让我们在这篇文章中探讨一下这该技术的利与弊。

Naveen Joshi ·  2021-06-01 16:36:22
人工智能和5G如何结合以实现物联网收入最大化

网络系统通过信令和使用软件以及分析来检测和分类设备非常棘手,并且对有限且日益紧张的网络资源提出了巨大的需求。然而,解决这些问题有一个主要解决方案:采用人工智能、自动化和5G技术。

Jordi Castellvi ·  2021-06-01 13:49:15
MIT团队最新研究,仅靠LiDAR和2D地图实现端到端自动驾驶

最近, MIT 计算机科学与人工智能实验室(CSAIL)团队成功展示了一种基于机器学习的自动驾驶系统,该端到端框架仅使用 LiDAR获取的原始 3D 点云数据和类似于手机上的低分辨率 GPS 地图就能进行自主导航,并且大大提升了鲁棒性。

文龙 ·  2021-06-01 12:47:51
自然语言处理(NLP)的历史及其发展方向

自然语言处理的历史是一个充满曲折的故事。它从徒劳的研究开始,经过多年卓有成效的工作,最后结束于一个我们仍在试图找出该领域极限的时代。今天,让我们来一起探索这一AI科学分支的发展。

佚名 ·  2021-06-01 12:46:26
是福还是祸?人脸识别技术的利与弊

面部识别并不是一项全新的技术,但人工智能和机器学习不断使面部识别变得更好。苹果通过引入具有 3D 扫描功能的面部生物识别系统和 iPhone 的 Face ID,提高了面部识别的标准。

Naveen Joshi ·  2021-06-01 11:11:01
人工智能能否使机器具有流体智力?

麻省理工学院和奥地利研究人员为灵活的人工智能创造了“液体”机器学习。

千家网 ·  2021-06-01 10:38:55
高真实感、全局一致、外观精细,面向模糊目标的NeRF方案出炉

自 NeRF 被提出后,有多项研究对其加以改进。在本篇论文中,上海科技大学的研究者提出了首个将显式不透明监督和卷积机制结合到神经辐射场框架中以实现高质量外观的方案。

Haimin Luo等 ·  2021-06-01 09:57:39
大脑模拟NLP,高德纳奖得主:神经元集合演算用于句子解析

一个简单的大脑模型为人工智能研究提供了新的方向。世界顶尖计算机科学理论学家、哥德尔奖和高德纳奖获得者、哥伦比亚大学计算机科学教授 Christos Papadimitriou 关于「大脑中单词表征」的演讲。

Ben Dickson ·  2021-06-01 09:39:24
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载