<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          nGraph深度神經(jīng)網(wǎng)絡(luò)模型編譯器

          聯(lián)合創(chuàng)作 · 2023-09-26 04:36

          英特爾的人工智能產(chǎn)品團隊宣布開源 nGraph,這是一個面向各種設(shè)備和框架的深度神經(jīng)網(wǎng)絡(luò)模型編譯器。有了 nGraph,數(shù)據(jù)科學(xué)家能夠?qū)W⒂跀?shù)據(jù)科學(xué)研發(fā),不需要擔心如何將 DNN 模型部署到各種不同設(shè)備做高效訓(xùn)練和運行。

          nGraph 目前直接支持 TensorFlow、MXNet 以及 neon,并可間接地通過 ONNX 支持 CNTK、PyTorch、Caffe2。用戶能夠在不同的設(shè)備上運行這些框架: 英特爾架構(gòu)、GPU 和 英特爾 Nervana 神經(jīng)網(wǎng)絡(luò)處理器(NNP)。

          為什么建立 nGraph

          當深度學(xué)習(xí)框架作為模型訓(xùn)練和推斷的工具首次出現(xiàn)時,在設(shè)計上是圍繞 kernel 為特定設(shè)備優(yōu)化。結(jié)果,把深度學(xué)習(xí)模型部署到其它更先進的設(shè)備時,會在模型定義暴露出許多細節(jié)問題,從而限制了其適應(yīng)性和可移植性。

          使用傳統(tǒng)的方法意味著算法開發(fā)者面臨把模型升級到其他設(shè)備時的沉悶工作。使一個模型能夠在不同框架上運行也非常困難,因為開發(fā)者必須把模型的本質(zhì)從對設(shè)備的性能調(diào)整中分離出來,并轉(zhuǎn)化到新框架中的相似運算,最終在新框架上為優(yōu)選的設(shè)備配置做必要的改變。

          我們設(shè)計的 nGraph 庫充分地減少了這些工程的復(fù)雜性。雖然通過該項目以及英特爾的 MKL-DNN 這樣的庫,能夠為深度學(xué)習(xí)原語提供優(yōu)化核,但仍有多種編譯器啟發(fā)式的方法能夠帶來進一步的優(yōu)化。

          nGraph 是如何工作的?

          安裝 nGraph 庫,并使用該庫編寫或編譯一個框架來訓(xùn)練模型和執(zhí)行模型推理。將 nGraph 指定為框架后端,以在任意支持的系統(tǒng)上用命令行運行該庫。我們的中間表征(Intermediate Representation,IR)層可以處理所有的設(shè)備抽象細節(jié),從而讓開發(fā)者集中于數(shù)據(jù)科學(xué)、算法和模型的研究,不需要花費太多精力在寫代碼上。

          從更加詳細的角度來說:

          • nGraph 核心創(chuàng)建了計算過程的一種強類型和設(shè)備無關(guān)的無狀態(tài)圖表征。圖中的每一個節(jié)點或運算對應(yīng)計算的一個步驟,其中每個步驟從 0 或更多張量的輸入中生成 0 或更多張量的輸出。我們的思想是 nGraph 運算可以作為深度學(xué)習(xí)框架中的復(fù)雜 DNN 操作的構(gòu)建模塊,且它能根據(jù)需要而衡量是高效編譯和推導(dǎo)訓(xùn)練計算還是推斷計算。

          • 我們?yōu)槊總€支持的框架開發(fā)了框架橋梁(framework bridge);它作為 nGraph 核心和框架之間的媒介起作用。目前我們已經(jīng)開發(fā)了 TensorFlow/XLA、MXNet 和 ONNX 的框架橋梁。由于 ONNX 僅僅是一種交換格式,因此 ONNX 的橋梁將通過執(zhí)行 API 進行增強。

          • 在 nGraph 核心和多種設(shè)備之間工作的變換器有著類似的作用;變換器使用通用的和設(shè)備特定的圖轉(zhuǎn)換處理設(shè)備抽象。得到的結(jié)果是一個函數(shù),可以從框架橋梁執(zhí)行。變換器是可分配和可解除分配的,可按橋梁的方向讀取和寫入張量。我們目前已有英特爾架構(gòu)、英特爾 NNP、英偉達 cuDNN 的變換器,并正積極開發(fā)著其它設(shè)備的變換器。

          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  丁香五月激情综合部 | 爱爱网址无码 | 亚洲男人网站 | 蜜芽亚洲av无码精品色午夜 | 国产swag |