判断深度学习模型的稳定性_全自动搭建定制化深度学习模型

EasyDL服务自动化生成与部署

EasyDL定制化训练和服务平台基于百度业界领先算法,旨在为用户量身定制业务专属AI模型。通过灵活的配置,用户可以将模型发布为公有云API、设备端离线SDK、本地服务器部署包、软硬一体方案等多种输出方式的AI服务。目前,EasyDL已支持基于图像、声音、文本、视频等文件形式的AI处理,已在工业、零售、金融、物流、互联网、安防监控等多个行业落地。本文将深入介绍EasyDL如何在保证模型服务质量的同时,即时响应用户实际生产环境的要求,完成自动化服务落地部署的全部流程。

服务自动化生成

EasyDL的每个功能服务,都包含为用户定制化训练的模型和配置,在EasyDL专业版中,模型服务还支持用户自定义的服务逻辑(包括预处理、预测、后处理等)。如此繁多的定制化功能,使得每个模型服务都不尽相同,需要具备自动化、可扩展的服务生成能力,才能在保证高质量的前提下缩短模型部署至生产环境的整体时间。为了实现EasyDL服务的自动化生成,我们构建了一条完整的流水线系统,经过编译、测试、加固、集成、发布等环节,最终实现交付。

d13c305f8d7b58e25e11b8e9ab8dfe8e.png

流程首先进入编译阶段。服务端代码由用户自定义代码、EasyDL mini-server、第三方库等多个模块组成,在编译时,mini-server负责对服务进行集成。一方面,mini-server完成了模型框架适配、第三方库集成等工作,提供了简单易用的模型预测服务;另一方面,mini-server提供了服务鉴权、模型加解密等功能,保证服务在公有云、私有云等开放场景部署的安全性。

在流水线上,我们配置了诸多测试环节,以保障服务质量。按服务集成前后之阶段不同,测试分为静态测试和集成测试两部分。完成编译后,就进入静态测试阶段。静态测试主要完成代码层面的测试,包括:单元测试、静态代码扫描、源码安全扫描等。在模型服务部署到集成环境后,则会完成回归测试、性能测试、服务安全检查等测试环节。

在需要进行端计算的场景中,EasyDL与百度大脑EasyEdge 端计算模型生成平台无缝对接,采用EasyEdge 的模型转换、适配和加速等基础组件,自动生成可用于设备端部署的 SDK。

在对EasyDL服务进行私有化部署交付时,为保证模型在传输及输出到公有云、私有云时的安全性,团队对EasyDL增加了安全加固和模型加密环节。例如,在安全加固环节中设置了代码混淆、可执行程序加固等,避免程序被逆向分析或动态调试。

而后,EasyDL会通过mini-server预制模板进行镜像制作,并在镜像制作完成后将服务部署到集成环境中。此时,只有通过所有集成测试的模型服务才能发布。选择私有化部署的模型则还要接入EasyPack私有部署支持平台,最终生成一键部署包交付用户使用。

服务自动化部署

EasyDL提供可一键发布模型的在线推理服务,用户可选择在EasyDL页面启动模型校验服务,或直接获取专属的高精度云端API接口。这一系列简单便捷的产品体验依托于EasyDL强大的自动化部署能力,使其能为用户的定制化AI需求提供一套完整的开发流程:支持模型快速上下线、弹性伸缩、升级与迁移,实现模型高并发、低延迟的在线推理,满足用户多版本模型在线无缝切换等。

6db192c7404a0ee11ff9d7b1adf31efc.png

服务管理方面,有别于数据库+业务逻辑的通用业务框架,定制化的深度学习应用通常由用户模型网络与推理框架构建而成。在各行业数据爆炸的今天,每秒产生的新数据都可能推动模型效果的提升,模型快速迭代意味着大量新服务的发布与频繁地服务变更。EasyDL模型服务管理构建于Kubernetes之上,自动装配用户定制化模型网络与推理框架,并创建服务访问端点,实现模型服务发现与自动负载均衡。自动化部署为每个模型服务分配多个容器实例,以保障良好的可用性。灵活的扩缩容操作能够快速满足大客户的并发调用需求。

资源管理方面,作为在线服务,推理框架须额外关注推理性能,在模型效果与性能不可兼得的情况下,服务有必要支持GPU、FPGA等异构计算资源。与通用业务应用不同的是,EasyDL设计中考虑到了计算密集型的AI应用对异构硬件的依赖,通过允许模型服务在CPU/GPU间快速无缝迁移,满足用户在不同情景下对模型预测速度的要求。同时,出于对资源利用率的考虑,EasyDL资源管理具备基于scale-to-zero的模型自动回收与唤醒机制,其通过挖掘历史调用量特征,对长期无调用的模型执行回收,并在新的请求到达时重新唤醒模型服务。

在基于数据学习的模型优化闭环中,用户常常须要更新模型并升级线上服务。借助EasyDL模型升级功能 ,用户能够轻松实现多个版本模型在线无缝切换。EasyDL的滚动发布和流量控制,使线上不同版本的模型能在升级期间平稳过渡,实现调用方流量零丢失。

EasyDL平台的模型管理功能涵盖了用户定制化模型数据源接入、元数据管理等组件,并面向容器统一提供模型挂载卷。模型数据源方面,目前已支持百度对象存储BOS、百度分布式文件系统AFS等多种持久化存储。在EasyDL的自动化部署流程中,模型管理为定制化模型提供缓存,使服务的多个容器实例能够快速完成定制化模型的装配,这一机制能够显著降低模型服务的部署时延。

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

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

相关文章

Android应用程序消息处理机制(Looper、Handler)分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6817933 Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息 队例中…

冒泡排序和选择排序区别_你以为只是简单的排序?(一)

一直在犹豫要不要写排序的文章,因为真的烂大街了。可是一旦细看,还真是很多值的思考的地方,所以还是选择记录一下以下完整代码,均可从这里获取https://github.com/Rain-Life/data-struct-by-go/tree/master/sort排序算法效率分析了…

java hash 分库分表_分库分表方案

摘自:Java技术栈一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以…

verilog设计简易正弦波信号发生器_信号发生器工作原理是什么

信号发生器是指产生所需参数的电气测试信号的仪器。根据信号波形可分为四类:正弦信号、函数(波形)信号、脉冲信号和随机信号发生器。那么信号发生器工作原理是什么?听听广州荣鑫电子怎么说。信号发生器又称信号源或振荡器&#xf…

LeetCode 1780. 判断一个数字是否可以表示成三的幂的和(位运算)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false 。 对于一个整数 y ,如果存在整数 x 满足 y3xy 3^xy3x,我们称这个整数 y 是三的幂…

Android “再按一次退出“

1 Override2 public boolean onKeyDown(int keyCode, KeyEvent event) {3 if (keyCode KeyEvent.KEYCODE_BACK) 4 {5 if ((System.currentTimeMillis() - mExitTime) > 2000) { //第一种:判断2次按后退键间隔是否在2秒内6 …

python群控安卓_Github优秀项目推荐,安卓设备免Root实现低延迟投屏和远控

暑假找了个暑假工,没办法人总是要吃饭嘛,Weiney也不例外。亲戚家的小公司想做移动app引流,当然我是完全不懂什么引流,我也就做个打杂的工作。别看我技术一般,在这个不大的公司我还是唯一专业对口的技术人才呢&#xff…

.net pdf转图片_pdf2image类库实现批量pdf转图片

通过pdf2image来实现对PDF文件的处理工作,我们本次主要做的是将PDF文件批量转成图片。之前写过批量提取封面的文章,但是在后期的深入编写过程中遇到一些问题,近期再次深入编写程序,一起来看看代码吧!python一、说明本次…

java 悬浮提示框_表格(悬浮框提示)

JTable的ToolTip提示和其它的组件提示是一样的,因为它们都是继承于Jcomponent,当我们需要为我们的单元格实现ToolTip的时候,只需要复写它的getToolTipText方法就可以了,看看Sun官方的例子://Implement table cell tool tips.OverridepublicString getToolTipText(Mo…

linux远程工具_【linux实操3.1】linux远程连接工具Secure的使用

把自己的闲置笔记本用来做centos7服务器了,同时也出一期教程,记录自己同时也帮助需要的人;安排如下1、【linux实操1】华硕笔记本安装centos7实战2、【linux实操2】使用yum在命令行安装常用工具3、【linux实操3】安装漂亮的桌面xfce桌面**记录…

IOS--UIAlertView的使用方法详细

IOS--UIAlertView的使用方法详细 // UIAlertView的常用方法 // 标准样式 UIAlertView *oneAlertView [[UIAlertView alloc] initWithTitle:"标题"message:"提示内容" delegate:self cancelButtonTitle:"关闭"otherButtonTitles:"OK"…

afreecatv 回放下载_行车记录仪怎么看回放?行车记录仪停车后能自动录像吗

点击上面蓝色字↑↑↑即可免费订阅!请喜欢的朋友请转发和分享,让更多朋友看到汽车知识天天学 (微信号:qiche92 )  行车记录仪最关键的一个部件,它就是储存零件——TF卡(内存卡)。在购买行车记录仪时,TF卡并不是标配&…

linux导出mysql下ssl证书_Linux系统下生成证书 https证书

平时都是用oneinstack加密https现在因为本地调试 需要https就找到这篇文章Linux系统下生成证书生成秘钥key,运行:$ openssl genrsa -des3 -out server.key 20481会有两次要求输入密码,输入同一个即可输入密码然后你就获得了一个server.key文件.以后使用此文件(通过openssl提供的…

lstm原始论文_有序的神经元——ON-LSTM模型浅析

尽管最近出现的Transformer系列的模型在nlp领域内很流行,但RNN仍然有着重要的地位。本文介绍的模型来自于ICLR 2019的最佳论文之一,它针对自然语言具有语法分层的特点,对原有的LSTM模型的结构做出了改进,使得新模型不仅具有更好的…

malloc函数详解

一、原型&#xff1a;extern void *malloc(unsigned int num_bytes); 头文件&#xff1a;#include <malloc.h> 或 #include <alloc.h> (注意&#xff1a;alloc.h 与 malloc.h 的内容是完全一致的。) 功能&#xff1a;分配长度为num_bytes字节的内存块 说明&#xf…

c++ 航空管理系统_浅谈航站楼能源管理系统的设计与应用

蒋超萍江苏安科瑞电器制造有限公司 江苏江阴 214400 【摘要】根据航站楼的特点&#xff0c;从航站楼能源消耗现状、能源管理系统的功能、系统架构、子系统以及能源的优化调度方案五个方面介绍了航站楼能源管理系统的设计&#xff0c;并对节能效果进行了预测。关键词&#xff1a…

mysql 线性表_线性表之顺序存储,基本操作

/*九大基本操作(不同的存储结构实现的代码不同)此处用一维数组的动态分配&#xff1a;InitList(&L);//初始化表&#xff0c;Length(L);LocateElem(L,e);GetElem(L,i);ListInsert(&L,i,e);ListDelete(&L,i,&e);PrintList(L);Empty(L);DestoryList(&L);*//*静…

mac python安装太慢_【已解决】Mac中给pip3添加代理以提升下载python包的速度

折腾&#xff1a;【未解决】Mac中Python 3.7安装TensorFlow期间&#xff0c;用&#xff1a;pip3 install tensorflow期间会去从下载python包此处连接files.pythonhosted.org的速度很慢。而自己有代理可用。所以想办法去给pip3或pip用上代理&#xff0c;加速下载mac pip3 use pr…

集合数据源

集合数据源主要包括ArrayList,Hashtabel,DataView,DataReader转载于:https://www.cnblogs.com/handsomer/p/4150400.html

LeetCode 1785. 构成特定和需要添加的最少元素(贪心)

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 nums &#xff0c;和两个整数 limit 与 goal 。 数组 nums 有一条重要属性&#xff1a;abs(nums[i]) < limit 。 返回使数组元素总和等于 goal 所需要向数组中添加的 最少元素数量 &#xff0c;添加元素 不应改变 数组中 …