System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及属于数据处理,具体涉及一种数据处理的方法及系统。
技术介绍
1、在现有一种涉及流水并行数据处理系统中,在进行梯度累加(grad acc)处理中,接收变量输入后在向后向数据处理子网和前向数据处理子网输出数据时,通常在其间会连接一个重复(repeat)单元。这种重复单元使用一个一个寄存器(regst)模拟n个寄存器,这n个寄存器的指针(dptr)是同一个,即现场或本地(inplace)。因此重复单元自带缓存(buffer)属性,可以支持流水并行。因此后向数据处理子网在消费或使用重复单元中的内容数据时,不需要插入缓存节点或单元(buffer),就可以完成流水并行。但是这种结构存在一个问题,即变量输入的执行频率可以不跟后向数据处理子网完全一致,更新单元与变量输入仍然是直连,因此更新单元的执行时间很晚,就会导致变量输入单元发出的寄存器迟迟收不回来,无法直接进行下一个微批量数据的执行。
2、在更新的一种现有涉及流水并行数据处理系统中,消除了前述变量输入与向后向数据处理子网和前向数据处理子网之间的重复(repeat)单元以及梯度累加单元,以便将变量输入单元与更新单元之间的执行频率保持一致。但是,为了保持一致,就需要在变量输入与向后向数据处理子网之间插入缓存器,这就会导致额外内存(其所需内存的尺寸能够存储一个最小批量数据,其大小是一个微批数据的n倍),由此会引入n倍模型大小的显存。前面所述的流水(pipeline)并行的一遍(pass)中没有涉及到变量接收单元与前向数据处理子网和优化子网络之间的连接边。而这种连接边的执行频
3、因此,本领域一直期望能够消除上述现有技术中存在的问题。
技术实现思路
1、有鉴于此,根据本公开的一个方面,提供了一种数据处理方法,用于包含梯度累加的流水并行处理系统,包括:变量接收单元接收变量数据;前向数据处理子网接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理,并将中间参数缓存在网络间缓存单元中;后向数据处理子网经由后向子网现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据以及获取网络间缓存单元的中间参数以执行后向数据处理子网所预定的数据处理;梯度累加单元对后向数据处理子网所输出的参数进行梯度累加后输出到梯度裁剪单元以便进行梯度裁剪;以及参数更新单元直接接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新。
2、根据本公开的数据处理方法,其中前向数据处理子网接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理包括:前向数据处理子网经由前向子网现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理。
3、根据本公开的数据处理方法,其中参数更新单元直接接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新包括:参数更新单元经由更新现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新。
4、根据本公开的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出之前,向其各自上游和下游发送消息,并且在执行完预定次数数据输出之后各自只向其各自下游发送消息。
5、根据本公开的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出并向其各自下游发送消息之后,只有接收到其各自下游的反馈消息之后才向其各自的上游发送执行完预定次数数据输出的消息。
6、根据本公开的另一个方面,还提供了一种数据处理系统,用于包含梯度累加的流水并行处理系统,包括:变量接收单元,接收变量数据;前向数据处理子网,接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理,并将中间参数缓存在网络间缓存单元中;后向数据处理子网,经由后向子网现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据以及获取网络间缓存单元的中间参数以执行后向数据处理子网所预定的数据处理;梯度累加单元,对后向数据处理子网所输出的参数进行梯度累加后输出到梯度裁剪单元以便进行梯度裁剪;以及参数更新单元,直接接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新。
7、根据本公开的数据处理系统,其中前向数据处理子网经由前向子网现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理。
8、根据本公开的数据处理系统,其中参数更新单元经由更新现场缓存执行单元(inplacebuffer)接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新。
9、根据本公开的数据处理系统,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出之前,向其各自上游和下游发送消息,并且在执行完预定次数数据输出之后各自只向其各自下游发送消息。
10、根据本公开的数据处理系统,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出并向其各自下游发送消息之后,只有接收到其各自下游的反馈消息之后才向其各自的上游发送执行完预定次数数据输出的消息。
11、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,用于包含梯度累加的流水并行处理系统,包括:
2.根据权利要求1所述的数据处理方法,其中前向数据处理子网接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理包括:
3.根据权利要求1所述的数据处理方法,其中参数更新单元直接接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新包括:
4.根据权利要求1-3之一所述的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出之前,向其各自上游和下游发送消息,并且在执行完预定次数数据输出之后各自只向其各自下游发送消息。
5.根据权利要求4所述的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出并向其各自下游发送消息之后,只有接收到其各自下游的反馈消息之后才向其各自的上游发送执行完预定次数数据输出的消息。
6.一种数据处理系统,用于包含梯度累加的流水并行处理系统,包括:
7
8.根据权利要求6所述的数据处理系统,其中参数更新单元经由更新现场缓存执行单元接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新。
9.根据权利要求6-8之一所述的数据处理系统,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出之前,向其各自上游和下游发送消息,并且在执行完预定次数数据输出之后各自只向其各自下游发送消息。
10.根据权利要求9所述的数据处理系统,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出并向其各自下游发送消息之后,只有接收到其各自下游的反馈消息之后才向其各自的上游发送执行完预定次数数据输出的消息。
...【技术特征摘要】
1.一种数据处理方法,用于包含梯度累加的流水并行处理系统,包括:
2.根据权利要求1所述的数据处理方法,其中前向数据处理子网接收变量接收单元的输出数据并执行前向数据处理子网所预定的数据处理包括:
3.根据权利要求1所述的数据处理方法,其中参数更新单元直接接收变量接收单元的输出数据以及所述梯度裁剪单元输出的经过裁剪的梯度进行参数更新包括:
4.根据权利要求1-3之一所述的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出之前,向其各自上游和下游发送消息,并且在执行完预定次数数据输出之后各自只向其各自下游发送消息。
5.根据权利要求4所述的数据处理方法,其中所述后向子网现场缓存执行单元、所述前向子网现场缓存执行单元以及更新现场缓存执行单元在执行完预定次数数据输出并向其各自下游发送消息之后,只有接收到其各自下游的反馈消息之后才向其各自的上游发送执行完预定次数数据输出的消息。
6.一种数据处...
【专利技术属性】
技术研发人员:成诚,柳俊丞,
申请(专利权)人:北京一流科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。