异构计算系统及其模型训练方法、设备、介质、程序产品与流程
- 国知局
- 2024-07-31 23:18:56
本发明涉及人工智能,特别是涉及一种异构计算系统及其模型训练方法、设备、介质、程序产品。
背景技术:
1、随着人工智能技术的发展,神经网络模型的规模越来越大,且为了保证可靠性和稳定性,在模型训练过程中会当前的训练快照作为检查点进行存储,这就要求有相匹配的存储能力。
2、相关技术为了解决模型训练过程中大容量内存需求问题,采用高性能固态硬盘,如ssds((solid state drives,固态硬盘),作为后端存储介质来扩展主机内存,并将部分训练数据及检查点存储到固态硬盘,尽管这种方式能够缓解内存压力,降低了模型训练过程对内存的需求,但会导致模型训练效率显著降低。
3、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、本发明提供了一种异构计算系统、模型训练方法、电子设备、非易失性存储介质及计算机程序产品,能够解决模型训练过程存在的内存瓶颈问题,有效提升模型训练效率。
2、为解决上述技术问题,本发明提供以下技术方案:
3、本发明一方面提供了一种异构计算系统,包括第一处理器、第二处理器及内存扩展设备,所述第二处理器和所述内存扩展设备均连接至所述第一处理器;
4、所述第一处理器统一管理所述第二处理器及所述内存扩展设备,所述第一处理器和所述第二处理器的计算能力类型不同,所述第二处理器、所述内存扩展设备均支持目标内存扩展技术,所述第一处理器、所述第二处理器和所述内存扩展设备之间的数据共享;
5、所述第一处理器将目标网络模型的训练任务卸载至所述第二处理器和所述内存扩展设备;所述第二处理器用于执行所述目标网络模型在迭代更新过程中的前向计算过程和反向计算过程,并将密集特征数据及计算过程所使用的数据存储至所绑定的内存中;所述内存扩展设备用于执行嵌入表的查找任务、更新任务以及所述目标网络模型的训练快照存储任务,并将训练快照数据、稀疏特征数据及计算过程所使用的数据存储至所绑定的内存中;所述第二处理器和所述内存扩展设备并行执行任务。
6、在第一种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和第二内存扩展设备;
7、所述第一内存扩展设备、所述第二内存扩展设备均连接至所述第一处理器,且所述第一内存扩展设备、所述第二内存扩展设备、所述第二处理器之间的数据共享;
8、所述第一内存扩展设备,用于执行所述目标网络模型训练过程中的分类训练任务;所述第二内存扩展设备,用于存储所述目标网络模型的训练快照;
9、所述第一内存扩展设备和所述第二内存扩展设备并行执行各自的训练任务。
10、在第二种示例性的实施方式中,所述目标内存扩展技术为高速互连标准技术,所述第二处理器、所述第一内存扩展设备、所述第二内存扩展设备连接至交换机设备,所述交换机设备通过根复合体设备连接至所述第一处理器。
11、在第三种示例性的实施方式中,所述目标内存扩展技术为高速互连标准技术,所述第一内存扩展设备和所述第二内存扩展设备均支持高速互连标准技术的内存一致性协议、高速互连标准技术的缓存一致性协议及高速互连标准技术的通信协议。
12、在第四种示例性的实施方式中,所述第一内存扩展设备包括第一控制器、表操作处理器和第一存储器;
13、其中,所述第一控制器用于使能所述第一内存扩展设备对所述目标内存扩展技术的支持;
14、所述表操作处理器,用于执行所述目标网络模型在训练过程中的嵌入表查找任务和嵌入表更新任务。
15、在第五种示例性的实施方式中,所述第二内存扩展设备包括第二控制器、检查点存储处理器和第二存储器;
16、其中,所述第二控制器用于使能所述第二内存扩展设备对所述目标内存扩展技术的支持;
17、所述检查点存储处理器,用于存储所述目标网络模型在训练过程中的训练快照,以作为容错检查点。
18、在第六种示例性的实施方式中,所述第二处理器绑定的内存用于存储密集特征信息和所述目标网络模型的神经网络信息;所述内存扩展设备绑定的内存用于存储稀疏特征信息及所述目标网络模型的训练快照数据。
19、本发明另一方面提供了一种模型训练方法,应用于如前任意一项所述的异构计算系统,包括:
20、当接收到模型训练任务,获取所述模型训练任务对应的目标网络模型;
21、将所述目标网络模型的训练任务划分为第一子任务和第二子任务,并将所述第一子任务下发至第二处理器,将所述第二子任务下发至内存扩展设备,所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练。
22、在第一种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和所述第二内存扩展设备;所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练的过程,包括:
23、对所述目标网络模型的各单次迭代更新过程,所述第一内存扩展设备执行嵌入表查找任务和嵌入表更新任务,所述第二处理器执行前向计算过程和反向计算过程中的矩阵乘法操作任务,所述嵌入表查找任务与所述前向计算过程的矩阵乘法操作任务并行执行,所述嵌入表更新任务与所述反向计算过程的矩阵乘法操作任务并行执行;
24、在当前次迭代结束后,所述第一内存扩展设备和所述第二处理器开启下一次迭代训练的同时,所述第二内存扩展设备存储所述目标网络模型在当前次迭代训练过程的训练快照。
25、在第二种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和所述第二内存扩展设备;所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练的过程,包括:
26、获取所述目标网络模型的初始训练数据,并将所述初始训练数据中的初始嵌入表存储至所述第一内存扩展设备绑定的内存中,将所述初始训练数据中的用户行为信息和神经网络信息存储至所述第二处理器绑定的内存中;
27、对所述目标网络模型在各次迭代更新过程中的前向计算过程的计算结果存储至所述第二处理器绑定的内存中,反向计算过程中的训练任务计算结果、反向特征交互计算结果包含的密集特征部分和反向矩阵乘法操作结果存储至所述第二处理器绑定的内存中,反向计算过程中的反向特征交互计算结果包含的稀疏特征部分存储至所述第一内存扩展设备绑定的内存中,所述第一内存扩展设备执行嵌入表更新操作的更新数据存储至所述第一内存扩展设备绑定的内存中;
28、当所述目标网络模型的当前次迭代更新过程结束,则将当前次迭代更新过程的反向矩阵乘法操作结果和当前次迭代更新过程的更新数据存储至所述第二内存扩展设备绑定的内存中。
29、在第三种示例性的实施方式中,所述第二内存扩展设备绑定的内存包括第一内存空间和第二内存空间,所述第一内存空间用于存储当前次迭代的上一次迭代更新过程产生的反向矩阵乘法操作结果和当前次迭代更新过程的更新数据;所述第二内存空间用于存储所述上一次迭代的上一次迭代更新过程产生的反向矩阵乘法操作结果和当前次迭代更新过程的更新数据;所述将当前次迭代更新过程的反向矩阵乘法操作结果和当前次迭代更新过程的更新数据存储至所述第二内存扩展设备绑定的内存中,包括:
30、将当前次迭代更新过程的反向矩阵乘法操作结果和当前次迭代更新过程的更新数据,采用数据覆盖方式存储至所述第二内存空间。
31、在第四种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和所述第二内存扩展设备;所述第一内存扩展设备绑定的内存为第一扩展内存空间,所述第二内存扩展设备绑定的内存为第二扩展内存空间,所述第二处理器绑定的内存为异构内存空间,所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练的过程,包括:
32、在所述目标网络模型的一次迭代更新过程中,所述第一内存扩展设备将所述异构内存空间的已查找标志的数值置为第一预设值,从所述第一扩展内存空间中读取嵌入表进行嵌入查找;
33、将查找结果存储到所述异构内存空间,并在存储完成后将所述已查找标志的数值置为第二预设值,同时更新所述第一扩展内存空间中的已更新标志的数值为第三预设值;
34、按照第一预设频率监测条件监测所述已更新标志的数值是否变为第四预设值,若监测到所述已更新标志的数值为第四预设值,则执行嵌入表更新操作,并在执行完嵌入表更新操作后,将所述第二扩展内存空间存储的第一个检查点存储标志置为第五预设值;
35、若符合训练结束条件,则结束训练;若不符合训练结束条件,则将所述第一内存扩展设备将所述异构内存空间的已查找标志的数值置为第一预设值,开始下一次迭代训练。
36、在第五种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和所述第二内存扩展设备;所述第一内存扩展设备绑定的内存为第一扩展内存空间,所述第二内存扩展设备绑定的内存为第二扩展内存空间,所述第二处理器绑定的内存为异构内存空间,所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练的过程,包括:
37、在所述目标网络模型的一次迭代更新过程中,所述第二处理器从所述异构内存空间中读取密集特征数据,开始执行前向计算过程中的矩阵乘法操作任务,并将矩阵乘法操作结果存入所述异构内存空间;
38、按照第二预设频率监测条件监测所述异构内存空间存储的已查找标志的数值,若监测到所述已查找标志的数值为第二预设值,则开始执行前向计算过程和反向计算过程中的特征交互任务和训练任务,在将反向特征交互结果包含的稀疏特征部分存储至所述第一扩展内存空间,反向特征交互结果包含的密集特征部分存储至所述异构内存空间后,将所述第一扩展内存空间存储的已更新标志的数值置为第四预设值,并在完成反向计算过程的反向矩阵操作和权重参数更新结果后,将所述第二扩展内存空间存储的第二个检查点存储标志置为第六预设值;
39、若符合训练结束条件,则结束训练;若不符合训练结束条件,则所述第二处理器开始下一次迭代训练。
40、在第六种示例性的实施方式中,所述内存扩展设备包括第一内存扩展设备和所述第二内存扩展设备;所述第一内存扩展设备绑定的内存为第一扩展内存空间,所述第二内存扩展设备绑定的内存为第二扩展内存空间,所述第二处理器绑定的内存为异构内存空间,所述第一子任务和所述第二子任务并行执行直至完成对所述目标网络模型的训练的过程,包括:
41、所述第二内存扩展设备访问所述第二扩展内存空间存储的第一个检查点存储标志和第二个检查点存储标志,并将所述第一个检查点存储标志和所述第二个检查点存储标志的数值均置为第七预设值;
42、按照第三预设频率监测条件监测所述第一个检查点存储标志的数值和所述第二个检查点存储标志的数值;若所述第一个检查点存储标志的数值为第五预设值,同时所述第二个检查点存储标志的数值为第六预设值,则启动检查点存储操作,将当前次迭代更新过程中产生的嵌入表和多层感知机权重参数复制到所述第二扩展内存空间;
43、若符合训练结束条件,则结束训练;若不符合训练结束条件,则所述第二内存扩展设备将所述第一个检查点存储标志和所述第二个检查点存储标志的数值均置为第七预设值,开始下一次迭将代训练。
44、本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述模型训练方法的步骤。
45、本发明最后还提供了一种非易失性存储介质,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述模型训练方法的步骤。
46、本发明提供的技术方案的优点在于,通过内存扩展技术将第二处理器、内存扩展设备和第一处理器连接起来,第一处理器能够统一管理第二处理器和内存扩展设备,并将这些设备内存都扩展为系统主内存,从而使得第二处理器、内存扩展设备可以高效地访问其它设备绑定内存,能够满足模型训练过程所需的大量内存的需求,通过第二处理器及内存扩展设备共同完成模型训练任务,模型训练过程就无需多次进行数据移动,不仅降低数据移动开销和软件开销,能够有效提升模型训练效率,而且还能有效降低内存需求,同时通过将检查点保存操作卸载到内存扩展设备中达到将容错操作移出训练关键路径的目的,有效解决了容错造成的训练内存瓶颈问题,能够有效提高模型训练效率。
47、此外,本发明还针对异构计算系统提供了相应的模型训练方法、电子设备、非易失性存储介质及计算机程序产品,进一步使得所述异构计算系统更具有可行性及实用性,所述模型训练方法、电子设备、非易失性存储介质及计算机程序产品具有相应的优点。
48、上面已提及的技术特征、下面将要提及的技术特征以及单独地在附图中显示的技术特征可以任意地相互组合,只要被组合的技术特征不是相互矛盾的。所有的可行的特征组合都是在本文中明确地记载的技术内容。在同一个语句中包含的多个分特征之中的任一个分特征可以独立地被应用,而不必一定与其他分特征一起被应用。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196964.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。