PaddleLite:支持多种硬件平台的推理引擎

新知榜官方账号

2023-10-03 06:28:31

背景

在技术革新的浪潮下,智能硬件结合人工智能越来越广地进入了我们的生活。小到智能手机、手表,大到智能交通系统、工业自动检测平台等,无不渗透了人工智能的威力。此外,为人工智能深度学习定制的硬件近年来也有井喷之势。人工智能在多种服务平台,多种硬件下得到了越来越多的应用。这里的应用一般指的是深度学习模型在实际场景中的推理计算。针对多平台多硬件的场景,飞桨(PaddlePaddle)在今年8月份升级发布了PaddleLite推理引擎。它支持多种硬件、多种平台,还具备轻量化部署、高性能实现等重要特性。

特性&能力

PaddleLite支持如下特性:①多硬件平台支持;②轻量化部署;③高性能实现;④量化计算支持。

多硬件平台支持

目前支持如下7种硬件:ARMCPUV7、V8MaliGPU,AdrenoGPU,MetalGPUHuaweiNPUFPGA

轻量级部署

PaddleLite针对多硬件平台支持的问题,在架构上做了相应的设计:在具体架构上,由模型加载执行的顺序,严格拆分为分析和执行两个阶段。在体积敏感的场景下,PaddleLite可以选择轻量化部署方案,即可以只部署执行阶段,而复杂的分析优化则封装到了离线工具中。

高性能实现

PaddleLite的实现也是比较有优势的,比如在端侧推理非常主流的硬件ARMCPU上,MobileNetV1的性能如上,也是比较有优势的。

量化计算支持

基于PaddleSlim的量化训练出的模型,结合PaddleLite的Int8量化预测能力,可以得到很有竞争力的Int8量化性能。

架构设计

PaddleLite在架构的设计中,重点考虑了相对广泛的多硬件平台支持的能力。PaddleLite在Kernel层和MIR(图分析优化模块)均引入了适度的硬件支持,以支持硬件的针对优化,但通过通用的高层API来避免框架与具体硬件耦合。

应用案例

PaddleLite的使用有如下几个步骤:(1)获取PaddlePaddle模型用PaddlePaddle训练可选通过PaddleSlim做模型压缩或用X2Paddle转换TF等第三方模型(2)model_optimize_tool优化模型(3)编写预测代码,集成到服务中C++接口Java接口获取模型的方法以下几种:参考PaddlePaddle文档训练新的模型直接使用Paddle/models标准模型库中提供的模型X2Paddle模型转换工具转化第三方模型PaddleSlim模型压缩工具集二次压缩PaddlePaddle模型之后是使用模型压缩工具优化模型,使用方法可以参考如下命令,完整教程可以参考文档。

PaddleLite项目未来计划

PaddleLite未来计划如下,10月发布正式版,每个月一个版本高效迭代:框架能力和功能加强,如平台支持扩展,易用性完善,加密,显存优化等硬件支持范围持续扩大,新硬件评测支持能力提升整体性能优化,量化部署方案完善和模型覆盖范围增加文档持续优化:更多的demo,示例代码,可读性加强

本页网址:https://www.xinzhibang.net/article_detail-15112.html

寻求报道,请 点击这里 微信扫码咨询

关键词

PaddleLite 推理引擎 多硬件平台 轻量化部署 量化计算

分享至微信: 微信扫码阅读

相关工具

相关文章