国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

深度學習高效化與專用處理芯片設計

5b9O_deeplearni ? 來源:未知 ? 作者:胡薇 ? 2018-06-22 09:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“夫因樸生文,因拙生巧,相因相生,以至今日。”在人工智能領域,機器學習研究與芯片行業的發展,即是一個相因相生的過程。自第一個深度網絡提出,深度學習歷經幾次寒冬,直至近年,才真正帶來一波AI應用的浪潮,這很大程度上歸功于GPU處理芯片的發展。與此同時,由于AI應用場景的多元化,深度學習在端側的應用需求日益迫切,也促使芯片行業開展面向深度學習的專用芯片設計。如果能夠將深度算法與芯片設計相結合,將大大拓展AI的應用邊界,真正將智能從云端落地。本文中,來自中科院自動化所的程健研究員,將帶著大家一方面探索如何將深度學習高效化,另一方面討論如何針對深度算法來設計專用處理芯片。文末,提供文中提到參考文獻的下載鏈接。

上圖是本次匯報的大綱,主要從深度學習發展現狀、面臨的挑戰、神經網絡加速算法設計、深度學習芯片設計和對未來的展望五個方面來展開。

首先我們來看一下深度學習的發展現狀。毋庸置疑的是深度學習目前在各個領域都取得了一些突破性的進展,上圖展示了深度學習目前廣泛應用的領域。

深度學習近年來取得的長足發展離不開三個方面,上圖展示了其不可或缺的三個要素。一是隨著互聯網的發展產生的大數據,二是游戲行業的發展促使的如GPU計算資源的迅速發展,三是近年來研究者們對于深度學習模型的研究。在目前的情況下,給定一個應用場景,我們可以使用大量的數據和計算資源搭建非常深的網絡模型來達到比較高的性能。然而在實際應用中,這些復雜網絡由于需要很高的計算量難以很好地部署到設備上以滿足實際應用的需求,所以如何減少深度神經網絡計算量,成為深度學習領域中的研究熱點。

另一方面,面向深度學習設計的芯片也受到了越來越多的關注。目前一些通用的芯片如CPU不能很好地適應神經網絡這種計算量非常密集的操作,而計算能力強大的GPU由于其價格和功耗因素很難在大量終端設備上部署。所以如何設計一個面向深度學習的專用芯片達到速度和功耗的要求是目前比較火熱的研究方向。

雖然現在對神經網絡模型設計和深度學習芯片設計的研究很多,但依舊面臨很多挑戰。

面臨的挑戰之一是越來越復雜的網絡模型,上圖展示了近年來主流網絡模型的參數和計算量等信息。可以看出隨著網絡規模越來越大,網絡結構越來越復雜,由此帶來的越來越大的計算量會是一個挑戰。

面臨的挑戰之二是深度學習復雜多變的應用場景,主要包括在移動設備上算不好、穿戴設備上算不了、數據中心算不起三個方面。由于移動設備和可穿戴設備本身硬件比較小,允許運行的計算量非常有限,在面臨非常復雜多變的應用場景的時候,往往不能滿足實際需求。而目前存在的一些移動中心的計算由于其代價昂貴使得大多數人只能望而卻步。

面臨的挑戰之三是近年來摩爾定理隨著時間推移的失效,不能像以前一樣僅僅依靠在硬件上堆疊晶體管來實現物理層面的性能提升。

目前深度學習面臨的三個挑戰促使我們從兩個方面去思考,一是網絡模型本身優化的問題,二是設計面向深度學習專用芯片來實現神經網絡的高效計算。下面分別從這兩個方面進行闡述。

在深度學習模型的優化計算方面,包括一些最近幾年研究的工作,上圖展示了三種方式,下面主要列出了一些比較適合芯片的神經網絡加速計算的方法。

首先對于神經網絡大部分的計算,無論是卷積層還是全連接層都可以轉換成矩陣乘的基礎操作,上圖展示了這個過程,所以對矩陣乘進行加速的方法都可以引入到神經網絡的加速中來,包括低秩分解、網絡稀疏化、低精度表示等方法。

上圖展示了低秩分解的基本思想,將原來大的權重矩陣分解成多個小的矩陣,右邊的小矩陣的計算量都比原來大矩陣的計算量要小,這是低秩分解的基本出發點。

低秩分解有很多方法,最基本的是奇異值分解SVD。上圖是微軟在2016年的工作,將卷積核矩陣先做成一個二維的矩陣,再做SVD分解。上圖右側相當于用一個R的卷積核做卷積,再對R的特征映射做深入的操作。從上面可以看到,雖然這個R的秩非常小,但是輸入的通道S還是非常大的。

為了解決SVD分解過程中通道S比較大的問題,我們從另一個角度出發,沿著輸入的方向對S做降維操作,這就是上圖展示的Tucker分解的思想。具體操作過程是:將原來的卷積,首先在S維度上做一個低維的表達,再做一個正常的3×3的卷積,最后再做一個升維的操作。

在SVD分解和Tucker分解之后的一些工作主要是做了更進一步的分解。上圖展示了使用微調的CP分解加速神經網絡的方法。在原來的四維張量上,在每個維度上都做類似1×1的卷積,轉化為第二行的形式,在每一個維度上都用很小的卷積核去做卷積。在空間維度上,大部分都是3×3的卷積,所以空間的維度很小,可以轉化成第三行的形式,在輸入和輸出通道上做低維分解,但是在空間維度上不做分解,類似于MobileNet。

上圖展示了我們在2016年的工作,結合了上述兩種分解方法各自的優勢。首先把輸入參數做降維,然后在第二個卷積的時候,做分組操作,這樣可以降低第二個3×3卷積的計算量,最后再做升維操作。另一方面由于分組是分塊卷積,它是有結構的稀疏,所以在實際中可以達到非常高的加速,我們使用VGG網絡在手機上的實驗可以達到5-6倍的實際加速效果。

第二個方面是網絡的剪枝,基本思想是刪除卷積層中一些不重要的連接。

上圖展示了在NIP2015上提出的非常經典的三階段剪枝的方法。首先訓練一個全精度網絡,隨后刪除一些不重要的節點,后面再去訓練權重。這種非結構化的剪枝的方法,雖然它的理論計算量可以壓縮到很低,但是收益是非常低的,比如在現在的CPU或者GPU框架下很難達到非常高的加速效果。所以下面這種結構化的剪枝技術越來越多。

從去年的ICCV就有大量基于channel sparsity的工作。上面是其中的一個示意圖,相當于對每一個feature map定義其重要性,把不重要的給刪除掉,這樣產生的稀疏就是有規則的,我們可以達到非常高的實際加速效果。

第三個方面是低比特量化,上圖展示了具體操作方法。目前的低比特量化方法和上面提到的低秩分解、網絡剪枝這兩種方法是可結合的。左側是不同的比特數在計算機上的存儲方式,右側是不同操作的功耗。可以看出來低比特的功耗遠遠小于高比特浮點數操作的功耗。

上圖是在定點表示里面最基本的方法:BNN和BWN。在網絡進行計算的過程中,可以使用定點的數據進行計算,由于是定點計算,實際上是不可導的,于是提出使用straight-through方法將輸出的估計值直接傳給輸入層做梯度估計。在網絡訓練過程中會保存兩份權值,用定點的權值做網絡前向后向的計算,整個梯度累積到浮點的權值上,整個網絡就可以很好地訓練,后面幾乎所有的量化方法都會沿用這種訓練的策略。前面包括BNN這種網絡在小數據集上可以達到跟全精度網絡持平的精度,但是在ImageNet這種大數據集上還是表現比較差。

上圖展示了ECCV2016上一篇名為XNOR-Net的工作,其思想相當于在做量化的基礎上,乘了一個尺度因子,這樣大大降低了量化誤差。他們提出的BWN,在ImageNet上可以達到接近全精度的一個性能,這也是首次在ImageNet數據集上達到這么高精度的網絡。

上圖展示了阿里巴巴冷聰等人做的通過ADMM算法求解binary約束的低比特量化工作。從凸優化的角度,在第一個優化公式中,f(w)是網絡的損失函數,后面會加入一項W在集合C上的loss來轉化為一個優化問題。這個集合C取值只有正負1,如果W在滿足約束C的時候,它的loss就是0;W在不滿足約束C的時候它的loss就是正無窮。為了方便求解還引進了一個增廣變量,保證W是等于G的,這樣的話就可以用ADMM的方法去求解。

他們在AlexNet和ResNet上達到了比BWN更高的精度,已經很接近全精度網絡的水平。

上圖是我們今年通過Hashing方法做的網絡權值二值化工作。第一個公式是我們最常用的哈希算法的公式,其中S表示相似性,后面是兩個哈希函數之間的內積。我們在神經網絡做權值量化的時候采用第二個公式,第一項表示輸出的feature map,其中X代表輸入的feature map,W表示量化前的權值,第二項表示量化后輸出的feature map,其中B相當于量化后的權值,通過第二個公式就將網絡的量化轉化成類似第一個公式的Hashing方式。通過最后一行的定義,就可以用Hashing的方法來求解Binary約束。

我們做了實驗,達到了比之前任何一個網絡都高的精度,非常接近全精度網絡的性能。

上圖是我們在CVPR2017上的工作。實際中借助了矩陣分解和定點變換的優勢,對原始權值矩陣直接做一個定點分解,限制分解后的權值只有+1、-1、0三個值。將網絡變成三層的網絡,首先是正常的3×3的卷積,對feature map做一個尺度的縮放,最后是1×1的卷積,所有的卷積的操作都有+1、-1、0。

上圖是我們在ImageNet數據集上與流行的網絡模型做的對比實驗,可以看出我們提出的FFN與一些網絡相比已經達到甚至超過全精度網絡的性能;雖然與ResNet-50相比還存在一些性能上的損失,但是相比之前的方法損失已經小了很多。

下面講述一些專門針對深度學習芯片設計的工作。

上圖是2017年芯片設計兩個頂會ISCA和ISSCC上與deep learning相關session情況,這兩個會議上都有專門針對深度學習的討論可以看出深度學習對芯片設計產生了巨大影響。

首先是上圖中谷歌在2017年推出的的TPU,設計了矩陣基本乘法的單元,使用int8來表示,還專門針對芯片上包括權值的所有數據設計了一些緩沖區域。

上圖是中科院計算所研發的寒武紀。它在思想上實際和TPU有一點相似,實際中專門針對CNN設計了一些計算單元,還對常用的一些卷積神經網絡中的操作專門設計了一些指令,這樣芯片可以達到452GOP/s的高速度和485Mw的低功耗。

上圖是清華大學2016年在FPGA平臺上使用了VGG16所做的早期工作,采用類似正常網絡的計算思路,在FPGA上實現了VGG16,可以達到4.5幀每秒的速度。

上圖是MIT發布的一款名為Eyeriss的芯片,把正常的3×3卷積核操作做差分運算,將每一行做一個類似的處理,在卷積核進來以后,對整個feature map掃描以后,再把數據給拋掉。

上面對3×3的卷積核的處理只是針對一行,如果并行處理三行,就是上面這張圖。將三行都保存在片上,藍色的部分相當于特征,對其使用類似于一個流水線的方式進行處理,最左邊的圖表示一二三,中間是三三四,右邊是三四五,用這種方式把feature map在芯片上所有位置的響應都計算出來。

上面是我們2018年在DATE上的工作,我們和清華大學使用相同的板子做了VGG16。我們的出發點是這樣的,由于VGG16的feature map非常大,所以在計算過程中我們不可避免地需要在內存和板子上搬數據,這會帶來非常大的功耗。如果我們一次要搬這個數據的話,無論是從功耗還是速度的角度都有很大的損失。我們從算法和硬件結合的角度考慮,首先從算法上對神經網絡進行分塊的操作,將上面正常的卷積,分成2×2的四塊,本來從A1計算B1的時候需要A2和A3的信息,現在在算法的層面把這些依賴都去掉,就可以轉化成下面的這種方式。所有對B1的計算只依賴于A1,得到B1以后不需要等B2和B3的計算結果,就可以直接使用B1去計算C1,而且還可以把A1、B1、C1的操作做層之間的合并,這樣計算時延非常低,并且我們在整個網絡的運算過程中不需要大量的內存,從而大幅提高了神經網絡的計算速度。

下面談一談我們能看到的對神經網絡未來的展望。

1. 首先前面提到的二值化方法大多都是針對權值的二值化,對這些網絡的feature map做8比特的量化,很容易達到類似于feature map是浮點數的性能。如果我們能夠把feature map也做成binary的話,無論是在現有的硬件還是在專用的硬件上都可以達到更好的性能。但是性能上還有很大損失。所以如何更高效地二值化網絡也是未來研究的熱點。

2. 目前在訓練階段的一些量化操作都是針對測試階段的。如果我們要設計一款有自主學習能力的芯片,則需要在訓練的階段實現量化,我們可以在芯片實際使用的時候在線更新權值,這是未來發展的一個趨勢。

3. 另一個方面是不需要重新訓練,或者只需要無監督訓練的網絡加速與壓縮方法。現在的網絡加速方法都是做了一些網絡壓縮以后還要做大量的fine-tuning操作,但是實際使用中用戶給定一個網絡,如果我們可以使用不需要重新訓練,或者我們只是用一部分不帶標簽的數據就可以對這個網絡進行壓縮的話,這是一個非常有實用價值的研究方向。

4. 面向不同的任務,現在進行加速的方法,包括面向深度學習的芯片,大部分都是針對分類任務去做的。但是在實際應用中,分類是一個最基礎的工作,而像目標檢測、圖像分割的應用也非常的廣泛,對這些任務進行加速也是非常重要的問題。

5. 單獨做神經網絡或芯片架構的優化都很難做得非常好,兩個方面結合起來協同優化會更好。這些就是我們能看到的一些未來的發展。

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

    關注

    1817

    文章

    50098

    瀏覽量

    265374
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124398

原文標題:深度學習高效計算與處理器設計

文章出處:【微信號:deeplearningclass,微信公眾號:深度學習大講堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TPS60250/2:高效LED驅動芯片深度解析

    TPS60250/2:高效LED驅動芯片深度解析 在電子設備日益小型和智能的今天,對于高效
    的頭像 發表于 02-27 14:45 ?129次閱讀

    深度剖析TPS61158:高效WLED驅動芯片的卓越之選

    深度剖析TPS61158:高效WLED驅動芯片的卓越之選 在電子設備飛速發展的今天,小型高效能的需求日益凸顯。對于WLED(白光發光二極
    的頭像 發表于 02-27 10:55 ?126次閱讀

    TPS61177A:高效WLED驅動芯片深度解析

    TPS61177A:高效WLED驅動芯片深度解析 在電子設備的設計中,顯示屏的背光驅動是一個關鍵環節。今天我們來深入探討德州儀器(TI)推出的一款高性能WLED驅動芯片——TPS61
    的頭像 發表于 02-27 09:55 ?101次閱讀

    人工智能與機器學習在這些行業的深度應用

    自人工智能和機器學習問世以來,多個在線領域的數字格局迎來了翻天覆地的變化。這些技術從誕生之初就為企業賦予了競爭優勢,而在線行業正是受其影響最為顯著的領域。人工智能(AI)與機器學習(ML)的
    的頭像 發表于 02-04 14:44 ?475次閱讀

    AI芯片技術演進的雙軌路徑:從通用架構到領域專用的并行演進——指令集優化與電路級重構協同塑造智能計

    【導語】隨著人工智能從算法研究走向大規模工程與產業落地,計算負載呈現出算力需求激增與應用形態高度分化并存的特征。在這一背景下,傳統通用處理器在性能功耗比、時延確定性以及系統可擴展性方面逐漸暴露出
    的頭像 發表于 01-15 14:37 ?259次閱讀
    AI<b class='flag-5'>芯片</b>技術演進的雙軌路徑:從通用架構到領域<b class='flag-5'>專用</b>的并行演進——指令集優化與電路級重構協同塑造智能計

    探索NXP i.MX 93應用處理器家族:高效邊緣計算的理想之選

    探索NXP i.MX 93應用處理器家族:高效邊緣計算的理想之選 在當今的科技領域,邊緣計算正逐漸成為推動各行業創新發展的關鍵力量。NXP的i.MX 93應用處理器家族,憑借其卓越的性能、先進的技術
    的頭像 發表于 12-24 14:50 ?575次閱讀

    探索i.MX 91應用處理器家族:為邊緣應用帶來新可能

    探索i.MX 91應用處理器家族:為邊緣應用帶來新可能 在當今的物聯網和工業應用領域,對高性能、安全且節能的處理器需求日益增長。NXP的i.MX 91應用處理器家族正是為滿足這些需求而設計的,它為
    的頭像 發表于 12-24 11:50 ?870次閱讀

    如何深度學習機器視覺的應用場景

    深度學習視覺應用場景大全 工業制造領域 復雜缺陷檢測:處理傳統算法難以描述的非標準缺陷模式 非標產品分類:對形狀、顏色、紋理多變的產品進行智能分類 外觀質量評估:基于
    的頭像 發表于 11-27 10:19 ?220次閱讀

    兆芯榮獲通用處理器性能測評基準工具CPUBench特殊貢獻獎

    2025年11月5日至7日,中國電子技術標準研究院和上海賽西科技發展有限責任公司聯合主辦的“新產業標準領航論壇”在上海東郊賓館正式召開。大會同期正式發布國內處理器企業聯合研制的通用處理
    的頭像 發表于 11-12 16:23 ?432次閱讀

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+第二章 實現深度學習AI芯片的創新方法與架構

    、Transformer 模型的后繼者 二、用創新方法實現深度學習AI芯片 1、基于開源RISC-V的AI加速器 RISC-V是一種開源、模塊的指令集架構(ISA)。優勢如下: ①模
    發表于 09-12 17:30

    如何在機器視覺中部署深度學習神經網絡

    人士而言往往難以理解,人們也常常誤以為需要扎實的編程技能才能真正掌握并合理使用這項技術。事實上,這種印象忽視了該技術為機器視覺(乃至生產自動)帶來的潛力,因為深度學習并非只屬于計算機科學家或程序員。 從頭開始:什么
    的頭像 發表于 09-10 17:38 ?901次閱讀
    如何在機器視覺中部署<b class='flag-5'>深度</b><b class='flag-5'>學習</b>神經網絡

    深度學習對工業物聯網有哪些幫助

    、實施路徑三個維度展開分析: 一、深度學習如何突破工業物聯網的技術瓶頸? 1. 非結構數據處理:解鎖“沉睡數據”價值 傳統困境 :工業物聯網中70%以上的數據為非結構
    的頭像 發表于 08-20 14:56 ?1025次閱讀

    AI芯片:加速人工智能計算的專用硬件引擎

    人工智能(AI)的快速發展離不開高性能計算硬件的支持,而傳統CPU由于架構限制,難以高效處理AI任務中的大規模并行計算需求。因此,專為AI優化的芯片應運而生,成為推動深度
    的頭像 發表于 07-09 15:59 ?1577次閱讀

    嵌入式AI技術之深度學習:數據樣本預處理過程中使用合適的特征變換對深度學習的意義

    ? 作者:蘇勇Andrew 使用神經網絡實現機器學習,網絡的每個層都將對輸入的數據做一次抽象,多層神經網絡構成深度學習的框架,可以深度理解數據中所要表示的規律。從原理上看,使用
    的頭像 發表于 04-02 18:21 ?1516次閱讀

    【「芯片通識課:一本書讀懂芯片技術」閱讀體驗】從deepseek看今天芯片發展

    的: 神經網絡處理器(NPU)是一種模仿人腦神經網絡的電路系統,是實現人工智能中神經網絡計算的專用處理器,主要用于人工智能深度學習模型的加速訓練。人工智能要模仿人腦的工作方式,首先就要
    發表于 04-02 17:25