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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

優(yōu)化用于深度學(xué)習(xí)工作負(fù)載的張量程序

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

華盛頓大學(xué)計(jì)算機(jī)系博士生陳天奇、以及上海交通大學(xué)和復(fù)旦大學(xué)的研究團(tuán)隊(duì)提出一個(gè)基于學(xué)習(xí)的框架,以優(yōu)化用于深度學(xué)習(xí)工作負(fù)載的張量程序。該研究使用基于機(jī)器學(xué)習(xí)的方法來(lái)自動(dòng)優(yōu)化張量運(yùn)算核心并編譯AI工作負(fù)載,從而可以將最優(yōu)的性能部署到所有硬件。實(shí)驗(yàn)結(jié)果表明,該框架能夠?yàn)榈凸?a href="http://www.wenjunhu.com/v/tag/132/" target="_blank">CPU,移動(dòng)GPU和服務(wù)器級(jí)GPU提供與最先進(jìn)手工調(diào)優(yōu)庫(kù)相媲美的性能。

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

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

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

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

摘要

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

實(shí)驗(yàn)結(jié)果表明,我們的框架能夠?yàn)榈凸腃PU,移動(dòng)GPU和服務(wù)器級(jí)GPU提供與最先進(jìn)手工調(diào)優(yōu)庫(kù)相媲美的性能。

學(xué)習(xí)優(yōu)化張量程序問(wèn)題的形式化方法

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

我們提供了學(xué)習(xí)優(yōu)化張量程序問(wèn)題的一種形式化方法,并總結(jié)了其關(guān)鍵特征。

我們提出了一個(gè)基于機(jī)器學(xué)習(xí)的框架來(lái)解決這個(gè)新問(wèn)題。

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

我們?cè)谶@個(gè)框架中提供了詳細(xì)的組件設(shè)計(jì)選擇和實(shí)證分析。

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

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

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

學(xué)習(xí)優(yōu)化張量程序算法

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

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

討論和結(jié)論

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

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

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

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

原文標(biāo)題:陳天奇團(tuán)隊(duì)新研究:自動(dòng)優(yōu)化深度學(xué)習(xí)工作負(fù)載

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TPU處理器的特性和工作原理

    張量處理單元(TPU,Tensor Processing Unit)是一種專門為深度學(xué)習(xí)應(yīng)用設(shè)計(jì)的硬件加速器。它的開發(fā)源于對(duì)人工智能(AI)和機(jī)器學(xué)習(xí)應(yīng)用的需求,尤其是
    的頭像 發(fā)表于 04-22 09:41 ?694次閱讀
    TPU處理器的特性和<b class='flag-5'>工作</b>原理

    如何排除深度學(xué)習(xí)工作臺(tái)上量化OpenVINO?的特定層?

    無(wú)法確定如何排除要在深度學(xué)習(xí)工作臺(tái)上量化OpenVINO?特定層
    發(fā)表于 03-06 07:31

    HPC工作負(fù)載管理的關(guān)鍵要素

    HPC工作負(fù)載管理是一個(gè)復(fù)雜而精細(xì)的過(guò)程,涉及資源分配、作業(yè)調(diào)度、性能監(jiān)控與優(yōu)化以及故障處理與恢復(fù)等多個(gè)關(guān)鍵要素。下面,AI部落小編帶您了解HPC工作
    的頭像 發(fā)表于 02-08 09:53 ?251次閱讀

    深度學(xué)習(xí)工作負(fù)載中GPU與LPU的主要差異

    ,一個(gè)新的競(jìng)爭(zhēng)力量——LPU(Language Processing Unit,語(yǔ)言處理單元)已悄然登場(chǎng),LPU專注于解決自然語(yǔ)言處理(NLP)任務(wù)中的順序性問(wèn)題,是構(gòu)建AI應(yīng)用不可或缺的一環(huán)。 本文旨在探討深度學(xué)習(xí)工作
    的頭像 發(fā)表于 12-09 11:01 ?3187次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>工作</b><b class='flag-5'>負(fù)載</b>中GPU與LPU的主要差異

    RK3568國(guó)產(chǎn)處理器 + TensorFlow框架的張量創(chuàng)建實(shí)驗(yàn)案例分享

    一、實(shí)驗(yàn)?zāi)康?本節(jié)視頻的目的是了解張量定義、了解張量的表示形式、并學(xué)習(xí)基于TensorFlow框架的張量創(chuàng)建方法。 二、實(shí)驗(yàn)原理. 張量定義
    發(fā)表于 12-03 14:43

    NPU在深度學(xué)習(xí)中的應(yīng)用

    設(shè)計(jì)的硬件加速器,它在深度學(xué)習(xí)中的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對(duì)深度學(xué)習(xí)算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和G
    的頭像 發(fā)表于 11-14 15:17 ?1637次閱讀

    pcie在深度學(xué)習(xí)中的應(yīng)用

    深度學(xué)習(xí)模型通常需要大量的數(shù)據(jù)和強(qiáng)大的計(jì)算能力來(lái)訓(xùn)練。傳統(tǒng)的CPU計(jì)算資源有限,難以滿足深度學(xué)習(xí)的需求。因此,GPU(圖形處理單元)和TPU(張量
    的頭像 發(fā)表于 11-13 10:39 ?1191次閱讀

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

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

    GPU深度學(xué)習(xí)應(yīng)用案例

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

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

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

    AI引擎機(jī)器學(xué)習(xí)陣列指南

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

    深度學(xué)習(xí)中的時(shí)間序列分類方法

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

    深度學(xué)習(xí)中的模型權(quán)重

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

    深度學(xué)習(xí)模型訓(xùn)練過(guò)程詳解

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

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

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

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品