丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給奕欣
發(fā)送

0

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

本文作者: 奕欣 2018-02-16 12:07
導(dǎo)語:Facebook AI 研究院于近日開源了 C++ 庫及數(shù)學(xué)語言 Tensor Comprehensions,它能有效填補研究人員于數(shù)學(xué)運算領(lǐng)域的溝通鴻溝。

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

雷鋒網(wǎng)AI科技評論消息,F(xiàn)acebook AI 研究院于近日開源了 C++ 庫及數(shù)學(xué)語言 Tensor Comprehensions,它能有效填補研究人員于數(shù)學(xué)運算領(lǐng)域的溝通鴻溝,并基于各種硬件后端上大規(guī)模運行工程模型。它的最大亮點在于,它采用了 Just-In-Time 的編譯自動生成機器學(xué)習(xí)社區(qū)所需的高性能代碼。

也就是說,通過 Tensor Comprehensions,研究人員能夠以數(shù)學(xué)符號的方式進行編寫,系統(tǒng)能夠根據(jù)需求進行編譯調(diào)整,并輸出專業(yè)的代碼。

數(shù)量級增長

傳統(tǒng)意義上,如果要從零創(chuàng)造一個具有高性能表現(xiàn)的機器學(xué)習(xí)層需要兩個大步驟,這可能需要耗費工程師數(shù)天甚至數(shù)周的努力。

  • 1. 在 NumPy 層級,研究人員需要寫一個全新層,并在以 PyTorch 為代表的深度學(xué)習(xí)庫中鏈接已有運算,然后進行小規(guī)模測試。如果要運行大規(guī)模實驗,需要通過數(shù)量級加速檢測其代碼實現(xiàn)。

  • 2. 工程師隨后采用這個層,并為 GPU 和 CPU 撰寫有效代碼(但這需要滿足多個條件):

    1)工程師需要是一位在高性能計算頗有了解的專家,但這一人才目前非常稀缺;

    2)文本、策略、寫代碼,debug,工程師需要樣樣精通;

    3)將代碼與實際任務(wù)相關(guān)的后端相連接,如冗長的參數(shù)檢查和添加樣板集成代碼

這也直接導(dǎo)致近年來深度學(xué)習(xí)社區(qū)一直依賴以 CuBLAS, MKL, 和 CuDNN 為代表的高性能庫而構(gòu)建運行于 GPU 和 CPU 的代碼。對于研究員而言,如何尋找一條新的實現(xiàn)思路成為了巨大挑戰(zhàn)。

而在 Tensor Comprehensions 中,研究員們得以將這一流程從幾天甚至幾周減少到數(shù)分鐘。這一開源包含了:

? 用簡單語法表達(dá)一系列機器學(xué)習(xí)概念的數(shù)學(xué)符號

? 基于 Halide IR 數(shù)學(xué)符號的 C ++前端

? 基于整數(shù)集庫(ISL)的 Just-in-Time 編譯器,

? 一個基于進化搜索的多線程、多 GPU 自動調(diào)節(jié)器

早期工作

Halide 是一種最近在高性能圖像處理領(lǐng)域頗受歡迎的語言,它采用類似的高級函數(shù)語法來描述一個圖像處理的 pipeline,隨后在單獨代碼塊中調(diào)度到硬件上,并且詳細(xì)到如何平鋪、矢量化、并行化和融合。對于具有專業(yè)知識的人而言,這是一種非常高效的語言;但對于機器學(xué)習(xí)從業(yè)者來說,這一難度并不小。Halide 的自動調(diào)度在研究上非?;钴S,但對于 GPU 上運行的機器學(xué)習(xí)代碼,目前還沒有很好的解決方案。

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

Tensor Comprehension 將 Halide 編譯器作為調(diào)用庫。FAIR 研究員構(gòu)建了 Halide 的中間表征(IR)和分析工具,并與多面編譯進行技術(shù)配對,因此,用戶可以在無需理解運行原理的條件下使用相似的高級語法編寫層。此外,F(xiàn)AIR 研究員也找到了簡化語言的方法,不需要為縮減運算制定循環(huán)邊界。

細(xì)節(jié)實現(xiàn)

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

使用 Halide 和多面編譯技術(shù),Tensor Comprehensions 能通過委托內(nèi)存管理和同步功能以自動合成 CUDA 內(nèi)核。這一編譯能夠針對特定尺寸對一般操作符進行融合,對快速本地內(nèi)存、快速縮減和 Just-in-Time 專業(yè)化都能優(yōu)化。因不嘗試涉足內(nèi)存管理,因此這一流程能夠輕松集成到機器學(xué)習(xí)的任意框架,以及任何允許調(diào)用 C++ 函數(shù)的語言中。

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

與經(jīng)典編譯器技術(shù)和庫方法相反的是,多面編譯能讓張量理解為每個新網(wǎng)絡(luò)按需調(diào)度單個張量元素的計算。

在 CUDA 層面,它結(jié)合了仿射循環(huán)轉(zhuǎn)換、融合/分裂和自動并行處理,同時確保數(shù)據(jù)在存儲器層次結(jié)構(gòu)中正確移動。

圖中數(shù)字表示最初計算張量元素的順序,箭頭表示它們之間的依賴關(guān)系。在這個例子中,數(shù)字旋轉(zhuǎn)對應(yīng)于循環(huán)交換,能夠?qū)崿F(xiàn)深度操作器的融合。

研究員提供了一個集成的多線程、多 GPU 自動調(diào)節(jié)庫,以推進搜索過程,它使用 Evolutionary Search 來生成和評估數(shù)千種實現(xiàn)方案,并選擇性能最佳的方案。只需調(diào)用 Tensor Comprehension 上的 tune 功能,用戶便能目睹性能的改善。最好的策略是通過 protobuf 序列化,在當(dāng)下或離線情況下可重用。

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

在性能方面,Tensor Comprehensions 可能仍然有很大提升空間,但在條件滿足的情況下,它已經(jīng)可以匹配或打破當(dāng)前機器學(xué)習(xí)框架與手動調(diào)整庫集成的性能,并通過將代碼生成策略適應(yīng)特定問題大小的能力來實現(xiàn)。下圖展現(xiàn)了 Tensor Comprehensions 與 Caffe2 和 ATen 的對比。

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

更多信息請參考 arXiv 論文(鏈接見底部)。

未來,Tensor Comprehensions 將補充硬件制造商(如 NVIDIA 和 Intel)編寫的快速庫,并將與 CUDNN,MKL 或 NNPack 等庫一起使用。

下一步

雷鋒網(wǎng)AI科技評論了解到,該版本的開源庫能讓研究人員和程序員使用與他們在論文中使用的數(shù)學(xué)相似標(biāo)記來編寫層,并簡明地傳達(dá)程序意圖。他們也能夠在幾分鐘內(nèi)將這種表示方法進行編譯。未來隨著工具鏈的不斷增長,F(xiàn)AIR 認(rèn)為它的預(yù)計可用性和性能將會提升,并受益整個社區(qū)。

晚些時間,F(xiàn)AIR 將會發(fā)布 PyTorch 集成的 Tensor Comprehensions。

GitHub 鏈接:https://facebookresearch.github.io/TensorComprehensions/

arXiv 論文:https://arxiv.org/abs/1802.04730

Slack 頁面:https://tensorcomprehensions.herokuapp.com/

Email: tensorcomp@fb.com

雷鋒網(wǎng)AI科技評論編譯

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

FAIR開源Tensor Comprehensions,讓機器學(xué)習(xí)與數(shù)學(xué)運算高性能銜接

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說