热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

224秒!ImageNet上训练ResNet50最佳战绩出炉,索尼下血本破纪录

夏乙岳排槐发自亚龙湾量子位出品|公众号QbitAI索尼大法好。索尼自己说。刚刚,索尼在arXiv上发文宣布:他们用224秒在ImageNet上完成了Re
夏乙 岳排槐 发自 亚龙湾
量子位 出品 | 公众号 QbitAI

640?wx_fmt=jpeg

索尼大法好。

索尼自己说。

刚刚,索尼在arXiv上发文宣布:他们用224秒在ImageNet上完成了ResNet-50训练,没有明显的准确率损失。

而且训练误差曲线与参考曲线非常相似。最大的mini-batch size可以增大到119K而没有明显的准确率损失,不过进一步增大到136K时准确率会降低约0.5%。

这是索尼给出的对比。

640?wx_fmt=png

 在ImageNet/ResNet-50上的训练时间和top-1 1-crop验证准确率对比。

从这个表格可以看出,斜刺里杀出的索尼,堪称完胜。比腾讯今年6月创造的成绩还要好。比前几年的成绩,更是多个数量级的进步。

关于上表中腾讯的成绩,有些同学可能会有疑问:不是4分钟吗?

情况是这样的,腾讯今年6月的“4分钟训练ImageNet”,指的是AlexNet网络;而上面列出的,是训练ResNet-50网络需要的时间和达到的准确率。

插播一个花絮,上表中腾讯公司的Xianyan Jia,现在已经供职于阿里巴巴了……

当然,索尼也是下了血本。为了达到这个成绩,动用了更多的GPU。不过索尼自己也说,他们的方法也能更有效的利用大规模GPU。

在训练速度和GPU规模效率上,索尼把自己的方法与单节点(4个GPU)进行了对比。下面这个表格显示了当mini-batch size设置为32时,不同GPU数量的效率。

640?wx_fmt=png

640?wx_fmt=png

 在ImageNet/ResNet-50上训练的GPU规模效率

如上表所示,当索尼使用1088个GPU时,规模效率超过90%。腾讯之前的工作中,使用1024个Tesla P40,GPU的规模效率为87.9%。

索尼表示,他们的互联方案能基于更快(Tesla V100)和更多的GPU,实现更高的GPU规模效率。

两件装备

更快的训练速度,更高的GPU规模化效率来自两件加速装备:

一是针对大批次(batch)训练不稳定问题的批次大小控制,二是2D-Torus all-reduce,降低了梯度同步的通信开销。

它们所解决的,正是困扰大规模分布式深度学习训练的两个问题。

所谓批次大小控制,是指在训练过程中逐渐提升批次的整体大小。每当训练的损失图变“平”,就提大批次,这样有助于避开局部最小值。

在这个224秒训练完ImageNet的方案中,批次大小超过32k时,索尼五人组用这种方法来防止准确率的下降。

2D-Torus All-reduce,是一种“高效的”通信拓扑结构。不像之前的Ring All-redice等算法,就算有上千个GPU,2D-Torus all-reduce也能完全利用它们的带宽。

640?wx_fmt=png

2D-Torus拓扑结构如上图所示。这种结构下,簇里的GPU排列在2D网格中,all-reduce由3步组成:1) 水平进行的reduce-scatter、2) 垂直进行的all-reduce、水平进行的all-gather。

640?wx_fmt=png

上面提到的两件加速装备,都是用索尼自家神经网络库Neural Network Libraries(NNL)实现的,这个库还有个可能稍微更为人所熟知一点的名字:nnabla

在nnabla这个名字里,nn代表神经网络(neural network)的缩写,而nabla代表梯度的数学符号∇。

2017年6月,索尼在GitHub上开源了这个库,repo名叫nnabla。它在GitHub上一直在活跃更新,现在有2000多星,226次fork。

nnabla基本用C++11写成,让用户能直观地用少量代码定义计算图,带有CUDA扩展,能添加新函数,支持动态计算图,可以在Linux和Window上运行。

地址在这里:https://github.com/sony/nnabla

最后,附上这篇224秒训练ImageNet/ResNet-50:

640?wx_fmt=png

ImageNet/ResNet-50 Training in 224 Seconds
https://arxiv.org/abs/1811.05233

年度评选申请

640?wx_fmt=jpeg

加入社群

量子位AI社群开始招募啦,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式;


此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。


进专业群请在量子位公众号(QbitAI)对话界面回复关键字“专业群”,获取入群方式。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

640?wx_fmt=jpeg

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态




推荐阅读
  • 图像分割技术在人工智能领域中扮演着关键角色,其中语义分割、实例分割和全景分割是三种主要的方法。本文对这三种分割技术进行了详细的对比分析,探讨了它们在不同应用场景中的优缺点和适用范围,为研究人员和从业者提供了有价值的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 深入解析国内AEB应用:摄像头和毫米波雷达融合技术的现状与前景
    本文作者程建伟,武汉极目智能技术有限公司CEO,入选武汉市“光谷3551人才计划”。文章详细探讨了国内自动紧急制动(AEB)系统中摄像头与毫米波雷达融合技术的现状及未来前景。通过分析当前技术的应用情况、存在的挑战以及潜在的解决方案,作者指出,随着传感器技术的不断进步和算法优化,AEB系统的性能将大幅提升,为交通安全带来显著改善。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 斯坦福大学公开课:利用神经网络技术实现自动驾驶的案例分析
    斯坦福大学的公开课深入探讨了如何利用神经网络技术实现自动驾驶。课程中通过实例展示了汽车如何通过学习算法自主驾驶。具体而言,课程展示了一幅图解,其中左下角显示了汽车前方的实时路况图像,而左上角则呈现了一个水平的菜单栏,用于展示系统处理和决策的过程。这一案例详细解析了神经网络在自动驾驶中的应用,为学生提供了宝贵的实践参考。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 中国学者实现 CNN 全程可视化,详尽展示每次卷积、ReLU 和池化过程 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 浅层神经网络解析:本文详细探讨了两层神经网络(即一个输入层、一个隐藏层和一个输出层)的结构与工作原理。通过吴恩达教授的课程,读者将深入了解浅层神经网络的基本概念、参数初始化方法以及前向传播和反向传播的具体实现步骤。此外,文章还介绍了如何利用这些基础知识解决实际问题,并提供了丰富的实例和代码示例。 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
  • 在Python编程中,掌握高级技巧对于提升代码效率和可读性至关重要。本文重点探讨了生成器和迭代器的应用,这两种工具不仅能够优化内存使用,还能简化复杂数据处理流程。生成器通过按需生成数据,避免了大量数据加载对内存的占用,而迭代器则提供了一种优雅的方式来遍历集合对象。此外,文章还深入解析了这些高级特性的实际应用场景,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 视觉图像的生成机制与英文术语解析
    近期,Google Brain、牛津大学和清华大学等多家研究机构相继发布了关于多层感知机(MLP)在视觉图像分类中的应用成果。这些研究深入探讨了MLP在视觉任务中的工作机制,并解析了相关技术术语,为理解视觉图像生成提供了新的视角和方法。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
author-avatar
Chloemw
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有