CN111857734B - 一种分布式深度学习模型平台部署及使用方法 - Google Patents

一种分布式深度学习模型平台部署及使用方法 Download PDF

Info

Publication number
CN111857734B
CN111857734B CN202010568016.8A CN202010568016A CN111857734B CN 111857734 B CN111857734 B CN 111857734B CN 202010568016 A CN202010568016 A CN 202010568016A CN 111857734 B CN111857734 B CN 111857734B
Authority
CN
China
Prior art keywords
module
deep learning
learning model
reasoning
fastapi
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.)
Active
Application number
CN202010568016.8A
Other languages
English (en)
Other versions
CN111857734A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010568016.8A priority Critical patent/CN111857734B/zh
Publication of CN111857734A publication Critical patent/CN111857734A/zh
Application granted granted Critical
Publication of CN111857734B publication Critical patent/CN111857734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式深度学习模型平台部署及使用方法,步骤:在分布式系统部署WEB后端FastApi模块、深度学习模型推理模块、消息队列模块及数据库模块;WEB后端FastApi模块接收并处理客户端发送的数据请求,再将处理后数据请求发送到消息队列模块;消息队列模块将数据请求分发到深度学习模型推理模块;深度学习模型推理模块加载并运行模型,对数据请求进行推理,生成推理结果,并将推理结果存储到数据库模块;WEB后端FastApi模块从数据库模块查询推理结果,并向客户端返回。本发明充分利用FastApi快速响应和消息队列的中间件特性,有效提升深度学习模型的高并发在线推理任务能力。

Description

一种分布式深度学习模型平台部署及使用方法
技术领域
本发明属于人工智能技术领域,具体涉及一种分布式深度学习模型平台部署及使用方法。
背景技术
Fastapi,是python的一个异步高性能web框架。
Rabbitmq,是一种消息队列。
Gunicorn:一个Python的基于WSGI标准的HTTP服务器,用于部署FastApi。
近些年来,得益于计算力与数据量的大规模提升,深度神经网络在语音识别、图像识别和目标检测等领域取得了超越人类的表现成果,并被逐步推广部署到实际应用中。然而深度学习算法运算复杂度高、CPU内存和GPU显存占用大、带宽要求高,限制了深度学习模型在生产环境中的部署。目前模型部署主要是嵌入到web应用里,模型线上推理的时候每次只能同时处理一条数据,尤其在处理高并发在线推理任务时,由于单台服务器计算能力与存储空间有限,很容易导致深度学习在线推理平台的崩溃,使服务器有宕机的风险。同时模型推理模块嵌入到web应用中后,严重依赖web应用,增加了开发和维护成本。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种分布式深度学习模型平台部署及使用方法,是非常有必要的。
发明内容
针对现有技术的上述单台服务器在处理多并发在线推理任务计算力不足的缺陷,本发明提供一种分布式深度学习模型平台部署及使用方法,以解决上述技术问题。
本发明提供一种分布式深度学习模型平台部署及使用方法,包括如下步骤:
S1.在分布式系统部署WEB后端FastApi模块、深度学习模型推理模块、消息队列模块及数据库模块;
S2.WEB后端FastApi模块接收并处理客户端发送的数据请求,再将处理后数据请求发送到消息队列模块;
S3.消息队列模块将数据请求分发到深度学习模型推理模块;
S4.深度学习模型推理模块加载并运行模型,对数据请求进行推理,生成推理结果,并将推理结果存储到数据库模块;
S5.WEB后端FastApi模块从数据库模块查询推理结果,并向客户端返回。
进一步地,步骤S1具体步骤如下:
S11.在分布式系统设置中间节点、存储节点和若干计算节点;
S12.在各计算节点部署若干WEB后端FastApi模块及若干深度学习模型推理模块;
S13.在中间节点部署消息队列模块;
S14.在存储节点部署数据库模块。多个WEB后端FastApi模块及多深度学习模型推理模块提高服务端并行处理能力。
进一步地,分布式系统中通过Gunicorn工具部署WEB后端FastApi模块。
进一步地,在分布式系统还设置负载均衡模块;
步骤S2具体步骤如下:
S21.负载均衡模块接收到客户端发送的数据请求后,根据各计算节点负载运行情况选择一个空闲计算节点,并向该空闲节点的WEB后端FastApi模块发送数据请求;
S22.对应WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回数据标记,同时将数据请求及数据标记发送到消息队列模块。数据标记用于客户端查询推理结果。
进一步地,分布式系统中设置Nginx负载均衡模块。
进一步地,步骤S3具体步骤如下:
S31.消息队列模块将接收到数据请求及其数据标记按照时间顺序生成队列;
S32.消息队列模块判断各深度学习模型推理模块是否有空闲;
若否,消息队列等待设定时间段后,返回步骤S32;
若是,进入步骤S33;
S33.消息队列模块选定一个空闲深度学习模型推理模块,与其建立连接,并向其发送数据请求及其数据标记。消息队列模块实现了WEB后端FastApi模块与深度学习模型推理模块的高度去耦合,提高了处理能力。
进一步地,消息队列模块采用rabbitmq消息队列。rabbitmq是实现了高级消息队列协议(AMQP)的开源消息代理中间件,应用程序通过写消息,将消息传递于队列,由另一应用程序读取完成通信;在应对高并发任务时,可以请求抛给队列,让程序后置去处理,减轻服务器在高并发场景下的压力。
进一步地,步骤S4具体步骤如下:
S41.深度学习模型推理模块与消息队列模块建立连接后,一次从消息队列接收若干条数据请求及对应数据标记;
S42.深度学习模型推理模块并行处理各数据请求,分别生成推理结果;
S43.深度学习模型推理模块将各推理结果及对应数据标记存储到数据库模块。计算节点上部署多个深度学习模型推理模块,每个深度学习模型推理模块一次性可以接收多条来自消息队列模块,然后进行数据批量处理和预测,有效减轻了服务端的访问压力,降低了服务器宕机的风险,提升了深度学习模型推理模块针对高并发推理请求的能力。
进一步地,数据库模块采用mysql数据库;
步骤S43中,数据库模块以数据标记为索引存储推理结果。以数据标记为索引,便于查询数据请求的推理结果。
进一步地,步骤S22中,WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回;
客户端接收到返回的数据标记后,生成定时任务,每隔设定时间段向WEB后端FastApi模块请求推理结果;
步骤S5具体步骤如下:
S51.WEB后端FastApi模块接收到客户端的推理结果请求后,根据数据标记向数据库模块查询;
若客户端不存在该数据标记,进入步骤S52;
若客户端存在该数据标记,进入步骤S53;
S52.WEB后端FastApi模块向客户端返回推理未完成,客户端等待下次定时任务;
S53.WEB后端FastApi模块向客户端返回推理结果,客户端删除定时任务。客户端设置定时任务,使得用户不必持续等待推理结果,定时查询,提高效率。
本发明的有益效果在于,
本发明提供的分布式深度学习模型平台部署及使用方法,部署平台已有搭建,能充分利用FastApi的快速响应和消息队列的中间件的特性,有效提升了深度学习模型的高并发在线推理任务的能力。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的方法流程示意图一;
图2是本发明的方法流程示意图二;
图3为本发明部署的深度学习模型平台示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种分布式深度学习模型平台部署及使用方法,包括如下步骤:
S1.在分布式系统部署WEB后端FastApi模块、深度学习模型推理模块、消息队列模块及数据库模块;
S2.WEB后端FastApi模块接收并处理客户端发送的数据请求,再将处理后数据请求发送到消息队列模块;
S3.消息队列模块将数据请求分发到深度学习模型推理模块;
S4.深度学习模型推理模块加载并运行模型,对数据请求进行推理,生成推理结果,并将推理结果存储到数据库模块;
S5.WEB后端FastApi模块从数据库模块查询推理结果,并向客户端返回。
实施例2:
如图2所示,本发明提供一种分布式深度学习模型平台部署及使用方法,包括如下步骤:
S1.在分布式系统部署WEB后端FastApi模块、深度学习模型推理模块、消息队列模块、数据库模块及负载均衡模块;具体步骤如下:
S11.在分布式系统设置中间节点、存储节点和若干计算节点;
S12.在各计算节点部署若干WEB后端FastApi模块及若干深度学习模型推理模块;
S13.在中间节点部署消息队列模块;
S14.在存储节点部署数据库模块;
S2.WEB后端FastApi模块接收并处理客户端发送的数据请求,再将处理后数据请求发送到消息队列模块;具体步骤如下:
S21.负载均衡模块接收到客户端发送的数据请求后,根据各计算节点负载运行情况选择一个空闲计算节点,并向该空闲节点的WEB后端FastApi模块发送数据请求;
S22.对应WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回数据标记,同时将数据请求及数据标记发送到消息队列模块;
S3.消息队列模块将数据请求分发到深度学习模型推理模块;消息队列模块采用rabbitmq消息队列;具体步骤如下:
S31.消息队列模块将接收到数据请求及其数据标记按照时间顺序生成队列;
S32.消息队列模块判断各深度学习模型推理模块是否有空闲;
若否,消息队列等待设定时间段后,返回步骤S32;
若是,进入步骤S33;
S33.消息队列模块选定一个空闲深度学习模型推理模块,与其建立连接,并向其发送数据请求及其数据标记;
S4.深度学习模型推理模块加载并运行模型,对数据请求进行推理,生成推理结果,并将推理结果存储到数据库模块;数据库模块采用mysql数据库;具体步骤如下:
S41.深度学习模型推理模块与消息队列模块建立连接后,一次从消息队列接收若干条数据请求及对应数据标记;
S42.深度学习模型推理模块并行处理各数据请求,分别生成推理结果;
S43.深度学习模型推理模块将各推理结果及对应数据标记存储到数据库模块;数据库模块以数据标记为索引存储推理结果;
S5.WEB后端FastApi模块从数据库模块查询推理结果,并向客户端返回。
上述实施例2中的步骤S22中,WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回;
客户端接收到返回的数据标记后,生成定时任务,每隔设定时间段向WEB后端FastApi模块请求推理结果;
步骤S5具体步骤如下:
S51.WEB后端FastApi模块接收到客户端的推理结果请求后,根据数据标记向数据库模块查询;
若客户端不存在该数据标记,进入步骤S52;
若客户端存在该数据标记,进入步骤S53;
S52.WEB后端FastApi模块向客户端返回推理未完成,客户端等待下次定时任务;
S53.WEB后端FastApi模块向客户端返回推理结果,客户端删除定时任务。
实施例3:
如图3所示,在分布式系统中的第一计算节点部署第一WEB后端FastApi模块、第二WEB后端FastApi模块、第三WEB后端FastApi模块、第一深度学习模型推理模块、第二深度学习模型推理模块、第三深度学习模型推理模块以及第四深度学习模型推理模块,在第二计算节点部署第四WEB后端FastApi模块、第五WEB后端FastApi模块、第六WEB后端FastApi模块、第五深度学习模型推理模块、第六深度学习模型推理模块、第七深度学习模型推理模块以及第八深度学习模型推理模块;在中间节点部署消息队列模块,在存储节点部署数据库模块;
分布式系统还部署负载均衡模块;第一客户端、第二客户端、第三客户端的数据请求先到达负载均衡模块,负载均衡模块向第一计算节点或第二计算节点中各自的空闲WEB后端FastApi模块发送数据请求,空闲WEB后端FastApi模块将数据请求处理后,发送到消息队列模块,消息队列模块从第一深度学习模型推理模块到第八深度学习模型推理模块中选择空闲的深度学习模型推理模块处理数据请求,生成推理结果,存储到数据库模块;
WEB后端FastApi模块接收客户端推理结果请求,向数据库模块查询,并向客户端返回。
FastApi是Python的一款异步高性能框架,汲取了Python众多优秀框架的特性,其性能可与NodeJS,Go媲美,同时FastApi具备代码复用性高,容易上手,健壮性强的优点。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种分布式深度学习模型平台部署及使用方法,其特征在于,包括如下步骤:
S1.在分布式系统部署WEB后端FastApi模块、深度学习模型推理模块、消息队列模块及数据库模块;
S2.WEB后端FastApi模块接收并处理客户端发送的数据请求,再将处理后数据请求发送到消息队列模块;
S3.消息队列模块将数据请求分发到深度学习模型推理模块;
S4.深度学习模型推理模块加载并运行模型,对数据请求进行推理,生成推理结果,并将推理结果存储到数据库模块;
S5.WEB后端FastApi模块从数据库模块查询推理结果,并向客户端返回。
2.如权利要求1所述的分布式深度学习模型平台部署及使用方法,其特征在于,步骤S1具体步骤如下:
S11.在分布式系统设置中间节点、存储节点和若干计算节点;
S12.在各计算节点部署若干WEB后端FastApi模块及若干深度学习模型推理模块;
S13.在中间节点部署消息队列模块;
S14.在存储节点部署数据库模块。
3.如权利要求1或2所述的分布式深度学习模型平台部署及使用方法,其特征在于,分布式系统中通过Gunicorn工具部署WEB后端FastApi模块。
4.如权利要求2所述的分布式深度学习模型平台部署及使用方法,其特征在于,在分布式系统还设置负载均衡模块;
步骤S2具体步骤如下:
S21.负载均衡模块接收到客户端发送的数据请求后,根据各计算节点负载运行情况选择一个空闲计算节点,并向该空闲计算节点的WEB后端FastApi模块发送数据请求;
S22.对应WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回数据标记,同时将数据请求及数据标记发送到消息队列模块。
5.如权利要求4所述的分布式深度学习模型平台部署及使用方法,其特征在于,分布式系统中设置Nginx负载均衡模块。
6.如权利要求1所述的分布式深度学习模型平台部署及使用方法,其特征在于,步骤S3具体步骤如下:
S31.消息队列模块将接收到数据请求及其数据标记按照时间顺序生成队列;
S32.消息队列模块判断各深度学习模型推理模块是否有空闲;
若否,消息队列等待设定时间段后,返回步骤S32;
若是,进入步骤S33;
S33.消息队列模块选定一个空闲深度学习模型推理模块,与其建立连接,并向其发送数据请求及其数据标记。
7.如权利要求1或6所述的分布式深度学习模型平台部署及使用方法,其特征在于,消息队列模块采用rabbitmq消息队列。
8.如权利要求1所述的分布式深度学习模型平台部署及使用方法,其特征在于,步骤S4具体步骤如下:
S41.深度学习模型推理模块与消息队列模块建立连接后,一次从消息队列接收若干条数据请求及对应数据标记;
S42.深度学习模型推理模块并行处理各数据请求,分别生成推理结果;
S43.深度学习模型推理模块将各推理结果及对应数据标记存储到数据库模块。
9.如权利要求8所述的分布式深度学习模型平台部署及使用方法,其特征在于,数据库模块采用mysql数据库;
步骤S43中,数据库模块以数据标记为索引存储推理结果。
10.如权利要求4所述的分布式深度学习模型平台部署及使用方法,其特征在于,步骤S22中,WEB后端FastApi模块接收到数据请求后,生成数据标记,并向客户端返回;
客户端接收到返回的数据标记后,生成定时任务,每隔设定时间段向WEB后端FastApi模块请求推理结果;
步骤S5具体步骤如下:
S51.WEB后端FastApi模块接收到客户端的推理结果请求后,根据数据标记向数据库模块查询;
若客户端不存在该数据标记,进入步骤S52;
若客户端存在该数据标记,进入步骤S53;
S52.WEB后端FastApi模块向客户端返回推理未完成,客户端等待下次定时任务;
S53.WEB后端FastApi模块向客户端返回推理结果,客户端删除定时任务。
CN202010568016.8A 2020-06-19 2020-06-19 一种分布式深度学习模型平台部署及使用方法 Active CN111857734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010568016.8A CN111857734B (zh) 2020-06-19 2020-06-19 一种分布式深度学习模型平台部署及使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010568016.8A CN111857734B (zh) 2020-06-19 2020-06-19 一种分布式深度学习模型平台部署及使用方法

Publications (2)

Publication Number Publication Date
CN111857734A CN111857734A (zh) 2020-10-30
CN111857734B true CN111857734B (zh) 2022-05-31

Family

ID=72987025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010568016.8A Active CN111857734B (zh) 2020-06-19 2020-06-19 一种分布式深度学习模型平台部署及使用方法

Country Status (1)

Country Link
CN (1) CN111857734B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190344B (zh) * 2021-03-26 2023-12-15 中国科学院软件研究所 一种面向软件定义卫星的神经网络动态重构部署的方法以及装置
CN113568757A (zh) * 2021-09-22 2021-10-29 中建电子商务有限责任公司 一种基于深度学习的大规模分布式推理引擎及系统
CN114154644A (zh) * 2021-11-30 2022-03-08 北京航空航天大学 一种机器学习数据处理方法及装置
CN114881236A (zh) * 2022-06-02 2022-08-09 广联达科技股份有限公司 一种模型推理系统、方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108199896A (zh) * 2018-01-16 2018-06-22 中电福富信息科技有限公司 基于RabbitMQ的分布式消息发布系统
CN111200606A (zh) * 2019-12-31 2020-05-26 深圳市优必选科技股份有限公司 深度学习模型任务处理方法、系统、服务器及存储介质

Also Published As

Publication number Publication date
CN111857734A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111857734B (zh) 一种分布式深度学习模型平台部署及使用方法
CN111614769B (zh) 一种深度学习技术的行为智能分析引擎系统及控制方法
CN103069421A (zh) 用于处理针对分区式索引的搜索请求的方法和装置
CN111880911A (zh) 一种任务负载调度方法、装置、设备及可读存储介质
CN111861471A (zh) 平行链共识方法、平行链区块回滚方法、设备和存储介质
CN114330722B (zh) 推理实现方法、网络、电子设备及存储介质
CN103067486B (zh) 基于PaaS平台的大数据处理方法
CN112150023A (zh) 任务分配方法、装置及存储介质
CN115016934A (zh) 一种联邦学习方法、装置、系统、电子设备及存储介质
CN113590898A (zh) 数据检索方法、装置、电子设备、存储介质及计算机产品
CN111813529B (zh) 数据处理方法、装置、电子设备及存储介质
CN111861361B (zh) 一种智能简历推送系统及方法
CN111581443B (zh) 分布式图计算方法、终端、系统及存储介质
CN111538560B (zh) 一种虚拟机部署方法、装置、电子设备及其存储介质
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN112541534A (zh) 一种客户特性化营销模型匹配方法和装置
CN114579311B (zh) 执行分布式计算任务的方法、装置、设备以及存储介质
CN110647396A (zh) 端云协同低功耗带宽受限智能应用实现方法
CN109617960A (zh) 一种基于属性化分离的web AR数据呈现方法
CN114286304B (zh) 一种基于二维动态匹配的mec资源分配方法
CN115563160A (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
US20220138528A1 (en) Data processing method for neural network accelerator, device and storage medium
CN112615773B (zh) 一种消息处理方法及系统
CN112491971B (zh) 一种计算集群节点调度方法、装置、设备、产品
CN114785857B (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
GR01 Patent grant
GR01 Patent grant