免费高清特黄a大片,九一h片在线免费看,a免费国产一级特黄aa大,国产精品国产主播在线观看,成人精品一区久久久久,一级特黄aa大片,俄罗斯无遮挡一级毛片

分享

谷歌開源效率怪獸GPipe, 速度提升25倍, CIFAR

 蘇心閣 2019-03-07

[新智元導(dǎo)讀]加速DNN模型訓(xùn)練速度方法中,數(shù)據(jù)并行受到單個加速器可支持模型大小的限制;而模型并行因為DNN順序性導(dǎo)致大量算力浪費。目前Google推出GPipe,將兩種方法的優(yōu)勢進(jìn)行結(jié)合,解決了兩者的劣勢,成功提升訓(xùn)練速度。

深度神經(jīng)網(wǎng)絡(luò)(DNN)已經(jīng)推動了許多機器學(xué)習(xí)任務(wù),比如語音識別,視覺識別和語言處理。

BigGan、Bert和GPT2.0的最新進(jìn)展表明,越大的DNN模型,越能帶來更好的性能。

而視覺識別任務(wù)的過去進(jìn)展也表明,模型大小和分類準(zhǔn)確性之間,存在很強的相關(guān)性。

例如2014年ImageNet視覺識別挑戰(zhàn)賽中,獲勝者GoogleNet使用400萬參數(shù),精確度達(dá)到了74.8%。

而2017年ImageNet挑戰(zhàn)賽的獲勝者Squeeze-and-Excitation Networks,使用1.5億參數(shù),精確度達(dá)到了82.7%。

僅僅3年,數(shù)據(jù)處理能力翻了36番。而在同一時期,GPU內(nèi)存僅增加了約3倍。

當(dāng)前最先進(jìn)的圖像模型,已經(jīng)達(dá)到了云TPUv2內(nèi)存的可用上限。因此,迫切需要一種更高效、可擴展的基礎(chǔ)設(shè)施,以實現(xiàn)大規(guī)模深度學(xué)習(xí),并克服當(dāng)前加速器的內(nèi)存限制。

ImageNet精度和模型大小之間的強相關(guān)性

基于以上目的,Google推出了GPipe。

GPipe是什么,效果如何?

GPipe是一個分布式機器學(xué)習(xí)、可擴展的管道并行庫,可以學(xué)習(xí)巨型深度神經(jīng)網(wǎng)絡(luò)。

使用同步隨機梯度下降和管道并行性進(jìn)行訓(xùn)練,適用于由多個連續(xù)層組成的任何DNN。

GPipe允許研究人員輕松部署更多加速器來訓(xùn)練更大的模型,并在不調(diào)整超參數(shù)的情況下,達(dá)到提升性能的效果。

GPipe將跨加速器和管道執(zhí)行的網(wǎng)絡(luò)層進(jìn)行分區(qū),以便實現(xiàn)對硬件更高的利用率,同時利用重新計算來將激活的內(nèi)存使用降至最低。

例如,使用8個加速器的分區(qū),GPipe就可以訓(xùn)練25倍大神經(jīng)網(wǎng)絡(luò)。

而GPipe也幾乎實現(xiàn)了線性加速。使用4倍數(shù)量的加速器,處理同一個模型的速度提升了3.5倍;16倍加速器速度提升11倍。

同時它也要保證計算的梯度和分區(qū)的數(shù)量保持一致,從而在不對模型的參數(shù)做任何改動的前提下,都能保持線性加速。

目前,核心GPipe庫已在Lingvo框架下開源。

為什么要對跨加速器的模型進(jìn)行分區(qū)?

有兩種標(biāo)準(zhǔn)方法可以加速DNN模型:

數(shù)據(jù)并行方法,使用更多的機器并將輸入數(shù)據(jù)分開

模型并行性。將模型移動到如GPU或TPU等具有加速模型訓(xùn)練的特殊硬件

然而加速器的內(nèi)存、與主機的通信帶寬均有限。因此模型并行性就需要將模型進(jìn)行分割,將不同的分區(qū)分配給不通過的加速器。

可是由于由于DNN的順序性,這種樸素的策略可能導(dǎo)致在計算期間,只有一個加速器處于激活狀態(tài),導(dǎo)致大量算力的浪費。

而標(biāo)準(zhǔn)數(shù)據(jù)并行方法是允許在多個加速器上,同時訓(xùn)練不同輸入數(shù)據(jù)的相同模型,但每個加速器可支持模型大小又有限制。

GPipe的做法是將模型分割,并劃分給不同的加速器,自動將小Batch拆分為更小的微Batch,這樣就實現(xiàn)了跨多個加速器的高效訓(xùn)練。

此外,因為梯度一直在微批次中累積,所以分區(qū)數(shù)量不會影響模型質(zhì)量。

Time部分:由于網(wǎng)絡(luò)的連續(xù)性,幼稚模型并行策略導(dǎo)致嚴(yán)重的未充分利用。 一次只有一個加速器處于活動狀態(tài)

Bubble部分:GPipe將輸入小批量分成較小的微批次,使不同的加速器可以同時在單獨的微批次上工作

使用GPipe和不使用,之間的差異有多大?

一個TPUv2有8個加速器核心和64GB內(nèi)存(每個加速器8GB),由于內(nèi)存限制,單個加速器可以訓(xùn)練的參數(shù)量上限是8200萬。

借助反向傳播和批量分割中的重新計算,GPipe將中間激活內(nèi)存從6.26GB減少到3.46GB,將單個加速器參數(shù)處理上限提升至3.18億個。

我們還看到,通過管道并行性,最大模型大小與分區(qū)數(shù)成正比,如預(yù)期的那樣。

通過GPipe,AmoebaNet能夠在云TPUv2的8個加速器上加入18億個參數(shù),比沒有GPipe的情況下多25倍。

Google測量了GPipe對AmoebaNet-D模型吞吐量的影響。效率和加速器的數(shù)量幾乎是呈線性加速,8個加速器+8個分區(qū),比2個加速器+2個分區(qū)快2.5倍。

TPUv3效果更好。在1024個令牌句子上啟用了80億個參數(shù)Transformer語言模型,16個加速器將速度提升了11倍

使用GPipe加速AmoebaNet-D,這種模型不適合一個加速器

基線naive-2是將模型拆分為兩個分區(qū)時本機分區(qū)方法的性能

Pipeline-k指的是GPipe的性能,它將模型分成帶有k個加速器的k個分區(qū)

GPipe還可以通過使用更多加速器來擴展訓(xùn)練,而無需更改超參數(shù)。因此,它可以與數(shù)據(jù)并行性相結(jié)合,以互補的方式使用更多的加速器來擴展神經(jīng)網(wǎng)絡(luò)訓(xùn)練。

GPipe精確度能達(dá)到多少?

前面我們提到,處理的數(shù)據(jù)量越大,獲得的精度就越高。

Google在ImageNet ILSVRC-2012數(shù)據(jù)集上,使用Cloud TPUv2訓(xùn)練了一個有5.57億參數(shù)、480 x 480輸入圖像尺寸的AmoebaNet-B模型。

該網(wǎng)絡(luò)被分成4個分區(qū),這個巨型模型在多個流行數(shù)據(jù)集上表現(xiàn)良好,在沒有任何外部數(shù)據(jù)的情況下,精度達(dá)到了最先進(jìn)的84.3% top-1,以及97% top-5的single-crop驗證準(zhǔn)確度。

大型神經(jīng)網(wǎng)絡(luò)不僅適用于ImageNet等數(shù)據(jù)集,還通過遷移學(xué)習(xí),與其他數(shù)據(jù)集息息相關(guān)。

目前我們已知ImageNet模型越好,遷移就越好。Google在CIFAR10和CIFAR100數(shù)據(jù)集上進(jìn)行了遷移學(xué)習(xí)實驗,將最佳公布的CIFAR-10精度提高到99%,將CIFAR-100精度提高到91.3%。

哪里能獲取到GPipe?

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多