您现在的位置是:热点 >>正文
用上Pytorch Lightning的这六招,深度学习pipeline提速10倍
热点636人已围观
简介...
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
面对数以亿计的图片数据,到底该用什么样的方法才能快速搞实验?
这样的问题,或许在做机器学习研究的你,也会经常遇到。
而就在最近,一个国外小哥就提出了一种建议:
在Pyt用上orch lightning基础上,让深度学习pipeline速度提升10倍!
用他自己的话来说就是——“爬楼时像给了你一个电梯”。
这般“酸爽”,到底是如何做到的呢?
优化机器学习pipeline,很重要
无论你是身处学术界还是工业界,时间和资源等各种因素,往往会成为你在Py搞实验的枷锁。
尤其是随着数据集规模和机器学习模型,变得越发庞大和复杂,让实验变得既费时又耗力。
提速这件事,就变得至关重要。
例如在2012年的时候,训练一个AlexNet,要花上5到6天的时间。
而现如今,只需要短短几分钟就可以在更大的数据集上训练更大的图像模型。
这位小to哥认为,从某种角度上来说,这是得益于各种各样的“利器”的出现。
例如Pytorch Lingtning,就是其中一种。
于是,他便“死磕”pipeline,总结了六种“闪电加速”实验周期的方法。
并行数据加载
数据加载和增强(augmentation)往往被认为是训练pipercline时的瓶颈之一。
一个典型的数据pipeline包含以下步骤:
从磁盘加载数据 在运行过程中创建随机增强 将每个样本分批整理
在这个过程中,倒是可以用多个CPU进程并行加载数据来优化。
但与此同时,还可以通过下面的操作来加速这一过程:
1、将DataLoader中的numh _workers参数设置为CPU的数量。
2、当与GPU一起工作时,将DataLoader中的pin_memory参数设置为True。这可以将数据分配到页锁定的内存中,从而加快数据传输到GPU的速度。
使用分布式数据并行的多GPU训练 与CPU相比,GPU已经大大加速Li了训练和推理时间。
但有没有比一个GPU更好的方法?或许答案就是:
多个GPU!
在PyTorch中,有几种范式可以用多个GPU训练你的模型。
两个比较常见的范式是 “DataParallel ”和 “DistributedDataParallel”。
而小哥采用的方法是后者,因为gh他认为这是一种更可扩展的方法。
但在PyTorch(以及其他平台)中修改训练pipeline并非易事。
必须考虑以分布式方式加载数据以及权重、梯度和指标的同步等问题。
不过,有了PyTorch Lightning,就可以非常容易地在多个GPU上训练PyTorch模型,还是几乎不tn需要修改代码的那种!
混合精度
在默认情况下,输入张量以及模型权重是以单精度(float32)定义的。
然而,某些数学运算可以用半精度(float16)进行。
这样一来,就可以显著提升速度,并降低了模型的内存带宽,还不会牺牲模型的性能。
通过在PyTorch Lightnining中设置混合精度标志(flag),它会在可能的情况下自动使用半精度,而在其他地方保留单精度。
通过最小的代码修改,模型训练的速度可以提升1.5至2倍。
早停法
当我们训练深度学习神经网络的时候,通常希望能获得最好的泛化性能。
但是所有的标准深度学习神经网络结构,比如全连g的接多层感知机都很容易过拟合。
当网络在训练集上表现越来越好,错误率越来越低的时候,实际上在某一刻,它在测试集的表现已经开始变差。
因此,早停法 (Early Stopping)便在训练过程中加入了进来。
具体来说,就是当验证损失在预设的评估次数(在小哥的例子中这六是10次评估)后停止训练。
这样一来,不仅防止了过拟合的现象,而且还可以在几十个 epoch内找到最佳模型。
Sharded Training
Sharded Training是基于微软的ZeRO研究和DeepSpeed库。
它显著的效果,就是让训练大模型变得可扩展和容易。
否则,这招,些模型就不适合在单个GPU上使用了。
而在Pytorch Lightning的1.2版本中,便加入了对Shared Training的支持。
虽然在小哥的实验过程中,并没有看到训练时间或内存占用方面有任何改善。
但他认为,这种方法在其它实验中可能会提供帮助,尤其是在不使用单一GP深度U的大模型方面。
模型评估和推理中的优化
在模型评估和推理期间,梯度不需要用于模型的前向传递。
因此,可以将评估代码包裹在一个torch.no_grad上下文管理器中。
这可以防止在前向传递过程中的存储梯度,从而减少内存占用。
如此一来,就可以将更大的batch送入模型,让评估和学习推理变得更快。
效果如何?
介绍了这么多,你肯定想知道上述这些方法,具体起到了怎样的作用。
小哥为此做了一张表格,详解了方法的加速效果。
那么这些方法,是否对在做机器学习实验的你有所帮助呢?
快去试试吧~
Tags:
相关文章
甄嬛传钮钴禄是什么梗
热点钮祜禄氏什么梗?钮祜禄氏这个梗则来源于宫斗剧《甄嬛传》女主角“甄嬛”,每当大家调侃某个人即将腹黑、干点小坏事的时候,就会用钮祜禄XX”句式。如:钮祜禄甄嬛,现在大家称呼...乌拉那拉和钮祜禄是什么梗?...
【热点】
阅读更多合作三年成果斐然 MongoDB联手阿里云布局自动驾驶、金融、物流等行业
热点1月4日消息,2019年11月,进入中国市场的MongoDB正式与阿里云缔结成为战略合作伙伴。近日,MongoDB与阿里云迎来合作三年的“里程碑”,双方总结过往的成功,并对未来合作重点进行了展望。 M...
【热点】
阅读更多涵盖18+ SOTA GAN实现,这个图像生成领域的库火了
热点GAN 自从被提出后,便迅速受到广泛关注。我们可以将 GAN 分为两类,一类是无条件下的生成;另一类是基于条件信息的生成。近日,来自韩国浦项科技大学的硕士生在 GitHub 上开源了一个项目,提供了条...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.trockenmittel.ch/catalogsearch/result/?iC=ZM3&q=谷歌外推搜索留痕技术【tg:seogoogle987】,Dxp
- https://www.skicheck.at/en/?action=CHECK&s=谷歌外推搜索留痕技术【tg:seogoogle987】,9Kq
- https://www.vfw.org/search-results?q=谷歌外推搜索留痕技术【tg:seogoogle987】,SiO
- https://www.teamlab.art/ko/?submit=谷歌外推搜索留痕技术【tg:seogoogle987】,IP7
- https://www.realsporting.com/buscador?buscar=谷歌外推搜索留痕技术【tg:seogoogle987】,POK
- https://www.samen-maier.at/search/谷歌外推搜索留痕技术【tg:seogoogle987】,0YZ
- https://www.polar-tech.com/?action=QUERY&s=谷歌外推搜索留痕技术【tg:seogoogle987】,WZg
- https://www.scivee.tv/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,vTu
- https://www.mesec.cz/vyhledavani/?qs=谷歌外推搜索留痕技术【tg:seogoogle987】,zvR
- https://www.jusoen.com/addreng.asp?p1=谷歌外推搜索留痕技术【tg:seogoogle987】jcO
- https://www.nslcleaders.org/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,7DU
- https://www.oprny.com/search.php?search_query=谷歌外推搜索留痕技术【tg:seogoogle987】,hXm
- https://www.kuaikanmanhua.com/sou/谷歌外推搜索留痕技术【tg:seogoogle987】,f3v
- https://www.libros.unam.mx/catalogsearch/result/?cat=37&dir=asc&format=20&lit=20&manufacturer=3230&mode=list&order=year_edition&q=谷歌外推搜索留痕技术【tg:seogoogle987】,KgK
- https://www.prattlibrary.org/search?q=谷歌外推搜索留痕技术【tg:seogoogle987】,HXQ
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌外推搜索留痕技术【tg:seogoogle987】,Hm7
- https://www.vivaraise.fr/catalogsearch/result/?q=谷歌外推搜索留痕技术【tg:seogoogle987】,Nzc
- https://www.lenovo.com/gb/en/search?action=SEARCH&text=谷歌外推搜索留痕技术【tg:seogoogle987】,ug0
- https://www.synonyms.com/antonyms/谷歌外推搜索留痕技术【tg:seogoogle987】,E4J
- https://www.sbaad.no/search/谷歌外推搜索留痕技术【tg:seogoogle987】,qM5
- https://www.valuecolleges.com/?action=QUERY&s=谷歌外推搜索留痕技术【tg:seogoogle987】,c8D
- https://www.sportbiketracktime.com/index.php?route=product/search&tag=谷歌外推搜索留痕技术【tg:seogoogle987】,ag2
- https://www.world-architects.com/en/search?term=谷歌外推搜索留痕技术【tg:seogoogle987】,kKs
- https://www.umc.edu/search.aspx?ID=I4gnDKRS991MFcIDDzoYze4aWSAszAm7&q=谷歌外推搜索留痕技术【tg:seogoogle987】,yQd
- https://www.zalora.sg/catalog/?cat=112&q=谷歌外推搜索留痕技术【tg:seogoogle987】,UBs
- https://www.roberthalf.com/us/en/jobs/all/谷歌外推搜索留痕技术【tg:seogoogle987】4Dq
- https://www.pinkpanda.ro/magazin/ingrijirea-tenului?page=87&q=谷歌外推搜索留痕技术【tg:seogoogle987】,Ly7
- https://www.shopping.com/search.html?keyword=谷歌外推搜索留痕技术【tg:seogoogle987】,jYj
- https://www.kelsa.co.uk/catalogsearch/result/index/?T=1686132119291&q=谷歌外推搜索留痕技术【tg:seogoogle987】,7DS
- https://www.theaerogroup.net/?cat=28&s=谷歌外推搜索留痕技术【tg:seogoogle987】,9T5
- https://www.signingsavvy.com/sentence/谷歌外推搜索留痕技术【tg:seogoogle987】,RV2
- https://www.resilienz-akademie.com/?cat=71&s=谷歌外推搜索留痕技术【tg:seogoogle987】,9Zf
- https://www.schenckprocess.com/search?q=谷歌外推搜索留痕技术【tg:seogoogle987】,e8E
- https://www.thedp.com/page/search?q=谷歌外推搜索留痕技术【tg:seogoogle987】,HQ7
- https://www.openstreetmap.org/search?query=谷歌外推搜索留痕技术【tg:seogoogle987】,PVh
- https://www.lee.com/search?q=谷歌外推搜索留痕技术【tg:seogoogle987】,kWd
- https://www.goodreads.com/quotes/tag/谷歌外推搜索留痕技术【tg:seogoogle987】xBD
- https://www.vet-direct.com/search?cat=72&term=谷歌外推搜索留痕技术【tg:seogoogle987】,Vl5
- https://www.sensorshop24.de/catalogsearch/result/index/?type=132&q=谷歌外推搜索留痕技术【tg:seogoogle987】,xNY
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌外推搜索留痕技术【tg:seogoogle987】,qcH
- https://www.sic-info.org/vi/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,4Hu
- https://www.springfieldlibrary.org/library/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,6kd
- https://www.military-history.org/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,kWF
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌外推搜索留痕技术【tg:seogoogle987】,Yno
- https://www.kores.com/?s=谷歌外推搜索留痕技术【tg:seogoogle987】,N6B
- https://www.lyrics.com/lyrics/谷歌外推搜索留痕技术【tg:seogoogle987】,K8b
- https://www.paulaschoice.hk/zh_hant/catalogsearch/result/?q=谷歌外推搜索留痕技术【tg:seogoogle987】,2kt
- https://www.paspaley.com/catalogsearch/result/?action=QUERY&q=谷歌外推搜索留痕技术【tg:seogoogle987】,gHj
- https://www.pickett.co.uk/collections/vendors?q=谷歌外推搜索留痕技术【tg:seogoogle987】,JgL
- https://www.woorden.org/spreekwoord.php?woord=谷歌外推搜索留痕技术【tg:seogoogle987】,R7I