本公开涉及计算机,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术:
1、llm模型(large language model,大语言模型)已经在aigc(artificialintelligence generation context,人工智能内容生成)领域充分证明了其潜力和优越性。然而,由于llm模型本身巨大的参数量,其训练和推理的成本开销大,且算力资源的利用率较低。
技术实现思路
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、在一可选实施方式中,所述第一切分确定子模块还被配置为执行:
49、根据所述模型参数信息和所述全局属性信息,确定所述第一模型的子模型数量和对应的有效切分维度逻辑;
50、基于所述子模型数量和对应的所述有效切分维度逻辑,对所述第一模型进行切分,得到至少一组子模型;
51、将各组子模型对应的切分方式,确定为所述第一模型的至少一个第一切分方式。
52、在一可选实施方式中,所述第二切分确定子模块包括:
53、当前层级确定单元,被配置为执行将各所述子模型对应的处理单元所属的切分层级作为当前切分层级;
54、切分判断单元,被配置为执行在所述当前切分层级对应的目标处理单元包括多个下一级处理单元的情况下,基于所述当前切分层级对应的模型参数信息和各所述下一级处理单元的局部属性信息,判断所述当前切分层级对应的模型参数信息是否满足再次切分条件;
55、再次切分单元,被配置为执行在判定满足再次切分条件的情况下,对所述当前切分层级对应的模型参数信息进行再次切分,得到当前切分层级的第二切分方式;经再次切分后的模型参数信息通过各所述下一级处理单元执行数据处理;
56、循环单元,被配置为执行将各所述下一级处理单元所属的下一切分层级作为当前切分层级,重复执行判断所述当前切分层级对应的模型参数信息是否满足再次切分条件、以及得到当前切分层级的第二切分方式的步骤,直至确定所述当前切分层级对应的目标处理单元为所述数据处理硬件中的最底计算层级的处理单元,或者判定所述当前切分层级对应的模型参数信息不满足再次切分条件为止,得到所述至少一个切分层级的第二切分方式。
57、在一可选实施方式中,所述切分判断单元还被配置为执行:
58、基于所述当前切分层级对应的模型参数信息和各所述下一级处理单元的局部属性信息,判断所述当前切分层级对应的目标处理单元的处理算力是否与所述当前切分层级对应的处理任务匹配;
59、若判断结果指示不匹配,则判定所述当前切分层级对应的模型参数信息满足再次切分条件;
60、若判断结果指示匹配,则判定所述当前切分层级对应的模型参数信息不满足再次切分条件,并停止执行再次切分处理。
61、在一可选实施方式中,所述损耗确定模块还被配置为执行:
62、获取所述切分策略作用于所述第一模型和所述数据处理硬件的第一时间开销,所述第一时间开销用于表征所述数据处理硬件中各处理单元对基于所述切分策略切分后的第一模型和输入数据执行处理任务得到中间处理数据的计算时间;
63、获取所述中间处理数据作用于所述数据处理硬件的第二时间开销,所述第二时间开销用于表征所述中间处理数据在所述数据处理硬件中各计算层级的处理单元中进行数据同步的通信时间;
64、计算所述第一时间开销和所述第二时间开销的和值,得到各切分策略的资源损失信息。
65、在一可选实施方式中,所述数据同步包括以下至少一种:
66、针对当前计算层级的第一处理单元,基于第二处理单元的需求处理数据进行数据同步;所述第二处理单元与所述第一处理单元处于同一计算层级,且共享同一上一级计算层级的处理单元;
67、针对当前计算层级的第一处理单元,基于第三处理单元的需求处理数据进行数据同步;所述第三处理单元是所述第一处理单元的上一级计算层级的处理单元,所述第三处理单元与所述第一处理单元配置在同一数据处理硬件中;
68、针对当前计算层级的第一处理单元,基于第四处理单元的需求处理数据进行数据同步;所述第四处理单元与所述第一处理单元处于同一计算层级,且与所述第一处理单元配置在不同数据处理硬件中。
69、在一可选实施方式中,所述切分单元还被配置为执行:
70、确定各所述切分策略各自对应的资源损耗信息中最小资源损耗信息;
71、从所述切分策略集合中,将所述最小资源损耗信息对应的切分策略,确定为符合预设切分条件的目标切分策略;
72、根据所述目标切分策略对所述第一模型进行切分处理,得到切分后的第一模型;
73、其中,所述切分后的第一模型用于执行模型训练或模型推理;
74、所述第一模型至少用于执行针对图像数据、文本数据和音频数据中至少一种输入数据的任务处理。
75、在一可选实施方式中,所述数据处理硬件的数量为多个,每个所述数据处理硬件包括至少三个计算层级的处理单元,同一所述数据处理硬件中相邻的计算层级的处理单元之间的关系为包含关系。
76、根据本公开实施例的另一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任一实施方式所述的数据处理方法。
77、根据本公开实施例的另一方面,提供一种电子设备,包括:
78、处理器;
79、用于存储所述处理器可执行指令的存储器;
80、其中,所述处理器被配置为执行所述指令,以实现如上述任一实施方式所述数据处理方法。
81、根据本公开实施例的另一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述任一种实施方式中提供的数据处理方法。
82、本公开的实施例提供的技术方案至少带来以下有益效果:
83、本公开实施例通过获取第一模型的模型参数信息,以及针对第一模型的数据处理硬件的属性信息;根据模型参数信息和属性信息,确定第一模型的切分策略集合;切分策略集合包括多个切分策略,每个切分策略包括与数据处理硬件中至少一个计算层级分别对应的处理单元匹配的切分方式,不同的计算层级对应的处理单元具有不同的处理算力;针切分策略集合中各切分策略,获取切分策略作用于第一模型和数据处理硬件的资源损耗信息;根据各切分策略各自对应的资源损耗信息,从切分策略集合中确定符合预设切分条件的目标切分策略,并根据目标切分策略对第一模型进行切分处理。如此,通过分别引入数据处理硬件中的至少一个计算层级的处理单元匹配的切分方式,将模型切分拓展到更细粒度的处理单元,能够综合考虑各计算层级的带宽和算力,有效提升切分后的模型对算力资源的利用率,以及减少模型的时间开销成本。
84、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。