[发明专利]利用多维硬件加速器处理对大型数据集的归约和广播操作在审
申请号: | 202080062344.9 | 申请日: | 2020-09-04 |
公开(公告)号: | CN114365082A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 比亚克·哈默肖特·鲁纳;萨米尔·库马尔 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F9/28 | 分类号: | G06F9/28;G06N3/04;G06N3/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 邓聪惠;周亚荣 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 多维 硬件 加速器 处理 大型 数据 广播 操作 | ||
方法、系统和装置,包括在存储介质上编码的指令,用于执行例如,在由节点之间的至少两个维度中的连接定义的网格或环面拓扑中组织的节点上并行地生成的梯度向量和类似地结构的数据的归约。所述方法在所述拓扑中的节点之间提供并行计算和通信。
相关申请的交叉引用
本申请要求于2019年9月6日提交的美国临时专利申请No.62/897,239的优先权。在先申请的公开内容被视为本申请的公开内容的部分,并且通过引用并入本文。
背景技术
本说明书涉及训练机器学习模型。
机器学习模型接收输入,并且基于接收到的输入和模型参数的值生成输出。这些模型通常需要使用接收到的输入来进行训练,这些输入是非常大的数据集。
发明内容
本说明书一般描述了与大型数据集的并行处理相关的技术,具体涉及在各种节点拓扑中并行处理大型数据集,以便对多个拓扑节点进行更快的归约、映射和广播操作。节点被联网在一起,并且可以通过硬件加速器在硬件中被执行。硬件加速器可以包括并行运行的多个联网处理器(例如,在网格阵列、环面配置等中)。更具体地,交叉复制和(CRS)操作被配置为在此类网络的数据并行随机梯度下降法(SGD)中,对多个副本的梯度贡献进行求和。为了多个副本上SGD训练的可扩展执行,在给定的批大小下,将梯度贡献合并(例如,求和)。然而,这种过程通常可以是机器学习模型(例如,神经网络模型)的执行瓶颈,因为CRS操作的归约-分散和聚集阶段是在网络中的一系列一维(1D)循环中进行的。例如,圆算法(circle algorithm),诸如旋转钳形算法(rotated pincer algorithm),在拓扑节点的1D配置上执行全局求和操作。这种配置是是次优的,因为它没有利用拓扑节点之间的所有路由器链路。更确切地说,随着1D算法在第二维中执行,1D算法在第一维中串行执行,并且在此期间,一些路由器链路处于休眠状态。
为了克服这个问题,本公开描述了一种用于使用多维圆算法在拓扑的多维中执行CRS操作的过程。多维算法被配置为利用求和操作管道化(pipeline)直接存储器存取(DMA)传输,以增加CRS操作的吞吐量。这是通过在多维中同时执行圆算法来实现的,以便和的梯度贡献可以在拓扑的多维中同时被复制。因为与在多维拓扑的各个维度上串行执行1D算法相比,拓扑节点之间的路由器链路得到了更充分的利用,所以可以大大降低CRS操作的延迟,并且在某些情况下,可以降低200%以上。减少CRS操作的延迟,消除了训练机器学习模型的主要瓶颈。
在一个方面中,描述了一种用于处理训练数据的方法。可以在包括节点的行和列的多维拓扑中所组织的多个节点中的每个节点上训练机器学习模型的相应副本。每个节点都可以在相应的一批训练数据上被并行地训练。在训练之后,每个节点都可以保存训练所得到的相应梯度向量。节点中的相应梯度向量可以通过执行操作加以组合以生成最终梯度向量,这些操作包括:通过在节点上执行的代码,并行地为多维拓扑中的每一行执行圆算法的第一阶段,以在行的每个节点上为梯度向量的部分生成不同的组合数据;通过在节点上执行的代码,并行地对多维拓扑中的每一列执行圆算法的第一阶段的第二部分,以在列的每个节点中生成不同的列结果,该列结果包括来自每一行的组合数据的部分;通过在节点上执行的代码,并行地对多维拓扑的每一列执行圆算法的第二阶段的第一部分,以在每一列中生成最终梯度向量的部分,该部分包括每个列结果;以及通过在节点上执行的代码,并行地对多维拓扑的每一行执行圆算法的第二阶段的第二部分,以在每一行中生成最终梯度向量,该向量包括来自每一列的最终梯度向量的每个部分。
在一些变化中,以下一项或多项可以单独或以任何可行的组合附加地实施。方法可以进一步包括:确定多个节点的多维拓扑的类型;基于类型,将第一阶段的第一部分映射到第一节点集和第一节点集之间的第一链路集;以及将第一阶段的第二部分映射到第二节点集和节点之间的第二链路集,第一链路集与第二链路集不同。
方法可以进一步包括:确定多个节点的多维拓扑包括环绕链路;以及使用环绕链路对多维拓扑的每行和每列进行配置以执行圆算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080062344.9/2.html,转载请声明来源钻瓜专利网。