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

基于搜索的分布式张量的不同排布方式间的自动转换系统的制作方法

2022-12-19 21:19:36 来源:中国专利 TAG:


1.本发明涉及分布式张量转换技术领域,具体为基于搜索的分布式张量的不同排布方式间的自动转换系统。


背景技术:

2.随深度学习模型逐渐变得越来越大以达到更佳的精度要求。深度学习模型的参数量已经达到百亿级别,甚至千亿级别。智源悟道2.0模型甚至有1.75万亿的参数规模。
3.在这种级别的大模型上,甚至单个张量的显存开销可能是单个设备无法承受的,这时张量的分布式存储技术被很多框架使用。为不同的排布方案提供一个自动转换系统,可以极大地提高张量分布式存储技术的易用性。
4.当前的主流分布式张量自动转换方案有oneflow,tensorflow xla模块.
5.oneflow:该框架提供了一套完整的分布式张量表达方案和自动转换方案。
6.分布式张量表达方案:在oneflow框架中,构造了一套sbp的表达方案,其中s代表split,b代表broadcast,p代表partial sum:
7.split:表示物理上的多个张量是由逻辑上的张量进行切分后得到的。split会包含一个参数axis,表示被切分的维度。如果把所有物理上的张量按照split的维度进行拼接,就能还原出逻辑上的张量。
8.broadcast:表示物理上的多个张量是逻辑上张量的复制,两者数据完全相同。
9.partial sum:表示物理上的多个张量跟逻辑上的张量的形状相同,但每个对应位置上元素的值是逻辑张量对应位置元素的值的一部分。如果把所有物理上的张量按照对应位置相加(element-wise),即可还出原逻辑上的张量。
10.利用这套方案可以描述逻辑上的张量在物理上的分布式存储排布方式。
11.自动转换方案:通过一个转换表来完成转换,比如s通过all gather转换成b,b通过scatter转换成s。
12.tensorflow xla:在tensorflow xla模块中,也有对分布式张量的支持,并且可以将集群抽象成了一个二维的设备组(2d-device mesh)。
13.表达方案:它为每个维度提供了slice和replica两种方案:
14.slice:与oneflow中的split类似,表示物理上的多个张量是由逻辑上的张量进行切分后得到的。slice会包含一个参数axis,表示被切分的维度。如果把所有物理上的张量按照slice的维度进行拼接,就能还原出逻辑上的张量。
15.replica:与oneflow中的broadcast类似,表示物理上的多个张量是逻辑上张量的复制,两者数据完全相同。
16.转换方案:枚举的方式实现了二维设备组设置下的转换表。
17.现有的oneflow:通过转换表转换,在高维设备组的设置下,转换表会变得特别庞大。只有运行时的方案,并没有模拟器来提供执行的开销信息以及tensorflow xla:枚举的方式实现了二维设备组设置下的转换,这个方法在面对高维情况时,工程量会变得不可实
现,只有运行时的方案,并没有模拟器来提供执行的开销信息,因此我们提出了基于搜索的分布式张量的不同排布方式间的自动转换系统。


技术实现要素:

18.针对现有技术的不足,本发明提供了基于搜索的分布式张量的不同排布方式间的自动转换系统,解决了上述背景技术中提出的问题。
19.为实现以上目的,本发明通过以下技术方案予以实现:基于搜索的分布式张量的不同排布方式间的自动转换系统,包括排布转换方案搜索器、模拟器、缓存表与执行器;
20.所述排布转换方案搜索器,用于得到从起始序列到目标序列转换序列表;
21.所述模拟器,用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;
22.所述缓存表,用于缓存在所有搜索过的方案;
23.所述执行器,用于在运行时中,执行搜索器搜索到的转换序列表,完成分布式张量排布的切换。
24.可选的,所述排布转换方案搜索器包括序列生成模块、相似度计算模块与序列选择模块,所述序列生成模块,用于根据起始序列,生成所有与原序列距离为1的序列;所述相似度计算模块,用于利用一个相似度计算函数,计算出序列间的相似度;所述序列选择模块,用于根据相似度的高低进行选择。
25.可选的,所述排布转换方案搜索器计算到与目标序列不同,则将c中选择到的序列,作为起始序列,重复上述过程,直到选择的序列与目标序列相同为止。
26.可选的,所述模拟器用于在不真实执行的情况下,根据alpha-beta模型给出序列转换过程。
27.可选的,所述缓存表在深度学习训练场景下,几乎每个iteration的计算的分布式张量排布的转换大部分都是重复的。
28.可选的,所述模拟器将每个操作的开销,并累积起来,最后得到完成整个转换流程情况下的开销。
29.可选的,所述缓存表在遇到新的起始序列和目标序列转换对时,将其转换序列表存入到缓存表中。
30.可选的,所述模拟器给出的信息,用来做分布式张量排布的选择或者自动并行方案的选择。
31.本发明提供了基于搜索的分布式张量的不同排布方式间的自动转换系统,具备以下有益效果:
32.该基于搜索的分布式张量的不同排布方式间的自动转换系统,通过设置有排布转换方案搜索器、模拟器、缓存表与执行器,可以完成高维集群下的分布式张量排布的自动转换,模拟器给出的信息,可以用来做分布式张量排布的选择或者自动并行方案的选择,缓存表可以使运行时的搜索开销大幅降低。
附图说明
33.图1为本发明系统结构示意图;
34.图2为本发明排布转换方案搜索器的模块结构示意图。
35.图中:1、排布转换方案搜索器;2、模拟器;3、缓存表;4、执行器;5、序列生成模块;6、相似度计算模块;7、序列选择模块。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
37.请参阅图1至图2,本发明提供一种技术方案:基于搜索的分布式张量的不同排布方式间的自动转换系统,包括排布转换方案搜索器1、模拟器2、缓存表3与执行器4;
38.排布转换方案搜索器1,用于得到从起始序列到目标序列转换序列表;
39.模拟器2,用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;
40.缓存表3,用于缓存在所有搜索过的方案;
41.执行器4,用于在运行时中,执行搜索器搜索到的转换序列表,完成分布式张量排布的切换。
42.进一步,排布转换方案搜索器1包括序列生成模块5、相似度计算模块6与序列选择模块7,序列生成模块5,用于根据起始序列,生成所有与原序列距离为1的序列;相似度计算模块6,用于利用一个相似度计算函数,计算出序列间的相似度;序列选择模块7,用于根据相似度的高低进行选择,可以完成高维集群下的分布式张量排布的自动转换。
43.进一步,排布转换方案搜索器1计算到与目标序列不同,则将c中选择到的序列,作为起始序列,重复上述过程,直到选择的序列与目标序列相同为止,可以完成高维集群下的分布式张量排布的自动转换。
44.进一步,模拟器2用于在不真实执行的情况下,根据alpha-beta模型给出序列转换过程,能够完成高维集群下的分布式张量排布的自动转换。
45.进一步,缓存表3在深度学习训练场景下,几乎每个iteration的计算的分布式张量排布的转换大部分都是重复的,以节省后续搜索时间。
46.进一步,模拟器2将每个操作的开销,并累积起来,最后得到完成整个转换流程情况下的开销,可以完成高维集群下的分布式张量排布的自动转换。
47.进一步,缓存表3在遇到新的起始序列和目标序列转换对时,将其转换序列表存入到缓存表3中,以节省后续搜索时间。
48.进一步,模拟器2给出的信息,用来做分布式张量排布的选择或者自动并行方案的选择,从而可以完成高维集群下的分布式张量排布的自动转换。
49.综上,该基于搜索的分布式张量的不同排布方式间的自动转换系统,使用时,拿到要转换的起始序列和目标序列,我们将这个序列对送入到排布转换方案搜索器1中,排布转换方案搜索器1根据起始序列,生成所有与原序列距离为1的序列,然后利用一个相似度计算函数,计算出序列间的相似度,根据相似度的高低进行选择,如果与目标序列不同,则将c中选择到的序列,作为起始序列,重复上述过程,直到选择的序列与目标序列相同为止,从而可以得到一个从起始序列到目标序列转换序列表,可以使用模拟器2,在不真实执行的情况下,根据转换序列表,给出整个流程的开销,在遇到新的起始序列和目标序列转换对时,
我们会将其转换序列表存入到缓存表3中,以节省后续搜索时间,在运行时,我们会使用执行器4,执行执行器4搜索到的转换序列表,完成分布式张量排布的切换。
50.以获取[r,s01,r]转换为[s01,r,r]为例,其中的r和s是replica和split,后面的序号代表张量在高维集群中的切分维度,如s01中的01代表在二维集群的0轴和1轴进行切分:
[0051]
我们会为该序列对生成转换序列表:
[0052]
检查这个序列对是否在缓存表3中;
[0053]
如果没有,则使用排布转换方案搜索器1生成转换序列表:[r,s01,r]-》[r,s0,r]-》[s0,r,r]-》[s01,r,r]
[0054]
使用模拟器2可以获得上述转换的开销。在不需要使用该开销信息时,这步可以省略;
[0055]
将该转换方案,存储在缓存表3中;
[0056]
使用缓存表3中或者搜索到的方案,使用执行器4完成物理意义上的张量分布式排布转换。
[0057]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献