写点什么

百度发布全新端侧推理引擎 Paddle Lite,支持华为 NPU 在线编译

  • 2019-08-21
  • 本文字数:1319 字

    阅读完需:约 4 分钟

百度发布全新端侧推理引擎Paddle Lite,支持华为NPU在线编译

北京时间 8 约 21 日,InfoQ 获悉:百度深度学习平台飞桨(PaddlePaddle)发布 Paddle Lite,该推理引擎在多硬件、多平台以及硬件混合调度的支持上更加完备,是飞桨在 Paddle Mobile 的基础上进行的一次大规模升级迭代。通过对底层架构设计的改进,拓展性和兼容性等方面实现显著提升。目前,Paddle Lite 已经支持了 ARM CPU,Mali GPU,Adreno GPU,华为 NPU 以及 FPGA 等诸多硬件平台,是目前首个支持华为 NPU 在线编译的深度学习推理框架。


随着技术进步,手机等移动设备已成为非常重要的本地深度学习载体,然而日趋异构化的硬件平台和复杂的终端侧的使用状况,让端侧推理引擎的架构能力颇受挑战。端侧模型的推理往往面临着算力和内存的限制,为了能够完整的支持众多的硬件架构,并且实现在这些硬件之上人工智能应用性能的性能优化,百度飞桨基于 Paddle Mobile 预测库,融合 Anakin 等多个相关项目的技术优势,发布端侧推理引擎 Paddle Lite,通过建模底层计算模式,加强了多种硬件、量化方法、Data Layout 混合调度执行的能力,从而保障了宏观硬件的支持能力。


Paddle Lite 在架构上全新升级,并重点增加了多种计算模式(硬件、量化方法、Data Layout)混合调度的完备性设计,可以完整承担深度学习模型在不同硬件平台上的的推理部署需求,具备高性能、多硬件、多平台、扩展性强等优势。Paddle Lite 依托飞桨训练框架及其对应的丰富完整的算子库,底层算子计算逻辑与训练一致,模型完全兼容无风险,并可快速支持更多模型。


Paddle Lite 架构由四层次组成:


  • 第一层 model 层直接接受 Paddle 训练的模型,通过模型优化工具转化为 NaiveBuffer 特殊格式,以便更好地适应移动端的部署场景;

  • 第二层 Program 层是 operator 序列构成的执行程序;

  • 第三层是一个完整的分析模块,主要包括 TypeSystem、SSA Graph 和 Passes 等模块;

  • 第四层是执行层,由 Kernel 序列构成的 Runtime Program。



Paddle Lite 具有以下重要特性:


与其他端侧引擎相比,Paddle Lite 扩展性更高,框架层硬件抽象层次的描述能力强,容易对新的硬件进行集成,可以模块化地对硬件和模型进行更细致的分析和优化。


在模型支持方面,Paddle Lite 现已支持 Paddle 图像分类、检测、分割及图像文字识别等领域的模型预测,官方发布了 18 个模型的 benchmark。此外,可以通过 X2Paddle 工具将由 Caffe 和 TensorFlow 训练的模型转换后进行预测。


在硬件支持方面,目前 Paddle Lite 已支持 ARM CPU, ARM GPU、华为 NPU 和 FPGA 等硬件平台,正在优化支持的有寒武纪、比特大陆等国产 AI 芯片,并会兼容支持的 Intel、NVIDIA 等主流云端芯片。


在性能方面,Paddle Lite 针对不同微架构,进行了 kernel 的深度优化,支持 INT8 量化计算,在华为 NPU 上也具有良好的性能表现。


Paddle Lite 可针对端侧设备特点进行深度定制及优化,无第三方库依赖,整个推理过程分为模型加载解析、计算图的优化分析及设备上的高效运行。移动端可以直接部署经过优化分析的图,执行预测。Android 平台上,ARMV7 动态库只需要 800k,ARMV8 动态库仅有 1.3M,也可以根据需要,进行更深度的剪裁。


此外,Paddle Lite 还进一步完善提供了 Web 前端开发接口,支持 JavaScript 调用 GPU,可在网页端快捷运行深度学习模型。


2019-08-21 20:0310267

评论

发布
暂无评论
发现更多内容

2021年上半年最接地气的Java面经

Java 程序员 后端

2021年春招Java面试题

Java 程序员 后端

一次Http Get请求健壮性问题的排查过程

liuzhen007

8月日更

学习的细碎之处

Nydia

2021年字节跳动+京东+美团面试总结

Java 程序员 后端

2021年阿里Java高级面试题及答案

策划Java工程师

Java 程序员 后端

【Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

2021大厂Java知识点总结

JVM调优资料

Java 程序员 后端

2021Java面试笔试总结

JVM调优资料

Java 程序员 后端

2021年冲刺年薪40w

Java 程序员 后端

2021年最新Java大厂面试题来袭

策划Java工程师

Java 程序员 后端

2021年阿里Java高级面试题分享

策划Java工程师

Java 程序员 后端

停下来读读书

箭上有毒

生活随想 8月日更

2021大厂Java开发面试总结+解答

JVM调优资料

Java 程序员 后端

DDD 领域驱动设计·学习应用·二

小诚信驿站

领域驱动设计 领域 领域驱动模型DDD 中台架构 领域驱动

2021年最新大厂Java面试笔试题目

策划Java工程师

Java 程序员 后端

2021最值得加入的互联网公司有哪些

策划Java工程师

Java 程序员 后端

2021最新Java开发者学习路线

策划Java工程师

Java 程序员 后端

kubernetes入门:简介与基础操作命令

小鲍侃java

8月日更

2021Java者未来的出路在哪里

JVM调优资料

Java 程序员 后端

2021大厂Java面试真题集锦

JVM调优资料

Java 程序员 后端

2021年抓住金三银四涨薪好时机

Java 程序员 后端

2021大厂Java面试最火问题

JVM调优资料

Java 程序员 后端

2021京东最新Java面试真题解析

JVM调优资料

Java 程序员 后端

2021年大厂Java面经

Java 程序员 后端

2021Java进阶者的新篇章

JVM调优资料

Java 程序员 后端

2021最新Java中级面试题目汇总解答

策划Java工程师

Java 程序员 后端

取经之旅第 55 天,Python OpenCV 透视变换前置知识轮廓坐标点

梦想橡皮擦

8月日更

2021必看-Java高级面试题总结

策划Java工程师

Java 程序员 后端

极客-大数据-作业4 Hive

西伯利亚鼯鼠

2021我的Java路要怎么走

策划Java工程师

Java 程序员 后端

百度发布全新端侧推理引擎Paddle Lite,支持华为NPU在线编译_AI&大模型_高琳_InfoQ精选文章