百度聯(lián)合英偉達發(fā)布最新論文:如何讓深度學習效率事半功倍?

雷鋒網消息,在10月10日-11日在加拿大蒙特利爾召開的Rework Deep Learning Summit會議上,百度高級研究員Greg Diamos介紹了由百度硅谷AI實驗室(SVAIL)與NVIDIA合作的最新成果:一種名為“混合精度訓練”(Mixed Precision Training,簡稱MPT)的深度學習模型。

百度聯(lián)合英偉達發(fā)布最新論文:使深度學習效率事半功倍的混合精度訓練

Greg Diamos在Rework Deep Learning Summit上演講中。

據(jù)了解,大多數(shù)的深度學習模型使用的是32位單精度浮點數(shù)(FP32)來進行訓練,而混合精度訓練的方法則通過16位浮點數(shù)(FP16)進行深度學習模型訓練,從而減少了訓練深度學習模型所需的內存,同時由于FP16的運算比FP32運算更快,從而也進一步提高了硬件效率。

通過用半精度運算替代全精度運算來提高效率,這一技術原理聽起來很簡單明了,但將其付諸實施并不像聽起來那么簡單。此前也有團隊嘗試過使用更低精度進行混合計算(如二進制,甚至4-bit),但問題在于這往往不可避免地造成結果的準確性和在主要網絡變換上的損失,而百度的MPT模型不僅解決了這一問題,更重要的是MPT無需改變網絡超參數(shù)(雷鋒網(公眾號:雷鋒網)注:超參數(shù)指Bayes統(tǒng)計理論先驗分布的參數(shù), 它不像其他的參數(shù)可以用統(tǒng)計量估計),并保持與單精度相同的準確性。

在百度研究院博客中,百度進一步解釋了這一模型的原理:

深度學習模型由各種層(Layer)組成,包括完全連接的層,卷積層和反復層。層與層之間的轉換可以通過通用矩陣乘法(GEMM)來實現(xiàn),而對深度學習訓練的過程其實很大程度是GEMM計算的過程。

如下圖所示,GEMM操作可以分解為若干個幾個乘法運算和后續(xù)的加法運算。

百度聯(lián)合英偉達發(fā)布最新論文:使深度學習效率事半功倍的混合精度訓練

當使用FP16代表神經網絡中的數(shù)據(jù)時,GEMM操作的輸入矩陣由16位數(shù)組成。我們需要可以使用16位計算執(zhí)行乘法的硬件,但是需要使用32位計算和存儲來執(zhí)行加法。使用少于32位的加法操作訓練大型深度學習模型會非常困難。

為此,百度不僅與NVIDIA共同解決了硬件支持的問題,雙方還對訓練流程進行了一些修改,模型中的輸入,權重,梯度和激活以FP16格式表示。但是如之前介紹,與FP32數(shù)字相比,半精度數(shù)字的范圍有限,只是通過簡單地更改存儲格式,某些模型無法達到與單精度相同的精度。為此,NVIDIA和百度采用了兩種關鍵技術:

第一項關鍵技術被稱為“混合精密鑰匙”(mixed precision key)。如下圖所示,在MT模型中仍然保留FP32格式的主副本,將FP16用于正向和反向傳播,優(yōu)化器中的梯度更新將被添加到主FP32副本當中,該FP32副本被簡化為一個FP16副本在訓練期間使用,這個過程在每次訓練迭代中重復,直至模型收斂且足以恢復損失的精度,從而達到較低內存使用、內存帶寬壓力更低和更快速執(zhí)行的優(yōu)點。

百度聯(lián)合英偉達發(fā)布最新論文:使深度學習效率事半功倍的混合精度訓練

深度學習模型的混合精度訓練示意圖

第二種關鍵技術則是“損耗縮放”(loss-scaling)。該技術可以夠恢復一些小數(shù)值的梯度。在訓練期間,一些權重梯度具有非常小的指數(shù),其FP16格式可能會變?yōu)榱?。為了克服這個問題,我們使用縮放因子在反向傳播開始時縮放損失,通過連鎖規(guī)則,梯度也逐漸擴大,并在FP16中可表示。在將其更新應用于權重之前,梯度確實需要縮??;而為了恢復某些型號的精度損失,必須進行損耗調整。關于這兩種技術的更多細節(jié)可以在我們的論文中找到。

百度已使用這種方法使用FP16訓練其DeepSpeech 2模型。結果表明,對于英文和普通話模型和數(shù)據(jù)集和使用相同的超參數(shù)、模型架構進行混合精度訓練實驗,可以得到到FP32訓練的精度。

同時,使用FP16訓練減少了深度學習模型的內存需求,使得百度能夠使用一半的處理器來訓練這些模型,從而有效地加倍了集群大小。此外,F(xiàn)P16算術的峰值性能(如上所述)通常高于單精度計算。

極客網企業(yè)會員

免責聲明:本網站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網站出現(xiàn)的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網站中的網頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2017-10-13
百度聯(lián)合英偉達發(fā)布最新論文:如何讓深度學習效率事半功倍?
雷鋒網消息,在10月10日-11日在加拿大蒙特利爾召開的Rework Deep Learning Summit會議上,百度高級研究員Greg Diamos介紹了

長按掃碼 閱讀全文