首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | Facebook「1小时训练ImageNet」论文与MXNet团队发生争议,相关研究介绍

学界 | Facebook「1小时训练ImageNet」论文与MXNet团队发生争议,相关研究介绍

作者头像
机器之心
发布2018-05-08 14:25:15
1.3K0
发布2018-05-08 14:25:15
举报
文章被收录于专栏:机器之心机器之心

机器之心报道

机器之心编辑部

近日,Facebook 公布了一篇研究论文《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》,介绍了他们一项最新的研究成果——一种将批量大小提高的分布式同步 SGD 训练方法,希望能有助于解决越来越长的训练时间。但就文章的创新度、引用内容上,这篇论文的几位作者与曾致力于同一领域的 MXNet 的几位成员之间出现了争议,他们在贾扬清的一篇 Facebook 帖子下各抒己见,表达了各自的立场和看法。这一事件引起了业内人士不小的关注。

为了让读者更加了解这一事件的始末,机器之心将在这篇文章中将以尽可能中立的态度对 MXNet 之前做过的类似工作进行介绍——据称这也是所述 Facebook 论文的引用中忽视的研究。另外,本文还将引述一些双方争论的观点,以提供更加全面的视角。首先需要强调一下:目前争议双方已经在此事上达成了和解。

MXNet 的可扩展性

MXNet 是一个全功能,灵活可编程和高扩展性的深度学习框架,支持深度学习模型中的最先进技术,包括卷积神经网络(CNN)和长期短期记忆网络(LSTM)。MXNet 由学术界发起,包括数个顶尖大学的研究人员的贡献,这些机构包括华盛顿大学和卡内基梅隆大学。

深度学习框架在多核心处理器中的运行效率是其性能的重要指标。更高效的扩展(Scaling)可以让训练新模型的速度显著提高,或在相同的训练时间内大幅提高模型的复杂性。

去年 11 月 23 日,亚马逊宣布将 MXNet 作为其深度学习主要框架,此时的 MXNet 团队已经表示他们正在使用越来越多的 GPU 训练图像分析算法 Inception v3(在 MXNet 中实现并在 P2 实例上运行)。MXNet 团队当时表示,该框架不仅具有所有已知库中最快的吞吐量(每秒训练的图像数量),而且吞吐量提高几乎与用于训练的 GPU 数量成正比(比例为 85 %)。

2016 年 12 月 19 日,MXNet 在 Github 上公开了 ResNet 分布式训练的收敛结果,其主要思想是在增加 batch size 同时增大 learning rate。

相关 GithHub 页面链接:https://github.com/dmlc/mxnet/commit/e62fbe1bd0bc0564ce1b97a33a9032c8dbd749ec

知情人士指出,亚马逊曾在去年 12 月底的 AWS Reinvent 上展示过这一成果,而 MXNet 的可扩展性能力则更是早已在相关博客上展示。

在 MXNet 的主要开发者李沐 2017 年 2 月正式发表的论文《Scaling Distributed Machine Learning with System and Algorithm Co-design》中,也有一段有关 MXNet 可扩展性的介绍:

在实验中,我们使用 ImageNet 训练了 ResNet-152。作为基准,我们使用了一台 8 块 GPU 的机器,每块 GPU 处理 32 批尺寸,合计共 256。

一次 SGD 迭代的通信成本和总成本。实验在多台机器上执行,但这些机器的 GPU 总数量均为 8 块。

我们调整了学习速度:我们以学习速度 0.1 开始训练过程;随后分别在时间点 30、60 和 90 上将速度除以 10;我们进一步在时间点 100 时停止了数据扩张。如下图所示,与基线相比,我们在时间点 110 处得到了 77.8% 的最高准确率,与此前 77% 的准确率结果相匹配。在把 GPU 数量从 8 个增加到 80 个之后,批尺寸也从 256 增加到了 2560。我们改变了原始学习速度(从 0.1 改为 0.5)。在 160 个 GPU 上,我们将批尺寸增加到了 5120,而学习速度也进一步增加到了 1,学习速度减少的时间点也从 30 推后到了 50。这些探索让训练过程有了更多延展性。

在下图中,我们画出了准确率随着 SGD 时间点的变化曲线。在仔细调整学习速度的情况下,批尺寸没有显著影响算法的收敛。在 2560 批尺寸时,曲线与基线的收敛程度非常接近;而在 5120 个批尺寸时,尽管在一开始曲线不甚稳定,但在随后的训练过程中它逐渐与基线趋近。

在 ImageNet 数据集上 ResNet 的精度与时间节点的对比图。其中每个 GPU 使用的批尺寸为 32,使用了同步 SGD。

可扩展性一直是各家深度学习框架力图优化的方向。在今年 4 月 18 日,Facebook 推出 Caffe2 时,TechCrunch 曾采访了 Facebook AI 平台首席工程师贾扬清(他也是 Caffe 系列的主要开发者),在被问及对于 MXNet 可扩展性的看法时,贾扬清表达了对于基准测试数据的谨慎态度。基准测试得出的数据可以有意义,但也相当程度受到机器模型实现方式的影响。

「所有框架目前都有或多或少类似的可扩展能力,」贾扬清表示。「而我们确信 Caffe2 要比其他框架稍微领先一些。」

与 Facebook 论文间的争论

Facebook 的论文引起的最大争议之处在于忽视了上述 MXNet 的相关研究成果。在贾扬清 Facebook 时间线的留言中,《Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour》论文的第二作者 Ross Girshick 表示,「我们并不知道你的论文,我们将会在我们论文的更新版本中加入引用。非常抱歉这个遗漏。但这里要指出(我们的研究)存在两个重要的不同之处:1. 我们展示的是一种基本规则,它的目的是避免对每一个 minibatch size 进行超参调节。上方的曲线图是学习速率分别为 0.1,0.5 和 1(对应的 minibatch size 为 256,2560 和 5120)时的结果,同时在 minibatch 为 5k 的情况下改变了相应的衰减设定(decay schedule)。这看上去像是对每一个 minibatch size 进行超参搜索的结果,但是至少我没有发现 4.5.3 那样的一般方法。可能我漏掉了它?2. 8192 大于 5120,打破已有的限制一直很重要。」

最后,论文的另一作者何凯明也发表了自己的一些看法。

「我们曾经产生过一个内部的争论,是关于是否应该发表一篇论文来描述我们如何实现这些结果的。我承认这篇论文没有太多的新内容,因为这是我和我的同事在多年以前就完成的,包括我们怎样改进 ResNets 和 Faster R-CNN。在和很多人讨论后,这些人包括现在的和以前的一些来自微软、Facebook、谷歌、百度和一些高校的科学家和工程人员,我们意识到并不是所有的细节都被从业者、工程师或科研人员所熟知。因此最终我确信我们应该撰写这篇论文:我们希望它可以成为一个有用的手册,特别是对那些可能在他们的系统里遗漏掉一些东西的人。」

「从我的经验而言,『linear scaling lr』之所以出奇的有效是因为在过去几年中,它大大地帮助了我们去建立和改进计算机视觉算法,包括 ResNets, Faster R-CNN 和 Mask R-CNN,要知道过去当我们要调整基准的时候,当时并没有足够的 8-GPU 甚或是 4-GPU 机器供我们使用。由于它的『奇效』,我们并不需要重新选择任何超参数——hyper-parameters(和通常那样选择特定的学习速率和相关设定形成对比)。这个线性比例学习速率(linear scaling lr)不是一个新内容:在我们的论文里(Sec. 2.1『Discussion』, p3)我们引用了 Leon Bottou et al. 的综述论文【4】,它给出了线性比例学习速率(linear scaling lr)的理论内容(还有一些介绍)。通过和 Leon 本人的私下沟通我们发现这个理论太古老也太普通了,以至于我们无法追溯到它的创始人。我真的希望推广这个线性比例学习速率 linear scaling lr 的『法则』(也可以叫做理论),因为我过去几年从中获益良多。」

「另一方面,我早就有了一些使用『开方』(『sqrt』)法则的成功经验:实验性的结果可以在我们的论文里的表格 2(a) 找到。也有一些关于『线性比例』(「linear scaling」)法则和『开方』(『sqrt』)法则的理论正确性的讨论;但是我们在这篇论文里分享的是我们丰富的实验性结果(包括 ImageNet/COCO, 预训练 pre-training/精调 fine-tuning, 分类 classification/探测 detection/分割 segmentation),并且强力地支持了线性法则,因为我在过去几年就已经有了相关经验。」

「你提到了使用『linear scaling lr』法则的『不稳定』结果。这和我们提出 warmup 方法的动机是一致的,可以从【4】中找到相关的理论支持。在过去一年的研究中,我也从 warmup 策略中受益良多,它可以帮助我很简单地进行扩展(scale out)并且让我的生活更加轻松起来。我们希望这可以帮助到一些(可能不是所有)研究人员和工程人员。」

据悉,在论文引用争议出现之后,各方经过充分交流已互相理解。

本文为机器之心报道,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档