偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

陳天奇最新研究:遞歸模型編譯器CORTEX

新聞 前端
90后的陳天奇是機(jī)器學(xué)習(xí)領(lǐng)域著名的青年華人,在2020年秋季加入CMU任助理教授,成為加入CMU的年輕華人學(xué)者之一。

  西雅圖是美國的超一線城市,不僅孕育了科技巨頭微軟,華盛頓大學(xué)也是城市的招牌,華人武術(shù)宗師李小龍也畢業(yè)于此。

陳天奇在AI圈的名氣,好比李小龍在武術(shù)界的地位,且都是少年有成。

90后的陳天奇是機(jī)器學(xué)習(xí)領(lǐng)域著名的青年華人,在2020年秋季加入CMU任助理教授,成為加入CMU的年輕華人學(xué)者之一。

[[387729]]

近日,陳天奇團(tuán)隊在arxiv上發(fā)表了針對深度學(xué)習(xí)開發(fā)的編譯器「CORTEX」,側(cè)重解決深度學(xué)習(xí)模型的優(yōu)化問題,能夠為遞歸神經(jīng)網(wǎng)絡(luò)生成高效的編碼。

重點(diǎn)來了,這個編譯器不依賴其他庫,能夠端到端地測量優(yōu)化性能,最高降低了14倍推理延遲。

深度學(xué)習(xí)的應(yīng)用瓶頸

深度學(xué)習(xí)模型在生產(chǎn)中越來越多地被用作應(yīng)用程序的一部分,例如個人助理,自動駕駛汽車和聊天機(jī)器人。

[[387730]]

這些應(yīng)用對模型的推理延遲提出了嚴(yán)格的要求。

因此,生產(chǎn)中使用了各種各樣的專用硬件,包括CPU,GPU和專用加速器,以實現(xiàn)低延遲推理。

對于具有遞歸和其他動態(tài)控制流的模型,減少推理延遲尤其困難。

陳天奇提出了一個解決方法,一種遞歸深度學(xué)習(xí)模型的編譯器「CORTEX」,在編譯階段就生成高效代碼。

陳天奇最新研究:遞歸模型編譯器CORTEX

優(yōu)化深度學(xué)習(xí)模型一般分兩步進(jìn)行:

  • 高層次的圖優(yōu)化,如內(nèi)核融合;
  • 低層次的內(nèi)核優(yōu)化,如依賴庫中的內(nèi)核優(yōu)化。

這種方法對于遞歸深度學(xué)習(xí)模型,通常會表現(xiàn)出顯著的性能。

技術(shù)突破

遞歸深度學(xué)習(xí)模型的編譯器「CORTEX」旨在構(gòu)建一個編譯器和運(yùn)行基礎(chǔ)結(jié)構(gòu),以通過不規(guī)則和動態(tài)的控制流,甚至不規(guī)則的數(shù)據(jù)結(jié)構(gòu)訪問也能有效地編譯ML應(yīng)用程序。

這種編譯器方法和不依賴其他庫,能夠?qū)崿F(xiàn)端到端優(yōu)化,在不同backend上的推理延遲最多降低了14倍。

CORTEX包括一個運(yùn)行框架,這個框架可以處理具有遞歸數(shù)據(jù)結(jié)構(gòu)遍歷的模型。

陳天奇最新研究:遞歸模型編譯器CORTEX

這個框架能夠從張量計算中完全解開遞歸遍歷,并進(jìn)行部分推理,從而能夠快速地將整個張量計算放入到硬件加速器(目前支持CPU和GPU)。

這意味著編譯器可以生成一個高度優(yōu)化的代碼,能夠避免加速器和主機(jī)CPU之間頻繁通信的開銷。

最后,論文總結(jié)了貢獻(xiàn):

  • 設(shè)計了CORTEX,一個基于編譯器的框架,可實現(xiàn)端到端優(yōu)化和高效的代碼生成,以遞歸深度學(xué)習(xí)模型的低延遲推理。
  • 作為設(shè)計的一部分,擴(kuò)展了張量編譯器,并提出了遞歸模型的新調(diào)度原語和優(yōu)化。
  • 對提出的框架進(jìn)行原型設(shè)計,并根據(jù)最新的遞歸深度學(xué)習(xí)框架對其進(jìn)行評估,并獲得了顯著的性能提升( 在Nvidia GPU,Intel和ARM CPU上最高可達(dá)14倍)。

編譯器API之遞歸模型

CORTEX需要具有模型計算的端到端視圖,以便執(zhí)行諸如內(nèi)核融合之類的優(yōu)化。

輸入程序需要包含有關(guān)在模型中執(zhí)行的張量操作的足夠信息,以在將其降低到ILIR時進(jìn)行調(diào)度。

從而RA將輸入計算建模為運(yùn)算符的DAG,其中每個運(yùn)算符都指定為循環(huán)嵌套。

陳天奇最新研究:遞歸模型編譯器CORTEX

除了進(jìn)行RA計算外,用戶還需要提供有關(guān)輸入數(shù)據(jù)結(jié)構(gòu)的基本信息,例如每個節(jié)點(diǎn)的最大子代數(shù)以及數(shù)據(jù)結(jié)構(gòu)的類型(序列,樹或DAG)。

這些信息在編譯期間使用,并且可以在運(yùn)行時很容易驗證。

降低循環(huán)的次數(shù)

從RA到ILIR的降低本質(zhì)上是從遞歸到迭代的降低。因此,陳團(tuán)隊在降低過程中使所有臨時顯性張量。

他們還具體化了張量rnn,它存儲了計算結(jié)果。三個張量中的每個張量都存儲每個遞歸調(diào)用的數(shù)據(jù),在這種情況下,這些數(shù)據(jù)相當(dāng)于每個樹節(jié)點(diǎn)。

不規(guī)則循環(huán)IR(ILIR)

ILIR是張量編譯器使用的程序表示的擴(kuò)展。因此,ILIR中分別指定了計算和優(yōu)化。

該計算表示為運(yùn)算符的DAG,每個運(yùn)算符都通過消耗先前生成的或輸入的張量來生成張量??梢栽谡{(diào)度原語的幫助下執(zhí)行優(yōu)化,例如循環(huán)切片,循環(huán)展開,矢量化等。

當(dāng)中間張量存儲在暫存器中時,用非仿射表達(dá)式索引它會導(dǎo)致張量稀疏。這種稀疏填充的張量會占用過多的內(nèi)存, 其中A1的一半未使用。

在這種情況下,可以通過循環(huán)迭代空間來索引張量。這種轉(zhuǎn)換還通過將間接內(nèi)存訪問轉(zhuǎn)換為仿射訪問來降低索引成本。

陳天奇最新研究:遞歸模型編譯器CORTEX

展望未來

過去有關(guān)機(jī)器學(xué)習(xí)編譯器的以及深度學(xué)習(xí)的工作建議在機(jī)器學(xué)習(xí)模型中支持有效地動態(tài)執(zhí)行是非常必要的。

CORTEX展示了一種行之有效的方法是利用過去在通用編譯中的工作,例如檢查執(zhí)行器技術(shù)或稀疏的多面體框架。

陳天奇團(tuán)隊認(rèn)為,像在ILIR中一樣,擴(kuò)大當(dāng)今使用的高度專業(yè)化的機(jī)器學(xué)習(xí)框架和技術(shù)的范圍也很重要(在不損害其優(yōu)化靜態(tài)前饋模型的能力的前提下)。

同時,他們也介紹了團(tuán)隊的未來開發(fā)方向:

  • 應(yīng)用這些研究來開發(fā)類似的技術(shù)來訓(xùn)練和服務(wù)具有潛在非遞歸動態(tài)控制流的模型。
  • 將CORTEX集成到更高級別的編程抽象中。

 

 

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2023-07-31 07:33:04

Rust編譯器內(nèi)存

2010-02-02 17:08:26

Python靜態(tài)編譯器

2010-02-02 17:08:26

Python靜態(tài)編譯器

2010-01-13 14:35:10

Visual C++

2010-01-18 10:34:21

C++編譯器

2010-01-21 09:11:38

C++編譯器

2009-08-10 17:12:54

C#編譯器

2017-03-20 18:01:55

編譯器匯編

2013-03-29 10:02:37

編譯器語言編譯開發(fā)

2010-03-23 11:17:16

Python 動態(tài)編譯

2010-10-20 13:43:37

C++編譯器

2019-08-06 08:20:07

編譯器工具開發(fā)者

2023-08-10 13:54:36

GPUAI

2010-03-02 10:55:47

Linux SkyEy

2011-05-18 11:06:25

java編譯器

2010-09-16 15:57:25

Java編譯器

2009-08-06 14:59:36

C#編譯器

2022-11-24 13:05:27

ClangiOS

2022-03-28 10:25:27

前端文件編譯器

2013-12-30 11:21:31

Go編譯器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號