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

一种大规模仿真与模型推导方法、装置、设备及存储介质与流程

2022-03-09 06:10:27 来源:中国专利 TAG:


1.本发明涉及自动驾驶技术领域,尤其是涉及一种大规模仿真与模型推导方法、装置、设备及存储介质。


背景技术:

2.基于云平台的大规模仿真技术在自动驾驶领域有着重要的地位,可以减少算法在测试车辆进行测试的时间成本以及安全隐患,同时提高算法测试的效率以及算法测试对于各种场景的覆盖程度。
3.模型推导是自动驾驶算法的非常重要的组成部分。在场景访真时,算法模型需要这样使用:1.部署各种算法模型到gpu机器;2.利用访真软件收集传感器的数据,比如各种障碍物信息,周边环境信息等数据;3.利用访真软件获取车辆的高精准地图数据;4.利用访真软件将收集的数据输入算法模型;5.利用算法模型的引擎运算并反馈推导结果5.利用访真软件根据推导结果继续执行仿真任务。
4.自动驾驶算法每天需要运行几十万的场景来评估算法的效果,从而产生数以千万计的模型推导请求,因此对模型推导提出极高的要求。
5.其中,仿真软件是在cpu机器中运行的,而模型推导是在gpu机器中进行。由于cpu机器中的访真软件是native code(本机代码)的方式来访问gpu机器的,这样使得cpu机器与gpu机器必须是一一对应配套设置的,从而导致现有的大规模仿真与模型推导装置在进行大规模仿真时,需要使用大量的gpu机器,使得场景访真的成本非常巨大,而且gpu的使用率低,造成计算资源的浪费。


技术实现要素:

6.为此,本技术的实施例所解决的技术问题在于提供大规模仿真与模型推导装置,在大规模仿真时可以降低场景仿真的成本,而且有利于提高gpu的使用率,节约计算资源。
7.为了解决上述技术问题,本技术采用的技术方案内容具体如下:
8.一方面,本技术实施例提供一种大规模仿真与模型推导装置,包括:设有仿真软件模块的cpu和设有模型推导模块的gpu;所述gpu的数量少于所述cpu的数量;所述cpu通过rpc(remote procedure call protocol,远程过程调用协议)方式数据传输连接所述gpu。
9.进一步地,本技术实施例提供的大规模仿真与模型推导装置,包括:所述cpu还设有用于运行数据压缩算法的数据压缩模块;所述仿真软件模块的输出端连接所述数据压缩模块的输入端。
10.优选地,所述数据压缩算法为gzip压缩算法。
11.或者,所述数据压缩算法为lz4压缩算法。
12.更进一步地,所述cpu还设有负载平衡模块;所述仿真软件模块的输出端通过所述数据压缩模块连接所述负载平衡模块的输入端。
13.优选地,所述cpu还设有客户端;所述仿真软件模块、数据压缩模块和负载平衡模
块设置在所述客户端之中;所述gpu还设有服务端和数据解压模块;所述模型推导模块和数据解压模块设置在所述服务端之中;所述负载平衡模块用于获取并存储所述服务端的地址信息;当所述客户端发出rpc请求时,所述客户端向所述负载平衡模块请求获取所述服务端的地址信息,所述客户端根据所述负载平衡模块返回的地址信息建立所述客户端与服务端之间的数据传输连接。
14.更优选地,所述负载平衡模块为使用xds负载平衡策略的负载平衡模块。
15.或者,所述负载平衡模块为使用glb负载平衡策略的负载平衡模块。
16.或者,所述负载平衡模块为使用round_robin负载平衡策略的负载平衡模块。
17.另一方面,本技术的实施例提供一种大规模仿真与模型推导方法,包括:
18.构建设有仿真软件模块的cpu;
19.构建设有模型推导模块且数量少于cpu的gpu;
20.利用rpc方式建立cpu和gpu的数据传输连接。
21.进一步地,所述大规模仿真与模型推导方法,包括:
22.在cpu中构建用于运行数据压缩算法的数据压缩模块;
23.构建仿真软件模块的输出端与数据压缩模块的输入端之间的数据传输连接。
24.更进一步地,所述大规模仿真与模型推导方法,包括:
25.在cpu中构建负载平衡模块;
26.利用数据压缩模块构建仿真软件模块的输出端与负载平衡模块的输入端之间的数据传输连接。
27.优选地,所述大规模仿真与模型推导方法,包括:
28.在cpu中构建用于设置仿真软件模块、数据压缩模块和负载平衡模块的客户端;
29.在gpu中构建用于设置模型推导模块和数据解压模块的服务端;
30.当客户端发出rpc请求时,利用客户端向负载平衡模块请求获取服务端的地址信息,根据负载平衡模块返回的地址信息建立客户端与服务端之间的数据传输连接。
31.再一方面,本技术实施例提供一种设备,包括存储器、处理器以及存储在所述存储器中并能在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项的大规模仿真与模型推导方法的步骤。
32.又一方面,本技术实施例提供一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时上述任意一项的大规模仿真与模型推导方法的步骤。
33.综上所述,与现有技术相比,本技术实施例提供的技术方案带来的有益效果至少包括:
34.1.本技术的实施例通过利用rpc方式建立所述cpu和gpu的数据传输连接,在进行大规模仿真时,可以部署大量的成本相对gpu低廉的cpu来运行仿真软件,配合少量的运算能力比cpu强大的gpu来做模型推导,现有的大规模仿真与模型推导装置,可以有效地降低场景仿真的成本,而且有利于提高gpu的使用率,节约计算资源。
35.2.本技术的实施例通过在cpu中设置数据压缩模块,使利用仿真软件模块收集的数据在输入gpu进行模型推导之前,先进行压缩,从而解决在大规模访真任务并发地发起模型推导时造成模型推导模块所在gpu的网卡带宽占满的技术问题。
36.3.本技术的实施例通过在cpu中设置负载平衡模块,不但建立了cpu与gpu的长连
接,而且可以通过监听gpu的服务端状态维护连接状态,同时还可以将cpu发出的模型推导请求平均地发往gpu的服务端,保证gpu中服务端实例的负载相近。
附图说明
37.图1是本技术第一个示例性实施例提供的大规模仿真与模型推导装置的结构示意图。
38.图2是本技术第六个示例性实施例提供的大规模仿真与模型推导装置的结构示意图。
39.图3是本技术第八个示例性实施例提供的大规模仿真与模型推导方法的流程示意图。
40.图4是本技术第九个示例性实施例提供的大规模仿真与模型推导方法的部分流程示意图。
41.图5是本技术第十个示例性实施例提供的大规模仿真与模型推导方法的部分流程示意图。
42.图6是本技术第十二个示例性实施例提供的设备的结构示意图。
具体实施方式
43.本具体实施例仅仅是对本技术的解释,其并不是对本技术的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本技术的权利要求范围内都受到专利法的保护。
44.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.本技术的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
47.下面结合说明书附图对本技术实施例作进一步详细描述。
48.图1是本技术的第一个示例性实施例提供的大规模仿真与模型推导装置,其包括:设有仿真软件模块的cpu和设有模型推导模块的gpu;所述gpu的数量少于所述cpu的数量;所述cpu通过rpc方式数据传输连接所述gpu。
49.本技术的实施例通过利用rpc方式建立所述cpu和gpu的数据传输连接,在进行大规模仿真时,可以部署大量的成本相对gpu低廉的cpu来运行仿真软件,配合少量的运算能力比cpu强大的gpu来做模型推导,现有的大规模仿真与模型推导装置,可以有效地降低场
景仿真的成本,而且有利于提高gpu的使用率,节约计算资源。
50.需要说明的是,本技术的第一个示例性实施例所述的cpu和gpu的数量并不限于图1中所显示的数量;对本领域技术人员来说,所述cpu和gpu的具体数量是根据实际的仿真任务数量而进行设置的,只要满足cpu的数量大于gpu的数量即可。
51.本技术的第二个示例性实施例提供的大规模仿真与模型推导装置,其在图1所示的第一个示例性实施例的基础上作进一步改进,具体改进如下:
52.所述cpu还设有用于运行数据压缩算法的数据压缩模块;所述仿真软件模块的输出端连接所述数据压缩模块的输入端。
53.本技术的第二个示例性实施例通过在cpu中设置数据压缩模块,使利用仿真软件模块收集的数据在输入gpu进行模型推导之前,先进行压缩,从而解决在大规模访真任务并发地发起模型推导时造成模型推导模块所在gpu的网卡带宽占满的技术问题。
54.本技术的第三个示例性实施例提供的大规模仿真与模型推导装置,其在本技术的第二个示例性实施例的基础上作进一步改进,具体改进如下:
55.所述数据压缩算法为gzip压缩算法,从而实现在框架层面对数据进行压缩。
56.同时,发明人在实施本技术实施例的时候发现,在框架层面实现数据压缩会引发如下新的技术问题:对几十兆的数据进行压缩及解压缩会给gpu引入大概200-300ms的延时,而且会抢占非常多的cpu资源。所以,为了解决上述新的技术问题,本技术的第四个示例性实施例提供的大规模仿真与模型推导装置,其在本技术的第二个示例性实施例的基础上作进一步改进,具体改进如下:
57.所述数据压缩算法为lz4压缩算法,从而实现在应用层面对数据进行压缩。
58.本技术的第四个示例性实施例通过使用lz4压缩算法进行数据压缩,基于线上数据的观察效果,使得cpu到gpu的延时降低了近200ms,而且cpu的样本数据也证明了cpu使用率从5%降到0.076%。
59.本技术的第五个示例性实施例提供的大规模仿真与模型推导装置,其在本技术的第二个至第四个示例性实施例的基础上作进一步改进,具体改进如下:
60.所述cpu还设有负载平衡模块;所述仿真软件模块的输出端通过所述数据压缩模块连接所述负载平衡模块的输入端。
61.本技术的第五个示例性实施例通过在cpu中设置负载平衡模块,不但建立了cpu与gpu的长连接,而且可以通过监听gpu的服务端状态维护连接状态,同时还可以将cpu发出的模型推导请求平均地发往gpu的服务端,保证gpu中服务端实例的负载相近。
62.为了对上述第一个至第五个示例性实施例中所述的利用rpc方式建立所述cpu和gpu的数据传输连接作详细的描述,图2是本技术的第六个示例性实施例,其在本技术的第五个示例性实施例的基础上作进一步改进,具体改进如下:
63.所述cpu还设有客户端;所述仿真软件模块、数据压缩模块和负载平衡模块设置在所述客户端之中;所述gpu还设有服务端和数据解压模块;所述模型推导模块和数据解压模块设置在所述服务端之中;所述负载平衡模块用于获取并存储所述服务端的地址信息;当所述客户端发出rpc请求时,所述客户端向所述负载平衡模块请求获取所述服务端的地址信息,所述客户端根据所述负载平衡模块返回的地址信息建立所述客户端与服务端之间的数据传输连接,从而确保了客户端与服务端的连接准确性。
64.需要说明的是:所述地址信息包括ip信息和端口信息;所述数据传输连接为网络连接;所述的cpu和gpu的数量并不限于图2中所显示的数量;对本领域技术人员来说,所述cpu和gpu的具体数量是根据实际的仿真任务数量而进行设置的,只要满足cpu的数量大于gpu的数量即可。每个所述cpu中包含有若干个客户端,每个所述gpu中包含有若干个服务端,所述客户端和服务端的数量也并不限于图2所显示的数量。
65.本技术的第七个示例性实施例,其在本技术的第六个示例性实施例的基础上作进一步改进,具体改进如下:
66.所述负载平衡模块为使用xds负载平衡策略的负载平衡模块。
67.本技术的第七个示例性实施例由于其负载平衡模块是使用xds负载平衡策略的负载平衡模块,从而可以在云平台部署所述cpu和gpu。
68.在其他实施例中,所述负载平衡模块可以为使用glb负载平衡策略的负载平衡模块。
69.或者,在其他实施例中,所述负载平衡模块还可以为使用round_robin负载平衡策略的负载平衡模块,从而可以通过轮询调度的方式,将客户端后续的所有rpc请求通过所述数据传输连接发送到所述服务端上。
70.上述的大规模仿真与模型推导装置的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
71.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本技术所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
72.图3是本技术的第八个示例性实施例提供一种大规模仿真与模型推导方法,包括:
73.构建设有仿真软件模块的cpu;
74.构建设有模型推导模块且数量少于cpu的gpu;
75.利用rpc方式建立cpu和gpu的数据传输连接。
76.本技术第八个示例性实施例通过利用rpc方式建立cpu和gpu的数据传输连接,在进行大规模仿真时,可以部署大量的成本相对gpu低廉的cpu来运行仿真软件,配合少量的运算能力比cpu强大的gpu来做模型推导,现有的大规模仿真与模型推导装置,可以有效地降低场景仿真的成本,而且有利于提高gpu的使用率,节约计算资源。
77.本技术第九个示例性实施例提供一种大规模仿真与模型推导方法,其在图3所示的第八个示例性实施例的基础上作进一步改进,如图4所示,具体改进如下:
78.所述大规模仿真与模型推导方法,包括:
79.在cpu中构建用于运行数据压缩算法的数据压缩模块;
80.构建仿真软件模块的输出端与数据压缩模块的输入端之间的数据传输连接。
81.本技术第九个示例性实施例通过在cpu中构建数据压缩模块,使利用仿真软件模块收集的数据在输入gpu进行模型推导之前,先进行压缩,从而解决在大规模访真任务并发地发起模型推导时造成模型推导模块所在gpu的网卡带宽占满的技术问题。
82.其中,所述数据压缩算法为gzip压缩算法,从而实现在框架层面对数据进行压缩。
83.或者,所述数据压缩算法为lz4压缩算法,从而实现在应用层面对数据进行压缩。通过使用lz4压缩算法进行数据压缩,基于线上数据的观察效果,使得cpu到gpu的延时降低了近200ms,而且cpu的样本数据也证明了cpu使用率从5%降到0.076%。
84.本技术第十个示例性实施例提供一种大规模仿真与模型推导方法,其在图4所示的第九个示例性实施例的基础上作进一步改进,如图5所示,具体改进如下:
85.所述大规模仿真与模型推导方法,包括:
86.在cpu中构建负载平衡模块;
87.利用数据压缩模块构建仿真软件模块的输出端与负载平衡模块的输入端之间的数据传输连接。
88.本技术第十个示例性实施例通过在cpu中构建负载平衡模块,不但建立了cpu与gpu的长连接,而且可以通过监听gpu的服务端状态维护连接状态,同时还可以将cpu发出的模型推导请求平均地发往gpu的服务端,保证gpu中服务端实例的负载相近。
89.本技术第十一个示例性实施例提供一种大规模仿真与模型推导方法,其在图5所示的第十个示例性实施例的基础上作进一步改进,具体改进如下:
90.所述大规模仿真与模型推导方法,包括:
91.在cpu中构建用于设置仿真软件模块、数据压缩模块和负载平衡模块的客户端;
92.在gpu中构建用于设置模型推导模块和数据解压模块的服务端;
93.当客户端发出rpc请求时,利用客户端向负载平衡模块请求获取服务端的地址信息,根据负载平衡模块返回的地址信息建立客户端与服务端之间的数据传输连接。
94.本技术第十一个示例性实施例通过根据负载平衡模块返回的地址信息建立客户端与服务端之间的数据传输连接,从而确保了客户端与服务端的连接准确性。
95.需要说明的是,上述本技术第一至第十一个示例性实例中所述的rpc方式主要包括http方式和grpc方式,更优选grpc方式,主要是基于grpc是属于长连接的方式的考虑,从而可以减少每次在客户端和服务端间建立tcp连接的开销。
96.图6是本技术的第十二个示例性实施例提供的一种设备,该设备可以是服务器。该设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘,光盘,eeprom,eprom,sram,rom,磁存储器,快闪存储器,以及prom。该设备的存储器为存储于其内部的操作系统和计算机程序的运行提供环境。该设备的通信接口为网络接口,所述网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现上述实施例所述的大规模仿真与模型推导方法步骤。
97.在本技术的又一个实施例中,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的大规模仿真与模型推导方法步骤。所述存储介质包括但不限于:rom,ram,cd-rom,磁盘,以及软盘。
98.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本技术所述装置的内部结构划分成不同的功能单元或模块,以完
成以上描述的全部或者部分功能。
99.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
再多了解一些

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

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

相关文献