深度学习经过多年发展,AI已经深入人心,事实上,在图像、文本领域,AI在多个产业已经落地了诸多应用,我们熟知的自动驾驶、语音助手,背后就大量运用了AI技术。

当下,飞桨PaddlePaddle、TensorFlow、PyTorch这样的开源框架已经非常强大,为部署侧也提供了相关的开源组件,以求降低开发难度。但由于端侧硬件、系统种类繁多,各种加速芯片层出不穷,端侧部署开发工作仍存在实实在在的挑战,成为开发者将AI模型真正用起来的“拦路虎”。面对这些问题,是否存在一个平台,能够缩短部署开发的时间,实现一键式部署?同时对模型进行压缩提速,实现高性能推理?百度EasyEdge专为解决以上问题而生,EasyEdge以PaddleLite、PaddleSlim为基础,提供了简单易用的端上部署套件,实现不写代码直接部署模型到端侧,并支持二次开发。另外,EasyEdge也扩展了对主流端计算硬件的支持,适配更广泛的硬件平台、操作系统、模型类型,并针对特定加速芯片使用专有的计算库,实现进一步的性能提升。

五大灵魂拷问,AI模型端部署难点在哪里?

灵魂拷问一——我的使用场景需要我将模型部署到端上,但是端上开发可能会面向嵌入式设备,操作系统也可能是Android、iOS,有一定的上手成本,怎样才能更轻松地把模型落地到硬件设备上?

灵魂拷问二——这些年出了好多加速芯片、加速卡、边缘计算盒,价格便宜还不占地,我想知道它们跑模型能达到什么样的精度和性能,帮助我进行选型。

灵魂拷问三——我训好的模型适配XX芯片,要在各种模型格式之间转来转去,有点头大,好不容易模型格式对齐了,又有算子OP不支持,我该怎么办才能让它跑起来?

灵魂拷问四——我想换个芯片,却发现怎么各家芯片的端上推理模型格式都不一样,又得从头适配,模型转起来想想就头大。

灵魂拷问五——费了九牛二虎之力,模型在端上跑起来了,可是速度不是太理想,我想让它跑得更快,更省内存。听说量化、剪枝、蒸馏这方面挺有用,但是好像自己研究代码耗时太久。

EasyEdge提供最广泛的硬件平台适配

上述问题是开发者在端上部署模型时经常遇到的难点,为了解决这些问题,百度推出了EasyEdge端与边缘AI服务平台。通过EasyEdge,开发者可以便捷地将AI模型部署到各式各样的AI芯片和硬件平台上。事实上,最近EasyEdge又新增支持了两个新的芯片系列:Atlas300 + 鲲鹏服务器以及瑞芯微多款NPU芯片(当前已适配RK3399Pro、RV1109、RV1126),下图是EasyEdge的适配芯片矩阵,目前,EasyEdge支持20+ AI芯片与硬件平台,4大主流操作系统。

你想把模型部署到Windows PC上?没问题,安排!发布到手机上?Android还是iOS,随便选!当然,Linux系统更加是支持的。

具体到推理芯片上面,EasyEdge支持了很多市面上常见的硬件,除了常见的CPU、GPU以及前面提到的新支持的芯片,同时还支持英伟达Jetson系列、比特大陆、海思NNIE系列、Intel VPU、主流手机上的NPU、GPU等芯片,以及百度自研的EdgeBoard系列边缘AI计算盒。嵌入式设备、ARM CPU,那都不是事。而且,在未来,EasyEdge还会不断适配更多的AI芯片、加速卡、边缘计算盒,持续为开发者降低端侧模型适配迁移的难度。

EasyEdge提供超全的模型适配

EasyEdge是专业的模型部署平台,已经预置在百度EasyDL中。EasyDL作为零门槛的AI开发平台,涵盖了完整的数据处理、模型训练与优化、服务部署等功能,支持非常完整的模型类型,包含图像、文本、视频、语音、OCR等多种场景多种类型的模型。通过EasyDL训练的模型可以天然使用EasyEdge来方便的进行端上部署。

但如果你是专业的AI模型开发者,手上已经有训练好的深度学习模型,只是苦于模型部署的麻烦,也可以来EasyEdge发布你的端上部署包。对于这样的第三方模型,当前EasyEdge已经支持了飞桨PaddlePaddle、TensorFlow、PyTorch、Caffe、MXNet等诸多框架以及ONNX模型格式,支持的算法类型也包括了图像分类、物体检测、人脸识别等业界主流的各类算法。

EasyEdge提供更强的端上推理性能

为了适配诸多AI芯片,EasyEdge针对不同芯片做了大量适配加速工作。因为在训练阶段,更多地关注模型效果及调优的灵活性。当训练完成后,模型就固化下来了。然而在端上部署时,关注点会变为模型的推理,在推理环节中的重点是推理性能。因此各家AI芯片厂商为了实现更高性能的推理能力,都在努力提高芯片的并行处理能力,或者通过GPU这样的超多线程并行处理,或者通过ASIC芯片这样极大增强芯片的单指令向量乃至矩阵处理能力。但不管怎样,线程化或者向量化带来算力巨大提升的同时,必然导致灵活性的下降。这也是为什么端侧AI芯片大都具有自己的模型格式和计算库。但同时也就带来了部署上面大量的适配和模型转换工作。为此,EasyEdge内置了强大的模型互转工具,实现各个框架模型到统一IR的转换,再将统一的IR适配到各个端上。当模型部署到端上时,遇到有些OP不支持的情况时,EasyEdge提供了大量的OP优化和替换操作。同时,EasyEdge还会利用芯片的自定义OP功能或者底层的编程语言进行自定义OP的编写,以保证模型端到端地运行到AI芯片上。

为了让模型跑得更快更省内存,模型压缩就是推理侧非常强大且实用的技术了。这方面,EasyEdge不仅支持了业界领先的量化、剪枝和蒸馏技术,还能够混合使用这几项能力,在尽可能保证效果的同时达到更好的压缩效果。左下图展示了几款常见硬件的定点数算力和浮点数算力的比对,可以看到在很多硬件上定点数算力都远大于浮点数算力,对于这样的硬件,量化是非常必要的。而右图中则可以看到剪枝和蒸馏对于模型推理的加速效果,剪枝和蒸馏本质都是对基础模型在尽量不影响精度的前提下进行精简,自然模型小了,内存占用就少了,推理时间也就短了。

EasyEdge内置全自动评估系统,展示模型精度、性能、内存等多维度评价指标

事实上,在EasyEdge,当你发布模型的时候,你通常能见到这样的网页:

一次训练,多端部署。一个模型可以发布这么多的部署包,省去了一个个适配的麻烦。在这个页面上还最新上线了模型效果评估的功能,打开性能评估报告,便能看到下面这样的页面。模型的精度、对应硬件上的推理时间都一目了然的展示出来了(tips:这里的推理时间可不是经验时间,是你的模型真实在硬件跑出来的时间哦),有个这个报告,大家在部署前就能对自己的模型精度和性能情况了然于胸,是不是很贴心呢?

如果你选择SDK的方式进行模型部署,你将获取一个功能强大的部署包:不仅有完整且简单的接口,也有非常完善的demo工程,包括图片的推理、视频流的推理、多线程的推理等等,如果你是一个编程高手,相信你看完接口和demo,很快就能集成AI的能力去进行应用开发。那如果不想写代码就想部署模型怎么办呢?安排,SDK里面提供了部署Serving服务的能力,不用写代码,运行一下编译出来的二进制,你的模型Serving服务就起来了,还附带H5页面,可以在这个页面上拖入图片看看效果。也可能通过http方式去请求Serving服务,操作非常便捷。事实上,EasyEdge的工具包中还有诸多类似这样方便开发和调试的小工具,限于篇幅没法一一列举,静待开发者来探索与体验。

快来训练部署你的模型吧!

相信通过前面的介绍,大家对于EasyEdge的多操作系统、多芯片适配的能力已经有了大体的认知了,那不妨亲自来体验一下。

EasyDL是基于飞桨深度学习开源平台,面向企业AI应用开发者的零门槛AI开发平台,实现零算法基础定制高精度AI模型。EasyDL提供一站式的智能标注、模型训练、服务部署等全流程功能,内置丰富的预训练模型,支持公有云、设备端、私有服务器、软硬一体方案等灵活的部署方式。准备好你的场景数据,去训练一个模型并部署到任何想部署的硬件上,使用EasyDL高效完成不是梦!

如果你已经有自己的模型,也可以去EasyEdge发布适配自己芯片的SDK和开发者套件哦。开发者套件使用十分简单便捷,无需关注深度学习、具体硬件等底层逻辑,只需关注输入图片和输出的识别结果即可。

还等什么,快点击阅读原文,立即行动吧!

直击行业痛点!端侧模型部署的成熟解决方案有了!相关推荐

  1. 十月重点回顾:EasyDL八大国产芯片实现模型部署全适配!

    10 月,EasyDL 模型部署国产芯片适配类型丰富度再进一步,新增「飞腾 CPU」.「龙芯 CPU」.「寒武 纪 MLU270」.「比特大陆 SC5+」4 款国产芯片部署能力,实现八大主流国产芯片全 ...

  2. Paddle Lite端侧部署

    Paddle Lite端侧部署 端侧推理引擎的由来 随着深度学习的快速发展.特别是小型网络模型的不断成熟,原本应用到云端的深度学习推理,就可以放到终端上来做,比如手机.手表.摄像头.传感器.音响,也就 ...

  3. 探索神经网络三维魔方|MindSpore训练和端侧部署TinyNet

    来自华为诺亚方舟实验室.北京邮电大学以及香港科技大学的研究者们提出了一个新的轻量模型范式TinyNet.相比于EfficientNet的复合放缩范式(compound scaling),通过TinyN ...

  4. 基于web端和C++的两种深度学习模型部署方式

    深度学习Author:louwillMachine Learning Lab 本文对深度学习两种模型部署方式进行总结和梳理.一种是基于web服务端的模型部署,一种是基... 深度学习 Author:l ...

  5. 【深度学习】基于web端和C++的两种深度学习模型部署方式

    深度学习 Author:louwill Machine Learning Lab 本文对深度学习两种模型部署方式进行总结和梳理.一种是基于web服务端的模型部署,一种是基于C++软件集成的方式进行部署 ...

  6. pytorch基于web端和C++的两种深度学习模型部署方式

    本文对深度学习两种模型部署方式进行总结和梳理.一种是基于web服务端的模型部署,一种是基于C++软件集成的方式进行部署. 基于web服务端的模型部署,主要是通过REST API的形式来提供接口方便调用 ...

  7. 端侧AI进化论:HUAWEI HiAI Foundation的奇妙旅程

    从2017年开始,华为将端侧AI算力的概念带入了产业界.彼时,还有很多人讨论端侧AI计算是否有必要,是否具备前景等等问题.一转眼四年过去了,端侧的AI处理能力已经成为每家芯片厂商.移动终端厂商的必备能 ...

  8. MNN通用端侧深度学习预测框架介绍

    最近端侧的AI模型应用越来越广泛,在端侧的模型应用会面对很多的问题,比如模型适配性和机型适配性,还有计算性能方面的问题.是否有某种框架可以解决这些端侧AI模型遇到的问题,Google.苹果等公司都有相 ...

  9. 搜狐新闻客户端Android端侧双擎Hybrid AI框架探索

    本文字数:2917字 预计阅读时间:24分钟 前言 人工智能,深度学习,机器学习,当今已经很广泛的应用到了手机端APP.无论是各类修图软件上的各种抠图美化,实时变装.还是社交软件的图片自动匹配文案.抑 ...

最新文章

  1. python opencv 归一化
  2. youtube-dl
  3. MySQL-04:数据内容操作-增删改查-基本命令笔记
  4. rmi远程代码执行漏洞_WebSphere 远程代码执行漏洞浅析(CVE20204450)
  5. MySql error 2003 Can't connect to MySQL server on 'localhost' (0)
  6. Oracle删除用户与删除表
  7. tocmat linux搭建测试环境,Apache+Tomcat 环境搭建(JK部署过程)
  8. c语言中被调用函数只需在主调函数中声明,其他函数中不用声明,求助,函数在其他函数中使用时要先声明后调用,这个没声明就用了...
  9. UWP 实现分享功能
  10. Mac局域网本地库server, CornerStone使用
  11. 聚类算法论文研读 record
  12. MP算法和OMP算法及其思想
  13. lpddr3 阻抗_LPDDRx的总结
  14. 从一个方向看一个正方体_从一个方向观察一个正方体,最多可以看到几个面
  15. 千万不要用memset函数对二维数组进行初始化
  16. 设计多层PCB板需要注意哪些事项?
  17. .NET开发资料 dotnet 学习的站点
  18. [work] 什么是对抗攻击
  19. 2021湖南涟源高考成绩查询,2021娄底市地区高考成绩排名查询
  20. 在树莓派上安装windows 10arm操作系统

热门文章

  1. Python核心编程-细节
  2. Splay初步【bzoj1503】
  3. .NET下使用DataAdapter保存数据时,如何生成command语句及使用事务
  4. 利用openssl来计算sha1, sha224, sha256, sha384, sha512
  5. 排序算法之选择法排序(Java)
  6. 有用的Copy-On-write,写时复制
  7. c语言朋友,[原创]写给初学 c语言的朋友
  8. Win10系统添加 Win10 LTSC2019闹钟
  9. STM32项目(七) —— 智能仓库管理系统
  10. 初步使用计算机说课,初步认识计算机说课稿