CN114154638A - 一种大规模深度学习推断的分布式系统 - Google Patents

一种大规模深度学习推断的分布式系统 Download PDF

Info

Publication number
CN114154638A
CN114154638A CN202111389422.9A CN202111389422A CN114154638A CN 114154638 A CN114154638 A CN 114154638A CN 202111389422 A CN202111389422 A CN 202111389422A CN 114154638 A CN114154638 A CN 114154638A
Authority
CN
China
Prior art keywords
data
module
model
inference
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111389422.9A
Other languages
English (en)
Inventor
王孝栋
曾成
张晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changyuan Yuntaili Vision Technology Zhuhai Co ltd
Original Assignee
Changyuan Yuntaili Vision Technology Zhuhai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changyuan Yuntaili Vision Technology Zhuhai Co ltd filed Critical Changyuan Yuntaili Vision Technology Zhuhai Co ltd
Priority to CN202111389422.9A priority Critical patent/CN114154638A/zh
Publication of CN114154638A publication Critical patent/CN114154638A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/043Distributed expert systems; Blackboards

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明旨在提供一种采用队列将任务分步解耦,进而提高后端检测线程稳定性以及解决系统高并发问题的大规模深度学习推断的分布式系统。本发明包括服务层、工作流层以及基础设施层,服务层包含推断逻辑业务块、模型训练业务块以及公共业务块,推断逻辑业务块承担系统进行推断判定的业务逻辑,模型训练业务块承担系统训练的业务逻辑,公共业务块承担推断逻辑业务块和模型训练业务块的公用逻辑;工作流层包含若干接入点以及若干检测管道,接入点提供设备所需接入协议的接入端口,检测管道执行检测并将结果返回;基础设施层用于提供服务层所需的基础服务。本发明应用于计算平台系统的技术领域。

Description

一种大规模深度学习推断的分布式系统
技术领域
本发明应用于计算平台系统的技术领域,特别涉及一种大规模深度学习推断的分布式系统。
背景技术
在工业生产和检测中需要判断产品位置,常用的检测手段有光电传感器执行到位检测和机器视觉系统检测,其中机器视觉系统是通过机器视觉产品将被摄取目标根据像素分布和亮度、颜色等信息,转变成数字化信号,传送给专用的图像处理系统,图像处理系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。
而到位检测和图像处理系统的运算模型和处理精度需要提供大量的数据进行训练才能完善和提高,所以深度学习技术被越来越多的应用到工业检测当中,而工业场景中都会遇到众多对于检测精度,测试时长,设备可用性和成本等很多苛刻的要求。而深度学习中的推断作为一个长耗时需常驻且对算力要求苛刻的计算过程,需要针对其计算过程的特性,设计出一套与其相适合的系统架构来进行整体任务的调度和监控。
现在在市面上相似功能的系统普遍存在以下难点:
1、通常采用单体应用架构,系统容错性差且无法动态快速的改变算力支持。
2、深度学习推断属长耗时处理,故系统大部分情况下都处于高并发状态,易造成系统稳定性下降甚至不可用。
3、深度学习应用场景广泛,不仅需要和多种不同设备进行对接,且会服务于整个项目过程中的多种不同的处理,如定位,图像优化和各类检测,现存技术多为提供软件工具包的方式进行对接,此方式耦合度高,对上位机业务侵入度高,会扩大因各类错误的爆炸范围。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供了一种采用队列将任务分步解耦,进而提高后端检测线程稳定性以及解决系统高并发问题的大规模深度学习推断的分布式系统。
本发明所采用的技术方案是:本发明包括服务层、工作流层以及基础设施层;
服务层:包含推断逻辑业务块、模型训练业务块以及公共业务块,所述推断逻辑业务块承担系统进行推断判定的业务逻辑,所述模型训练业务块承担系统训练的业务逻辑,所述公共业务块承担所述推断逻辑业务块和所述模型训练业务块的公用逻辑;
工作流层:包含若干接入点以及若干检测管道,所述接入点提供设备所需接入协议的接入端口,所述检测管道执行所传入的需要检测的数据,并将检测结果返回对应的所述接入点;
基础设施层:用于提供所述服务层所需的基础服务,包含数据库模块、缓存模块、消息队列模块、存储模块、驱动以及运行时框架。
一个优选方案是,所述数据库模块用于存储系统产出的结构化数据和非结构化数据;
所述缓存模块用于存储需要高速读写的数据;
所述消息队列模块用于暂存各服务需要消费的数据;
所述存储模块用于存储系统产出的非结构化数据;
所述驱动用于提供各个硬件的驱动环境;
所述运行时框架用于提供底层深度学习所用的程序运行时。
一个优选方案是,所述推断逻辑业务块包括分发和调度模块、数据处理模块、持久化模块以及结果输出模块;
分发和调度模块:提供针对不同模型调用的流量分发和后端推断服务器的任务调度;
数据处理模块:提供推断任务数据的校验和转换;
持久化模块:提供针对不同数据的存取;
结果输出模块:提供对于不同客户端和不同业务的返回数据的转换和校验功能。
一个优选方案是,所述模型训练业务块包括数据预处理模块、模型处理模块、模型测试模块以及模型部署模块;
数据预处理模块:对待训练的数据进行数据清洗和数据增广;
模型处理模块:对训练后模型进行优化和轻量化处理;
模型测试模块:对于训练后模型的性能和精度的测试;
模型部署模块:将模型分发到各个推断服务器。
一个优选方案是,所述公共业务块包括监控模块、日志模块以及报警模块;
监控模块:用于针对各业务块的健康检查和指标的数据提取;
日志模块:提供日志输出格式化和存储;
报警模块:通过各业务的观测数据进行报警操作。
一个优选方案是,本发明还包括以下检测步骤:
步骤S1.所述大规模深度学习推断的分布式系统外部的若干台设备能够同时使用多种协议连接所述工作流层的若干接入点;
步骤S2.设备将需要检测的数据通过既定协议送达对应的所述接入点,所述分发和调度模块调用该接入点的数据选定匹配的模型,并根据模型和数据的大小确定分配的流量和后端推断服务器的任务队列分配;
步骤S3.所述数据处理模块对任务队列中第一顺位的需要进行推断任务的数据的校验和转换,校验之后将数据放入到依序分配的检测队列中;
步骤S4.所述检测管道中的对应检测线程调取检测队列中的监测数据,通过匹配的模型执行数据的检测;
步骤S5.检测线程执行完成检测流程后将检测结果放入结果存储队列,所述持久化模块针对检测结果的类型分类存放至所述存储模块的结果数据介质中;
步骤S6.最终,对应的所述接入点从所述存储模块的结果数据介质中调取相应结果数据返回给对应设备。
一个优选方案是,本发明还包括以下模型训练步骤:
步骤S7.所述大规模深度学习推断的分布式系统外部的设备能够通过对应的连接协议连接所述工作流层的若干接入点,
步骤S8.设备将需要训练的数据模型通过既定协议送达对应的所述接入点,所述数据预处理模块对待训练的数据模型进行数据清洗和数据增广;
步骤S9.所述模型处理模块对训练后数据模型进行优化和轻量化处理;
步骤S10.所述模型测试模块对训练后数据模型的性能和精度进行测试;
步骤S11.所述模型部署模块将完成测试后的数据模型分发到各个推断服务器。
本发明的有益效果是:
通过采用分布式系统的形式由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成工作系统,进而实现将接入业务、检测业务和存储业务三部分使用消息队列的方式进行解耦,达到异步的工作模式,可以有效的解决高并发问题。当系统承载了高服务任务时,使用消息队列可以达到消峰去谷,防止系统处于高并发状态。使后端检测线程平缓有序进行数据检测,不至于在检测负载超过最大算力时,系统存续众多检测请求无法响应,最终压垮系统,造成系统宕机。其中,所述工作流层用以与外部设备对接通讯以及执行检测流程,所述接入点根据不同的接入协议进行数据的通讯并转发至所述推断逻辑业务块或所述模型训练业务块进行数据或模型的处理,所述检测管道包括若干后端推断服务器,每个后端推断服务器根据所述推断逻辑业务块的分配调动执行不同的检测线程并反馈检测结果。所述基础设施层的消息队列模块用以与所述推断逻辑业务块和所述模型训练业务块配合,将外部设备输入的各个任务以队列的形式分配至所述检测管道、所述数据库模块、所述缓存模块以及所述存储模块。另外,系统将任务解耦后,不仅可以所述检测管道的不同检测线程分别部署到不同主机即所述后端推断服务器,而且各个业务块可以进行独立的更新,在系统某部分发生错误时,不至于整个系统宕机。所述检测管道的检测线程从所述消息队列中拿取数据进行检测,而所述消息队列模块与检测程序可以位于不同计算设备通过网络进行通信,且每个检测程序都可以单独部署。如此便可根据测试项目的需求进行计算设备的快速拓展。另一方面,也可以在同一设备上部署不同的检测程序,实现不同检测任务共享计算设备的效果。
附图说明
图1是本发明的系统架构图;
图2是本发明的工作框架图;
图3是本发明的数据检测流程图;
图4是本发明的模型训练流程图。
具体实施方式
如图1和图2所示,在本实施例中,本发明包括服务层、工作流层以及基础设施层;
服务层:包含推断逻辑业务块、模型训练业务块以及公共业务块,所述推断逻辑业务块承担系统进行推断判定的业务逻辑,所述模型训练业务块承担系统训练的业务逻辑,所述公共业务块承担所述推断逻辑业务块和所述模型训练业务块的公用逻辑;
所述工作流层:包含若干接入点以及若干检测管道,所述接入点提供设备所需接入协议的接入端口,所述接入端口为网络端口;所述检测管道包括若干后端推断服务器,所述后端推断服务器为计算设备,每个所述后端推断服务器分配一个或多个检测线程,所述后端推断服务器执行所传入的需要检测的数据,并将检测结果返回对应的所述接入点;
所述基础设施层:用于提供所述服务层所需的基础服务,包含数据库模块、缓存模块、消息队列模块、存储模块、驱动以及运行时框架;所述数据库模块用于存储系统产出的结构化数据和非结构化数据;所述缓存模块用于存储需要高速读写的数据;所述消息队列模块用于暂存各服务需要消费的数据;所述存储模块用于存储系统产出的非结构化数据;所述驱动用于提供各个硬件的驱动环境;所述运行时框架用于提供底层深度学习所用的程序运行时。
在本实施例中,所述推断逻辑业务块包括分发和调度模块、数据处理模块、持久化模块以及结果输出模块;
分发和调度模块:提供针对不同的检测模型和待检测数据调用分配的流量分发,同时分配给相适配的所述后端推断服务器的任务队列中进行处理;
数据处理模块:在待测数据分配之前对推断任务数据进行校验和格式转换;
持久化模块:针对待测数据的检测数据和检测结果,将检测过程中有效的程序数据在持久状态和瞬时状态间转换,从所述缓存模块调取的瞬时数据在持久化为持久数据后存入所述存储模块中进行持久存储;
结果输出模块:在所述后端推断服务器完成数据检测后,匹配检测任务将检测结果的数据通过所述接入点反馈至对应的设备以及对不同检测任务的返回数据的转换和校验。
在本实施例中,所述模型训练业务块包括数据预处理模块、模型处理模块、模型测试模块以及模型部署模块;
数据预处理模块:对外部设备输出的检测模型所需的训练数据进行数据清洗和数据增广,进而实现检查数据一致性、处理无效值和缺失值,以及让数据集尽可能的多样化,使得训练的模型具有更强的泛化能力;
模型处理模块:对进行训练后的模型进行优化和轻量化处理;
模型测试模块:对训练后模型的性能和精度进行测试;
模型部署模块:将模型分发到各个所述后端推断服务器,进行部署,进而实现检测线程调用。
在本实施例中,所述公共业务块包括监控模块、日志模块以及报警模块;
监控模块:用于针对各业务块的健康检查和指标数据的提取;
日志模块:提供工作日志的输出格式化和存储;
报警模块:根据所述监控模块的观测数据在出现错误时进行报警操作。
如图3所示,在本实施例中,所述大规模深度学习推断的分布式系统还包括以下检测步骤:
步骤S1.所述大规模深度学习推断的分布式系统外部的若干台设备能够同时使用多种协议连接所述工作流层的若干接入点,其中连接协议包括Restful协议、RPC协议(Remote Procedure Call Protocol)、Websocket协议、TCP协议(Transmission ControlProtocol)以及软件开发工具包SDK(Software Development Kit)等;
步骤S2.设备将需要检测的数据通过既定协议送达对应的所述接入点,所述分发和调度模块调用该接入点的数据选定并匹配相应的模型,并根据模型和数据的大小确定分配流量以及进行后端推断服务器的任务队列分配;
步骤S3.所述数据处理模块对任务队列中第一顺位的需要进行推断任务的数据的校验和转换,校验之后将数据放入到依序分配的检测队列中;
步骤S4.所述检测管道中的对应检测线程调取检测队列中的监测数据,通过匹配的模型执行数据的检测;
步骤S5.检测线程执行完成检测流程后将检测结果放入结果存储队列,所述持久化模块针对检测结果的类型分类存放至所述存储模块的结果数据介质中;
步骤S6.最终,对应的所述接入点从所述存储模块的结果数据介质中调取相应结果数据返回给对应设备。
如图4所示,在本实施例中,所述大规模深度学习推断的分布式系统还包括以下模型训练步骤:
步骤S7.所述大规模深度学习推断的分布式系统外部的设备能够通过对应的连接协议连接所述工作流层的若干接入点,
步骤S8.设备将需要训练的数据模型通过既定协议送达对应的所述接入点,所述数据预处理模块对待训练的数据模型进行数据清洗和数据增广;
步骤S9.所述模型处理模块对训练后数据模型进行优化和轻量化处理;
步骤S10.所述模型测试模块对训练后数据模型的性能和精度进行测试;
步骤S11.所述模型部署模块将完成测试后的数据模型分发到各个后端推断服务器。

Claims (7)

1.一种大规模深度学习推断的分布式系统,其特征在于:它包括服务层、工作流层以及基础设施层;
服务层:包含推断逻辑业务块、模型训练业务块以及公共业务块,所述推断逻辑业务块承担系统进行推断判定的业务逻辑,所述模型训练业务块承担系统训练的业务逻辑,所述公共业务块承担所述推断逻辑业务块和所述模型训练业务块的公用逻辑;
工作流层:包含若干接入点以及若干检测管道,所述接入点提供设备所需接入协议的接入端口,所述检测管道执行所传入的需要检测的数据,并将检测结果返回对应的所述接入点;
基础设施层:用于提供所述服务层所需的基础服务,包含数据库模块、缓存模块、消息队列模块、存储模块、驱动以及运行时框架。
2.根据权利要求1所述的大规模深度学习推断的分布式系统,其特征在于:所述数据库模块用于存储系统产出的结构化数据和非结构化数据;
所述缓存模块用于存储需要高速读写的数据;
所述消息队列模块用于暂存各服务需要消费的数据;
所述存储模块用于存储系统产出的非结构化数据;
所述驱动用于提供各个硬件的驱动环境;
所述运行时框架用于提供底层深度学习所用的程序运行时。
3.根据权利要求1所述的大规模深度学习推断的分布式系统,其特征在于:所述推断逻辑业务块包括分发和调度模块、数据处理模块、持久化模块以及结果输出模块;
分发和调度模块:提供针对不同模型调用的流量分发和后端推断服务器的任务调度;
数据处理模块:提供推断任务数据的校验和转换;
持久化模块:提供针对不同数据的存取;
结果输出模块:提供对于不同客户端和不同业务的返回数据的转换和校验功能。
4.根据权利要求3所述的大规模深度学习推断的分布式系统,其特征在于:所述模型训练业务块包括数据预处理模块、模型处理模块、模型测试模块以及模型部署模块;
数据预处理模块:对待训练的数据进行数据清洗和数据增广;
模型处理模块:对训练后模型进行优化和轻量化处理;
模型测试模块:对于训练后模型的性能和精度的测试;
模型部署模块:将模型分发到各个推断服务器。
5.根据权利要求1所述的大规模深度学习推断的分布式系统,其特征在于:所述公共业务块包括监控模块、日志模块以及报警模块;
监控模块:用于针对各业务块的健康检查和指标的数据提取;
日志模块:提供日志输出格式化和存储;
报警模块:通过各业务的观测数据进行报警操作。
6.根据权利要求4所述的大规模深度学习推断的分布式系统,其特征在于,所述大规模深度学习推断的分布式系统还包括以下检测步骤:
步骤S1.所述大规模深度学习推断的分布式系统外部的若干台设备能够同时使用多种协议连接所述工作流层的若干接入点;
步骤S2.设备将需要检测的数据通过既定协议送达对应的所述接入点,所述分发和调度模块调用该接入点的数据选定匹配的模型,并根据模型和数据的大小确定分配的流量和后端推断服务器的任务队列分配;
步骤S3.所述数据处理模块对任务队列中第一顺位的需要进行推断任务的数据的校验和转换,校验之后将数据放入到依序分配的检测队列中;
步骤S4.所述检测管道中的对应检测线程调取检测队列中的监测数据,通过匹配的模型执行数据的检测;
步骤S5.检测线程执行完成检测流程后将检测结果放入结果存储队列,所述持久化模块针对检测结果的类型分类存放至所述存储模块的结果数据介质中;
步骤S6.最终,对应的所述接入点从所述存储模块的结果数据介质中调取相应结果数据返回给对应设备。
7.根据权利要求6所述的大规模深度学习推断的分布式系统,其特征在于,所述大规模深度学习推断的分布式系统还包括以下模型训练步骤:
步骤S7.所述大规模深度学习推断的分布式系统外部的设备能够通过对应的连接协议连接所述工作流层的若干接入点;
步骤S8.设备将需要训练的数据模型通过既定协议送达对应的所述接入点,所述数据预处理模块对待训练的数据模型进行数据清洗和数据增广;
步骤S9.所述模型处理模块对训练后数据模型进行优化和轻量化处理;
步骤S10.所述模型测试模块对训练后数据模型的性能和精度进行测试;
步骤S11.所述模型部署模块将完成测试后的数据模型分发到各个推断服务器。
CN202111389422.9A 2021-11-23 2021-11-23 一种大规模深度学习推断的分布式系统 Pending CN114154638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111389422.9A CN114154638A (zh) 2021-11-23 2021-11-23 一种大规模深度学习推断的分布式系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111389422.9A CN114154638A (zh) 2021-11-23 2021-11-23 一种大规模深度学习推断的分布式系统

Publications (1)

Publication Number Publication Date
CN114154638A true CN114154638A (zh) 2022-03-08

Family

ID=80457044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111389422.9A Pending CN114154638A (zh) 2021-11-23 2021-11-23 一种大规模深度学习推断的分布式系统

Country Status (1)

Country Link
CN (1) CN114154638A (zh)

Similar Documents

Publication Publication Date Title
KR101506629B1 (ko) 선박 건조 공정의 생산을 위한 협업 시스템의 대용량 데이터 처리 시스템의 성능 향상 방법
CN111046948B (zh) 点云仿真和深度学习的工件位姿识别及机器人上料方法
CN111614769B (zh) 一种深度学习技术的行为智能分析引擎系统及控制方法
CN105610972A (zh) 集群式的任务调派系统
US11385878B2 (en) Model deployment method, model deployment device and terminal equipment
CN112084015B (zh) 一种基于云计算的仿真云平台搭建系统及方法
CN102088490A (zh) 数据存储方法、设备和系统
CN110650174A (zh) 一种分布式架构的mes系统及其客户端与服务端的交互方法
US11023825B2 (en) Platform as a service cloud server and machine learning data processing method thereof
CN114706675A (zh) 基于云边协同系统的任务部署方法及装置
CN115665284A (zh) 基于分布式配置中心的报文处理方法、装置及计算机设备
CN114154638A (zh) 一种大规模深度学习推断的分布式系统
CN112561061A (zh) 神经网络稀疏化方法、装置、设备、存储介质及程序产品
CN111275376B (zh) 基于无人仓虚拟现实仿真实现的系统及方法
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN116248526A (zh) 部署容器平台的方法、装置及电子设备
CN110188140A (zh) 数据拉取方法、装置、存储介质和计算机设备
CN110784545B (zh) 实时数据分发系统
CN107479891A (zh) 一种基于mvc模型数据处理系统及方法
CN106095534A (zh) 一种计算任务处理方法和系统
CN116185668B (zh) 一种基于grpc的高效多模型选配部署方法
CN110083463B (zh) 一种3d图像引擎与数值处理软件间实时数据通信方法
CN110365694B (zh) 虚拟主机与真实主机间数据同步处理的系统及方法
CN114782445B (zh) 对象缺陷检测方法、装置、计算机设备和存储介质
CN115996410B (zh) 一种无线通信协议栈的测试方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519000 Room 401, zone B, 4th floor, No. 9, Keji 8th Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Applicant after: Changyuan vision technology (Zhuhai) Co.,Ltd.

Address before: 519000 Room 401, zone B, 4th floor, No. 9, Keji 8th Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province

Applicant before: Changyuan yuntaili vision technology (Zhuhai) Co.,Ltd.