写点什么

百度发布全新端侧推理引擎 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:0310346

评论

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

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

冉然学Java

数据库 编程 架构 分布式 并发系统设计

Jmix - 业务系统高效开发的少代码平台

世开 Coding

Java spring 快速开发平台 Jmix 少代码

兆骑科创高层次人才创业赛事活动,创新创业人才引进平台

兆骑科创凤阁

【云原生】Spring Cloud是什么?Spring Cloud版本介绍

java李杨勇

Java spring cloud stream 签约计划第三季

MASA Stack 第三期社区例会

MASA技术团队

Framework blazor

AIRIOT答疑第7期|如何快速提升物联网项目交付速度?

AIRIOT

物联网

学习大数据开发技术后好找工作吗?

小谷哥

认识一下MRS里的“中间人”Alluxio

华为云开发者联盟

大数据 MRS

语音聊天app开发——开发人员如何进行代码分析

开源直播系统源码

软件开发 直播源码 语音app开发

编译器工程师眼中的好代码:Loop Interchange

华为云开发者联盟

c c++ 开发 编译器

深入Linux内核IO技术栈

C++后台开发

Linux内核 内核开发 驱动开发 嵌入式开发 内核操作系统

Python图像处理丨如何调用OpenCV绘制直方图

华为云开发者联盟

Python 人工智能

【计算讲谈社】第七讲|AI 的价值探索:如何拓展商业边界?

大咖说

人工智能 AI 商业边界

观测云入驻青云云市场,提升云上系统统一可观测能力

观测云

培训机构与自学的优缺点都有什么

小谷哥

编译器工程师眼中的好代码(1):Loop Interchange

openEuler

开源 编译器 openEuler

47K Star 的SpringBoot+MyBatis+docker电商项目,附超详细的文档

冉然学Java

数据库 项目 java; 编程、 源码学习

playwright录制脚本

和牛

测试 Python. 8月月更

【七夕限定盲盒抽奖】一文带你搞懂盲盒抽奖的页面配置

hum建应用专家

阿里云 Serverless 函数计算

企业为什么要数字化转型?数字化转型成功的案例有哪些?

优秀

数字化转型

MySQL 概念

武师叔

8月月更

北京零基础前端软件培训

小谷哥

Centos系统安装MySQL数据库

杨杰灵

MySQL 数据库

倪光南:openEuler已达国际同类社区水准

openEuler

开源 操作系统 openEuler

兵荒马乱,毕业季的故事

坚果

毕业 8月月更

Eclipse Debug FFmpeg

贾献华

8月月更

苦熬三个月整理的spring全家桶PDF版限时分享,整整400页

Java工程师

Java spring Spring全家桶

最具有中国特色的微服务组件!阿里新一代SpringCloud学习指南

JAVA活菩萨

Java 程序员面试 大厂技能 秋招 大厂面经

专访容智信息柴亚团:最低调的公司如何炼成最易用的RPA?

王吉伟频道

RPA 机器人流程自动化 0代码 容智信息 柴亚团

Github又火了!阿里重发系统设计核心原理全彩笔记,上线两天破百万阅读

Java工程师

Java 高并发

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