1
導(dǎo)讀:在過去的一個月中,Intel收購了深度學(xué)習(xí)芯片公司 Nervana Systems ,以及移動和嵌入式機器學(xué)習(xí)公司 Movidius,給未來的深度學(xué)習(xí)下了重注。而Intel所做的這一切,正是在為未來適應(yīng)深度學(xué)習(xí)的數(shù)據(jù)流(DPU)架構(gòu)升級布局。
這些新公司將一起解決英特爾仍在形成的難題:捕捉未來深度學(xué)習(xí)領(lǐng)域——這塊預(yù)估達(dá)到數(shù)萬億美元的蛋糕。而這個艱巨的任務(wù),都將通過 Intel 自己的 Knights Mill 在機器學(xué)習(xí)代碼和工具方面的成果,加上軟件優(yōu)化的工作來實現(xiàn)。而與此同時,NVIDIA 正在加強其自產(chǎn)的GPU訓(xùn)練和推理芯片市場,以及配備了最新 Pascal GPU 和所需深度學(xué)習(xí)書庫的自產(chǎn)硬件市場。
Intel 最近令人驚訝的收購行為,也成為了重磅頭條,而此舉使得 NVIDIA 更難說明 GPU 該如何加速(目前在模型訓(xùn)練占主導(dǎo)地位的計算引擎),想要在這個新興市場上占有一席之地,他們還要更加努力。然而在過去的兩年中,有很多新成員加入了該領(lǐng)域,這無疑是雪上加霜。
深度學(xué)習(xí)芯片新貴宣揚的理念是:通用體系架構(gòu)(包括GPU)無法在低精度、固定點及專業(yè)性上與之比擬。事實上,我們可能進入到計算機體系結(jié)構(gòu)的“寒武紀(jì)爆炸”時代,它由深度學(xué)習(xí)方面的新需求形成。不過,我們可以設(shè)想在短時間內(nèi),應(yīng)用程序和用戶的數(shù)量足夠多,實際上就能確保芯片初創(chuàng)公司在等待大爆發(fā)時不會玩完。
這些新貴中,其中一家專注深度學(xué)習(xí)的初創(chuàng)公司名為 Wave Computing,它在 Nervana 系統(tǒng)方面有很多優(yōu)點,這些都可以使它成為 Intel(或者其它公司)的最佳收購對象。
雖然 Wave Computing 的技術(shù)和執(zhí)行方法不同于 Nervana,但公認(rèn)的是:在有著低級隨機舍入和其他相同技術(shù)的超低精度硬件上,進行大規(guī)模深度學(xué)習(xí)訓(xùn)練時,它在實用性上略勝一籌。同時該公司的 Jin Kim 告訴 The Next Platform,他們看到了自身技術(shù)對于如英特爾這類公司的價值所在。Nervana 的采購行為對大局來說是有益的,因為它表明了該類型的市場需要非通用硬件。
有一個可能性是:Intel 對于芯片的興趣就如同對于 Nervana 的 Neon 軟件框架一樣,但 Wave Computing 的 Kim 說:“還有另一個會遭公司哄搶的需求未被滿足:開發(fā)板和加速器板??僧?dāng)我們與該領(lǐng)域的人交談時發(fā)現(xiàn),他們都希望有一個針對深度學(xué)習(xí)具體需求的單體系統(tǒng)。”
當(dāng)然,在 NVIDIA 的 DGX-1 appliance 中這種東西已經(jīng)存在,它配備了 Pascal generation GPUs ,且具備了進行訓(xùn)練和推理的所有軟件。然而,Kim 說,他們已經(jīng)掌握了硬件和軟件技術(shù),且可以憑借更低的功耗和更短的訓(xùn)練時間(理論上無需 DGX-1 appliance)擊敗 Pascal。關(guān)鍵點是除了 DGX-1 外,它是深度學(xué)習(xí)采取的第一個系統(tǒng),毫無疑問,它肯定是基于一種新架構(gòu)。
Wave Computing 方法基于通過其DPU處理單元的數(shù)據(jù)流架構(gòu)。和 Nervana 一樣,Wave 的核心部位也有一個高度可擴展的共享內(nèi)存架構(gòu)(有著混合內(nèi)存立方體或 HMC)。
“我們都認(rèn)為它們在深度學(xué)習(xí)計算工作負(fù)載方面有一些相似點,這意味著我們可以利用算法對于噪音和錯誤的彈性,再加上并行數(shù)據(jù)和重用數(shù)據(jù)的機會,讓通用硬件很輕松地占據(jù)優(yōu)勢。”
Wave 的業(yè)務(wù)并不在銷售加速板,它專注的是提供一個完整的排序和推理系統(tǒng)。這也正是 Kim 說的:數(shù)據(jù)中心網(wǎng)絡(luò)中的即插即用節(jié)點,它可以本地支持 TensorFlow ,Hadoop,Spark,和 kafka 。系統(tǒng)會在 2017 年從 Q2 開始進入到 1U 和 3U 配置。他們有一個 28 nm 的測試芯片,雖然在兩年前就交付驗證了,但即將到來的 16 nm FinFET芯片現(xiàn)在正在流片,今年年底交付時將提供大幅提升。
Kim說:“第一個 28 nm 芯片可以將 16000 個處理單元置于一塊硅上,但 16 nm 的 FinFEt 芯片即將問世,它可以將 64000 個處理單元置于一塊硅上。”它首先將通過一個私有云,培養(yǎng)那些想要在系統(tǒng)變得可用之前就先行體驗的早期用戶?!拔覀兊纳虡I(yè)模式,并不是使用我們的云端來供服務(wù),但是,需求非常高,而且私有云可以更快的選擇出那些是想要早期訪問的人?!?/p>
獲取這里所有內(nèi)存的負(fù)載和最重要的內(nèi)存帶寬能力。實際上,它與數(shù)據(jù)流處理單元自身一樣重要,畢竟,如果無法移動數(shù)據(jù)的話,即使是最聰明的處理器也沒什么用。當(dāng)然,這只是絕大部分的移動指令,另一個主要特征是,用于深度學(xué)習(xí)工作負(fù)載的法案,在其數(shù)據(jù)重用的地方可以顯著提高效率。
每個 8 位 RISC 型處理器都有 RAM 指令和局部寄存器,以保存大量局部操作的內(nèi)存數(shù)據(jù)。這樣使得話,就無需移動數(shù)據(jù),只要移動指令。基本的指令序列包括:乘法、添加、轉(zhuǎn)移等。每個處理單元組都集合到有著16 元素的集群中,共享算術(shù)單元(每個有2個)。這些集群組成了核心計算引擎,且可以聚集在一起單獨完成 8 位的工作,或者一起做 64 位的工作(可變長度的算法)。
它的主要原理很簡單。將每一個 DPUs 組合到一起,并完成多個任務(wù)。這是一個 NIMD 框架(有兩種控制流),可以支持很高的內(nèi)存帶寬。第一代芯片在 6.7-8 GHz 之間跑來跑去,且在 150-200 瓦的范圍內(nèi),但 Kim 沒有評論冬季將出來下一代的芯片。每個數(shù)據(jù)流處理單元(DPUs)都成為了群集的一部分。它通過團隊開發(fā)的戰(zhàn)術(shù)調(diào)度工具包進行靜態(tài)調(diào)度,且不會遇到內(nèi)存一致問題,因為它明確了:在DPU的特定部分運行那些算法。
每個 DPU 有 24 個“計算機器”,且從上面你可以看出,建筑能支持高度的隨機訪問存儲器 ,該存儲器有著 4 個 HMC 和DDR4存儲器(由將這些鋪在一起的核心組成元素組成)。在 Wave 的 3U 配置下,他們可以把 16 臺這樣的機器結(jié)合在一起。
當(dāng)然,它與通用處理器之間的關(guān)鍵區(qū)別是:低精度與固定點的數(shù)學(xué)能力。Kim說:“我們專注于在多個線程中,處理單元級別上的高度并行操作。我們還專注于高內(nèi)存帶寬的能力。由于它是實時可重構(gòu)的,所以有可能得到支持隨機四舍五入的硬件,進行混合精度的數(shù)學(xué)問題。這是深度學(xué)習(xí)向低精度發(fā)展的正確趨勢,這樣可以節(jié)省內(nèi)存帶寬。只要你可以在更高的精度下積累結(jié)果,就可以保證準(zhǔn)確性,”
“整體的想法是,成為一個企業(yè)數(shù)據(jù)中心的 tensorflow 計算服務(wù)器節(jié)點,所有的 tensorflow 模型都以最小的修改運行,且分區(qū)也在一個可擴展的數(shù)據(jù)流架構(gòu)高效運行,這樣的話,整個系統(tǒng)都可以利用共享內(nèi)存,我們就可以更好的測量 GPU ,且不消耗 CPU ?!?/p>
Wave 方法的核心是:通過隨機四舍五入技術(shù)使用固定點,和許多小的高并行計算元素。Kim指著IBM和斯坦福的研究說:“使用固定點和低精度算法,你只要小心轉(zhuǎn)動浮點基本相同的收斂,”如下圖所示。
模型上進行推測的成本不能太高,這也是深度壓縮工作為何如此重要的原因(就像來自斯坦福的 Song Han一樣利用 EIE 成果)。頂部綠色線采用的是低精度、無智能四舍五入的固定點。這項研究是在幾年前進行的,那時人們認(rèn)為浮點數(shù)是必需的。
Kim 說:“事實上,如果你進行隨機或?qū)?shù)為基礎(chǔ)的四舍五入,且使用固定點訓(xùn)練的話,其浮點幾乎都是一樣的?!钡撞康暮谏€表示是固定狀態(tài)下紅色和藍(lán)色的浮點。
在系統(tǒng)水平的性能方面,所有廠商依然可以一起玩耍 競爭,因為 NVIDIA 的 DGX-1 appliances 并沒有對很多框架進行太大沖擊。然而,根據(jù) NVIDIA 深度學(xué)習(xí)盒中現(xiàn)有的 P100 性能數(shù)據(jù),以及Xeon 的實際基準(zhǔn),Wave 分享了以下指標(biāo)。
我們能想象出一些 Wave Computing 的可能結(jié)果,其中最有可能的是“一部分大公司以收購的方式,尋找可以在價格和性能擊敗 NVIDIA,且與深度學(xué)習(xí)掛鉤的系統(tǒng)?!?/strong>當(dāng)然,在恰當(dāng)?shù)奈恢?,它也要有必需的軟件堆棧。這一領(lǐng)域,NVIDIA 已經(jīng)讓自己的 CUDA 庫與最知名的深度學(xué)習(xí)框架進行對接。
Wave Computing 系統(tǒng)是個容器,它可以支持微服務(wù)方向結(jié)構(gòu) ,該結(jié)構(gòu)有著基于tensorflow的SDk 以運行和執(zhí)行模型(有著用于tensorflow的Python和C++API ),和一個用于大型數(shù)據(jù)中心(想要支持不同的語言)的低水平 SDK。Kin 說:“目標(biāo)是為了使 tensorflow 模型在沒有匣子的情況下運行更快 ,盡可能的遠(yuǎn)離用戶?!边@聽起來很像 DGX-1 Appliance,然而,Kim 說“這將是有競爭力的價格?!睕]有人知道這是否意味著少幾千元,還是相同的價格。
需要注意的是,我們應(yīng)該指出 :Kim 并沒有說這是 CPU 或 GPU 的所有用戶的替代物。“在某些情況下,這樣的 tensorflow 分區(qū)方式,圖表的某些部分將在 DPU 上運行,有一些在 CPU 上運行、還有一些在 GPU 上運行。我們的目標(biāo)是用最好的混合和匹配加快速度?!彼谌速徺I的系統(tǒng)中是如何形成的,以及它是怎么實施的還有待觀察,但我們希望隨著重點轉(zhuǎn)移到新的結(jié)構(gòu),有人可以在明年結(jié)束之前搶到 Wave,且深度學(xué)習(xí)開始將其應(yīng)用于有真實用戶的實際系統(tǒng)中。
推薦閱讀:
英特爾3.5億美元收購深度學(xué)習(xí)公司Nervana
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。