為你解答AI如何使機器運行更快

2020-02-04 12:59:05    來(lái)源:    作者:

機器學(xué)習系統應使開(kāi)發(fā)人員能夠提高一系列應用程序的計算效率。

麻省理工學(xué)院的研究人員發(fā)明了一種機器學(xué)習工具,可以預測計算機芯片執行各種應用程序中的代碼的速度。

為了使代碼盡可能快地運行,開(kāi)發(fā)人員和編譯器(將編程語(yǔ)言轉換為機器可讀代碼的程序)通常使用性能模型,這些模型通過(guò)模擬給定的芯片體系結構來(lái)運行代碼。

為你解答AI如何使機器運行更快

編譯器使用該信息來(lái)自動(dòng)優(yōu)化代碼,而開(kāi)發(fā)人員使用該信息來(lái)解決將運行該代碼的微處理器的性能瓶頸。但是,機器代碼的性能模型是由相對較少的專(zhuān)家小組手寫(xiě)的,并且沒(méi)有得到正確的驗證。結果,模擬的性能測量通常會(huì )偏離實(shí)際結果。

在一系列會(huì )議論文中,研究人員描述了一種新穎的機器學(xué)習管道,該管道可自動(dòng)執行此過(guò)程,從而使其變得更輕松,更快,更準確。在6月份的國際機器學(xué)習大會(huì )上發(fā)表的一篇論文中,研究人員介紹了Ithemal,這是一種神經(jīng)網(wǎng)絡(luò )模型,它以“基本塊”(計算指令的基本片段)的形式訓練標記數據,以自動(dòng)預測其持續時(shí)間使用給定的芯片來(lái)執行以前看不見(jiàn)的基本塊。結果表明,Ithemal的性能比傳統的手動(dòng)調整模型要準確得多。

然后,在11月舉行的IEEE國際工作負載表征研討會(huì )上,研究人員展示了一個(gè)基準測試套件,它來(lái)自多個(gè)領(lǐng)域,包括機器學(xué)習,編譯器,密碼學(xué)和可用于驗證性能模型的圖形。他們將超過(guò)300,000個(gè)概要分析的數據塊匯集到一個(gè)名為BHive的開(kāi)源數據集中。在評估過(guò)程中,Ithemal預測了英特爾芯片運行代碼的速度要比英特爾自身構建的性能模型還要好。

為你解答AI如何使機器運行更快

最終,開(kāi)發(fā)人員和編譯器可以使用該工具生成在越來(lái)越多的多樣化“黑匣子”芯片設計上運行得更快,更高效的代碼?,F代計算機處理器是不透明的,極其復雜,難以理解。編寫(xiě)對這些處理器執行得盡可能快的計算機代碼也面臨著(zhù)巨大的挑戰。”合著(zhù)者邁克爾·卡賓(Michael Carbin)說(shuō),他是電機工程與計算機科學(xué)系(EECS)的助理教授,計算機科學(xué)與工程學(xué)的研究員。人工智能實(shí)驗室(CSAIL)。“該工具是朝著(zhù)對這些芯片的性能進(jìn)行完全建模以提高效率的重要一步。”

最近,在12月NeurIPS會(huì )議上發(fā)表的一篇論文中,該團隊提出了一種自動(dòng)生成編譯器優(yōu)化的新技術(shù)。具體來(lái)說(shuō),它們會(huì )自動(dòng)生成一個(gè)名為Vemal的算法,該算法將某些代碼轉換為向量,可用于并行計算。Vemal優(yōu)于LLVM編譯器中使用的手工矢量化算法,LLVM編譯器是業(yè)界常用的編譯器。

從數據中學(xué)習

卡賓說(shuō),手工設計性能模型可能是“一門(mén)妖術(shù)”。英特爾提供了超過(guò)3000頁(yè)的詳盡文檔,描述了其芯片的體系結構。但是,目前只有一小部分專(zhuān)家將構建性能模型,以模擬這些架構上代碼的執行。

Mendis說(shuō):“英特爾的文檔既沒(méi)有錯誤也不完整,并且英特爾將省略某些事情,因為它是專(zhuān)有的。” “但是,當您使用數據時(shí),您不需要了解文檔。如果有隱藏的東西,您可以直接從數據中學(xué)習。”

為此,研究人員記錄了給定微處理器用于計算基本塊指令的平均周期數-基本上是啟動(dòng),執行和關(guān)閉的順序-無(wú)需人工干預。使過(guò)程自動(dòng)化可以快速分析數十萬(wàn)或數百萬(wàn)個(gè)塊。

特定領(lǐng)域的架構

在訓練中,Ithemal模型分析了數百萬(wàn)個(gè)自動(dòng)剖析的基本塊,以準確了解不同的芯片架構將如何執行計算。重要的是,Ithemal將原始文本作為輸入,不需要手動(dòng)向輸入數據添加功能。在測試中,Ithemal可以被喂入以前看不見(jiàn)的基本塊和給定的芯片,并且將生成一個(gè)數字,指示芯片將以多快的速度執行該代碼。

研究人員發(fā)現,Ithemal的準確率(即預測速度與實(shí)際速度之間的差異)比傳統手工模型降低了50%。此外,在他們的下一篇論文中,他們表明Ithemal的錯誤率是10%,而Intel性能預測模型在多個(gè)不同領(lǐng)域的各種基本塊上的錯誤率是20%。

為你解答AI如何使機器運行更快

Mendis說(shuō),該工具現在使人們可以更輕松地快速了解任何新芯片架構的性能速度。例如,特定領(lǐng)域的體系結構,例如Google專(zhuān)門(mén)用于神經(jīng)網(wǎng)絡(luò )的新型Tensor處理單元,目前正在構建中,但尚未得到廣泛理解。Mendis說(shuō):“如果要在某個(gè)新架構上訓練模型,只需從該架構收集更多數據,通過(guò)我們的探查器運行它,使用該信息來(lái)訓練Ithemal,現在您就有了一個(gè)預測性能的模型,” Mendis說(shuō)。

接下來(lái),研究人員正在研究使模型可解釋的方法。機器學(xué)習在很大程度上是一個(gè)黑匣子,因此尚不清楚為什么特定模型會(huì )做出預測。“我們的模型說(shuō)一個(gè)處理器要執行一個(gè)基本塊需要10個(gè)周期?,F在,我們正在嘗試找出原因。” Carbin說(shuō)。“對于這些類(lèi)型的工具而言,這是一個(gè)很好的粒度級別,將是驚人的。”

他們還希望使用Ithemal進(jìn)一步增強Vemal的性能,并自動(dòng)實(shí)現更好的性能。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。