模型部署到移动端_15分钟实现AI端计算模型训练、加速与部署 | 百度EasyDL公开课...

本文主要是介绍模型部署到移动端_15分钟实现AI端计算模型训练、加速与部署 | 百度EasyDL公开课...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主讲人 | 阿达 百度高级研发工程师
量子位 整理编辑 | 公众号 QbitAI

端计算模型目前已应用到各行业的AI落地实践中,如部署在野外气象观测点用于环境监测,以及响应垃圾分类政策用来打造智能垃圾桶等等。

「EasyDL AI开发系列公开课」第二期直播中,百度高级工程师深入解析了如何优化端模型识别速度、如何解决端模型部署问题,并直播演示了如何使用EasyDL-EasyEdge AI开发平台,快速、高效实现模型训练和端模型部署。

讲解分为3个部分:

  • EasyDL端计算模型的应用

  • 端计算技术解析:图优化(量化剪裁)和基于芯片的优化提升模型识别速度

  • 实战演示:借助EasyDL-EasyEdge部署端计算模型实现办公室垃圾检测识别

直播回放见链接:https://www.bilibili.com/video/BV1KZ4y1V7mn/

以下为直播文字实录:


EasyDL端计算模型的应用

在和某咨询公司的联合调研中,我们发现约86%的市场需求需要定制开发业务场景下的AI模型,其中有35%以上的有离线计算的需求。

端计算应用场景

053e59f16c6251bde046700e5a609682.png

比如工业场景中统计原材料的数量,食品安全场景监测厨房厨师是否佩戴厨师帽,这么多形形色色的场景,很难通过一个统一的AI模型或者方案来满足所有的需求。这时用户往往需要自己来开发定制,这是一个很巨大的工程,涉及到采集数据、训练优化模型,最后还要使模型成功地部署落地。

d512194495bfbc33202c7542059f69f1.png

为此,百度提供了零门槛AI开发平台—EasyDL,帮助有模型定制需求的用户。用户可以在平台上标注数据、扩充数据,准备好训练所需要的数据集;然后通过EasyDL训练优化模型;最后通过EasyDL提供的多种部署方案,实现模型落地应用。

那么,为什么需要应用端计算模型呢?

定制化AI模型部署的需求与难点

工业应用中的模型推理通常需要本地计算、实时响应、解除对网络的依赖;需要满足对闭路电视数据隐私的保密,需要降低手机上APP对能耗的要求,复杂业务场景下又需要多样的芯片架构和传感器来实现部署……种种需求恰好都可以通过端计算来满足,这就是为什么大家需要端计算。

有过自己部署AI模型经历的也会发现很多部署模型的难点:

  • 部署维护成本高,难落地;

  • 模型适配、迁移难,往往需要重复性开发;

  • 预测性能差,硬件成本高。

EasyDL-EasyEdge端计算

针对这些难点,EasyDL-EasyEdge提供了端计算服务来帮助大家解决这些问题,用户不需要有特别多的芯片硬件知识和开发经验,只需要3步、最快2分钟就可以生成端计算模型:

232380bcbc069c4ac8f0d6f15712778d.png

第一步:准备一个训练好的模型(如果没有合适的模型,可先在EasyDL平台训练);EasyEdge兼容市面主流的深度学习框架,比如PaddlePaddle、TensorFlow、PyTorch等;

第二步:通过EasyEdge做转换→面向设备的兼容与加速→封装;EasyEdge自动完成端计算服务产物;

第三步:下载后利用简单可操作的接口部署应用模型即可。

框架&网络支持

如图,EasyEdge支持主流的深度学习框架、部分网络,后续大家可以在EasyDL官网上了解更多信息。

1405248f51b8bb06ef50db8474e50b24.png

服务部署形态

EasyDL-EasyEdge也提供丰富的服务部署形态,包含公有云部署、私有服务器部署、通用设备端SDK、软硬一体产品等,端云协同即将上线:

8db48b84bb57ea1014ebfb9ae5058cb1.png

软硬件支持

EasyDL-EasyEdge已支持10余类芯片、4大操作系统:

a23dc46a20668b5c08be68e52a56d771.png

端计算组件

端设备SDK不仅能适配市面上常见的手机(APP扫码安装、即装即用),也能适配各类微型主机开发板(PC组件自带HTTP服务和H5体验,可执行exe文件)。

SDK接口是统一的,在不同设备的调用方式方法类似。通过EasyEdge获得端设备SDK之后,无需再关注硬件细节,使用SDK统一接口来调用模型即可。

46e892d1d5b6e3f58cf655ea1debe12f.png

上图是ResNet50深度学习模型部署在不同的芯片上得到的单次推理时间,芯片架构层面可以做更广泛的适配,同时也为用户选型提供参考。

软硬一体方案

为了让大家选型更简单,百度也推出了软硬一体的方案,可以在百度AI市场购买。

f721f79f39128becfabbf66987e9398f.png

上图数据是EasyDL支持的分类检测模型以及在不同开发套件上单张图片的推理时间,大家可以根据这些数据挑选合适的软硬件。

EasyDL-EasyEdge应用案例

10215f7e7cd5b36067672e9d3437b676.png

杭州气象局:使用EasyDL图像分类和物体检测,训练出云状、云量、结冰等识别模型,并通过EasyEdge将模型部署到野外观察站,提升了观测效率和及时性。

f64a7d8415d7599021abf11157ae9b24.png

柳州源创使用EasyDL物体检测,训练出喷油嘴瑕疵检测模型;并通过EasyEdge部署到工厂的生产线上,每年可节约60万人工检测成本,并能够提升检测效率与精度。

宁波蔚澜通过EasyDL使用了仅217张厨余垃圾图片、迭代了两版,就训练出准确率91.57%的厨余垃圾识别模型,结合百度EasyEdge软硬一体方案灵巧部署在垃圾箱内,已经在宁波的小区内落地使用。

e2e1968e5fab350c12794f6e8ce1077f.png

EasyDL-EasyEdge已经在20多个行业场景中落地,累计有2500以上个模型,部署了超过26万台终端设备。

EasyDL-EasyEdge端计算技术解析

为了使模型顺利部署到端上,还可以保持预测性能的快速推理,百度EasyDL-EasyEdge做了哪些优化?

技术核心

6287032e8e9777c5296291981237c862.png

 EasyDL-EasyEdge技术框架

拿到用户的模型后,首先进行图优化,针对深度学习模型的算子进行优化,以及面向目标硬件做定向适配,然后转化为目标框架。

44e8306f519df2c7dc5dd2574d12274d.png

对于目前支持量化的目标框架(比如PaddlePaddle),采用了量化来产出加速版本。

0d889e230c56ef21d4a746e143dce1f1.png

目前EasyEdge支持10余类芯片,不同的芯片还会有一些特定支持的优化

fac1843b7cca8446b4a367145ee88868.png

接下来把上述优化好的模型,进行打包生成SDK。

对于生成的端模型,还可以发起自动评测,获得评测指标和性能。

EasyEdge给用户提供了云端服务, 用户在得到的sdk里可以进行模型升级更新,运行demo。用户还可以有h5体验,在windows系统里有可执行文件可以直接运行等。

实操演示:办公室垃圾检测识别

本部分讲解中,阿达老师以「办公室垃圾分类检测识别」为例,演示了如何使用EasyDL-EasyEdge AI开发平台,快速、高效地进行模型训练和端模型部署。

感兴趣的小伙伴可以移步直播回放,视频观看更清晰~:https://www.bilibili.com/video/BV1KZ4y1V7mn/

1294583b435af48672b07a75e9fd8983.png

此外,关于EasyDL-EasyEdge使用指南,可参考官网相关介绍。

直播预告

近几年以预训练为代表的NLP技术取得了爆发式发展,新技术新模型层出不穷。

11月4日第三期「百度AI实战营」公开课中,百度资深研发工程师将结合世界领先的文心(ERNIE)语义理解技术,通过产业实践案例,深入解析NLP技术选型模型调优的一些方法,以及工程实践中的经验。

扫码即可免费报名,还为大家精心准备了图书、京东卡等小礼物哦~

b53abdb61bd89c4ec750a2f269aca8df.png

One More Thing:

为了进一步降低企业应用AI的门槛与成本,EasyDL还重磅推出「万有引力」计划,为有AI应用需求的企业提供专项基金,详情请点击

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

4646ddd0561da66ef6c786fb51b9529b.png

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

这篇关于模型部署到移动端_15分钟实现AI端计算模型训练、加速与部署 | 百度EasyDL公开课...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/323378

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Conda虚拟环境的复制和迁移的四种方法实现

《Conda虚拟环境的复制和迁移的四种方法实现》本文主要介绍了Conda虚拟环境的复制和迁移的四种方法实现,包括requirements.txt,environment.yml,conda-pack,... 目录在本机复制Conda虚拟环境相同操作系统之间复制环境方法一:requirements.txt方法

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja