阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

ImageNet Training in Minutes

  • 2019-11-29
  • 本文字数:995 字

    阅读完需:约 3 分钟

ImageNet Training in Minutes

摘要与介绍


目前,缩短 DNN 的训练时间是一个热点,通用的方法聚焦于开发一种新的训练算法可在保证不损失精确性的前提下增大 batch 的大小,当然这些方法基本都基于数据并行的同步 SGD 进行参数更新。这其中经历了 batch_size 从 1K 到 8K,再增大到 32K 的过程。本文通过 LARS 算法使用 1000 个 cpu 在 11 分钟内完成了 100 个 epoch 的 Imagenet 训练集的训练,模型是 AlexNet,batch 设的是 32K,取的了 58.6%的 accuracy。另外在 resnet50 模型上,通过 64 个 epoch 的训练,在 14 分钟之内取得了 74.9% top-1 test 集的 accuracy 。另外,当 batch_size 大于 16K 时,通过 LARS 算法训练的准确率要高于 Facebook 的一小时训练 imagenet 那篇文章中的结果。如下图:



本文提出的算法使用了两个硬件:Intel Skylake CPU 和 Intel KNL(通用的深度学习加速器)。看到这心凉了,又是硬件在支撑。。。


计算通信比是指模型的计算代价/通信代价,一般计算通信比越高,越容易通过分布式来进行加速。如下表:ResNet50 的计算通信比要高于 AlexNet,所以 ResNet50 的分布式训练加速效果要好。另外大的 batch_size 可以减小通信代价,因为大的 batch 意味着更少轮次的迭代。



本文使用的方法是:LARS + Warmup。


下面具体介绍下 LARS 算法:


标准的 SGD 对于网络的每一层都使用相同的学习率 LR,当学习率很大时,更新的幅度会很大,容易导致发散的情况。这就使得模型在最初阶段对于 weight 的初始化和学习率设置显得十分重要。另外权重与梯度的 L2-norm 比 在不同 weight、layer 见变动很大。



warm-up 方法会在一开始先从小的学习率开始,然后逐步增大到大的学习率。LARS 则会对于每一层使用一个 local 学习率 [公式] :



其中 [公式] 是整体的学习率,[公式]是每一层的学习率,计算方法为:



如果加上 weight decay 参数 [公式] 后,上式可写成:



完整的 LARS 算法为:



实验结果:


这里就贴一个 resnet50 的结果吧,可以看出使用 LARS 算法可以将 batch size 扩展到 32k,另外还可以使用更廉价的芯片进行计算。使用 512 个 Intel KNL 可在 1 个小时内完成训练。512 个 KNL 按照市场价是 120 万美金,远远低于之前 Facebook 的 410 万美金 (32 台 NVIDIA DGX 工作站)。



与其它方法的对比:



参考文献:


https://arxiv.org/pdf/1709.05011.pdf


https://arxiv.org/pdf/1708.03888.pdf


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/81243154


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-11-29 08:00568

评论

发布
暂无评论
发现更多内容

flutter之踩坑的日子(3)

霜蓝手环

Flutter Android Apk

Week07总结

SuperLab

7周作业-性能测试与优化

飞雪

Week10总结

SuperLab

「架构师训练营第 1 期」第二周作业

睡不着摇一摇

极客大学架构师训练营

架构师训练营笔记2则分布式系统架构和数据结构

tuuezzy

极客大学架构师训练营-架构师技术图谱-大作业二

叶鹏

英特尔重磅发布物联网增强处理器,产品性能、AI能力、功能安全提升显著

E科讯

10周作业-微服务

飞雪

「架构师训练营第 1 期」第二周课后总结

睡不着摇一摇

极客大学架构师训练营

Week11

SuperLab

学完这篇Spring Cloud技术提升一个点!

Java架构师迁哥

二.图说Eureka源码(环境搭建)

阿亮

源码 SpringCloud Eureka

实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题

华为云开发者联盟

搜索 数据集 知识图谱

一个草根的日常杂碎(9月23日)

刘新吾

随笔杂谈 生活记录 社会百态

Week06总结

SuperLab

Week08总结

SuperLab

Mobileye携手吉利汽车共同推出领先的驾驶辅助功能

E科讯

12周作业-大数据

飞雪

Week02

SuperLab

week03

SuperLab

Week13

SuperLab

GaussDB(for MySQL)如何在存储架构设计上做到高可靠、高可用

华为云开发者联盟

数据库 GaussDB

Week05 总结

SuperLab

Week12

SuperLab

深入分析CRM系统对现代企业的作用

Philips

企业管理 CRM 客户关系管理

Week04

SuperLab

有的程序员写代码写到头秃,有的程序员却通过黑吃黑获利百万。

Java架构师迁哥

大作业

任小龙

Week09

SuperLab

英特尔扩大技术及用户端部署,加速推动智能边缘发展

E科讯

ImageNet Training in Minutes_语言 & 开发_Alex-zhai_InfoQ精选文章