基于搜索的分布式张量的不同排布方式间的自动转换系统技术方案

技术编号:35991574 阅读:12 留言:0更新日期:2022-12-17 23:06
本发明专利技术公开了基于搜索的分布式张量的不同排布方式间的自动转换系统,涉及分布式张量转换技术领域,包括排布转换方案搜索器、模拟器、缓存表与执行器;所述排布转换方案搜索器,用于得到从起始序列到目标序列转换序列表;所述模拟器,用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;所述缓存表,用于缓存在所有搜索过的方案;该基于搜索的分布式张量的不同排布方式间的自动转换系统,通过设置有排布转换方案搜索器、模拟器、缓存表与执行器,完成高维集群下的分布式张量排布的自动转换,模拟器给出的信息,可以用来做分布式张量排布的选择或者自动并行方案的选择,缓存表可以使运行时的搜索开销大幅降低。销大幅降低。销大幅降低。

【技术实现步骤摘要】
基于搜索的分布式张量的不同排布方式间的自动转换系统


[0001]本专利技术涉及分布式张量转换
,具体为基于搜索的分布式张量的不同排布方式间的自动转换系统。

技术介绍

[0002]随深度学习模型逐渐变得越来越大以达到更佳的精度要求。深度学习模型的参数量已经达到百亿级别,甚至千亿级别。智源悟道2.0模型甚至有1.75万亿的参数规模。
[0003]在这种级别的大模型上,甚至单个张量的显存开销可能是单个设备无法承受的,这时张量的分布式存储技术被很多框架使用。为不同的排布方案提供一个自动转换系统,可以极大地提高张量分布式存储技术的易用性。
[0004]当前的主流分布式张量自动转换方案有OneFlow,TensorFlow XLA模块.
[0005]OneFlow:该框架提供了一套完整的分布式张量表达方案和自动转换方案。
[0006]分布式张量表达方案:在OneFlow框架中,构造了一套SBP的表达方案,其中S代表split,B代表broadcast,P代表partial sum:
[0007]Split:表示物理上的多个张量是由逻辑上的张量进行切分后得到的。Split会包含一个参数Axis,表示被切分的维度。如果把所有物理上的张量按照Split的维度进行拼接,就能还原出逻辑上的张量。
[0008]Broadcast:表示物理上的多个张量是逻辑上张量的复制,两者数据完全相同。
[0009]Partial Sum:表示物理上的多个张量跟逻辑上的张量的形状相同,但每个对应位置上元素的值是逻辑张量对应位置元素的值的一部分。如果把所有物理上的张量按照对应位置相加(element

wise),即可还出原逻辑上的张量。
[0010]利用这套方案可以描述逻辑上的张量在物理上的分布式存储排布方式。
[0011]自动转换方案:通过一个转换表来完成转换,比如S通过all gather转换成B,B通过scatter转换成S。
[0012]TensorFlow XLA:在TensorFlow XLA模块中,也有对分布式张量的支持,并且可以将集群抽象成了一个二维的设备组(2D

device mesh)。
[0013]表达方案:它为每个维度提供了Slice和Replica两种方案:
[0014]Slice:与OneFlow中的Split类似,表示物理上的多个张量是由逻辑上的张量进行切分后得到的。Slice会包含一个参数Axis,表示被切分的维度。如果把所有物理上的张量按照Slice的维度进行拼接,就能还原出逻辑上的张量。
[0015]Replica:与OneFlow中的broadcast类似,表示物理上的多个张量是逻辑上张量的复制,两者数据完全相同。
[0016]转换方案:枚举的方式实现了二维设备组设置下的转换表。
[0017]现有的OneFlow:通过转换表转换,在高维设备组的设置下,转换表会变得特别庞大。只有运行时的方案,并没有模拟器来提供执行的开销信息以及TensorFlow XLA:枚举的方式实现了二维设备组设置下的转换,这个方法在面对高维情况时,工程量会变得不可实
现,只有运行时的方案,并没有模拟器来提供执行的开销信息,因此我们提出了基于搜索的分布式张量的不同排布方式间的自动转换系统。

技术实现思路

[0018]针对现有技术的不足,本专利技术提供了基于搜索的分布式张量的不同排布方式间的自动转换系统,解决了上述
技术介绍
中提出的问题。
[0019]为实现以上目的,本专利技术通过以下技术方案予以实现:基于搜索的分布式张量的不同排布方式间的自动转换系统,包括排布转换方案搜索器、模拟器、缓存表与执行器;
[0020]所述排布转换方案搜索器,用于得到从起始序列到目标序列转换序列表;
[0021]所述模拟器,用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;
[0022]所述缓存表,用于缓存在所有搜索过的方案;
[0023]所述执行器,用于在运行时中,执行搜索器搜索到的转换序列表,完成分布式张量排布的切换。
[0024]可选的,所述排布转换方案搜索器包括序列生成模块、相似度计算模块与序列选择模块,所述序列生成模块,用于根据起始序列,生成所有与原序列距离为1的序列;所述相似度计算模块,用于利用一个相似度计算函数,计算出序列间的相似度;所述序列选择模块,用于根据相似度的高低进行选择。
[0025]可选的,所述排布转换方案搜索器计算到与目标序列不同,则将C中选择到的序列,作为起始序列,重复上述过程,直到选择的序列与目标序列相同为止。
[0026]可选的,所述模拟器用于在不真实执行的情况下,根据alpha

beta模型给出序列转换过程。
[0027]可选的,所述缓存表在深度学习训练场景下,几乎每个iteration的计算的分布式张量排布的转换大部分都是重复的。
[0028]可选的,所述模拟器将每个操作的开销,并累积起来,最后得到完成整个转换流程情况下的开销。
[0029]可选的,所述缓存表在遇到新的起始序列和目标序列转换对时,将其转换序列表存入到缓存表中。
[0030]可选的,所述模拟器给出的信息,用来做分布式张量排布的选择或者自动并行方案的选择。
[0031]本专利技术提供了基于搜索的分布式张量的不同排布方式间的自动转换系统,具备以下有益效果:
[0032]该基于搜索的分布式张量的不同排布方式间的自动转换系统,通过设置有排布转换方案搜索器、模拟器、缓存表与执行器,可以完成高维集群下的分布式张量排布的自动转换,模拟器给出的信息,可以用来做分布式张量排布的选择或者自动并行方案的选择,缓存表可以使运行时的搜索开销大幅降低。
附图说明
[0033]图1为本专利技术系统结构示意图;
[0034]图2为本专利技术排布转换方案搜索器的模块结构示意图。
[0035]图中:1、排布转换方案搜索器;2、模拟器;3、缓存表;4、执行器;5、序列生成模块;6、相似度计算模块;7、序列选择模块。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0037]请参阅图1至图2,本专利技术提供一种技术方案:基于搜索的分布式张量的不同排布方式间的自动转换系统,包括排布转换方案搜索器1、模拟器2、缓存表3与执行器4;
[0038]排布转换方案搜索器1,用于得到从起始序列到目标序列转换序列表;
[0039]模拟器2,用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;
[0040]缓存表3,用于缓存在所有搜索过的方案;
[0041]执行器4,用于在运行时中,执行搜索器搜索到的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于搜索的分布式张量的不同排布方式间的自动转换系统,其特征在于:包括排布转换方案搜索器(1)、模拟器(2)、缓存表(3)与执行器(4);所述排布转换方案搜索器(1),用于得到从起始序列到目标序列转换序列表;所述模拟器(2),用于在不真实执行的情况下,根据模型给出序列转换过程中,每个操作的开销,并累积起来;所述缓存表(3),用于缓存在所有搜索过的方案;所述执行器(4),用于在运行时中,执行搜索器搜索到的转换序列表,完成分布式张量排布的切换。2.根据权利要求1所述的基于搜索的分布式张量的不同排布方式间的自动转换系统,其特征在于:所述排布转换方案搜索器(1)包括序列生成模块(5)、相似度计算模块(6)与序列选择模块(7),所述序列生成模块(5),用于根据起始序列,生成所有与原序列距离为1的序列;所述相似度计算模块(6),用于利用一个相似度计算函数,计算出序列间的相似度;所述序列选择模块(7),用于根据相似度的高低进行选择。3.根据权利要求1所述的基于搜索的分布式张量的不同排布方式间的自动转换系统,其特征在于:所述排布转换方案搜索器(1)计算到与目标序列不同,则将C中选择到的序列,...

【专利技术属性】
技术研发人员:刘育良李升桂方佳瑞卞正达李永彬柳泓鑫麦思琪黄海晨娄宇轩吴俊铭路广阳陈巍文
申请(专利权)人:北京潞晨科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1