微软亚洲研究院霍强:实现并行训练的线性增长,突破数据处理极限

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 如何在增加CPU 或 GPU 数量的同时,保证训练的线性加速以及性能?这是并行训练中存在的一个矛盾问题。微软亚洲研究院首席研究员霍强博士的研究团队就较好地解决了这个经典的两难问题,让大规模并行训练在增加GPU的条件下几乎实现了线性加速并保证了模型性能,这一突破对大数据机器学习的效率提升意义重大。机器之心对霍强博士进行了专访。

微信图片_20211126190313.jpg

微软亚洲研究院首席研究员霍强博士


近年来,深度学习的爆发在很大程度上取决于大数据和与之相匹配的计算能力,深度学习的特性决定了它需要更多的数据进行学习,从而得出模型来完成特定任务,比如说用庞大的语料库去训练语音模型;伴随出现的 CPU 和 GPU 集群也保障了计算能力,使得算法和数据能够完美结合起来,从而带来了深度学习的大发展,特别是语音和图像识别精度的显著提升。

 

但是,计算能力和训练速度的提升并非计算资源的简单堆砌,这里有一个「鱼与熊掌不可兼得」的矛盾——如何在增加CPU 或 GPU 数量的同时,保证训练的线性加速以及性能。如果把深度学习的实施比作盖房子的话,那房子是需要建立的模型,工人则可以看做是 CPU 和 GPU,建筑材料就是数据。为保证房子的质量,我们需要保证一定的建筑材料,同时需要组织工人用最高效的方式去完成建造过程。但由于工人之间存在沟通成本和资源浪费,因此无法实现工作成果随工人数量的增多呈线性增长。这对应到机器学习领域就是如何在扩大并行训练(parallel training)规模的情况下,在保证模型性能的同时实现训练速度线性增长。而最近,微软亚洲研究院首席研究员霍强博士的研究团队在 ICASSP 2016 大会上提交的论文《Scalable Training of Deep Learning Machines by Incremental Block Training with Intra-Block Parallel Optimization and Blockwise Model-Update Filtering》就较好地解决了这个经典的两难问题,让大规模并行训练在增加GPU的条件下几乎实现了线性加速并保证了模型性能,这一突破对大数据机器学习的效率提升意义重大。

 

这篇论文中的实验结果显示,该技术对语音识别中神经网络模型的训练提升十分显著,在保证模型性能的前提下,当使用16 块 GPU 卡时,训练速度提高了 15 倍,而当使用 64 块卡时,训练速度提高到了 56 倍。在对手写识别所采用的双向长短期记忆递归神经网络的 CTC (Connectionist Temporal Classification)训练过程中,该并行训练算法的有效性也得到了证明。霍强及团队也与微软产品部门合作验证了该方案的有效性,霍强表示,正在将该并行训练算法用于卷积神经网络。

 

在霍强的团队提出该方法之前,业内普遍有三种方法来解决并行计算问题:

 

最知名的方法是 ASGD(异步随机梯度下降,Asynchronous stochastic gradient descent),通过大量 GPU 做异步计算,这是 Google 从 2012 年起就在采用的方法。但这个方法的问题在于,增加 GPU 时需要的通信代价很高,增加了系统设计优化和维护成本,同时基于同样数据的两次训练结果也会不同。

 

第二种方法是 ASGD 加模型平均,在对大数据做并行处理时,将数据分配给每块GPU去处理,之后把计算结果取一个平均值生成新的模型,再给GPU分配数据进行处理,以此类推。这种方法很简单,但坏处在于卡数上去时模型性能会下降。

 

第三种方法是1-bit SGD,该方法由微软一位研究员提出,通过梯度量化和压缩技术减少通信代价,实现了 Geoffrey Hinton 30 年前提出的单机训练经典方法 mini-batch SGD 的并行化。它的主要缺点是, 在保证训练模型性能的情况下,卡数增加时无法做到训练线性加速。

 

霍强博士的团队此次提出的解决方案是在模型平均的基础上增加了一个模型更新滤波步骤,将每一轮模型更新的信息收集起来,结合历史信息和当前信息进行学习,这样一来能够保证每一轮的更新更为平滑,不会出现巨大波动,最终生成模型的性能也大大提升。霍强博士认为,和模型平均法相比,这种全新的解决方案有两个优势,第一是将历史信息考虑进来,模型平均方法每一轮迭代只利用当前获得的信息更新模型,历史更新信息被忽略了。「就像我们在学习新东西时,大部分过去的经验教训你都忘掉了,从某一个新的起点开始,有时候是好事情,但更多时候是坏事情,少了吸取经验教训这个环节嘛。」霍强说到。第二个优势是数据块层级的训练,即每个 GPU 处理的是子任务,把所有的子任务数据合在一起就是一个数据块,子任务加起来是更大的任务。整个训练过程称为 Incremental Block Training,每次只关心一个数据块,依次处理。「这样设计的最大好处就是对处理的数据量没有限制,」霍强解释到,「因为不管数据有多少,每次都是看一个数据块,处理完一个数据块以后,看下一个数据块。因此,有多少计算能力,就能处理多大数据。」

 

这次研究突破看似是灵光一现,但实际上是水到渠成的结果,和霍强及研究小组的长期研究积淀密不可分,而更重要的则是他们把过去几种方法研究到极致的理念,「我们觉得每一个优秀的研究人员都能做到这一点,因为他要做创造发明,一定要寻根究底,否则你怎么能想出新方法来,要不然你想出来的方法还不如一个旧方法。」霍强说到。比如说,他发现 Geoffrey Hinton 30 年前的方法有一个细节在很长一段时间内被很多人忽略了,它不是标准的 SGD,而是带有冲量(momentum)的 SGD,即在做 mini-batch SGD 的时候,也会考虑历史信息,基于上一个模型的变动情况去更新新模型。这个冲量让训练过程变得平滑,从而带来了更好的学习效果,其实这是保证这个方法有长久生命力的重要原因之一。

 

正是这种研究理念促使霍强及团队对历史上的各类方法都有透彻了解,弄清楚了各种方法的优缺点,从而提出了完全创新的方法。由于这种新方案能够在保证模型性能的同时实现并行训练的线性加速,而且对处理数据量没有上限,因此具有很强的通用性。除了在微软内部的使用之外,更重要的影响还在于让更多的研究者可以使用。「我觉得这个方法最大的影响就是降低门槛,让中小规模的研究组,或者没有系统专门知识的人也可以利用大数据去做大规模的深度学习,去利用现在越来越便宜的GPU卡。」霍强表示。

 

并行训练效率的提升可以继续提高语音识别和图像识别的精度,或者处理更加复杂的应用场景。比如说远场及噪音环境下的语音识别还是一个没有完全解决的问题,需要开发新模型,而利用大数据的深度学习在其中可以发挥重要作用,这也凸显了并行训练的重要性。


「现在所谓的人工智能,很重要的一个环节,也是进步最快的部分,就是如何用大量有用的数据学到一些比较有价值的信息去解决实际问题。」霍强说到。而实现大规模并行训练的线性加速为我们带来了更好的利用数据的工具。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
3月前
|
机器学习/深度学习 人工智能
昂贵LLM的救星?Nature新研究提出新型忆阻器,比Haswell CPU高效460倍
【10月更文挑战第11天】《自然》杂志最新研究介绍了一种新型忆阻器——线性对称自选14位动能分子忆阻器。该技术在神经网络训练和推理中表现出线性对称的权重更新、460倍于现有CPU的高能效及多级编程能力,有望大幅提升AI硬件的能源效率。尽管前景广阔,但仍需解决制造工艺复杂和环境影响等问题。
50 1
|
机器学习/深度学习 算法 搜索推荐
阿里云机器学习平台PAI与香港大学合作论文入选INFOCOM 2022,有效减少大规模神经网络训练时间
近日,阿里云机器学习平台 PAI 与香港大学吴川教授团队合作的论文”Efficient Pipeline Planning for Expedited Distributed DNN Training”入选INFOCOM(IEEE International Conference on Computer Communications) 2022,论文提出了一个支持任意网络拓扑的同步流水线并行训练算法,有效减少大规模神经网络的训练时间。
阿里云机器学习平台PAI与香港大学合作论文入选INFOCOM 2022,有效减少大规模神经网络训练时间
|
8月前
|
机器学习/深度学习 数据采集 人工智能
论文介绍:机器学习中数据集规模增长的极限分析
【5月更文挑战第17天】论文《机器学习中数据集规模增长的极限分析》探讨了数据集大小对AI模型性能的影响,预测语言数据可能在2026年前耗尽,图像数据在2030-2060年可能面临相同问题。研究显示数据积累速度无法跟上数据集增长,可能在2030-2040年间导致训练瓶颈。然而,算法创新和新数据源的发展可能缓解这一问题。[链接](https://arxiv.org/pdf/2211.04325.pdf)
131 2
|
8月前
|
人工智能 自然语言处理 异构计算
微软SliceGPT让LLAMA-2计算效率大增
【2月更文挑战第13天】微软SliceGPT让LLAMA-2计算效率大增
81 7
微软SliceGPT让LLAMA-2计算效率大增
|
8月前
|
人工智能 物联网 开发者
田渊栋等人新作:突破内存瓶颈,让一块4090预训练7B大模型
【2月更文挑战第18天】田渊栋等人新作:突破内存瓶颈,让一块4090预训练7B大模型
130 2
田渊栋等人新作:突破内存瓶颈,让一块4090预训练7B大模型
|
8月前
|
机器学习/深度学习 存储 人工智能
UNet家族迎来最小模型U-Lite | 800K参数实现性能极限超车
UNet家族迎来最小模型U-Lite | 800K参数实现性能极限超车
342 1
|
机器学习/深度学习 计算机视觉
模型大十倍,性能提升几倍?谷歌研究员进行了一番研究
模型大十倍,性能提升几倍?谷歌研究员进行了一番研究
185 0
|
机器学习/深度学习 人工智能 自然语言处理
2010年以来,ML算力需求增长100亿倍,每6个月翻番,深度学习成分水岭
2010年以来,ML算力需求增长100亿倍,每6个月翻番,深度学习成分水岭
128 0
|
机器学习/深度学习 自然语言处理 安全
少到4个示例,击败所有少样本学习:DeepMind新型800亿模型真学会了
少到4个示例,击败所有少样本学习:DeepMind新型800亿模型真学会了
198 0
|
存储 监控 并行计算
X86 vs ARM 架构同台竞技: 生物大数据大规模并行计算(如何将WGS全基因组计算成本降到1美元)
Sentieon DNAseq 实施的全基因组测序 (WGS) 二级分析流程与行业标准的 BWA-GATK 最佳实践流程结果相匹配,且运行速度提高了 5-20 倍。 Sentieon软件安装简单,开箱即用,并且提供了与ARM和x86指令集适配的版本。使30X WGS 数据样本在OCI 实例上的计算成本压缩到每个样本 1 美元以下,处理时间缩短到近一小时。
288 0
X86 vs ARM 架构同台竞技: 生物大数据大规模并行计算(如何将WGS全基因组计算成本降到1美元)

热门文章

最新文章

下一篇
开通oss服务