摩爾定律謝幕,晶片的未來在哪?

編者按:今天我們能夠在工作生活中使用快速、便捷的雲服務,要得益於微軟研究院新體驗與新技術部傑出工程師Doug Burger博士和他的同行們在計算機架構領域做出的貢獻。如今,人工智慧尤其是深度學習的進步對硬體和計算機架構提出了更高的要求,在本期訪談中,Doug Burger博士將介紹他的工作如何應對這樣的挑戰,並分享了他對後馮·諾伊曼時代硬體發展的展望。本文是訪談內容的文字精簡版。

摩爾定律謝幕,晶片的未來在哪?

微軟研究院新體驗與新技術部傑出工程師Doug Burger

整整50年來,計算機的底層元件都遵從著“

摩爾定律

”:

在價格不變的情況下,整合在晶片上的電晶體數量每隔18到24個月將增加一倍,計算成本呈指數型下降

。摩爾定律成就了各種技術變革,例如網際網路、基因組測序等等。

然而現在,摩爾定律的趨勢第一次放緩了。晶片行業進入了一個不確定的時代,在同樣的投入下,收益變得越來越低。我認為有兩個原因。

一是晶片製造商面臨的一個經濟問題

:相比與晶片體積,大多數人對晶片的價格更敏感,要求晶片要做到經濟實用;二是我所認為的真正原因,

隨著電晶體尺寸的不斷縮小,我們遇到了原子極限

,先前標準、規則結構的電晶體結構已經無法維繫。

在CPU時代,我們一直沿用的正規化是在CPU上執行編寫好的程式。這一正規化的優點在於整個計算系統所有層級都是確定的,它們有限但功能強大。晶片的原理非常簡單,無非就是開關、邏輯閘、二進位制系統等等。但是現在,計算需求正變得越來越複雜和艱難,導致計算機結構也越來越複雜,在一塊晶片上整合的電路越來越龐大。

Simon Peyton Jones曾說,

計算機軟體和體系架構是人們迄今為止所創造的最令人驚歎的結構

。在計算機體系架構領域,任何一個介面的設計都需要調整晶片底層的架構。做晶片與做軟體差別很大。編寫軟體時的自由度非常高,但在設計硬體時卻會面臨各種各樣的限制:

在一塊尺寸有限的矽晶片上要整合各種不同功能的元件,並且要保證以正確的方式相互連線,而且要根據預算在通用性、高效性、速度、軟體適配等多個維度中做出權衡

FPGA:現場可程式設計門陣列

在加入微軟前,我曾和我的一名博士生Hadi Esmaeilzadeh做過一項關於

FPGA:現場可程式設計門陣列

的研究。當時,業界正朝著多核晶片的方向發展,有人認為,只要能編寫並行軟體,就能將計算機晶片架構擴充套件到數千核

我們在2011年發表的研究中發現,由於功耗的限制,

“暗矽”(Dark Silicon)

。這項研究獲得了相當高的關注度。

受到這一研究的啟發,我們認為可以針

一個多核處理器在同一時刻只能有很少的一部分電晶體能夠工作,而其餘部分則處於休眠狀態

。但是對於普通使用者來說,定製晶片的經濟成本以及大量功能不同晶片的管理成本都很高。為了幫助使用者解決這個問題,微軟在Azure雲平臺上部署了FPGA(現場可程式設計門陣列)。

FPGA全稱為“現場可程式設計門陣列”,之所以稱為“現場可程式設計”,是因為

對特定的工作使用定製硬體來加速計算,解決“暗矽”問題

。我們可以隨時把它改寫成其它用途的晶片,甚至可以每隔幾秒修改一次。為了同時滿足效能、成本和靈活性的要求,我們可以使用定製晶片來處理部分長期穩定的計算需求,而使用FPGA來處理剩餘計算需求。

FPGA此前就已經廣泛應用於通訊領域,在處理高速資料流以及測試即將投產的晶片時的表現出色。但在雲計算中,FPGA尚未真正成功地大規模使用。

CPU和GPU適合於處理不同的任務。

在做完晶片硬體設計和演算法對映之後,我們仍然可以對FPGA晶片進行實時、動態地修改

CPU是一種通用處理器,適合處理少量資料

,即一條指令對不同的幾組資料執行相同的操作。

而GPU是一種單指令、多資料(Single Instruction Multiple Data,SIMD)的並行處理器

。在FPGA上,我們不再固定資料、執行指令,而是固定一些指令、執行整批資料。我稱之為“結構化計算”,其理念為固定一種計算結構,讓資料不斷從其中流過。FPGA非常適合這類工作負載,在雲中, FPGA可以很好地完成這一使命,對CPU來說也是一種很好的補充。

FPGA每秒能夠處理50GB的資料包,同時也可以確保使用者的資訊保安和網路私密性。面對同樣的計算任務,多塊CPU才能接近一塊FPGA的處理速度。

於是,從2015年底開始,微軟透過Project Catapult專案在微軟Azure雲中對FPGA進行了超大規模的部署,不管與之前相比還是跟競爭對手相比,Azure雲的資料處理速度都有明顯的提升。目前,微軟是全球最大的FPGA使用者之一,各個團隊都在使用FPGA強化自己的服務。

FPGA實際上是CPU模型的“倒置”

Brainwave:為深度神經網路“定製”處理器

,只有更好、更快的硬體和架構才能處理日益龐大的訓練資料和越來越複雜的深度神經網路模型。機器翻譯、語音理解、計算機視覺等經典人工智慧領域的不斷髮展給矽芯產業帶來了很大的壓力。現在,許多公司都為打造人工智慧、機器學習,特別是深度學習的定製架構投入了大量的資金。

摩爾定律謝幕,晶片的未來在哪?

Project Brainwave硬體模型

因此,我們團隊打造了自己的

在人工智慧領域,目前大熱的深度學習對計算機硬體和架構都提出了更高的要求

。我們正與微軟必應和Azure團隊通力合作,為微軟的各項服務提供有力的硬體與架構支援。利用Brainwave,必應團隊可以擺脫計算資源的制約,能夠部署體量更大的模型,從而為使用者提供更好、更快、更高質量的搜尋內容。

在今年的微軟Build大會上,微軟宣佈了Project Brainwave預覽版,並將其整合到Azure機器學習服務中供使用者使用。同時,使用者也可以自行購買微軟推出的Catapult架構主機板將之嵌入到生產裝置上,這樣就可以在邊緣裝置上直接執行已經在Azure上訓練好的模型,從而節省時間成本。

深度神經網路處理器Brainwave

,對於此類任務,目前大量技術都採用“批處理”的方式。批處理能夠提升計算機的處理能力,但卻容易增加網路延遲。Project Brainwave可以將實時AI計算的延遲時間降到最小。不同的任務對於“實時”的要求並不相同,對於透過收集網路資訊預告緊急情況的任務來說,幾分鐘的“實時”處理是可以接受的,但對於實時語音互動或者類似於HoloLens這種增強現實任務,“實時”處理則要求做到毫秒級。

在實際的計算任務中,除了處理速度,成本也是需要考慮的一個關鍵因素。Brainwave系統做到了兩者兼顧,在處理速度和成本控制方面都有非常好的表現。

自從馮·諾依曼結構在上世界四十年代被提出之後,我們一直圍繞著馮·諾依曼計算機和各種各樣的計算機異構加速器進行研究,摩爾定律將要謝幕,我們正處於矽基和馮·諾伊曼時代的尾聲。所以,我們應該考慮更深遠的東西,為計算機的新的架構探索更深層次的理論。

摩爾定律謝幕,晶片的未來在哪?