【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-11-29 08:00557

评论

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

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里

Java 程序员 后端

三面阿里云斩获offer:微服务+Redis,积累总结

Java 程序员 后端

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 程序员 后端

两年JAVA程序员的面试总结,mysql索引原理

Java 程序员 后端

为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

Java 程序员 后端

云服务器下centos7,nginx面试题

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

主动学习微服务架构深度解析:微服务的采用前提,微服务使用场景

Java 程序员 后端

上线半天下载量破100W!阿里内部微服务进阶笔记,超详细

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

不到30岁开上兰博基尼的程序员,为什么这么强,他告诉我只需要把多线程搞好你也行

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发

Java 程序员 后端

二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

Java 程序员 后端

架构实战营模块二作业

孙志强

架构实战营

一篇送给临近35岁程序员的文章,mysql数据库sql语句面试题

Java 程序员 后端

五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf

Java 程序员 后端

为什么一个还没毕业的大学生能够把 IO 讲的这么好?

Java 程序员 后端

为什么不想做Java了, 现在Java面试怎么这么难,从自身找原因

Java 程序员 后端

为什么不想做Java了,6年经验去面试10分钟结束,现在Java面试怎么这么难

Java 程序员 后端

为了面试阿里巴巴、腾讯、字节跳动,linux内核架构

Java 程序员 后端

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

不会吧不会吧?字节“百万级,nginx视频教程吾爱破解

Java 程序员 后端

不是吧阿sir,你这Redis太熟了吧,震惊面试官第六年

Java 程序员 后端

不是吧阿sir,你这多线程并发也太熟了吧,震惊面试官第四年

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

不是吧,就因为他和面试官多聊了半个小时红黑树,进了腾讯

Java 程序员 后端

一篇文章让你了解基于Spring的测试,java自学百度网盘

Java 程序员 后端

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