一种嵌入表模型训练方法、装置、设备及存储介质与流程

xiaoxiao4月前  33

本发明涉及计算机,尤其涉及一种嵌入表模型训练方法、装置、设备及存储介质。
背景技术
::1、嵌入表(embedding table)模型是人工智能(artificial intelligence,ai)模型在搜广推类应用中的关键技术,在实际业务应用中规模很大,需要t级别甚至10t/100t级别的存储。2、在对嵌入表模型进行训练时,由于模型存储量巨大,通常需要训练集群中的多个执行设备对嵌入表进行拆分,每个执行设备再根据单独的执行进程对模型数据进行分发。现有的集群通信过程中采用的是定长通信的方式,也即每个执行设备需要获取发送端对应的具体数据长度,才可以对该发送端传输的数据进行接收。3、因此,现有的模型训练过程中需要额外的通信次数去同步数据长度,导致硬件通信成本和软件等待时长较高,极大的影响了模型的训练效率,造成了资源浪费。技术实现思路1、本发明提供了一种嵌入表模型训练方法、装置、设备及存储介质,可以避免嵌入表模型训练过程中的冗余通信,提高模型训练效率以及计算资源的利用率。2、根据本发明的一方面,提供了一种嵌入表模型训练方法,应用于加速卡,所述方法包括:3、接收客户端发送的多个可变长消息,对所述多个可变长消息依次进行解析,得到每个可变长消息对应的消息头与消息体;4、其中,所述可变长消息由客户端根据嵌入表模型训练过程的输入消息构建得到;5、将每个可变长消息对应的消息头依次存放至预设的环形缓存区中,并将每个可变长消息对应的消息体写入目标存储器中;6、根据每个可变长消息对应的消息头,确定每个可变长消息对应的目标地址,并根据所述目标地址将各可变长消息对应的消息体发送至服务端。7、可选的,在根据所述目标地址将各可变长消息对应的消息体发送至服务端的同时,还包括:8、根据各所述可变长消息对应的实时状态信息,构建消息状态映射表;9、其中,所述消息状态映射表中包括每个可变长消息与对应发送状态之间的映射关系。10、可选的,在根据所述目标地址将各可变长消息对应的消息体发送至服务端之后,还包括:11、接收服务端针对多个可变长消息发送的多个响应消息;12、对所述多个响应消息依次进行解析,得到每个响应消息对应的消息头;13、将每个响应消息对应的消息头依次存放至预设的环形缓存区中,根据每个响应消息对应的消息头,将各响应消息发送至对应的客户端。14、根据本发明的另一方面,提供了一种嵌入表模型训练方法,应用于客户端,所述方法包括:15、获取嵌入表模型训练过程中待发送的多个输入消息,根据所述多个输入消息分别对应的特征信息,构建多个可变长消息;16、根据每个可变长消息对应的目标地址,将各可变长消息发送至对应的加速卡。17、可选的,根据所述多个输入消息分别对应的特征信息,构建多个可变长消息,包括:18、采用预设的排序算子,对多个输入消息进行排序,并根据排序后的输入消息,生成多个输入消息对应的value数组;19、根据所述嵌入表模型对应的训练集群,确定多个输入消息对应的目标路由;20、根据所述value数组以及目标路由,构建多个可变长消息以及每个可变长消息对应的消息头。21、可选的,在根据排序后的输入消息,生成多个输入消息对应的value数组的同时,还包括:22、根据排序后的输入消息,生成多个输入消息对应的索引数组以及索引偏移数组;23、在将各可变长消息发送至对应的加速卡之后,还包括:24、接收加速卡针对各变长消息反馈的响应消息,对所述响应消息进行解析,得到每个响应消息对应的消息头;25、根据所述索引数组以及索引偏移数组,确定所述响应消息对应的全部地址,并对所述响应消息进行拷贝;26、根据所述全部地址,对拷贝后的响应消息进行发送。27、根据本发明的另一方面,提供了一种嵌入表模型训练装置,应用于加速卡,所述装置包括:28、消息接收模块,用于接收客户端发送的多个可变长消息,对所述多个可变长消息依次进行解析,得到每个可变长消息对应的消息头与消息体;29、其中,所述可变长消息由客户端根据嵌入表模型训练过程的输入消息构建得到;30、消息存放模块,用于将每个可变长消息对应的消息头依次存放至预设的环形缓存区中,并将每个可变长消息对应的消息体写入目标存储器中;31、消息发送模块,用于根据每个可变长消息对应的消息头,确定每个可变长消息对应的目标地址,并根据所述目标地址将各可变长消息对应的消息体发送至服务端。32、根据本发明的另一方面,提供了一种嵌入表模型训练装置,应用于客户端,所述装置包括:33、消息构建模块,用于获取嵌入表模型训练过程中待发送的多个输入消息,根据所述多个输入消息分别对应的特征信息,构建多个可变长消息;34、消息传输模块,用于根据每个可变长消息对应的目标地址,将各可变长消息发送至对应的加速卡。35、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:36、至少一个处理器;以及37、与所述至少一个处理器通信连接的存储器;其中,38、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的嵌入表模型训练方法。39、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的嵌入表模型训练方法。40、本发明实施例提供的技术方案,通过硬件加速卡接收客户端发送的多个可变长消息,对所述多个可变长消息依次进行解析,得到每个可变长消息对应的消息头与消息体,将每个可变长消息对应的消息头依次存放至预设的环形缓存区中,并将每个可变长消息对应的消息体写入目标存储器中,根据每个可变长消息对应的消息头,确定每个可变长消息对应的目标地址,并根据所述目标地址将各可变长消息对应的消息体发送至服务端的技术手段,可以避免嵌入表模型训练过程中的冗余通信,提高模型训练效率以及计算资源的利用率。41、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。技术特征:1.一种嵌入表模型训练方法,其特征在于,应用于加速卡,所述方法包括:2.根据权利要求1所述的方法,其特征在于,在根据所述目标地址将各可变长消息对应的消息体发送至服务端的同时,还包括:3.根据权利要求1所述的方法,其特征在于,在根据所述目标地址将各可变长消息对应的消息体发送至服务端之后,还包括:4.一种嵌入表模型训练方法,其特征在于,应用于客户端,所述方法包括:5.根据权利要求4所述的方法,其特征在于,根据所述多个输入消息分别对应的特征信息,构建多个可变长消息,包括:6.根据权利要求5所述的方法,其特征在于,在根据排序后的输入消息,生成多个输入消息对应的value数组的同时,还包括:7.一种嵌入表模型训练装置,其特征在于,应用于加速卡,所述装置包括:8.一种嵌入表模型训练装置,其特征在于,应用于客户端,所述装置包括:9.一种电子设备,其特征在于,所述电子设备包括:10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-3或4-6中任一项所述的嵌入表模型训练方法。技术总结本发明公开了一种嵌入表模型训练方法、装置、设备及存储介质,包括:加速卡接收客户端发送的多个可变长消息,对多个可变长消息依次进行解析得到每个可变长消息对应的消息头与消息体;将每个可变长消息对应的消息头依次存放至预设的环形缓存区中,并将每个可变长消息对应的消息体写入目标存储器中;根据每个可变长消息对应的消息头,确定每个可变长消息对应的目标地址,并根据目标地址将各可变长消息对应的消息体发送至服务端。本发明实施例的技术方案可以避免嵌入表模型训练过程中的冗余通信,提高模型训练效率以及计算资源的利用率。技术研发人员:李志鹏,黄薛蓉,鲍敏琪,张亚林受保护的技术使用者:北京燧原智能科技有限公司技术研发日:技术公布日:2024/9/23

最新回复(0)