修正一行代码,PyTorch磨炼三倍提速,这些「低级技术」是关键
机械之心编译
作者 :Sebastian Raschka
编纂:Panda W
用对于了措施 ,修正行代减速 PyTorch 磨炼,码P磨炼无意也不是倍提那末重大。
克日,速低术关深度学习规模驰名钻研者 、技键Lightning AI 的修正行代首席家养智能教育者 Sebastian Raschka 在 CVPR 2023 上宣告了主题演讲「Scaling PyTorch Model Training With Minimal Code Changes」 。
为了能与更多人分享钻研下场 ,码P磨炼Sebastian Raschka 将演讲整理成一篇文章 。倍提文章品评辩说了若何在最小代码变更的速低术关情景下扩展 PyTorch 模子磨炼 ,并表明重点是技键运用混合精度(mixed-precision)措施以及多 GPU 磨炼方式,而不是修正行代低级机械优化 。
文章运用视觉 Transformer(ViT)作为根基模子,码P磨炼ViT 模子在一个根基数据集上重新开始 ,倍提经由约 60 分钟的速低术关磨炼,在测试集上取患了 62% 的技键精确率 。
GitHub 地址 :https://github.com/rasbt/cvpr2023
如下是文章原文:
构建基准
在接下来的部份中 ,Sebastian 将品评辩说若何在不断止大批代码重构的情景下改善磨炼光阴以及精确率。
想要留意的是 ,模子以及数据集的详细信息并非这里的主要关注点(它们只是为了尽可能重大 ,以便读者可能在自己的机械上复现 ,而不需要下载以及装置太多的依赖)。所有在这里分享的示例都可能在 GitHub 找到,读者可能探究以及重用残缺的代码 。
剧本 00_pytorch-vit-random-init.py 的输入。
不要重新开始磨炼
现如今 ,重新开始磨炼文本或者图像的深度学习模子艰深为低效的。咱们个别会运用预磨炼模子,并对于模子妨碍微调 ,以节约光阴以及合计资源 ,同时取患上更好的建模下场。
假如思考下面运用的相同 ViT 架构,在另一个数据集(ImageNet)上妨碍预磨炼