天天看點

AI 戰略劍指GPU,英特爾Nervana 平台将推首款深度學習晶片

2016年11月17日,英特爾公司宣布推出一系列涵蓋從前端到資料中心的全新産品、技術及相關投資計劃,旨在拓展人工智能(ai)的發展空間并加速其發展速度。

英特爾首席執行官科再奇近期分享了英特爾對人工智能的前景及複雜性的洞察,他指出,人工智能需要衆多的領先技術的支撐,以及一個可超出初期采用者範圍的更大規模的生态系統。随着目前的算法日益複雜以及所需資料集的不斷增加,科再奇表示,英特爾深刻知道如何滿足需求且完全有能力提供所需的技術來驅動這一計算轉型。

AI 戰略劍指GPU,英特爾Nervana 平台将推首款深度學習晶片

戰略要點:英特爾® nervana™ 平台

英特爾宣布将推出業内最全面的人工智能産品組合——英特爾® nervana™ 平台。該産品組合旨在提高人工智能應用的速度和易用性,是建構高度優化的人工智能解決方案的絕佳基礎,可幫助更多的資料專家在基于行業标準的技術上解決世界上最大的挑戰。

目前,從已有的資料可知,在深度學習上,英特爾與nervana首先會推出一個名為nervana graph(ngraph)的深度學習開放架構開發庫。目前在github上可擷取的預覽版包含三個部分:

一個用于建立計算 ngraphs 的api。

兩個更高水準的前端api(tensorflow 和 neon),可在常用的深度學習工作流(workflows)上利用ngraph api。

一個用于轉換的api,用于編譯這些圖形,并在gpu和cpu上執行。

nervana官方網站介紹說,theano 和 tensorflow 計算圖要求使用者在建立圖形的同時要推論潛在的向量形狀。這相當枯燥,并且容易出錯。另外,這種方法還會削弱一個編譯器重新排列坐标軸和與特定的硬體平台相比對的能力。

ngraph的一個原理,就是能在一個足夠高的抽象層中運作,其中轉化器能在不需要一個“足夠高效的智能編譯器”的情況下執行指令,同時也能允許使用者和前端更加容易地把這些塊(block)組合在一起。

2017年上半年測試首款深度學習晶片(代号lake crest)

據介紹,目前,英特爾支援着世界上97%的運作着人工智能工作負載的資料中心伺服器,同時提供最為靈活、性能最優化的解決方案産品組合,其中包括英特爾®至強®處理器、英特爾®至強融核™ 處理器、為工作負載優化的加速器如fpga以及從nervana收購的技術創新。

昨天,英特爾還公布了如何将nervana的突破性技術內建至現有産品路線圖的更多細節。英特爾将于2017年上半年測試第一款晶片(代号為lake crest),并在下半年向主要客戶發售。此外,英特爾還在路線圖中增加了一款新産品(代号為knights crest),它将緊密內建最高配置的英特爾至強處理器與nervana創新技術。此外,lake crest處理器專門針對神經網絡進行了優化,可為深度學習提供極高性能,并可通過高速互連網絡提供前所未有的計算密度。

“我們期待英特爾nervana 平台能夠帶來突破瓶頸的性能優勢,進而大幅縮短訓練複雜神經網絡所需的時間”,英特爾執行副總裁兼資料中心事業部總經理柏安娜女士表示:“英特爾有望在未來十年内将性能提高100倍,進而大大加快新興深度學習領域的創新步伐。”

下一代深度學習至強融合處理器:深度學習性能提高4倍

柏安娜女士還宣布,相較于前一代處理器,下一代英特爾至強融核處理器(代号為knightsmill)的深度學習性能可提高4倍,計劃于2017年上市。此外,英特爾宣布現已向特定雲服務提供商合作夥伴提供下一代英特爾至強處理器(代号為skylake)的初級版本,該處理器采用了英特爾進階矢量指令集avx-512內建加速技術,将極大增強機器學習工作負載的推理性能。該平台系列預計于2017年中旬釋出,屆時還會增加其他增強功能和配置,以全面滿足不同客戶群體的需求。

除了晶片級的創新之外,英特爾還披露了其他人工智能布局,包括專為客戶提供業務洞察而打造的解決方案方案——英特爾saffron technology™。saffron平台采用了基于記憶體的推理技術和異構資料透明化分析方法,該技術非常适用于小型裝置,可在物聯網環境中實作本地智能分析并幫助推動先進的人工智能協作發展。

為簡化人工智能的部署,英特爾還推出了通用智能api,可支援從邊緣到雲平台的英特爾分布式處理器産品組合,以及英特爾®實感™ 攝像頭和 movidius 視覺處理單元(vpu)。 

英特爾nervana人工智能委員會,bengio成為創始會員

此外,英特爾和谷歌正式宣布雙方建立戰略聯盟,旨在幫助企業it部門根據業務需求建構開放、靈活、安全的多雲基礎設施。雙方合作包括專注于kubernetes*(容器)、機器學習、安全和物聯網的技術內建。

為進一步推動人工智能研究和戰略實施,英特爾還宣布成立英特爾nervana 人工智能委員會,主要由業界和學術界的領先思想領袖組成。英特爾公布了四名創始會員分别為來自加拿大蒙特利爾大學的約舒阿·本希奧(yoshua bengio)、來自加州大學伯克利分校的魯諾·奧爾斯豪森(bruno olshausen)和拉貝艾(jan rabaey)以及來自斯坦福大學 ron dror。

英特爾還将不遺餘力推動人工智能的真正普及。為此,英特爾向廣大開發者推出了英特爾nervana人工智能學院,以友善其接受相關教育訓練和使用工具。英特爾還推出了英特爾nervana圖形編譯器來加速英特爾晶片中的深度學習架構的發展。

除了人工智能學院,英特爾還宣布與coursera合作,為學術社群提供一系列人工智能線上課程。英特爾還将與mobile odt聯合主辦kaggle 競賽活動(預計于2017年1月份開展)。

跨平台深度學習開放架構 nervana graph 的詳細介紹

2016年8月9日,英特爾宣布收購深度學習初創公司 nervana systems,交易金額約為 4.08 億美元。nervana 由原高通神經網絡研發負責人于 2014 年建立,擁有目前最快的深度學習架構 neon。3個月周後,英特爾與nervana終于開始在深度學習上發力,推出跨平台高性能深度學習開放架構開發庫ngraph。本文是nervana官網上對ngraph所包含的api内容、原理和性能介紹。

下文作者為nervana 算法團隊成員jason knight,由新智元編譯。

基于我們多年以來維護最快速的深度學習庫上的經驗,以及一年以來在以圖形為基礎的設計上的疊代,我們現在希望分享預覽版的 nervana graph(ngraph),本次釋出包含三個部分:

AI 戰略劍指GPU,英特爾Nervana 平台将推首款深度學習晶片

與theano和tensorflow的對比

theano 和 tensorflow 計算圖要求使用者在建立圖形的同時要推論潛在的向量形狀。這相當枯燥,并且容易出錯。另外,這種方法還會削弱一個編譯器重新排列坐标軸,與特定的硬體平台相比對的能力。

相反,ngraph api 能讓使用者定義一系列的命名軸,在圖形的繪制過程中,把這些軸添加到張量上,并在有需要的時候,通過此前的命名(而不是位置)對它們進行分類。這些軸能夠根據特定的問題領域進行命名,來幫助使用者解決具體任務。

這種靈活性進而将允許轉化器在執行指令之前,對必要的重塑或重組進行推斷。另外,這些推斷的張量軸排序随後在整個計算圖上會被進行優化,用于對潛在的運作時間和硬體平台的推斷進行排序,來在本地對cache 和運作時間或執行時間進行優化。

這些能力突出了ngraph的一個原理,就是能在一個足夠高的抽象層中運作,其中轉化器能在不需要一個“足夠高效的智能編譯器”的情況下執行指令,同時也能允許使用者和前端更加容易地把這些塊(block)組合在一起。

前端

絕大多數應用和使用者并不需要ngraph api 所提供的全部的靈活性,是以我們還推出了一個更高水準的neon api,它會給使用者提供一個可組合的接口,另外還有多個常用的構模組化塊,用于搭建深度學習模型。其中包括東西的有:常用的優化器、權值以及層類型,比如線性、批處理規範、卷積和rnn。

我們還用在mnist數字、cifar-10圖像和 penn treebank 文本語料庫上訓練神經網絡的例子,呈現具體的使用。

下一代neon深度學習api,加上ngraph後端機械,最終将取代我們目前的neon庫,同時仍然提供與此前一樣領先世界的性能,以及廣泛的開放模型目錄。當性能,穩定性,可用模型和工具比對目前可用的模型時,我們将進行此轉換。預計這将在未來幾個月内實作。

我們還意識到,使用者現在已經知道并使用現有架構,并且可能希望繼續使用/組合在其他架構中編寫的模型。為此,我們示範了将現有tensorflow模型轉換為ngraph的能力,并使用ngraph轉換器執行它們。這個輸入者(importer)支援今天的各種常見操作類型,并将在未來版本中得到擴充。我們還計劃在不久的将來實作與其他架構的相容,敬請關注。

此外,我們希望強調,因為ngraph提供了深度學習計算和多個高性能後端的核心建構塊,是以添加前端是一個簡單的事情,對後端(或新後端)的改進自動利用所有現有和未來的前端。是以,使用者可以繼續使用他們喜歡的文法,同時受益于共享編譯機制。

轉換器

考慮到現有技術模型都要使用數百萬甚至數十億的參數和數周的訓練時間,是以確定模型以最小的記憶體消耗快速執行是至關重要的。鑒于我們建立和維護最快的深度學習庫的經驗,我們對現代深度學習的複雜性感到慶幸:

核心融合/複合 

高效緩沖區配置設定 

訓練與推理優化

異構後端 

分布式教育訓練

多個資料布局

新硬體提升(例如:nervana silicon technology)

考慮到這些現實情況,我們設計了ngraph轉換器,通過幹淨的api,把從前端獲得的細節進行自動化和抽象,在允許強大的使用者空間同時調整所有事物的情況下,但又不限制模型建立過程中抽象的靈活性。 

在ngraph中,我們相信實作這些目标的關鍵在于站在巨人的肩膀上,吸取現代編譯器設計的經驗。在選擇編譯器優化的設定和順序時,用于轉換器時,可以提高靈活性。

這些操作原則增加了我們工具的靈活性,同時降低了複雜性。這使得貢獻者更容易添加後端代碼以支援外來模型,而不需要了解或修改系統中其他地方做出的假設。

每個ngraph轉換器(或llvm術語中的後端)都針對特定的硬體後端,并且被當成是一個接口,來将一個ngraph編譯到一個計算機中。使用者會把其看成是一個函數句柄評估,來進行衡量。

今天,ngraph帶有用于gpu和cpu執行的轉換器,未來,我們計劃采用異構裝置轉換器,支援分布式訓練。

一個簡單的例子

AI 戰略劍指GPU,英特爾Nervana 平台将推首款深度學習晶片

現狀與下一步的工作

由于這是一個預覽版本,我們有很多工作要做。

目前我們包括以下示例:

使用mnist和cifar-10的mlp網絡。

使用mnist和cifar-10的cnn。

使用penn treebank的基于字元的rnn。

在nervana被英特爾收購之後,我們擁有一個快速增長的世界級專家團隊,涵蓋編譯器,分布式系統,系統軟體和深入學習等項目。我們正在積極努力:

1.幾個性能方面的努力:

關于融合/複用和存儲器共享的進一步工作

并發操作執行

流水線資料加載 

2. 圖形序列化/反序列化。

3. 進一步改進圖形組合性的可用性/優化。

4. 為更受歡迎的前端添加額外的支援。

5. 分布式,異構後端目标支援。

6. 具備互操作性的c api,用其他語言也能夠建立/執行圖形。

7. 現代的,雲原生模型部署政策

8. 支援增強學習的網絡架構前端

繼續閱讀