這一切都在五年前發生了變化。隨著現代深度學習的出現,我們已經看到了這項技術在行動中的真實一瞥:計算機開始看到,聽到和談論。人工智能第一次感覺有形,觸手可及。
今天的人工智能開發主要圍繞深度學習算法,如卷積網絡,循環網絡,生成對抗網絡,強化學習,膠囊網等。所有這些都有一個共同點,就是它們需要大量的計算能力。為了在推廣這種智能方面取得實際進展,我們需要徹底檢查為這項技術提供動力的計算系統。
2009年發現GPU作為計算設備通常被視為一個關鍵時刻,幫助引發了圍繞深度學習的寒武紀爆發。從那時起,對并行計算架構的投資爆炸式增長。谷歌TPU(Tensor Processing Unit)的興奮就是一個很好的例子,但TPU才剛剛開始。 CB Insights的發言人告訴我的團隊,僅在2017年,新的專用AI芯片創業公司就籌集了15億美元。這太驚人了。
我們已經看到新的創業公司進入現場,挑戰英特爾,AMD,Nvidia,微軟,高通,谷歌和IBM等老牌企業。像Graphcore,Nervana,Cerebras,Groq,Vathys,Cambricon,SambaNova Systems和Wave Computing這樣的新興公司正在成為為深度學習的未來鋪平道路的新星。雖然這些初創公司肯定資金充足,但這些都是早期的,我們還沒有看到誰將成為贏家,將來會有什么樣的老衛兵。
Nvidia的統治地位
Nvidia將GPU作為人工智能和深度學習的替代品引入主流。 該公司計算從消費者游戲領導者到AI芯片公司的轉變一直都很不錯。 就像其對Volta的30億美元投資以及像CUDA / cuDNN這樣的深度學習軟件庫的推動,它將其從領先地位推向市場主導地位。 去年,它的股票走到了盡頭,首席執行官Jensen Huang被“財富”雜志評為年度最佳商人,并因此獲得了“新英特爾”的美譽。
但是雖然Nvidia在外觀上可能看起來完全不同,但它仍然只是制造了幾十年來制作的相同顯卡。但GPU作為AI技術的未來尚不確定。批評者認為,GPU已經擠滿了20年的不適用于深度學習。 GPU是通用設備,可支持各種應用,包括從物理模擬到電影渲染的所有應用。我們不要忘記,在2009年深度學習中首次使用GPU基本上是一種黑客行為。
ASIC的興起
攻擊芯片市場的公司正在證明AI將在專用芯片上更快地執行光照。最可能的候選者是ASIC(專用集成電路),它可以高度優化以執行特定任務。
如果您認為芯片是從通用到專用的發展,那么頻譜包括一方面的CPU,中間的GPU和FPGA,另一方面包括ASIC。
CPU在執行高度復雜的操作方面非常有效 - 基本上與支持深度學習訓練和推理的特定數學類型相反。新進入者正在押注ASIC,因為它們可以在芯片級設計,以處理大量簡單的任務。該板可以專用于一組窄函數 - 在這種情況下,稀疏矩陣乘法,具有高度并行性。即使是設計為可編程且因此稍微更加通用化的FPGA,其隱含的多功能性也受到阻礙。
專用AI芯片的性能提升是顯而易見的。那么這對更廣泛的技術領域意味著什么呢?
未來是非商品化的
相對于CPU而言,GPU已經沒有商品化了,而我們所看到的AI芯片投資的巨大增長是GPU最終會被更專業的東西取代。考慮到Nvidia的存在,英特爾的x86 CPU技術過于普遍化,無法滿足對圖形密集型應用不斷增長的需求,這里有一點諷刺。這一次,英特爾和Nvidia都不會袖手旁觀,讓創業公司吞噬這個新市場。機會太大了。
可能的情況是,我們會看到Nvidia和英特爾繼續大力投資Volta和Nervana(以及他們的繼任者)。由于互操作性問題,AMD一直在苦苦掙扎(參見下面的軟件部分),但很可能會很快提出可用的東西。微軟和谷歌正在與Brainwave和TPU以及許多其他項目合作。然后是所有創業公司。這份名單似乎每周增長,你很難找到一個風險投資基金,該基金沒有對至少一個參與者進行過相當大的賭注。
芯片領域的另一個問題是邊緣計算,其中推理是直接在設備上計算的,而不是云內環境或公司數據中心。模型可以直接部署在邊緣,以滿足低延遲要求(移動)或對低功耗,間歇連接設備(嵌入式,物聯網)進行預測。最近有幾個關于基于邊緣的AI加速器的公告,例如Google的Edge TPU。
打開有關未來的問題
芯片領域的任何新人面臨的最大挑戰可能不是硬件 - 它是軟件。 Nvidia憑借CUDA / cuDNN在市場上占有一席之地,CUDA / cuDNN是軟件庫,構成了位于芯片頂部的必要抽象層,使TensorFlow和PyTorch等框架無需編寫復雜的低級指令即可運行。如果沒有這些高級庫,通常很難從代碼的角度來定位芯片。
問題是,CUDA和cuDNN不是開源的。它們是專有包,只能在Nvidia硬件上運行。在開發人員可以利用ASIC之前,提供商需要首先找到一種新方法,使框架可以輕松訪問其芯片。如果沒有這一點,開發人員將不會采用重要的(如果有的話) - 開發人員只會堅持使用Nvidia,因為它可行。需要有一個等同于CUDA / cuDNN的開源或需要移植到特定ASIC的框架,就像Google對TPU和TensorFlow所做的那樣。沒有明顯的解決方案,這是一個巨大的障礙。
這是什么意思呢?
至少在短期內,我們會看到過多的芯片,一些直接相互競爭,另一些則專注于培訓和推理的特定方面。這對行業意味著開發人員會有很多選擇。與大規模商品化的CPU市場不同,該行業看起來更像是一個更加多樣化,異構化和特定于應用程序的未來。
雖然我們不知道具體結果是什么,但有一點是肯定的:人工智能的未來在于專用ASIC而不是商品硬件。