實時深度學習

你看見的我發表於2020-12-31

實時深度學習研究綜述


任務需求:對於深度神經網路而言,主要是推理過程,需要滿足功能上的正確性(是否具有可解釋性);非功能上的實時性(實時嵌入式系統中,DNN推理任務的執行時間不能超過該任務所指定的時限);

  1. 程式的效能分析:GPU 作為主要的硬體加速裝置已經被廣泛的應用於深度學習領域,DNN 任務在 GPU 上執行時會遇到各種效能障礙,例如,低效的 DNN 演算法,低精度的結果,並行的開銷,負載的不均衡,記憶體、快取和頻寬的低效使用,計算延遲超出響應時間要求等;
    ① 不同的深度學習框架實現機制與 CUDA 驅動的融合程度不同,不同的深度學習框架會導致較大的效能差異;
    ② 卷積層運算涉及到大量的密集型計算,是開銷的主體部分;
    ③ DNN 模型包含大量的神經元,具有數千萬的訓練引數,計算量大,存在兩個潛在的效能瓶頸:計算瓶頸和通訊瓶頸(分散式訓練?);

  2. 輕量級神經網路:
    ① 人工優化:
    模型壓縮(模型量化、模型剪枝、矩陣低秩分解);
    輕量化網路(小卷積核替換、減少輸入特徵通道數量、延遲下采樣,獲得更大特徵圖)
    ② 自動優化:
    自動化機器學習AutoML 是模型選擇、特徵抽取和超引數調優等一系列自動化方法,可以實現自動訓練有價值的模型;
    神經架構搜尋NAS 採用神經網路設計神經網路,基於多目標優化約束自動化設計網路;

  3. 實時神經網路:網路推理時間具有可預測性,且網路推理時間須在實時任務時間閾值內,同時保證網路的推理精度在可接受的範圍內;必要時,犧牲精度換取推理時間。

  4. 提高硬體和軟體的計算並行度;考慮資料搬運和傳輸過程;考慮任務分割,子任務的調配和實時管理;GPU資源管理策略,降低資源訪問衝突;

  5. 深度神經網路與網路加速器的協同設計:
    ① 以網路為固定標的,優化加速器的架構;
    ② 以加速器為固定標的,優化網路的結構;

相關文章