|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘( 二 )


|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘
本文插图

AutoSync 策略的自动优化流程算法
|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘
本文插图

AutoSync 中的策略空间包含了现有系统中的很多高级策略
语言模型的分布式预训练示例
预训练语言表征已成为 NLP 系统中最普遍、最关键的部分 。 使用与任务无关的语言模型框架 , 可以对从 web 抓取的未标记文本进行无监督的训练 , 只需预测下一个单词或句子 。 预训练表征可以灵活地应用于下游任务 , 针对特定任务的损失和数据集进行微调 , 或是通过少量上下文学习 。
近年来 , 人们在开发更强大的任务无关 LM 架构方面取得了巨大进展 , 从单层词向量表征到递归神经网络的多层表征和上下文状态 , 以及最新的基于递归 transformer 的架构 。
下图展示了一个著名的例子——双深度 Transformer(BERT)——属于第三类 。 不管网络架构如何 , 语言模型通常包含许多参数 , 而这些参数是在大规模文本语料库上训练出来的 , 这是因为它们的建模能力随其大小以及文本扫描量成正比 。
|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘
本文插图

假设我们对训练 BERT 感兴趣 , 在基于 AWS 的 GPU 集群上使用 TensorFlow 等框架实现 。 我们可以使用最先进的开源训练系统——Horovod , 开始数据并行训练 。
应用 Horovod 转换单机 BERT 训练代码 , 涉及将原始的框架内置优化器与 Horovod 修补的优化器包装在一起 。 然后 Horovod 会在集群节点上使用 collective allreduce 或 allgather 来平均和应用梯度 。
|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘
本文插图

这些 TensorFlow+Horovod 代码片段展示了 Horovod 如何给优化器打补丁 , 以及如何为分布式训练进行非常小的代码改变 。
虽然可能会在目标集群上部署训练 , 但获得的扩展不太可能随着添加更多资源而成比例增长(理想情况下 , 线性扩展与加速器的数量成比例增长):所有的语言模型都有嵌入层 , 这些层拥有很多模型参数 , 但在每个设备上的每次训练迭代中访问很少 , 减少或聚集其梯度都会导致不必要的网络运作;BERT 中的 transformer 是矩阵参数化、计算密集型的 , 与 Horovod 中的常规做法一样 , 将梯度分组在一个缩减环(reduction ring)中 , 很容易使以太网带宽或异构集群 (如 AWS) 的设备 Flops 饱和 。
在这两种情况下 , 设置都容易出现通信或计算混乱的情况 , 即训练时间的缩短无法令人满意 , 花费在训练上的计算资源成本在经济上也不能接受 。 这表明 , 并行化的常规目标并没有实现 。
所以 , 本文提出的这种自适应并行策略 , 能够为并行化性能进行适当的优化 。
作者介绍
张昊在今年 9 月 2 日完成了博士学位的论文答辩 , 导师为 CMU 教授、Petuum 创始人邢波(Eric Xing) 。 获得 CMU 机器人研究所的博士学位后 , 他将以博士后身份进入 UC 伯克利的 RISE 实验室 , 与计算机科学系教授 Ion Stoica 共同工作 。
|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘
本文插图

他的研究兴趣包括可扩展的机器学习、深度学习以及计算机视觉和自然语言处理领域的大规模机器学习应用 。 他还协同设计了一系列模型、算法和系统 , 在更大规模数据、问题、应用中进行机器学习扩展 , 以简化复杂机器学习模型和算法的原型开发 , 使机器学习程序分布自动化 。
以下为论文章节目录:
|229页CMU博士张昊毕业论文公布,探索机器学习并行化的奥秘


推荐阅读