热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

深度学习经过多年发展,AI已经深入人心,事实上,在图像、文本领域,AI在多个产业已经落地了诸多应用,我们熟知的

深度学习经过多年发展,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和开发者套件哦。开发者套件使用十分简单便捷,无需关注深度学习、具体硬件等底层逻辑,只需关注输入图片和输出的识别结果即可。

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



推荐阅读
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
  • Android图形架构学习笔记(待修改)
    以下简单总结来自Android官网,稍作总结:https:source.android.google.cndevicesgraphics概览Andr ... [详细]
  • 安装Tensorflow-GPU文档第一步:通过Anaconda安装python从这个链接https:www.anaconda.comdownload#window ... [详细]
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 微信回应「10 元就能在朋友圈改定位」;谷歌官方首次提及 Android 11;Node 8.16.2 发布 | 极客头条...
    微信回应「10元就能在朋友圈改定位」;谷歌官方首次提及Android11;Node8.16.2发布|极客头条,Go语言社区,Golang程序员人脉社 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 华为鸿蒙系统官网2.0报名方法及适用设备
    本文介绍了华为鸿蒙系统官网2.0报名的适用设备、报名方法以及三种方式,包括在应用商店下载开发者联盟app、在官网中进行报名、在微信公众号中申请体验HarmonyOS 2.0 手机开发者Beta版本。同时提醒错过测试机会的用户可以等待后续的正式版发布。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
author-avatar
cgy梦回秦都
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有