0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

混合精度訓(xùn)練的優(yōu)勢!將自動混合精度用于主流深度學(xué)習(xí)框架

NVIDIA英偉達(dá)企業(yè)解決方案 ? 來源:lp ? 2019-04-03 11:31 ? 次閱讀

傳統(tǒng)上,深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練采用的是IEEE單精度格式,但借助混合精度,可采用半精度進(jìn)行訓(xùn)練,同時保持單精度的網(wǎng)絡(luò)精度。這種同時采用單精度和半精度表示的技術(shù)被稱為混合精度技術(shù)。

混合精度訓(xùn)練的優(yōu)勢

通過使用Tensor核心,可加速數(shù)學(xué)密集型運(yùn)算,如線性和卷積層。

與單精度相比,通過訪問一半的字節(jié)來加速內(nèi)存受限的運(yùn)算。

降低訓(xùn)練模型的內(nèi)存要求,支持更大規(guī)模的模型或更大規(guī)模的批量訓(xùn)練。

啟用混合精度包括兩個步驟:移植模型,以適時使用半精度數(shù)據(jù)類型;以及使用損耗定標(biāo),以保留小梯度值。

僅通過添加幾行代碼,TensorFlow、PyTorch和MXNet中的自動混合精確功能就能助力深度學(xué)習(xí)研究人員和工程師基于NVIDIA Volta和Turing GPU實(shí)現(xiàn)高達(dá)3倍的AI訓(xùn)練加速。

將自動混合精度用于主流深度學(xué)習(xí)框架

TensorFlow

NVIDIA NGC容器注冊表中TensorFlow容器可提供自動混合精度功能。要在容器內(nèi)啟用此功能,只需設(shè)置一個環(huán)境變量:

export TF_ENABLE_AUTO_MIXED_PRECISION=1

或者,您也可以在TensorFlow Python腳本中設(shè)置環(huán)境變量:

os.environ['TF_ENABLE_AUTO_MIXED_PRECISION'] = '1'

自動混合精度使用單一環(huán)境變量,在TensorFlow內(nèi)部應(yīng)用這兩個步驟,并在必要時進(jìn)行更細(xì)粒度的控制。

PyTorch

GitHub的Apex存儲庫中提供了自動混合精度功能。可將以下兩行代碼添加至當(dāng)前訓(xùn)練腳本中以啟用該功能:

model, optimizer = amp.initialize(model, optimizer)

with amp.scale_loss(loss, optimizer) as scaled_loss:scaled_loss.backward()

MXNet

我們正在構(gòu)建適用于MXNet的自動混合精度功能。您可通過GitHub了解我們的工作進(jìn)展??蓪⒁韵麓a行添加至當(dāng)前訓(xùn)練腳本中以啟用該功能:

amp.init()amp.init_trainer(trainer)with amp.scale_loss(loss, trainer) as scaled_loss:autograd.backward(scaled_loss)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4734

    瀏覽量

    100420
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4673

    瀏覽量

    128594
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5466

    瀏覽量

    120891

原文標(biāo)題:Tensor核心系列課 | 探究適用于深度學(xué)習(xí)的自動混合精度

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    國際巨頭重金投入,國產(chǎn)深度學(xué)習(xí)框架OneFlow有何優(yōu)勢

    的ResNet50-v1.5和BERT-base兩個模型中,無論是Float32類型還是自動混合精度,在同樣的算法和硬件條件下,吞吐率及加速比均優(yōu)于其他深度
    的頭像 發(fā)表于 12-17 09:31 ?4150次閱讀

    混合系統(tǒng)的優(yōu)勢所在

    優(yōu)勢,因此混合系統(tǒng)能夠大大提升測試系統(tǒng)的靈活性。當(dāng)您的系統(tǒng)中只有一種總線或平臺的時候,您能選擇的儀器就會受到這種總線的限制,這可能會妨礙您使用其他更適合您系統(tǒng)需求的儀器。您一定希望根據(jù)性能,精度以及
    發(fā)表于 02-25 23:36

    Nanopi深度學(xué)習(xí)之路(1)深度學(xué)習(xí)框架分析

    就能實(shí)現(xiàn)!還請關(guān)注我后面的日記。實(shí)際上我也是剛剛有時間學(xué)習(xí)深度學(xué)習(xí),我是個純初學(xué)者,但面對深度學(xué)習(xí)里的各種復(fù)雜理論和公式推導(dǎo),自己實(shí)現(xiàn)個小功
    發(fā)表于 06-04 22:32

    主流深度學(xué)習(xí)框架比較

    DL:主流深度學(xué)習(xí)框架多個方向PK比較
    發(fā)表于 12-26 11:10

    什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?

    延遲,這對深度學(xué)習(xí)推理也很有效。上述圖像識別的深度學(xué)習(xí)有望應(yīng)用于自動駕駛等對
    發(fā)表于 02-17 16:56

    PyTorch 1.6即將原生支持自動混合精度訓(xùn)練

    即將在 PyTorch 1.6上發(fā)布的 torch.cuda.amp 混合精度訓(xùn)練模塊實(shí)現(xiàn)了它的承諾,只需增加幾行新代碼就可以提高大型模型訓(xùn)練50-60% 的速度。
    的頭像 發(fā)表于 07-14 16:06 ?3119次閱讀
    PyTorch 1.6即將原生支持<b class='flag-5'>自動</b><b class='flag-5'>混合</b><b class='flag-5'>精度</b><b class='flag-5'>訓(xùn)練</b>

    淺談字節(jié)跳動開源8比特混合精度Transformer引擎

    如何繼續(xù)提升速度?降低計(jì)算精度是比較直接的方法。2017 年以來,fp16 混合精度技術(shù) [2] 獲得了廣泛應(yīng)用。在對模型效果無損的前提下,將模型訓(xùn)練和推理的速度提升了 50% 以上。
    發(fā)表于 11-01 10:19 ?547次閱讀

    深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?

    深度學(xué)習(xí)框架是什么?深度學(xué)習(xí)框架有哪些?? 深度
    的頭像 發(fā)表于 08-17 16:03 ?2646次閱讀

    深度學(xué)習(xí)框架區(qū)分訓(xùn)練還是推理嗎

    深度學(xué)習(xí)框架區(qū)分訓(xùn)練還是推理嗎 深度學(xué)習(xí)框架是一個非
    的頭像 發(fā)表于 08-17 16:03 ?1317次閱讀

    深度學(xué)習(xí)框架的作用是什么

    深度學(xué)習(xí)框架的作用是什么 深度學(xué)習(xí)是一種計(jì)算機(jī)技術(shù),它利用人工神經(jīng)網(wǎng)絡(luò)來模擬人類的學(xué)習(xí)過程。由于
    的頭像 發(fā)表于 08-17 16:10 ?1512次閱讀

    深度學(xué)習(xí)框架tensorflow介紹

    深度學(xué)習(xí)框架tensorflow介紹 深度學(xué)習(xí)框架TensorFlow簡介
    的頭像 發(fā)表于 08-17 16:11 ?2405次閱讀

    深度學(xué)習(xí)算法庫框架學(xué)習(xí)

    深度學(xué)習(xí)算法庫框架的相關(guān)知識點(diǎn)以及它們之間的比較。 1. Tensorflow Tensorflow是Google家的深度學(xué)習(xí)
    的頭像 發(fā)表于 08-17 16:11 ?647次閱讀

    深度學(xué)習(xí)框架連接技術(shù)

    深度學(xué)習(xí)框架連接技術(shù) 深度學(xué)習(xí)框架是一個能夠幫助機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 08-17 16:11 ?743次閱讀

    深度學(xué)習(xí)框架深度學(xué)習(xí)算法教程

    基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法。 深度學(xué)習(xí)算法可以分為兩大類:監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。監(jiān)督學(xué)習(xí)的基本任
    的頭像 發(fā)表于 08-17 16:11 ?1034次閱讀

    視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹

    Torchvision是基于Pytorch的視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架,當(dāng)前支持的圖像分類、對象檢測、實(shí)例分割、語義分割、姿態(tài)評估模型的遷
    的頭像 發(fā)表于 09-22 09:49 ?841次閱讀
    視覺<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>遷移<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>框架</b>Torchvision介紹