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

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

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

優(yōu)化用于深度學習工作負載的張量程序

DPVg_AI_era ? 來源:未知 ? 作者:胡薇 ? 2018-05-23 15:32 ? 次閱讀

華盛頓大學計算機系博士生陳天奇、以及上海交通大學和復旦大學的研究團隊提出一個基于學習的框架,以優(yōu)化用于深度學習工作負載的張量程序。該研究使用基于機器學習的方法來自動優(yōu)化張量運算核心并編譯AI工作負載,從而可以將最優(yōu)的性能部署到所有硬件。實驗結果表明,該框架能夠為低功耗CPU,移動GPU和服務器級GPU提供與最先進手工調(diào)優(yōu)庫相媲美的性能。

深度學習在我們的日常生活中已經(jīng)無處不在。深度學習模型現(xiàn)在可以識別圖像,理解自然語言,玩游戲,以及自動化系統(tǒng)決策(例如設備放置和索引)。張量算符(tensor operators),如矩陣乘法和高維卷積,是深度學習模型的基本組成部分。

可擴展的學習系統(tǒng)依賴于手動優(yōu)化的高性能張量操作庫,如cuDNN。這些庫針對較窄范圍的硬件進行了優(yōu)化。為了優(yōu)化張量算符,程序員需要從邏輯上等價的許多實現(xiàn)中進行選擇,但由于線程,內(nèi)存重用, pipelining和其他硬件因素的不同,性能上的差別很大。

支持多種硬件后端需要巨大的工程努力。即使在當前支持的硬件上,深度學習框架和模型的開發(fā)也從根本上受到庫中優(yōu)化操作符設置的限制,阻止了諸如操作符熔合(operator fusion)之類的優(yōu)化,從而產(chǎn)生不受支持的操作符。

針對這個問題,華盛頓大學計算機系博士生陳天奇、以及上海交通大學和復旦大學的研究團隊提出一個基于學習的框架,以優(yōu)化用于深度學習工作負載的張量程序( tensor programs)。

摘要

我們提出一個基于學習的框架,以優(yōu)化用于深度學習工作負載的張量程序( tensor programs)。矩陣乘法和高維卷積等張量算符( tensor operators)的高效實現(xiàn)是有效的深度學習系統(tǒng)的關鍵。然而,現(xiàn)有的系統(tǒng)依賴于手工優(yōu)化的庫,如cuDNN,這些庫只有很少的服務器級GPU能很好地支持。對硬件有要求的操作庫的依賴限制了高級圖形優(yōu)化的適用性,并且在部署到新的硬件目標時會產(chǎn)生巨大的工程成本。我們利用學習來消除這種工程負擔。我們學習了領域特定的統(tǒng)計成本模型,以指導在數(shù)十億可能的程序變體上搜索張量算符的實現(xiàn)。我們通過跨工作負載的有效模型遷移來進一步加快搜索速度。

實驗結果表明,我們的框架能夠為低功耗CPU,移動GPU和服務器級GPU提供與最先進手工調(diào)優(yōu)庫相媲美的性能。

學習優(yōu)化張量程序問題的形式化方法

我們提出以下問題:我們是否可以通過學習來減輕這種工程負擔,并自動優(yōu)化給定硬件平臺的張量算符程序?本論文為這個問題提供了肯定的答案。我們建立了統(tǒng)計成本模型來預測給定的低級程序的程序運行時間。這些成本模型指導了對可能程序空間的探索。我們的成本模型使用可遷移的表示形式,可以在不同的工作負載之間進行泛化,以加速搜索。這一工作的貢獻如下:

我們提供了學習優(yōu)化張量程序問題的一種形式化方法,并總結了其關鍵特征。

我們提出了一個基于機器學習的框架來解決這個新問題。

我們使用遷移學習將優(yōu)化速度進一步提高2倍至10倍。

我們在這個框架中提供了詳細的組件設計選擇和實證分析。

在實際的深度學習工作負載的實驗結果表明,我們的框架提供的端到端性能改進比現(xiàn)有框架好1.2倍至3.8倍。

圖1:該問題的一個例子。 對于給定的張量算符規(guī)范 ,有多種可能的低級別程序?qū)崿F(xiàn),每種實現(xiàn)都有不同的loop順序, tiling 大小以及其他選項。每個選項都創(chuàng)建一個具有不同性能的邏輯等效程序。我們的問題是探索程序空間并找到一個優(yōu)化的程序。

圖2:學習優(yōu)化張量程序框架的概覽

學習優(yōu)化張量程序算法

圖3:編碼低級別循環(huán)AST的可能方法的示例

表1:單batch的ResNet-18推理中所有conv2d操作符的配置。H,W表示高度和寬度,IC表示輸入通道,OC表示輸出通道,K表示 kernel大小,以及S表示stride大小。

討論和結論

我們提出了一種基于機器學習的框架來自動優(yōu)化深度學習系統(tǒng)中張量算符的實現(xiàn)。我們的統(tǒng)計成本模型允許在工作負載之間進行有效的模型共享,并通過模型遷移加速優(yōu)化過程。這個新方法的優(yōu)秀實驗結果顯示了對深度學習部署的好處。

在我們的解決方案框架之外,這個新問題的具體特征使它成為相關領域創(chuàng)新的一個理想測試平臺,如神經(jīng)程序建模、貝葉斯優(yōu)化、遷移學習和強化學習。

在系統(tǒng)方面,學習優(yōu)化張量程序可以使更多的融合操作符、數(shù)據(jù)布局和數(shù)據(jù)類型跨不同的硬件后端。這些改進對于改進深度學習系統(tǒng)至關重要。我們將開放我們的實驗框架,以鼓勵在這些方向進行更多的研究。

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

    關注

    73

    文章

    5466

    瀏覽量

    120891

原文標題:陳天奇團隊新研究:自動優(yōu)化深度學習工作負載

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

收藏 人收藏

    評論

    相關推薦

    深度學習模型的魯棒性優(yōu)化

    深度學習模型的魯棒性優(yōu)化是一個復雜但至關重要的任務,它涉及多個方面的技術和策略。以下是一些關鍵的優(yōu)化方法: 一、數(shù)據(jù)預處理與增強 數(shù)據(jù)清洗 :去除數(shù)據(jù)中的噪聲和異常值,這是提高模型魯棒
    的頭像 發(fā)表于 11-11 10:25 ?58次閱讀

    GPU深度學習應用案例

    能力,可以顯著提高圖像識別模型的訓練速度和準確性。例如,在人臉識別、自動駕駛等領域,GPU被廣泛應用于加速深度學習模型的訓練和推理過程。 二、自然語言處理 自然語言處理(NLP)是深度
    的頭像 發(fā)表于 10-27 11:13 ?293次閱讀

    FPGA做深度學習能走多遠?

    的發(fā)展前景較為廣闊,但也面臨一些挑戰(zhàn)。以下是一些關于 FPGA 在深度學習中應用前景的觀點,僅供參考: ? 優(yōu)勢方面: ? 高度定制化的計算架構:FPGA 可以根據(jù)深度學習算法的特殊需
    發(fā)表于 09-27 20:53

    AI引擎機器學習陣列指南

    云端動態(tài)工作負載以及超高帶寬網(wǎng)絡,同時還可提供高級安全性功能。AI 和數(shù)據(jù)科學家以及軟硬件開發(fā)者均可充分利用高計算密度的優(yōu)勢來加速提升任何應用的性能。AI 引擎機器學習擁有先進的張量
    的頭像 發(fā)表于 09-18 09:16 ?286次閱讀
    AI引擎機器<b class='flag-5'>學習</b>陣列指南

    深度學習算法在嵌入式平臺上的部署

    隨著人工智能技術的飛速發(fā)展,深度學習算法在各個領域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰(zhàn)性的任務。本文將從嵌入式平臺的特點、
    的頭像 發(fā)表于 07-15 10:03 ?1104次閱讀

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

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

    深度學習中的模型權重

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

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

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

    深度學習的模型優(yōu)化與調(diào)試方法

    深度學習模型在訓練過程中,往往會遇到各種問題和挑戰(zhàn),如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行優(yōu)化與調(diào)試是確保其性能優(yōu)越的
    的頭像 發(fā)表于 07-01 11:41 ?649次閱讀

    深度學習編譯工具鏈中的核心——圖優(yōu)化

    等,需要調(diào)整優(yōu)化網(wǎng)絡中使用的算子或算子組合,這就是深度學習編譯工具鏈中的核心——圖優(yōu)化。圖優(yōu)化是指對深度
    的頭像 發(fā)表于 05-16 14:24 ?751次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b>編譯工具鏈中的核心——圖<b class='flag-5'>優(yōu)化</b>

    傳統(tǒng)計算機視覺對比深度學習

    深度學習是一種技術,它使用一種稱為梯度反向傳播的優(yōu)化技術來生成“程序”(也稱為“神經(jīng)網(wǎng)絡”),就像上面故事中學者學生編寫的那些程序一樣。
    發(fā)表于 03-31 09:48 ?421次閱讀

    FPGA在深度學習應用中或?qū)⑷〈鶪PU

    系統(tǒng)等其他行業(yè)也面臨著類似的挑戰(zhàn)。 FPGA 和深度學習 FPGA 是可定制的硬件設備,可對其組件進行調(diào)節(jié),因此可以針對特定類型的架構 (如 卷積神經(jīng)網(wǎng)絡) 進行優(yōu)化。其可定制性特征降低了對電力的需求
    發(fā)表于 03-21 15:19

    最常見的直流負載工作方式

    最常見的直流負載工作方式? 直流負載工作方式是指在直流電路中使用的各種負載方式。直流負載
    的頭像 發(fā)表于 01-18 15:12 ?670次閱讀

    目前主流的深度學習算法模型和應用案例

    深度學習在科學計算中獲得了廣泛的普及,其算法被廣泛用于解決復雜問題的行業(yè)。所有深度學習算法都使用不同類型的神經(jīng)網(wǎng)絡來執(zhí)行特定任務。
    的頭像 發(fā)表于 01-03 10:28 ?1656次閱讀
    目前主流的<b class='flag-5'>深度</b><b class='flag-5'>學習</b>算法模型和應用案例

    深度學習在人工智能中的 8 種常見應用

    ,徹底改變了人工智能。人腦的結構和操作啟發(fā)了這些算法。你覺得怎么樣?人工智能(AI)中有哪些典型的深度學習應用?深度學習經(jīng)常用于各種人工智能
    的頭像 發(fā)表于 12-01 08:27 ?3194次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學習</b>在人工智能中的 8 種常見應用