写点什么

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


2019-11-29 08:00821

评论

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

百分点科技大数据技术团队:基于多Spark任务的ClickHouse数据同步方案实践

百分点科技技术团队

1000页神仙文档,连阿里P8面试官都说太详细了,面面俱到!搞懂这些直接P6+

Java 程序员 后端

10个知识点让你读懂Spring MVC容器,mysql主从复制原理

Java 程序员 后端

律所CRM软件,适用于律师事务所的系统

低代码小观

CRM 管理系统 事务管理 律所 CRM系统

科大讯飞1024,我在现场

搬砖人

1024我在现场

10年Java开发经验,超过500人面试阿里的同学,总结出这108道面试题

Java 程序员 后端

WebRTC(66 - 96)Release Notes

webrtc developer

WebRTC

fastposter 2.1.1 发布 电商级海报生成器

物有本末

Java Python 海报 fastposter 海报生成器

(项目实战)如何结合k8s和pipeline的流水线,并通过k8s接口完成镜像升级

Java 程序员 后端

爱奇艺iOS稳定性测试实践

爱奇艺技术产品团队

ios 测试 稳定性

AISWare AntDB 亚信科技数据库产品特性解读——平滑弹性扩展 (二)

亚信AntDB数据库

北鲲云超算平台借助GPU实现仿真加速

北鲲云

Springboot Keycloak集成

消失的子弹

springboot keycloak

数智商业创新的强大力量,用友BIP如何构筑产业互联网?

海比研究院

10W字解析 SpringBoot技术内幕文档,实战+原理齐飞,java技术上难以解决的问题

Java 程序员 后端

JSON必知必会【PDF+视频教程】

FunTester

json 教程 视频 接口测试 FunTester

月度发布 | 极狐GitLab14.4版本:禅道集成、预设动态安全扫描DAST和集成错误跟踪功能等新功能上线!

极狐GitLab

沃丰科技一体化平台 AI驱动数字与产业深度融合

海比研究院

130道BATJM真题及解析:集合+Spring,华为社招java面试题

Java 程序员 后端

保姆级教程,从概念到实践帮你快速上手 Apache APISIX Ingress

API7.ai 技术团队

云原生 k8s Apache APISIX ingress

1000道阿里巴巴初级~高级Java工程师面试题(含答案,2021最新华为Java校招面试题

Java 程序员 后端

程序员:平安Java岗面试耗尽了我毕生所学,想了想,还是去字节吧

Java 编程 程序员

谈一谈麦语言程序化模型编写

Regan Yue

量化交易 麦语言 10月月更

2021终拿下阿里(P7岗)主动分享:5000字面经总结

编程 程序员 程序人生

一张图彻底搞懂Spring循环依赖

Tom弹架构

Java 架构 Spring Framework

1047 行 MySQL 详细学习笔记(值得学习与收藏),java基础面试题及答案整理

Java 程序员 后端

微软黑客马拉松@您,低代码风云再赛!

微软商业应用

低代码 Power Platform 黑客马拉松 黑客松

CODING —— 云原生时代的研发工具领跑者

CODING DevOps

云原生 Orbit 研发工具 Compass 战略升级

国密解决方案专场推介会 四城联动 圆满落幕

腾讯安全云鼎实验室

解决方案 国密

说出来你可能不信,华为技术官珍藏版:SpringBoot全优笔记,限时开源了

Java 程序员 架构 后端 springboot

渗透测试之破解详细演示

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

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