写点什么

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

评论

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

构建云边端一体的分布式云架构,软硬结合驱动边缘计算创新场景

百度Geek说

人工智能 架构 分布式 边缘计算 企业号 3 月 PK 榜

火山引擎A/B测试产品——DataTester 私有化架构分享

字节跳动数据平台

私有化部署 ab测试 A/B 测试 企业号 3 月 PK 榜

机器学习实战系列[一]:工业蒸汽量预测(最新版本下篇)含特征优化模型融合等

汀丶人工智能

数据挖掘 机器学习 数学建模

重现一条简单SQL的优化过程

GreatSQL

MySQL greatsql greatsql社区

【3.24-3.31】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

用友BIP智能财务,助力企业构建世界一流预算管理体系

用友BIP

全面预算

软件测试/测试开发丨利用 pytest 玩转数据驱动测试框架

测试人

软件测试 自动化测试 测试开发 pytest

ElasticSearch 拼音搜索自定义扩展插件(长拼音序列)

alexgaoyh

中文分词 分词 Elastic Search 自定义插件

飞针测试的流程有哪些?华秋一文告诉你

华秋电子

聚焦「就近」与「轻计算」,阿里云边缘云连续3年领跑!

阿里云CloudImagine

云计算 边缘计算 边缘云

DTALK直播预约 | 数据资产管理:金融机构数据价值释放的必经之路

袋鼠云数栈

数据资产管理

软件测试/测试开发丨移动端App自动化之App控件定位

测试人

软件测试 自动化测试 测试开发

龙蜥 Node.js/WebAssembly SIG 重磅发布 Node.js/Noslate 性能优化白皮书

OpenAnolis小助手

node.js Web 白皮书 龙蜥社区 sig

利用Jackson序列化实现数据脱敏

京东科技开发者

Jackson 数据脱敏 企业号 3 月 PK 榜

华秋一文带你读懂PCB中的“金手指”设计

华秋电子

微服务架构中的链路超时分析

Java 架构 微服务

TiDB Operator常见问题和解决步骤(一)

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断

看完这份SpringBoot神级文档,面试真的可以为所欲为

三十而立

Java IT java面试

阿里内部进阶学习SpringBoot+Vue全栈开发实战文档

三十而立

HummerRisk 使用教程: 多云检测

HummerCloud

云安全

过亿云资源运维管控难?华为云CloudMap带你喝着咖啡做运维

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

软件测试丨JavaScript脚本注入,完成Selenium 无法做到的那些事

测试人

JavaScript 软件测试 自动化测试 测试开发 selenium

利用自动化平台可以做的那亿点事 |得物技术

得物技术

自动化

数据擘画资产全景 AI诊断故障真因

用友BIP

Hologres技术揭秘:JSON半结构化数据的极致分析性能

阿里技术

json 半结构化数据

拯救脂肪肝第一步!以飞桨3D医疗影像分割方案MedicalSeg自主诊断脂肪肝

飞桨PaddlePaddle

深度学习 计算机视觉 语义分割 PaddlePaddle

vivo 手机云服务建设之路-平台产品系列04

vivo互联网技术

系统设计 稳定性 数据安全 用户数据 手机云服务

简述家居物联网体系架构

毛广斌

易观千帆 | 2023年2月证券APP月活跃用户规模盘点

易观分析

金融 证券 经济

下游需求趋势长期向好,高端产品国产替代空间广阔

华秋电子

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