CN112686387A - 一种共性技术模型训练调度方法、装置及可读存储介质 - Google Patents

一种共性技术模型训练调度方法、装置及可读存储介质 Download PDF

Info

Publication number
CN112686387A
CN112686387A CN202011332109.7A CN202011332109A CN112686387A CN 112686387 A CN112686387 A CN 112686387A CN 202011332109 A CN202011332109 A CN 202011332109A CN 112686387 A CN112686387 A CN 112686387A
Authority
CN
China
Prior art keywords
training
model
scheduling
target machine
parameters
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
CN202011332109.7A
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.)
Shanghai Mengyu Information Technology Co ltd
Electronic Science Research Institute of CTEC
Original Assignee
Shanghai Mengyu Information Technology Co ltd
Electronic Science Research Institute of CTEC
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 Shanghai Mengyu Information Technology Co ltd, Electronic Science Research Institute of CTEC filed Critical Shanghai Mengyu Information Technology Co ltd
Priority to CN202011332109.7A priority Critical patent/CN112686387A/zh
Publication of CN112686387A publication Critical patent/CN112686387A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种共性技术模型训练调度方法、装置及可读存储介质,其中方法包括监测用户输入的训练参数;按照预设周期根据所述训练参数匹配目标机器节点;通过所述目标机器节点执行所述训练参数对应的训练任务。本发明实施例通过按照预设周期根据训练参数匹配目标机器节点,并通过目标机器节点执行训练参数对应的训练任务,由此优化了现有的模型训练流程,能够根据给定的训练参数匹配到相应的资源,从而实现模型训练的自动化。

Description

一种共性技术模型训练调度方法、装置及可读存储介质
技术领域
本发明涉及AI模型训练领域,尤其涉及一种共性技术模型训练调度方法、装置及可读存储介质。
背景技术
移动互联网后时代,AI成为下一个经济发展的风口,已是不争的事实,诸如人脸门禁、自动驾驶、无人机、语音音箱等产品,都已慢慢进入我们的生活中。
现有技术中AI模型训练成为技术人员每天都需要打交道的事情,但目前研发人员都是人工手动训练,存在以下问题:
1)不同的模型,需要搭建不同的运行环境,耽误时间;
2)不同的模型,训练需要的资源(如GPU卡)不同,无法做到自动调度,需要人为指定,易出错。
发明内容
本发明实施例提供一种共性技术模型训练调度方法、装置及可读存储介质,用以实现模型训练的自动化,缩短模型研发人员的调试时间,提高生产力。
第一方面,本发明实施例提供一种共性技术模型训练调度方法,包括:
监测用户输入的训练参数;
按照预设周期根据所述训练参数匹配目标机器节点;
通过所述目标机器节点执行所述训练参数对应的训练任务。
可选的,监测训练参数之前,所述方法还包括:
根据各个训练模型的基础运行环境进行调度配置。
可选的,根据各个训练模型的基础运行环境进行调度配置之前,所述方法包括:
对各个训练模型的所述基础运行环境进行分类;
根据分类结果,基于所述基础运行环境对应的依赖包进行镜像制作;
将制作完成的镜像存储至镜像库中。
可选的,根据各个训练模型的基础运行环境进行调度配置,包括:
根据各个训练模型的基础资料在调度平台上添加对应的训练模型;
基于所述训练模型获取用户上传的对应的模型关联数据;
其中,所述模型关联数据至少包括如下之一:数据集和算法代码。
可选的,监测用户输入的训练参数,包括:
获取用户选取的目标训练模型以及对应的训练参数;
其中,所述训练参数至少包括如下之一:运行周期、基础运行环境、显卡、数据集、资源占用和限制条件。
可选的,按照预设周期根据所述训练参数匹配目标机器节点,包括:
根据所述训练参数配置定时器队列;
在轮询所述定时器队列确定当前环境资源满足所述训练参数对应的训练任务的情况下,根据所述训练参数查询目标机器节点,并根据所述目标机器节点从所述镜像库中下载对应的基础运行环境镜像;
若超过定时器的定时值仍未完成对应的训练任务,则取消所述训练任务。
可选的,按照预设周期根据所述训练参数匹配目标机器节点之后,所述方法还包括:
在根据所述训练任务满足预设展示条件的情况下,根据所述训练任务对应的运行日志进行展示。
第二方面,本发明实施例提供一种共性技术模型训练调度装置,包括:
数据监测模块,用于监测用户输入的训练参数;
调度模块,用于按照预设周期根据所述训练参数匹配目标机器节点;
训练模块,用于通过所述目标机器节点执行所述训练参数对应的训练任务。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现前述的共性技术模型训练调度方法的步骤。
本发明实施例通过按照预设周期根据训练参数匹配目标机器节点,并通过目标机器节点执行训练参数对应的训练任务,由此优化了现有的模型训练流程,能够根据给定的训练参数匹配到相应的资源,从而实现模型训练的自动化,缩短了模型研发人员的调试时间,提高了生产力。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明第一实施例基本流程图;
图2为本发明第一实施例训练任务的一种可选的调度方式;
图3为本发明第一实施例训练任务的另一种可选的调度方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
在建设大数据智能共性技术学习平台的过程中,如何实现模型训练的智能化调度,是一个至关重要的课题。目前在AI模型训练上,技术人员的效率低,过程繁琐,如果可以优化这一项工作,实现对大数据智能共性技术学习平台模型的训练进行智能调度,则能提高对应的生产力。
本发明第一实施例提供一种共性技术模型训练调度方法,如图1所示,包括以下具体步骤:
S101、监测用户输入的训练参数;
S102、按照预设周期根据所述训练参数匹配目标机器节点;
S103、通过所述目标机器节点执行所述训练参数对应的训练任务。
本发明实施例通过按照预设周期根据训练参数匹配目标机器节点,并通过目标机器节点执行训练参数对应的训练任务,由此优化了现有的模型训练流程,能够根据给定的训练参数匹配到相应的资源,从而实现模型训练的自动化,缩短了模型研发人员的调试时间,提高了生产力。
可选的,监测训练参数之前,所述方法还包括:
根据各个训练模型的基础运行环境进行调度配置。
具体的说,在监测训练参数之前,在一些实施方式中还可以基础运行环境的调度配置,在配置完成后,即可完成目标机器节点的查询。
可选的,根据各个训练模型的基础运行环境进行调度配置之前,所述方法包括:
对各个训练模型的所述基础运行环境进行分类;
根据分类结果,基于所述基础运行环境对应的依赖包进行镜像制作;
将制作完成的镜像存储至镜像库中。
在一些实施方式中,根据各个训练模型的基础运行环境进行调度配置之前,还包括进行基础环境准备,具体可以包括如下步骤:
将各个模型训练所用到的基础运行环境进行归类;
按照上一步的归类结果,进行基础镜像的制作。例如对于使用Python运行的模型,则安装Python相关的依赖包,对于使用Java运行的模型,则安装 JDK相关的依赖包等。当然,如果有个别特殊的依赖包,则可以单独制作一个镜像。
将制作好的镜像,统一存储到镜像库中,例如镜像库可以是harbor仓库。
可选的,根据各个训练模型的基础运行环境进行调度配置,包括:
根据各个训练模型的基础资料在调度平台上添加对应的训练模型;
基于所述训练模型获取用户上传的对应的模型关联数据;
其中,所述模型关联数据至少包括如下之一:数据集和算法代码。
具体的说,在本实施例中,具体地调度配置过程可以包括:
用户根据不同训练模型的基础资料,在调度平台上,添加模型。本实施例中所述的调度平台可以是用于调度训练任务的平台,也即调度平台内可以被配置多个训练模型,在用户添加所需的训练模型之后,用户将训练模型完成训练所需要的数据集、算法代码等对应的模型关联数据上传到调度平台。由此在调度平台上,就集成了对应的训练模型以及模型关联数据。
可选的,监测用户输入的训练参数,包括:
获取用户选取的目标训练模型以及对应的训练参数;
其中,所述训练参数至少包括如下之一:运行周期、基础运行环境、显卡、数据集、资源占用和限制条件。
在一些可选的实施方式中,在调度平台配置完成后,用户则可以根据需要进行模型训练。例如用户可以根据实际需要选择对应的目标训练模型,然后设置训练参数,其中训练参数可以包括模型的运行周期、基础运行环境、GPU显卡、数据集、资源占用和限制条件等。例如设置训练任务对应的训练参数包括:需要每2小时运行一次,总共运行5次、必须使用2个Tesla-V100 的GPU卡、内存占用不能超过10个G、需要Python基础环境、如果1个小时没有运行结束,则自动取消等。
可选的,按照预设周期根据所述训练参数匹配目标机器节点,包括:
根据所述训练参数配置定时器队列;
在轮询所述定时器队列确定当前环境资源满足所述训练参数对应的训练任务的情况下,根据所述训练参数查询目标机器节点,并根据所述目标机器节点从所述镜像库中下载对应的基础运行环境镜像;
若超过定时器的定时值仍未完成对应的训练任务,则取消所述训练任务。
现有的方案中模型训练需要手动跑,无法定时定次的跑,效率低下。在本实施例中,可以根据不同的训练参数对配置不同的定时器,由此组成了定时器队列,每个定时器可以根据所述训练参数设置运行的周期、运行次数以及自动取消条件等信息。定时器会按照设定周期进行轮询,例如每秒进行定时器轮询,确定当前环境资源是否满足定时器队列对应的训练任务,环境资源可以是内存空闲、显卡空闲等。如图2、图3所示,当然可以同时挂起多个训练任务,由此可以在资源符合条件的情况下,同时调度执行不同的训练任务。
当然本实施例中还可以为不同的训练任务对应的定时器设置不同的优先级,从而可以让调度平台优先处理定时器队列靠前的训练任务。
在确定当前环境资源可以满足定时器队列对应的训练任务之后,则将训练任务对应的训练参数进行资源调度。如图2所示,也可以将训练参数中的 GPU卡信息、内存信息等按照预设的参数格式进行组装,并调用开源的容器管理平台进行训练。
本实施例中通过调度平台对容器平台进行调度进行举例说明。在确定当前环境资源可以满足定时器队列对应的训练任务之后,如图2所示,调度平台可以通过预设接口给容器平台下发控制指令,然后容器管理平台根据GPU 卡信息、CPU和内存信息等,查询符合条件的目标机器节点,如果没有找到,则会等待,直到条件满足为止。
在获得目标机器节点之后,容器管理平台还可以创建对应的任务容器,任务容器根据基础运行环境,比如Python,从镜像库(harbor仓库)中下载对应的镜像,从而保证训练任务可以跑起来。
在一些可选的实施方式中,调度平台可以定时轮询容器管理平台中任务的状态,并展示在界面上,保证用户可以随时查看结果,也可以根据用户的控制指令随时取消对应的任务。如果设置了任务最长运行时间,超过该时间后,任务状态还是等待或运行中,调度平台则会自动发送取消命令给容器管理平台,取消该训练任务,取消训练任务还可以删除对应的任务容器。
可选的,按照预设周期根据所述训练参数匹配目标机器节点之后,所述方法还包括:
在根据所述训练任务满足预设展示条件的情况下,根据所述训练任务对应的运行日志进行展示。
在一些可选的实施例中,在训练任务匹配到目标机器节点之后,也即训练任务运行成功后,可以在任务运行状态的界面查看到当前训练任务的运行日志。如果运行成功,调度平台会判断当前模型训练,是否满足预设展示条件,例如TensorBoard展示条件,如果满足,则将运行过程中输出的内容,比如日志文件等,作为输入,调用容器管理平台,生成TensorBoard,并在页面上可以查看。
本发明方法通过调度平台的智能匹配和定时处理的功能,将大数据智能共性技术学习平台模型训练需要手工处理的繁杂过程统一都自动化,智能化,比如根据GPU卡选择指定机器,根据运行周期自动训练,运行结果自动渲染等。界面操作,简单方便,大大缩短了模型研发人员的调试时间,提高了生产力,为更好AI算法的产生创建了条件,从而产生巨大的商业价值。
本发明方法的有益效果在于:
本发明方法可以自动匹配模型训练需要的基础设施环境。
本发明方法可以自动定时运行或取消模型训练任务。
提供用户交互界面的操作方式,AI研究人员使用起来简单方便快捷。
预先对模型依赖的基础环境进行了分类,对多种不同的模型可以使用相同的镜像进行训练,大大减少了镜像制作的工作量。
本发明方法适用于任何类型的AI模型训练,最大程度做到了业务无关性。
实施例二
本发明第二实施例提供一种共性技术模型训练调度装置,包括:
数据监测模块,用于监测训练参数;
调度模块,用于按照预设周期根据所述训练参数匹配目标机器节点;
训练模块,用于通过所述目标机器节点执行所述训练参数对应的训练任务。
本发明实施例通过按照预设周期根据训练参数匹配目标机器节点,并通过目标机器节点执行训练参数对应的训练任务,由此优化了现有的模型训练流程,能够根据给定的训练参数匹配到相应的资源,从而实现模型训练的自动化,缩短了模型研发人员的调试时间,提高了生产力。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现前述的共性技术模型训练调度方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (9)

1.一种共性技术模型训练调度方法,其特征在于,包括:
监测用户输入的训练参数;
按照预设周期根据所述训练参数匹配目标机器节点;
通过所述目标机器节点执行所述训练参数对应的训练任务。
2.如权利要求1所述的共性技术模型训练调度方法,其特征在于,监测训练参数之前,所述方法还包括:
根据各个训练模型的基础运行环境进行调度配置。
3.如权利要求2所述的共性技术模型训练调度方法,其特征在于,根据各个训练模型的基础运行环境进行调度配置之前,所述方法包括:
对各个训练模型的所述基础运行环境进行分类;
根据分类结果,基于所述基础运行环境对应的依赖包进行镜像制作;
将制作完成的镜像存储至镜像库中。
4.如权利要求3所述的共性技术模型训练调度方法,其特征在于,根据各个训练模型的基础运行环境进行调度配置,包括:
根据各个训练模型的基础资料在调度平台上添加对应的训练模型;
基于所述训练模型获取用户上传的对应的模型关联数据;
其中,所述模型关联数据至少包括如下之一:数据集和算法代码。
5.如权利要求4所述的共性技术模型训练调度方法,其特征在于,监测用户输入的训练参数,包括:
获取用户选取的目标训练模型以及对应的训练参数;
其中,所述训练参数至少包括如下之一:运行周期、基础运行环境、显卡、数据集、资源占用和限制条件。
6.如权利要求4或5所述的共性技术模型训练调度方法,其特征在于,按照预设周期根据所述训练参数匹配目标机器节点,包括:
根据所述训练参数配置定时器队列;
在轮询所述定时器队列确定当前环境资源满足所述训练参数对应的训练任务的情况下,根据所述训练参数查询目标机器节点,并根据所述目标机器节点从所述镜像库中下载对应的基础运行环境镜像;
若超过定时器的定时值仍未完成对应的训练任务,则取消所述训练任务。
7.如权利要求1-5任一项所述的共性技术模型训练调度方法,其特征在于,按照预设周期根据所述训练参数匹配目标机器节点之后,所述方法还包括:
在根据所述训练任务满足预设展示条件的情况下,根据所述训练任务对应的运行日志进行展示。
8.一种共性技术模型训练调度装置,包括:
数据监测模块,用于监测用户输入的训练参数;
调度模块,用于按照预设周期根据所述训练参数匹配目标机器节点;
训练模块,用于通过所述目标机器节点执行所述训练参数对应的训练任务。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的共性技术模型训练调度方法的步骤。
CN202011332109.7A 2020-11-24 2020-11-24 一种共性技术模型训练调度方法、装置及可读存储介质 Pending CN112686387A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011332109.7A CN112686387A (zh) 2020-11-24 2020-11-24 一种共性技术模型训练调度方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011332109.7A CN112686387A (zh) 2020-11-24 2020-11-24 一种共性技术模型训练调度方法、装置及可读存储介质

Publications (1)

Publication Number Publication Date
CN112686387A true CN112686387A (zh) 2021-04-20

Family

ID=75446729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011332109.7A Pending CN112686387A (zh) 2020-11-24 2020-11-24 一种共性技术模型训练调度方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN112686387A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448730A (zh) * 2021-06-29 2021-09-28 京东科技控股股份有限公司 服务的处理方法、装置、计算机设备及存储介质
CN115222041A (zh) * 2022-06-22 2022-10-21 北京百度网讯科技有限公司 用于模型训练的图生成方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017127976A1 (zh) * 2016-01-25 2017-08-03 华为技术有限公司 一种用于增量式学习云系统的训练、调度方法及相关设备
WO2019171468A1 (ja) * 2018-03-06 2019-09-12 株式会社ウフル 機械学習済みモデル切り替えシステム、エッジデバイス、機械学習済みモデル切り替え方法、及びプログラム
CN111768006A (zh) * 2020-06-24 2020-10-13 北京金山云网络技术有限公司 一种人工智能模型的训练方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017127976A1 (zh) * 2016-01-25 2017-08-03 华为技术有限公司 一种用于增量式学习云系统的训练、调度方法及相关设备
WO2019171468A1 (ja) * 2018-03-06 2019-09-12 株式会社ウフル 機械学習済みモデル切り替えシステム、エッジデバイス、機械学習済みモデル切り替え方法、及びプログラム
CN111768006A (zh) * 2020-06-24 2020-10-13 北京金山云网络技术有限公司 一种人工智能模型的训练方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113448730A (zh) * 2021-06-29 2021-09-28 京东科技控股股份有限公司 服务的处理方法、装置、计算机设备及存储介质
CN113448730B (zh) * 2021-06-29 2024-09-20 京东科技控股股份有限公司 服务的处理方法、装置、计算机设备及存储介质
CN115222041A (zh) * 2022-06-22 2022-10-21 北京百度网讯科技有限公司 用于模型训练的图生成方法、装置、电子设备及存储介质
CN115222041B (zh) * 2022-06-22 2023-09-01 北京百度网讯科技有限公司 用于模型训练的图生成方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
WO2021213293A1 (zh) 一种面向群智感知的泛在操作系统
CN111768006B (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
CN109858607A (zh) 一种模型应用方法、管理方法、系统及服务器
CN112686387A (zh) 一种共性技术模型训练调度方法、装置及可读存储介质
CN110069334A (zh) 一种基于包管理的分布式数据作业调度的方法和系统
WO2022048648A1 (zh) 实现自动构建模型的方法、装置、电子设备和存储介质
CN113225269B (zh) 基于容器的工作流调度方法、装置、系统及存储介质
CN110597621A (zh) 集群资源的调度方法与系统
CN112199180A (zh) 多任务调度的方法及装置、电子设备及可读存储介质
CN106897199B (zh) 一种基于大数据处理框架的批作业执行时间预测方法
CN112463334B (zh) 一种训练任务排队原因分析方法、系统、设备以及介质
CN116661978B (zh) 一种分布式的流程处理方法、装置及分布式业务流程引擎
CN113688026A (zh) 一种数据模拟仿真方法、装置、设备及存储介质
CN110837509A (zh) 一种调度依赖的方法、装置、设备以及存储介质
CN114896049A (zh) 电力人工智能平台作业任务调度方法、系统、设备及介质
CN114048040B (zh) 基于内存与图像分类模型时延关系的任务调度方法
US20180341521A1 (en) Managing job schedules
CN112363819B (zh) 大数据任务动态编排调度方法、装置及计算设备
CN113435489B (zh) 部署系统的方法、装置、计算机可读存储介质及处理器
CN115187097A (zh) 一种任务排期方法、装置、电子设备以及计算机存储介质
CN114971922A (zh) 车辆勘察的定损方法、装置、设备及存储介质
KR20230038320A (ko) 데이터 질의들의 예상 사전 실행
CN115004170A (zh) 根据数据新鲜度要求的优化查询调度
CN112363715B (zh) 卫星自主任务规划代码编写方法、装置及可读存储介质
CN117742928B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210420