在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用Google TPU v3 Pod訓練ResNet-50,在識別率沒有降低的情況下2分鐘搞定ImageNet訓練

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-11-26 09:30 ? 次閱讀

隨著技術、算力的發展,在 ImageNet 上訓練 ResNet-50 的速度被不斷刷新。2018 年 7 月,騰訊機智機器學習平臺團隊在 ImageNet 數據集上僅用 6.6 分鐘就訓練好 ResNet-50,創造了 AI 訓練世界紀錄;一周前,壕無人性的索尼用 2176 塊 V100 GPU 將這一紀錄縮短到了 224 秒;如今,這一紀錄再次被谷歌刷新……

深度學習非常依賴于硬件條件,它是一個計算密集型的任務。硬件供應商通過在大型計算集群中部署更快的加速器來做出更快的相應。在 petaFLOPS(運算能力單位,每秒千萬億次浮點數運算)規模的設備上訓練深度學習模型需要同時面臨算法和系統軟件兩方面的挑戰。Google 于近日推出了一種大規模計算集群的圖像分類人物訓練解決方案,相關論文發表于 Arxiv:Image Classification at Supercomputer Scale。本文的作者使用 Google TPU v3 Pod 訓練 ResNet-50,在識別率沒有降低的情況下,僅使用了 2.2 分鐘。

背景

深度神經網絡的成功應用與發展離不開瘋狂增長的算力,在許多領域,深度學習的發展可以說是由硬件驅動的。在深度網絡的訓練過程中,最關鍵的部分就是使用隨機梯度下降算法(SGD)優化網絡權重。通常情況下,模型需要使用 SGD 在一個數據集上進行多次的便利才能達到收斂。在整個過程中,浮點數運算能力顯得至關重要。例如,在 ImageNet 數據庫上訓練 ResNet-50 模型,遍歷一次數據庫需要 3.2 萬萬億次浮點數運算。而使模型達到收斂,通常需要遍歷 90 次數據庫。

盡管硬件加速設備(例如 GPU、TPU)已經加快了迭代的次數,使用單個加速設備在大規模數據庫訓練大型的神經網絡仍然需要幾個小時或數天的時間。最常見的加速方法便是通過分布式的 SGD 算法使用多個設備并行訓練,將每個 mini-batch 分布在多個相同的加速設備上。

以往大家都喜歡用異步分布式 SGD 算法在將多個線程聯合起來進行訓練,但是近期的一些工作發現,異步分布式 SGD 算法優化的模型在收斂程度和驗證準確率方面都不如同步分布式 SGD 訓練出的模型。但是,為了保證在提速的同時模型的質量不會有所損失,在使用同步分布式 SGD 算法的過程中,會遇到很多技術和硬件方面的瓶頸,作者總結出以下幾點:

模型的準確率依賴于全局的 batch size 和計算集群中每個節點的 batch size。

在加速設備計算能力足夠高時,CPU 向 GPU 等專用設備的輸入過程成為了訓練過程中的瓶頸。

使用同步分布式 SGD 算法需要大規模的高速并行通信方案,即如何解決一個計算集群內部各個節點之間通信速度的瓶頸。

本文的作者提出了一種同步的分布式 SGD 優化算法,同時還提出了幾個大規模分布式深度學習訓練過程中使用的機器學習方法和優化方法,在加速收斂的過程中保證模型的質量沒有損失。

圖:左圖為 4-chip 的云 TPU v2 設備,峰值計算能力為 180 teraFLOPS(每秒萬億次浮點運算),使用 64GB 的 HBM(高帶寬內存);右圖為使用水冷的 4-chip 云 TPU v3 設備,峰值計算能力為 420 teraFLOPS,使用 128GBHBM。TPU v2 設備可組成最高 256-chip 的計算集群,稱為 TPU Pod,可提供高達 11.5petaFLOPS 的混合精度吞吐量。TPU v3 Pod 的規模可達 1024-chip,是 TPU v2 Pod 的四倍,理論上可提供 107.5 petaFLOPS 的混合精度吞吐量

方法

本文的作者受之前大規模訓練方法的啟發,在實驗過程中使用了以下一些技術:

混合精度:在實驗過程中,卷積操作使用了 bfloat16 數據,這是一種 TPU 上的半精度 16 位浮點數。此外,卷積層之間的激活函數也使用了 bfloat16 的格式。為了保證計算精度與 32 位浮點數網絡不相上下的精度,對于所有的非卷積的操作(例如,批歸一化、損失函數計算、梯度求和)都使用了 32 位浮點數。由于網絡訓練過程中的主要計算和內存消耗都是在卷積操作上,因此使用 bfloat16 可以獲得更高的訓練吞吐量。

學習率配置: 先前的一些研究表明,學習率應當與 batch size 成比例。在實驗過程中,作者使用了線性變化的學習率策略進行配置(例如,batch size 設成兩倍,則學習率也設為兩倍)。同時作者也使用了平緩的學習率預熱(warm-up)方法和學習率衰減。

分層自適應速率縮放(LARS): 盡管使用動量(momentum)的隨機梯度下降算法已經可以將 batch 最高設為 8192,但使用 LARS 優化器可以達到 32786 的 batch size 并且對于模型質量沒有影響。更大的 batch size 也增加了模型在 TPU 集群上執行時的吞吐量。

分布式批歸一化

批歸一化在圖像分類任務中有著不可或缺的作用,它通過對一個 mini-batch 內的數據進行歸一化,使得經過 batch-norm 層的數據服從相同均值與方差的分布,使得下層神經元可以更好的對數據分布情況進行學習。

在分布式訓練過程中,通常讓每個計算節點獨立的進行 batch norm, 這樣的好處是可以大大縮短訓練時間,因為每個計算節點之間無需額外的通信過程。在實驗過程中,作者發現 BN 的批大小(例如計算節點的批大小)對模型的驗證準確率有重要影響。已經有研究證明在計算節點的批大小小于 32 時,ResNet-50 的最終訓練結果在驗證數據上的準確率并不能收斂。

當使用數據并行的方法在大規模計算機集群上進行部署時,需要同時對全局的 batch size 大小進行擴大,同時對每個節點的局部 batch size 進行縮小。考慮到 BN 層的影響,作者主要針對每個節點上的 batch size 較小的情況進行研究。

作者通過對幾個計算節點組成的子節點做分布式的批歸一化來實現對 BN 這一過程的增強。具體算法如圖所示:

圖:分布式批歸一化算法示意圖,圖中集群包含兩個計算節點

首先各個節點計算獨立的局部均值與方差

計算一個子集群(圖中子集群包含兩個計算節點的)中的分布式均值和方差。

使用分布式均值和方差對子集群中的所有節點進行歸一化

輸入管道優化

訓練模型過程中,輸入管道包括了數據讀取、數據分析、預處理、旋轉和批量化等操作。如果輸入管道的吞吐量不能和 TPU 等模型管道(前向或反向傳播過程)的吞吐量相匹配,整個過程將會由于輸入管道的問題產生吞吐量上的瓶頸。導致輸入管道與模型管道吞吐量差異的主要原因是專用硬件加速設備與 CPU 之間的性能差異,因為模型管道是完全在專用硬件加速設備上執行的。

在本文中, 作者使用了很多關鍵的優化方法來解決輸入管道導致的瓶頸。此前,還未有工作對這些技術進行整合。具體方法如下:

數據共享與緩存: 理想情況下,所有的數據會一次性讀取并緩存在內存中以備直接使用,但是對于真實情況中的大規模數據集這種做法往往是不可行的。由于計算集群之間是可以共享內存與數據的,因此在大規模計算集群中,作者使用這種數據集共享與緩存的方法來提高輸入管道的吞吐量。

預提取并計算: 在計算當前批的數據同時對下一批的數據進行提取和處理,當前批計算完時便可直接提取數據使用。

混合 JPEG 解碼與裁剪: 使用原始的編碼數據進行數據增強等操作然后只對有效的部分進行解碼

并行數據分析: 對于輸入管道來說,數據分析與處理是非常消耗算力的,多核 CPU 可以使用多線程進行加速。

二維梯度求和

本文的作者提出了一種二維梯度求和方法,用于多個計算節點之間的梯度的計算和傳播。在傳統的一維方法中,梯度求和這一步的時間復雜度是 O(n^2),使用二維求和后,時間復雜度可以降到 O(n)。具體計算方法如下圖所示。

圖:二維環形梯度傳播,第一階段,藍色張量在 Y 軸方向進行求和,紅色張量在 X 軸方向進行求和。第二階段,維度進行轉換再次求和。

實驗與分析

作者進行了多個實驗,對文中提到的幾個技術細節進行論證。

分布式批歸一化

分布式歸一化的結果如下圖所示,實驗使用了 TPU v2 Pod 進行訓練,并且沒有使用 LARS 優化。

輸入管道優化

左圖是逐漸增加每種優化方法的實驗結果,中間的圖是組合優化的結果與逐漸減少其他優化方法的結果對比,右圖是并行化數量對實驗結果的影響。所有的實驗結果都以數據吞吐量為指標。

二維梯度求和

下圖是二維梯度求和算法與一維梯度求和算法的比較,可見使用二維梯度求和在各個配置的情況下都可以有效的減少分布式求和的時間。

與已有最好方法的對比

最后,作者與目前最好的分布式計算方法進行了比較,在準確率相同的情況下,本文提出的方法相比之前的方法大大減少了時間消耗。

目前谷歌云已經上線 Cloud TPU v3 測試版,單臺設備價格每小時 2.4 美元到 8 美元,也不是很貴,你也可以動手試試看哦~

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6227

    瀏覽量

    107705
  • 數據分析
    +關注

    關注

    2

    文章

    1470

    瀏覽量

    34853
  • 深度學習
    +關注

    關注

    73

    文章

    5557

    瀏覽量

    122565

原文標題:谷歌刷新世界紀錄!2分鐘搞定 ImageNet 訓練

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    訓練完模型后用cls_video.pycanmvIDE上運行,按著步驟操作但是攝像頭沒有識別到是什么情況

    訓練完模型后用cls_video.pycanmvIDE上運行,按著步驟操作但是攝像頭沒有識別到是什么情況啊,
    發表于 06-10 06:57

    OCR識別訓練完成后給的是空壓縮包,為什么?

    OCR識別 一共弄了26張圖片,都標注好了,點擊開始訓練,顯示訓練成功了,也將壓縮包發到郵箱了,下載下來后,壓縮包里面是空的 OCR圖片20幾張圖太少了。麻煩您多添加點,參考我們的ocr識別
    發表于 05-28 06:46

    請問訓練平臺訓練完的識別程序,可以實現在識別到物體時屏幕再顯示出來,沒有識別到物體時屏幕不顯示嗎?

    問題如題,訓練平臺訓練完的識別程序,可以實現在識別到物體時屏幕再顯示出來,沒有識別到物體時屏幕不
    發表于 04-29 06:12

    海思SD3403邊緣計算AI數據訓練概述

    模型,將模型轉化為嵌入式AI模型,模型升級AI攝像機,進行AI識別應用。 AI訓練模型是不斷迭代優化過程,譬如,100個數據樣本模型的識別準確和10萬個數據樣本的
    發表于 04-28 11:11

    基于RV1126開發板的resnet50訓練部署教程

    本教程基于圖像分類算法ResNet50訓練和部署到EASY-EAI-Nano(RV1126)進行說明
    的頭像 發表于 04-18 15:07 ?363次閱讀
    基于RV1126開發板的<b class='flag-5'>resnet50</b><b class='flag-5'>訓練</b>部署教程

    壁仞科技支持DeepSeek-V3滿血版訓練推理

    DeepSeek開源周開源了部分關鍵模塊的代碼及推理系統參考架構,再次引發行業震動,但目前尚未開源DeepSeek-V3 滿血版完整訓練代碼。壁仞科技憑借八大自主創新技術,實現
    的頭像 發表于 03-04 14:01 ?873次閱讀

    采用FP8混合精度,DeepSeek V3訓練成本僅557.6萬美元!

    的模型需要花費約4684.8萬美元。然而,隨著技術的進步,這一成本正在迅速降低。DeepSeek V3的出現,標志著訓練成本的大幅下降,其訓練成本僅為557.6萬美元,相較于之前的模型
    的頭像 發表于 01-13 11:12 ?1172次閱讀

    VDD1沒有供電的情況下,VDD2正常供電的情況下,AMC1200的輸出應該是什么狀態?

    請教一,在前端VDD1沒有供電的情況下,VDD2正常供電的情況下,AMC1200的輸出狀態為什么P端是3.8
    發表于 12-17 07:37

    什么是協議分析儀和訓練

    景: 電子設計:電子產品的設計過程中,使用訓練器對I3C接口進行訓練和測試,確保設計的正確性和可靠性。 汽車測試:汽車行業中,利用
    發表于 10-29 14:33

    AI大模型的訓練數據來源分析

    學術機構、政府組織或企業公開發布,涵蓋了各種類型的數據,如圖像、文本、音頻、視頻等。例如: ImageNet :一個廣泛用于圖像識別任務的大規模圖像數據集。 Common Crawl :提供了大量的網頁抓取數據以供自然語言處理模型訓練
    的頭像 發表于 10-23 15:32 ?3305次閱讀

    電磁干擾訓練系統原理是什么

    原理的詳細解釋: 智慧華盛恒輝電磁干擾基本原理 電磁干擾是指任何降低、損害或阻礙電子設備性能的電磁現象。電磁干擾訓練系統中,這一原理被用來模擬實際戰場或復雜電磁環境的電磁干擾
    的頭像 發表于 07-22 16:34 ?700次閱讀

    20個數據可以訓練神經網絡嗎

    是一種強大的機器學習模型,可以處理各種復雜的任務,如圖像識別、自然語言處理和游戲。然而,訓練一個神經網絡通常需要大量的數據。某些情況下,我們可能只有有限的數據可用,例如20個數據點。
    的頭像 發表于 07-11 10:29 ?1735次閱讀

    人臉識別模型訓練流程

    據準備階段,需要收集大量的人臉圖像數據,并進行數據清洗、標注和增強等操作。 1.1 數據收集 數據收集是人臉識別模型訓練的第一步。可以通過網絡爬蟲、公開數據集、合作伙伴等途徑收集人臉圖像數據。收集數據時,需要注意
    的頭像 發表于 07-04 09:19 ?1813次閱讀

    人臉識別模型訓練失敗原因有哪些

    人臉識別模型訓練失敗的原因有很多,以下是一些常見的原因及其解決方案: 數據集質量問題 數據集是訓練人臉識別模型的基礎。如果數據集存在質量問題,將直接影響模型的
    的頭像 發表于 07-04 09:17 ?1290次閱讀

    人臉識別模型訓練是什么意思

    人臉識別模型訓練是指通過大量的人臉數據,使用機器學習或深度學習算法,訓練出一個能夠識別和分類人臉的模型。這個模型可以應用于各種場景,如安防監控、身份認證、社交媒體等。下面將介紹人臉
    的頭像 發表于 07-04 09:16 ?1236次閱讀
    主站蜘蛛池模板: 两性色午夜视频免费播放 | 亚洲国产成人精品青青草原100 | 美女视频一区二区三区在线 | 免费的日本网站 | 绝色村妇的泛滥春情 | 亚洲天堂资源 | 一 级 黄 中国色 片 | 一级片特黄 | 国产偷窥女洗浴在线观看亚洲 | 国产美女被艹 | 色图综合网 | 奇米奇米 | 视频 在线| 亚洲第一视频在线播放 | 亚洲一区二区视频在线观看 | 38pao强力打造永久免费高清视频 | 伊人婷婷涩六月丁香七月 | 天天干网址 | 国产三级三级三级 | 老熟女一级毛片 | 四虎影院在线免费观看 | 日韩a毛片免费全部播放完整 | 国语对白一区二区三区 | 特级全黄一级毛片视频 | 天天做天天爱天天做天天吃中 | 久久国产乱子伦精品免费看 | 狠狠色噜噜狠狠狠狠888奇米 | 天天操夜夜爽 | 午夜男人天堂 | 毛色毛片| 国产午夜一区二区在线观看 | 亚洲第一精品夜夜躁人人爽 | 国产产一区二区三区久久毛片国语 | 色天使视频 | 国产精品爱久久久久久久三级 | 91在线国内在线播放大神 | 日本一区免费在线观看 | 免费观看色| www.乱| 污色网站| 黄色网址你懂的 |