點(diǎn)擊上方“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)載自:AI科技評(píng)論? |? 注:文末附論文PDF下載

作者 |?青暮
近年來(lái),隨著深度學(xué)習(xí)走向應(yīng)用落地,快速訓(xùn)練ImageNet成為許多機(jī)構(gòu)競(jìng)相追逐的目標(biāo)。2017年6月,F(xiàn)aceBook使用256塊GPU以1小時(shí)在ImageNet上成功訓(xùn)練了ResNet-50。在這之后,ResNet-50基本成為了快速訓(xùn)練ImageNet的標(biāo)配架構(gòu)。2018年7月,騰訊實(shí)現(xiàn)用2048塊Tesla P40以6.6分鐘在ImageNet上訓(xùn)練ResNet-50。同年8月,F(xiàn)ast.ai實(shí)現(xiàn)了18分鐘的快速訓(xùn)練,他們使用的硬件是128塊Tesla V100。到11月,索尼更是將訓(xùn)練時(shí)間壓縮為224秒,不過(guò)其當(dāng)時(shí)使用了2176塊Tesla V100。Fast.ai和索尼使用的網(wǎng)絡(luò)架構(gòu)也都是ResNet。那么如今,在快速訓(xùn)練ImageNet的競(jìng)逐上,形成了什么局面呢?ResNet霸榜,偶有對(duì)手
在DAWNBench的ImageNet訓(xùn)練排行榜上,我們可以看到,前五名都是使用了ResNet-50,并且最快訓(xùn)練時(shí)間達(dá)到了2分38秒,同時(shí)還能實(shí)現(xiàn)93.04%的top-5準(zhǔn)確率,以及14.42美元的低訓(xùn)練成本。DAWNBench 是斯坦福發(fā)布的一套基準(zhǔn)測(cè)試,主要關(guān)注端到端的深度學(xué)習(xí)訓(xùn)練和推斷過(guò)程,用于量化不同優(yōu)化策略、模型架構(gòu)、軟件框架、云和硬件的訓(xùn)練時(shí)間、訓(xùn)練成本、推理延遲和推理成本。排行榜地址:https://dawn.cs.stanford.edu/benchmark/ImageNet/train.html但除了ResNet-50,就沒(méi)有其它適合快速訓(xùn)練ImageNet的架構(gòu)了嗎?在這個(gè)排行榜的第10位,我們看到了一個(gè)孤獨(dú)的名字——AmoebaNet-D N6F256,根據(jù)排行榜的數(shù)據(jù),它用1/4個(gè)TPUv2 Pod和1小時(shí)的時(shí)間在ImageNet上達(dá)到了93.03%的top-5準(zhǔn)確率。實(shí)際上,該架構(gòu)在2018年4月就由谷歌提出,在相同的硬件條件下,AmoebaNet-D N6F256的訓(xùn)練時(shí)間比ResNet-50要短很多。并且,AmoebaNet-D N6F256的訓(xùn)練成本也只有ResNet-50的一半。AmoebaNet-D是基于進(jìn)化策略進(jìn)行架構(gòu)搜索的NAS架構(gòu),谷歌通過(guò)提供復(fù)雜的構(gòu)建模塊和較好的初始條件來(lái)參與進(jìn)化過(guò)程,實(shí)現(xiàn)了手動(dòng)設(shè)計(jì)和進(jìn)化的有機(jī)組合。論文:Regularized Evolution for Image Classifier Architecture Search除此之外,在DAWNBench的排行榜上,就看不到其它類型的架構(gòu)了。但是在Papers With Code的ImageNet排行榜上,就沒(méi)有出現(xiàn)ResNet和AmoebaNet-D霸榜的現(xiàn)象。在top-5準(zhǔn)確率前五名中,可以注意到,除了ResNet以外,剩下的架構(gòu)都和EfficientNet有關(guān)。其中排名第一的架構(gòu),其top-5準(zhǔn)確率已經(jīng)達(dá)到了98.7%。不過(guò)這個(gè)排行榜并沒(méi)有列出訓(xùn)練時(shí)間、硬件和成本,所以和DAWNBench不能一概而論。排行榜地址:https://www.paperswithcode.com/sota/image-classification-on-imagenetEfficientNet近日在這項(xiàng)競(jìng)逐中也出現(xiàn)了新突破,新加坡國(guó)立大學(xué)的尤洋和谷歌研究院的Quoc Le等人發(fā)表了一項(xiàng)新研究,表示其用1小時(shí)實(shí)現(xiàn)了ImageNet的訓(xùn)練,并且top-1準(zhǔn)確率達(dá)到了83%(Papers With Code的排行榜前十名的top-1準(zhǔn)確率在86.1%到88.5%之間)。論文地址:https://arxiv.org/pdf/2011.00071.pdf尤洋在推特上表示,這項(xiàng)研究在準(zhǔn)確率足夠高的前提下,在速度上創(chuàng)造了一個(gè)世界記錄。EfficientNets是基于有效縮放的新型圖像分類卷積神經(jīng)網(wǎng)絡(luò)系列。目前,EfficientNets的訓(xùn)練可能需要幾天的時(shí)間;例如,在Cloud TPU v2-8節(jié)點(diǎn)上訓(xùn)練EfficientNet-B0模型需要23個(gè)小時(shí)。在這項(xiàng)研究中,作者探索了在2048個(gè)內(nèi)核的TPU-v3 Pod上訓(xùn)練EfficientNets的技術(shù),目的是在以這種規(guī)模進(jìn)行訓(xùn)練時(shí)可以實(shí)現(xiàn)加速。作者討論了將訓(xùn)練擴(kuò)展到1024個(gè)TPU-v3內(nèi)核、批量大小為65536時(shí)所需的優(yōu)化,例如大批量?jī)?yōu)化器的選擇和學(xué)習(xí)率的規(guī)劃,以及分布式評(píng)估和批量歸一化技術(shù)的利用。此外,作者還提供了在ImageNet數(shù)據(jù)集上訓(xùn)練EfficientNet模型的時(shí)序和性能基準(zhǔn),以便大規(guī)模分析EfficientNets的行為。通過(guò)優(yōu)化后,作者能夠在1小時(shí)4分鐘內(nèi)將ImageNet上的EfficientNet訓(xùn)練到83%的top-1準(zhǔn)確率。圖1展示了對(duì)不同TPU內(nèi)核數(shù),EfficientNet-B2和B5訓(xùn)練時(shí)間達(dá)到的峰值準(zhǔn)確率。訓(xùn)練時(shí)間在分布式訓(xùn)練和評(píng)估循環(huán)初始化之后立即開(kāi)始計(jì)算,并在模型達(dá)到峰值準(zhǔn)確率時(shí)結(jié)束。可以觀察到EfficientNet-B2在1024個(gè)TPU-v3內(nèi)核上的訓(xùn)練時(shí)間為18分鐘,top-1準(zhǔn)確率為79.7%,全局批處理大小為32768,這表明訓(xùn)練速度明顯提高。通過(guò)在1024個(gè)TPU-v3內(nèi)核上將全局批處理規(guī)模擴(kuò)展到65536,可以在EfficientNet-B5上在1小時(shí)4分鐘內(nèi)達(dá)到83.0%的準(zhǔn)確率。表2展示了EfficientNet-B2和B5峰值準(zhǔn)確率的基準(zhǔn),這里可以找到準(zhǔn)確率的完整基準(zhǔn)以及相應(yīng)的批次大小,作者表示,即使使用全局批次大小,使用他們的方法,也可以在EfficientNet-B5上保持83%的準(zhǔn)確率。這項(xiàng)研究至少表明了,在EfficientNet上探索大規(guī)模圖像分類的快速訓(xùn)練也是一個(gè)有希望的方向。方法
將EfficientNet培訓(xùn)擴(kuò)展到1024個(gè)TPU-v3內(nèi)核會(huì)帶來(lái)很多挑戰(zhàn),必須通過(guò)算法或系統(tǒng)優(yōu)化來(lái)解決。第一個(gè)挑戰(zhàn)是隨著全局批量規(guī)模的增加保持模型質(zhì)量。由于全局批處理規(guī)模隨用于訓(xùn)練的內(nèi)核數(shù)量而定,因此,必須利用大批量訓(xùn)練技術(shù)來(lái)保持準(zhǔn)確率。而在大量TPU芯片上進(jìn)行訓(xùn)練時(shí)也會(huì)面臨計(jì)算瓶頸,不過(guò)可以使用Kumar等人提出的分布式評(píng)估和批量歸一化技術(shù)來(lái)解決這些瓶頸。以下是為擴(kuò)展TPU-v3 Pod上的EfficientNet訓(xùn)練而探索的優(yōu)化技術(shù):最初的EfficientNet論文使用RMSProp優(yōu)化器,但眾所周知,批量較大時(shí),RMSProp會(huì)導(dǎo)致模型質(zhì)量下降。通過(guò)數(shù)據(jù)并行性將訓(xùn)練規(guī)模擴(kuò)展到1024個(gè)TPU-v3內(nèi)核,意味著如果保持每個(gè)內(nèi)核的批量大小不變,則全局批量大小必須與內(nèi)核的數(shù)量成比例增加。例如,如果我們將每核的批處理大小固定為32,則1024個(gè)核上的全局批處理大小將為32768。另一方面,如果在擴(kuò)展到多個(gè)核時(shí)全局批處理大小是固定的,則每核的批處理大小會(huì)降低,導(dǎo)致效率低下和吞吐量降低。因此,為了更好地利用每個(gè)TPU內(nèi)核的內(nèi)存并提高吞吐量,必須使用較大的全局批處理大小。使用You等人提出的分層自適應(yīng)速率縮放(LARS)優(yōu)化器,能夠擴(kuò)展到65536的批量,同時(shí)達(dá)到與Tan和Le中報(bào)告的EfficientNet基準(zhǔn)準(zhǔn)確率相似的準(zhǔn)確率。為了在使用大批量時(shí)保持模型質(zhì)量,作者還采用了學(xué)習(xí)率預(yù)熱和線性縮放技術(shù)。在保持epoch數(shù)固定的同時(shí)增加全局批量大小將導(dǎo)致更新權(quán)重的迭代數(shù)較少。為了解決這個(gè)問(wèn)題,作者將線性縮放規(guī)則應(yīng)用于批次中每256個(gè)樣本的學(xué)習(xí)率。但是,較高的學(xué)習(xí)率會(huì)導(dǎo)致發(fā)散。因此,作者還應(yīng)用了學(xué)習(xí)率預(yù)熱,其中訓(xùn)練以較小的初始學(xué)習(xí)率開(kāi)始,并在可調(diào)整的時(shí)期內(nèi)逐漸提高學(xué)習(xí)率。此外,作者比較了各種學(xué)習(xí)速率規(guī)劃,例如指數(shù)衰減和多項(xiàng)式衰減,發(fā)現(xiàn)對(duì)于LARS優(yōu)化器,多項(xiàng)式衰減計(jì)劃可實(shí)現(xiàn)最高的準(zhǔn)確率。評(píng)估循環(huán)的執(zhí)行是EfficientNet的標(biāo)準(zhǔn)云TPU實(shí)現(xiàn)的另一個(gè)計(jì)算瓶頸,因?yàn)樵u(píng)估和訓(xùn)練循環(huán)是在單獨(dú)的TPU上執(zhí)行的。在傳統(tǒng)的TPUEstimator中,評(píng)估是在單獨(dú)的TPU上進(jìn)行的,訓(xùn)練的執(zhí)行速度要比評(píng)估快,導(dǎo)致端到端時(shí)間很大程度上取決于評(píng)估時(shí)間。為了克服這個(gè)問(wèn)題,作者利用Kumar等人所述的分布式訓(xùn)練和評(píng)估循環(huán)。它在所有TPU上分配了訓(xùn)練和評(píng)估步驟,并允許擴(kuò)展到更大數(shù)量的副本。作者使用Ying等人提出的方案,通過(guò)將副本的子集分組在一起,在副本之間分布批處理歸一化。這種優(yōu)化可通過(guò)權(quán)衡TPU之間的通信成本來(lái)提高最終精度。分組在一起的副本數(shù)是可調(diào)超參數(shù)。最終的批次歸一化批次大小(每個(gè)副本子集中的樣本總數(shù))也會(huì)影響模型質(zhì)量以及收斂速度。對(duì)于大于16的副本子集,作者還探索了將副本分組在一起的二維切片方法。目前已經(jīng)觀察到,使用bfloat16浮點(diǎn)格式來(lái)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)可以達(dá)到甚至超過(guò)使用傳統(tǒng)單精度格式(例如fp32)訓(xùn)練的網(wǎng)絡(luò)的性能,這可能是較低精度的正則化效果所致。作者實(shí)現(xiàn)了混合精度訓(xùn)練,以利用bfloat16的性能優(yōu)勢(shì),同時(shí)仍保持模型質(zhì)量。在實(shí)驗(yàn)中,bfloat16用于卷積運(yùn)算,而所有其他運(yùn)算都使用fp32。使用bfloat16格式進(jìn)行卷積可提高硬件效率,而不會(huì)降低模型質(zhì)量。論文PDF下載
鏈接: https://pan.baidu.com/s/1w_3nt6lx0rX4QyFzPdckug?
提取碼: qxwq
推薦下載
82頁(yè)《現(xiàn)代C++教程》:高速上手C++ 11/14/17/20
鏈接: https://pan.baidu.com/s/11jMlqcTD55bdD-u1q5026Q?
提取碼: m5yu
下載1:速查表
在「AI算法與圖像處理」公眾號(hào)后臺(tái)回復(fù):速查表,即可下載21張 AI相關(guān)的查找表,包括 python基礎(chǔ),線性代數(shù),scipy科學(xué)計(jì)算,numpy,kears,tensorflow等等

在「AI算法與圖像處理」公眾號(hào)后臺(tái)回復(fù):CVPR2020,即可下載1467篇CVPR?2020論文個(gè)人微信(如果沒(méi)有備注不拉群!)請(qǐng)注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱
覺(jué)得不錯(cuò)就點(diǎn)亮在看吧