模型部署到移动端_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

相关文章

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL