一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种大规模深度学习推断的分布式系统的制作方法

2022-03-09 01:32:27 来源:中国专利 TAG:


1.本发明应用于计算平台系统的技术领域,特别涉及一种大规模深度学习推断的分布式系统。


背景技术:

2.在工业生产和检测中需要判断产品位置,常用的检测手段有光电传感器执行到位检测和机器视觉系统检测,其中机器视觉系统是通过机器视觉产品将被摄取目标根据像素分布和亮度、颜色等信息,转变成数字化信号,传送给专用的图像处理系统,图像处理系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。
3.而到位检测和图像处理系统的运算模型和处理精度需要提供大量的数据进行训练才能完善和提高,所以深度学习技术被越来越多的应用到工业检测当中,而工业场景中都会遇到众多对于检测精度,测试时长,设备可用性和成本等很多苛刻的要求。而深度学习中的推断作为一个长耗时需常驻且对算力要求苛刻的计算过程,需要针对其计算过程的特性,设计出一套与其相适合的系统架构来进行整体任务的调度和监控。
4.现在在市面上相似功能的系统普遍存在以下难点:1、通常采用单体应用架构,系统容错性差且无法动态快速的改变算力支持。
5.2、深度学习推断属长耗时处理,故系统大部分情况下都处于高并发状态,易造成系统稳定性下降甚至不可用。
6.3、深度学习应用场景广泛,不仅需要和多种不同设备进行对接,且会服务于整个项目过程中的多种不同的处理,如定位,图像优化和各类检测,现存技术多为提供软件工具包的方式进行对接,此方式耦合度高,对上位机业务侵入度高,会扩大因各类错误的爆炸范围。


技术实现要素:

7.本发明所要解决的技术问题是克服现有技术的不足,提供了一种采用队列将任务分步解耦,进而提高后端检测线程稳定性以及解决系统高并发问题的大规模深度学习推断的分布式系统。
8.本发明所采用的技术方案是:本发明包括服务层、工作流层以及基础设施层;服务层:包含推断逻辑业务块、模型训练业务块以及公共业务块,所述推断逻辑业务块承担系统进行推断判定的业务逻辑,所述模型训练业务块承担系统训练的业务逻辑,所述公共业务块承担所述推断逻辑业务块和所述模型训练业务块的公用逻辑;工作流层:包含若干接入点以及若干检测管道,所述接入点提供设备所需接入协议的接入端口,所述检测管道执行所传入的需要检测的数据,并将检测结果返回对应的所述接入点;基础设施层:用于提供所述服务层所需的基础服务,包含数据库模块、缓存模块、
消息队列模块、存储模块、驱动以及运行时框架。
9.一个优选方案是,所述数据库模块用于存储系统产出的结构化数据和非结构化数据;所述缓存模块用于存储需要高速读写的数据;所述消息队列模块用于暂存各服务需要消费的数据;所述存储模块用于存储系统产出的非结构化数据;所述驱动用于提供各个硬件的驱动环境;所述运行时框架用于提供底层深度学习所用的程序运行时。
10.一个优选方案是,所述推断逻辑业务块包括分发和调度模块、数据处理模块、持久化模块以及结果输出模块;分发和调度模块:提供针对不同模型调用的流量分发和后端推断服务器的任务调度;数据处理模块:提供推断任务数据的校验和转换;持久化模块:提供针对不同数据的存取;结果输出模块:提供对于不同客户端和不同业务的返回数据的转换和校验功能。
11.一个优选方案是,所述模型训练业务块包括数据预处理模块、模型处理模块、模型测试模块以及模型部署模块;数据预处理模块:对待训练的数据进行数据清洗和数据增广;模型处理模块:对训练后模型进行优化和轻量化处理;模型测试模块:对于训练后模型的性能和精度的测试;模型部署模块:将模型分发到各个推断服务器。
12.一个优选方案是,所述公共业务块包括监控模块、日志模块以及报警模块;监控模块:用于针对各业务块的健康检查和指标的数据提取;日志模块:提供日志输出格式化和存储;报警模块:通过各业务的观测数据进行报警操作。
13.一个优选方案是,本发明还包括以下检测步骤:步骤s1.所述大规模深度学习推断的分布式系统外部的若干台设备能够同时使用多种协议连接所述工作流层的若干接入点;步骤s2.设备将需要检测的数据通过既定协议送达对应的所述接入点,所述分发和调度模块调用该接入点的数据选定匹配的模型,并根据模型和数据的大小确定分配的流量和后端推断服务器的任务队列分配;步骤s3.所述数据处理模块对任务队列中第一顺位的需要进行推断任务的数据的校验和转换,校验之后将数据放入到依序分配的检测队列中;步骤s4.所述检测管道中的对应检测线程调取检测队列中的监测数据,通过匹配的模型执行数据的检测;步骤s5.检测线程执行完成检测流程后将检测结果放入结果存储队列,所述持久化模块针对检测结果的类型分类存放至所述存储模块的结果数据介质中;步骤s6.最终,对应的所述接入点从所述存储模块的结果数据介质中调取相应结果数据返回给对应设备。
14.一个优选方案是,本发明还包括以下模型训练步骤:步骤s7.所述大规模深度学习推断的分布式系统外部的设备能够通过对应的连接协议连接所述工作流层的若干接入点,步骤s8.设备将需要训练的数据模型通过既定协议送达对应的所述接入点,所述数据预处理模块对待训练的数据模型进行数据清洗和数据增广;步骤s9.所述模型处理模块对训练后数据模型进行优化和轻量化处理;步骤s10.所述模型测试模块对训练后数据模型的性能和精度进行测试;步骤s11.所述模型部署模块将完成测试后的数据模型分发到各个推断服务器。
15.本发明的有益效果是:通过采用分布式系统的形式由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成工作系统,进而实现将接入业务、检测业务和存储业务三部分使用消息队列的方式进行解耦,达到异步的工作模式,可以有效的解决高并发问题。当系统承载了高服务任务时,使用消息队列可以达到消峰去谷,防止系统处于高并发状态。使后端检测线程平缓有序进行数据检测,不至于在检测负载超过最大算力时,系统存续众多检测请求无法响应,最终压垮系统,造成系统宕机。其中,所述工作流层用以与外部设备对接通讯以及执行检测流程,所述接入点根据不同的接入协议进行数据的通讯并转发至所述推断逻辑业务块或所述模型训练业务块进行数据或模型的处理,所述检测管道包括若干后端推断服务器,每个后端推断服务器根据所述推断逻辑业务块的分配调动执行不同的检测线程并反馈检测结果。所述基础设施层的消息队列模块用以与所述推断逻辑业务块和所述模型训练业务块配合,将外部设备输入的各个任务以队列的形式分配至所述检测管道、所述数据库模块、所述缓存模块以及所述存储模块。另外,系统将任务解耦后,不仅可以所述检测管道的不同检测线程分别部署到不同主机即所述后端推断服务器,而且各个业务块可以进行独立的更新,在系统某部分发生错误时,不至于整个系统宕机。所述检测管道的检测线程从所述消息队列中拿取数据进行检测,而所述消息队列模块与检测程序可以位于不同计算设备通过网络进行通信,且每个检测程序都可以单独部署。如此便可根据测试项目的需求进行计算设备的快速拓展。另一方面,也可以在同一设备上部署不同的检测程序,实现不同检测任务共享计算设备的效果。
附图说明
16.图1是本发明的系统架构图;图2是本发明的工作框架图;图3是本发明的数据检测流程图;图4是本发明的模型训练流程图。
具体实施方式
17.如图1和图2所示,在本实施例中,本发明包括服务层、工作流层以及基础设施层;服务层:包含推断逻辑业务块、模型训练业务块以及公共业务块,所述推断逻辑业务块承担系统进行推断判定的业务逻辑,所述模型训练业务块承担系统训练的业务逻辑,所述公共业务块承担所述推断逻辑业务块和所述模型训练业务块的公用逻辑;
protocol)以及软件开发工具包sdk(software development kit)等;步骤s2.设备将需要检测的数据通过既定协议送达对应的所述接入点,所述分发和调度模块调用该接入点的数据选定并匹配相应的模型,并根据模型和数据的大小确定分配流量以及进行后端推断服务器的任务队列分配;步骤s3.所述数据处理模块对任务队列中第一顺位的需要进行推断任务的数据的校验和转换,校验之后将数据放入到依序分配的检测队列中;步骤s4.所述检测管道中的对应检测线程调取检测队列中的监测数据,通过匹配的模型执行数据的检测;步骤s5.检测线程执行完成检测流程后将检测结果放入结果存储队列,所述持久化模块针对检测结果的类型分类存放至所述存储模块的结果数据介质中;步骤s6.最终,对应的所述接入点从所述存储模块的结果数据介质中调取相应结果数据返回给对应设备。
22.如图4所示,在本实施例中,所述大规模深度学习推断的分布式系统还包括以下模型训练步骤:步骤s7.所述大规模深度学习推断的分布式系统外部的设备能够通过对应的连接协议连接所述工作流层的若干接入点,步骤s8.设备将需要训练的数据模型通过既定协议送达对应的所述接入点,所述数据预处理模块对待训练的数据模型进行数据清洗和数据增广;步骤s9.所述模型处理模块对训练后数据模型进行优化和轻量化处理;步骤s10.所述模型测试模块对训练后数据模型的性能和精度进行测试;步骤s11.所述模型部署模块将完成测试后的数据模型分发到各个后端推断服务器。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献