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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenKG开源系列 | 大规模中文概念图谱OpenConcepts (浙江大学)

OpenKG地址:http://openkg.cn/dataset/openconcept官网:http://openconcepts.openkg.cn(提供Dump)开放许可协议:CC BY-SA 4.0(署名-相同共享)OpenConcepts 介绍OpenConcepts (http://openconcepts.openkg.c…

LeetCode 594. 最长和谐子序列(map)

文章目录1. 题目2. 解题2.1 map两次扫描2.2 map一次扫描1. 题目 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。 示例 1: 输入: [1,3,2,2,5,2,3,7] …

MTDDL——美团点评分布式数据访问层中间件

2016年Q3季度初,在美团外卖上单2.0项目上线后,商家和商品数量急速增长,预估商品库的容量和写峰值QPS会很快遇到巨大压力。随之而来也会影响线上服务的查询性能、DB(数据库,以下统一称DB)主从延迟、表变更困…

详解预训练模型、信息抽取、文本生成、知识图谱、对话系统技术

我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习。其次,即便网络上的资源非常多,学习是需要成本的,而且越有深度的内容越难找到好的学习资源。如果一门…

会议交流 | 欢迎注册 CCKS2021 全国知识图谱与语义计算大会!

欢迎注册 CCKS2021 全国知识图谱与语义计算大会知万物过去 谱AI未来2021年8月18日至8月21日 广州http://sigkg.cn/ccks2021主办:中国中文信息学会语言与知识计算专业委员会 承办:广东外语外贸大学注册介绍早期注册 1800元/人2021年7月28日前&…

LeetCode 1171. 从链表中删去总和值为零的连续节点(哈希表)

1. 题目 给你一个链表的头节点 head,请你编写代码,反复删去链表中由 总和 值为 0 的连续节点组成的序列,直到不存在这样的序列为止。 删除完毕后,请你返回最终结果链表的头节点。 你可以返回任何满足题目要求的答案。 &#x…

移动端性能监控方案Hertz

性能问题是造成App用户流失的罪魁祸首之一。App的性能问题包括崩溃、网络请求错误或超时、响应速度慢、列表滚动卡顿、流量大、耗电等等。而导致App性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线程、锁、系统函数、…

刷新SOTA!Salesforce提出跨模态对比学习新方法,仅需4M图像数据!

文 | 子龙多模态已经不是一个新鲜的话题,如何在一个模型中融合CV和NLP的信息同时吸引了两个领域的目光(CV、NLP的会都能投),但是很容易就能想到,来自图片的视觉特征和来自语料的文本特征来自不同的模型,所隐…

论文浅尝 - ACL2021 | 探讨跨句事件联合抽取问题

转载公众号 | 浙大KG论文题目:MLBiNet: A Cross-Sentence Collective Event Detection Network本文作者:娄东方、廖智霖、邓淑敏、张宁豫、陈华钧(浙江大学)接收会议:ACL 2021论文链接:https://arxiv.org/p…

LeetCode 343. 整数拆分(DP)

1. 题目 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 1 1, 1 1 1。示例 2: 输入: 10 输出: 36 解释: 10 3 3 4, 3 3 4 36。 说明: 你可以假设 …

python-dotenv解析env文件

python-dotenv解析env文件 最简单和最常见的用法是在应用程序启动时调用load_dotenv,从当前目录或其父目录中的.env文件或指定的路径加载环境变量,然后调用os.getenv提供的与环境相关的方法 .env 文件内容写法 ADMIN_HOST https://uat-rm-gwaaa.cn A…

HDFS NameNode内存详解

前言 《HDFS NameNode内存全景》中,我们从NameNode内部数据结构的视角,对它的内存全景及几个关键数据结构进行了简单解读,并结合实际场景介绍了NameNode可能遇到的问题,还有业界进行横向扩展方面的多种可借鉴解决方案。 事实上&am…

组队瓜分百万奖金池,资深算法工程师带你挑战飞桨论文复现赛!

你是否正在焦虑找不到好的论文?好不容易找到了paper,无法复现出code?缺少科研同行交流,只能独自一人闭门造车?是的,论文复现是要想最快的学习和了解AI领域的方式,复现困境也被叫做“徘徊在 AI 上…

开源开放 | Beyond 预训练语言模型,NLP还需要什么样的知识?

近年来,深度学习技术已广泛应用于NLP领域,但实际应用效果往往受限于缺乏大规模高质量监督样本。2018年底,预训练语言模型横空出世,极大缓解了这个问题,通过“超大规模无监督语料上的预训练语言模型相对少量的监督样本进…

Docker把容器打包成镜像并提交到harbor仓库

Docker把容器打包成镜像并提交到harbor仓库 如果你想要保存当前容器的状态,就可以通过commit来提交获得一个镜像,就好我们虚拟机的时候创建快照,想要回滚到某一个版本 一、首先创建要给tomcat 的本地容器,镜像指定tomcat-alpine:8…

LeetCode 139. 单词拆分(DP)

1. 题目 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s "…

外卖排序系统特征生产框架

背景 图1 外卖排序系统框架 外卖的排序策略是由机器学习模型驱动的,模型迭代效率制约着策略优化效果。如上图所示,在排序系统里,特征是最为基础的部分:有了特征之后,我们离线训练出模型,然后将特征和模型一…

征稿 | “健康知识图谱”投稿通道开启

Data Intelligence正在与语义网国际知名学者Deborah McGuinness以及Oshani Seneviratne等专家一道组织“个人健康知识图谱”专辑。欢迎投稿!DI专辑Special Issue on Personal Health Knowledge Graphs This special issue at Data Intelligence Journal seeks origi…

清华提出LogME,无需微调就能衡量预训练模型的下游任务表现!

文 | 游凯超源 | THUML引言在深度学习时代,神经网络的参数量越来越大,从头开始训练(train from scratch)的成本也越来越大。幸运的是,在计算机视觉、自然语言处理等人工智能应用的主要领域,人们能够采用迁移学习的预训练-微调范式…

好的代码标准

需求分析文档需要用精确的数字来描述,避免量变导致质变