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

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

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

深度學習的最大短板原來是它!

SSDFans ? 來源:YXQ ? 2019-06-17 09:53 ? 次閱讀

上文用簡單的小學數(shù)學算了一下Alexnet的參數(shù)說需要的內(nèi)存空間,但對于運行的神經(jīng)網(wǎng)絡,還有一個運行時的資源的問題。在github上的convnet-burden上有一個feature memory[1]的概念,這個和輸入的圖片的大小和運算的batch的size 都有關。

因此,Nvida的GPU上的HBM和GDDR對于大部分神經(jīng)網(wǎng)絡的煉丹師都是非常重要,能夠在一個GPU的內(nèi)存里完成模型的運算而不用考慮換進換出是大有裨益的。

總體來說,這個統(tǒng)計還是很直觀的[2],就是網(wǎng)絡模型越復雜,參數(shù)的規(guī)模越大,資源的占用也就越多,對GPU的整體內(nèi)存占用也是越多。因此如何在有限的GPU上完成模型的訓練也成了一個非常有用的技巧。

在我們考慮計算對于內(nèi)存帶寬的需求之前,我們需要復習一下作為一個神經(jīng)網(wǎng)絡,每一層對于計算的需求,這個還是可以用小學數(shù)學搞定的東西。還是用標準的Alexnet為例。

對于計算來講,卷積層應該是主要,對于Pooling來講,應該是沒有的,對于FC來講,也是比較簡單的?;旧鲜浅朔?

Conv Layer的計算復雜度:

1. 當前的層的圖片的width

2. 當前的層的圖片的height

3.上一層的深度

4。當前層的深度

5. 當前kernel的大小

的乘積就是這一層卷積的計算復雜度。以Alexnet的conv1為例:

Conv-1:第一層的卷積有96個kernel。kernel的大小是11X11,卷積的stride是4,padding是0

當前的輸出的是55X55,上一層的input的深度是3, 當前的kernel是11X11,當前的深度是96.因此

55X55X3X11X11X96=105,415,200次MAC的計算。

對于Alexnet來講,需要注意的是conv2,4 ,5三個層的計算沒有和上一層直接跨GPU,因此需要的計算規(guī)模上/2.

對于FC來講,比較粗略的計算就是 輸入和當前層的規(guī)模的乘積。

MaxPool-3:第五層卷積的最大值,Pooling是3X3, stride是2,

FC-1:第一個全連接層,有4096個神經(jīng)元

因此FC-1 的計算就是:

6X6X256X4096=37,748,736

因此,總結一下之前的參數(shù)信息和計算量, Alexnet的圖如下:

這個通過統(tǒng)計每一層的計算的復雜度,就可以得到整個網(wǎng)絡的計算復雜度,也就是訓練一次網(wǎng)絡需要多少的MACC資源。對于alexnet 來講就是:724,406,816 次操作。

這個時候,有一個關鍵的信息就出來了。就是芯片的能力,大家都是用TFLOPs來表示芯片的浮點處理能力。對于Nvida的芯片,有了TFLOPS,有個一個網(wǎng)絡需要的計算量,我們就可以很快計算出每一層計算需要的時間了。

對于Alexnet 的conv1 來講,在Nivida 最新的V100的120TFLOPs的GPU上,進行訓練的執(zhí)行時間差不多是105,415,200X2/(120X1,000,000,000,000), 約等于1.75us (微秒)。

對于Pooling這一層來講,因為沒有MACC的計算量,但是因為要Max Pooling,也需要大小比較的計算。因此,它的計算基本就是算是數(shù)據(jù)讀取。因此它的數(shù)據(jù)讀取是 conv-1 的55X55X96=290,440. 因此在同樣的GPU下,它的執(zhí)行時間就是 2.42ns.

好了,有了計算時間,現(xiàn)在需要來計算數(shù)據(jù)量了。對于Conv1來講,它包含了對一下數(shù)據(jù)的讀寫:

對于輸入數(shù)據(jù)的讀取 227X227X3 =154,587

對于輸出數(shù)據(jù)的寫入55x55x96=290,400

對于參數(shù)的讀取34848+96=34944

因此,就可以算出對于120TFLOP的GPU的要求:因為在很多ASIC芯片中,輸入輸出可能在DDR中,但是參數(shù)可能放在SRAM中,因此我們就分開計算了。

對于輸入數(shù)據(jù)的讀取 (154,587/1.75)X1000,000X4=351.95GB/s

對于輸出數(shù)據(jù)的寫入 (290,400/1.75)X1000,000X4=661.16GB/s

對于參數(shù)的讀取 (34944 /1.75)X1,000,000X4=79.34GB/s

提個醒,我們現(xiàn)在的PC服務器上性能最高的DDR4的帶寬基本上在19GB/s左右??吹綁毫α税伞,F(xiàn)在的memory連很慢的CPU都跟不上。更何況老黃家的核彈。

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

    關注

    14

    文章

    5063

    瀏覽量

    103442
  • 深度學習
    +關注

    關注

    73

    文章

    5511

    瀏覽量

    121370

原文標題:芯片架構師終于證明:深度學習的最大短板原來是它!

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

收藏 人收藏

    評論

    相關推薦

    NPU在深度學習中的應用

    隨著人工智能技術的飛速發(fā)展,深度學習作為其核心驅動力之一,已經(jīng)在眾多領域展現(xiàn)出了巨大的潛力和價值。NPU(Neural Processing Unit,神經(jīng)網(wǎng)絡處理單元)是專門為深度學習
    的頭像 發(fā)表于 11-14 15:17 ?750次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發(fā)表于 10-28 14:05 ?240次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法

    GPU深度學習應用案例

    GPU在深度學習中的應用廣泛且重要,以下是一些GPU深度學習應用案例: 一、圖像識別 圖像識別是深度學習
    的頭像 發(fā)表于 10-27 11:13 ?444次閱讀

    激光雷達技術的基于深度學習的進步

    信息。這使得激光雷達在自動駕駛、無人機、機器人等領域具有廣泛的應用前景。 二、深度學習技術的發(fā)展 深度學習是機器學習的一個分支,
    的頭像 發(fā)表于 10-27 10:57 ?470次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度
    的頭像 發(fā)表于 10-23 15:25 ?1049次閱讀

    深度學習中的時間序列分類方法

    時間序列分類(Time Series Classification, TSC)是機器學習深度學習領域的重要任務之一,廣泛應用于人體活動識別、系統(tǒng)監(jiān)測、金融預測、醫(yī)療診斷等多個領域。隨著深度
    的頭像 發(fā)表于 07-09 15:54 ?1086次閱讀

    深度學習中的無監(jiān)督學習方法綜述

    深度學習作為機器學習領域的一個重要分支,近年來在多個領域取得了顯著的成果,特別是在圖像識別、語音識別、自然語言處理等領域。然而,深度學習模型
    的頭像 發(fā)表于 07-09 10:50 ?857次閱讀

    深度學習與nlp的區(qū)別在哪

    方法,通過模擬人腦的神經(jīng)網(wǎng)絡結構,實現(xiàn)對數(shù)據(jù)的自動特征提取和學習深度學習的核心是構建多層的神經(jīng)網(wǎng)絡結構,每一層都包含大量的神經(jīng)元,這些神經(jīng)元通過權重連接,實現(xiàn)對輸入數(shù)據(jù)的逐層抽象和
    的頭像 發(fā)表于 07-05 09:47 ?1010次閱讀

    深度學習中的模型權重

    深度學習這一充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是模型智能的源泉。本文將從模型權重的定義、作用、優(yōu)化、管理以及應用等多個方面,深入探討
    的頭像 發(fā)表于 07-04 11:49 ?1663次閱讀

    深度學習常用的Python庫

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。
    的頭像 發(fā)表于 07-03 16:04 ?683次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,涉及大量的數(shù)據(jù)、計算資源和精心設計的算法。訓練一個深度學習模型,本質上是通過優(yōu)化算法調(diào)整模型參數(shù),
    的頭像 發(fā)表于 07-01 16:13 ?1420次閱讀

    深度學習與傳統(tǒng)機器學習的對比

    在人工智能的浪潮中,機器學習深度學習無疑是兩大核心驅動力。它們各自以其獨特的方式推動著技術的進步,為眾多領域帶來了革命性的變化。然而,盡管它們都屬于機器學習的范疇,但
    的頭像 發(fā)表于 07-01 11:40 ?1491次閱讀

    深度解析深度學習下的語義SLAM

    隨著深度學習技術的興起,計算機視覺的許多傳統(tǒng)領域都取得了突破性進展,例如目標的檢測、識別和分類等領域。近年來,研究人員開始在視覺SLAM算法中引入深度學習技術,使得
    發(fā)表于 04-23 17:18 ?1346次閱讀
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>學習</b>下的語義SLAM

    為什么深度學習的效果更好?

    導讀深度學習是機器學習的一個子集,已成為人工智能領域的一項變革性技術,在從計算機視覺、自然語言處理到自動駕駛汽車等廣泛的應用中取得了顯著的成功。深度
    的頭像 發(fā)表于 03-09 08:26 ?657次閱讀
    為什么<b class='flag-5'>深度</b><b class='flag-5'>學習</b>的效果更好?

    【技術科普】主流的深度學習模型有哪些?AI開發(fā)工程師必備!

    接近于人工智能。通過學習樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,對文字、圖像和聲音等數(shù)據(jù)進行解釋。深度學習的目標是讓機器像人一樣具有分析學習能力,能
    的頭像 發(fā)表于 01-30 15:26 ?661次閱讀
    【技術科普】主流的<b class='flag-5'>深度</b><b class='flag-5'>學習</b>模型有哪些?AI開發(fā)工程師必備!