
為了打破 IBM 在個人計算機市場的主導地位,,微軟與英特爾聯合組成了「Wintel」聯盟。事實證明,它們不但達成了最初的愿景,而且走的更遠。
但由于平板電腦以及二合一設備等移動設備的興起,微軟頒布頒發下一代 Windows 操作系統將支持 ARM 處理器 ,這也讓原本「親密無間」的 Wintel 聯盟出現了些許裂痕。
在 Hot Chips 2017 上,微軟團隊推出了 Project Brainwave 人工智能平臺,主要是基于微軟旗下 Azuer 云端運算技術,并結合英特爾旗下 Stratix 10 FPGA 芯片提供支持,讓該平臺系統可以應對較為復雜的運算。
這也意味著,已經在 PC 行業占據統治地位的 Wintel 聯盟,再度以之前已經獲得印證的模式,開始發力人工智能。而微軟再次選擇以英特爾作為合作伙伴的背后,可能情分會占據 1% 的原因,剩下的 99%,則來源于技術層面。
如何理解 Project Brainwave 人工智能平臺毫無疑問,Project Brainwave 人工智能平臺的到來,必然是要落地到實際應用上來的。諸如自動駕駛、自動控制、安適監控等需要實時數據分析判斷的應用場景,自然離不開更大演算效率與更快反應速度的平臺來作為支撐,而微軟推出此平臺的初衷,正是為了解決這一問題。
前邊我們講到,Project Brainwave 人工智能平臺于 Hot Chips 2017 上正式推出,而在此之前,微軟也不止一次提到了該平臺。
根據官方對 Project Brainwave 的描述,實際上它由三部分構成:高性能分布式系統架構;整合到 FPGA 硬件上的深度神經網絡 (DNN) 引擎;以及一套訓練模型的編譯器 / 運行時。
第一部分,Project Brainwave 利用了微軟數年建立起來的 FPGA 基礎設施;第二部分,Project Brainwave 使用了所謂的「軟」DNN 處理單元 (即 DPU,又稱分散處理單元),并整合到 FPGA 中;第三部分,Project Brainwave 內置了一個能支持各種深度學習框架的軟件堆。

在實現人工智能的三個要素中,核心是算法,而數據以及硬件則是基礎。在以上微軟給出的 Project Brainwave 介紹中,有一個關鍵詞——FPGA(現場可編程門陣列),也就是硬件這部分。
同樣應用于人工智能,GPU、TPU、FPGA 有何區別實際上,人工智能走到今天,大家開始逐漸意識到,傳統 CPU 或者 GPU 的效能表示并不盡如人意。因此我們看到 Google 推出了為機器學習而定制的芯片 TPU(Tensor Processing Unit)。
根據谷歌給出的說法,TPU 相對于現在的處理器有 7 年的領先優勢,寬容度更高,使用更復雜和強大的機器學習模型,能夠更加迅速地獲得更智能的結果。

在人工智能方面的應用,從實際效能表示來看,首先需要說明的是,CPU 要排在 TPU、GPU、FPGA 之后,回過頭來其它三種差別類型的硬件。
實際上 TPU、GPU、FPGA 都具備強大的運算能力,但差異化的地方在于,GPU 出廠后原生支持的指令其實是固定的,舉例來講,如果原廠設定支持加減法,一旦在實際使用中遇到乘除法,后期無法直接通過編程的方式來實現,只能通過軟件模擬來做,在效能表示方面要打些折扣。
Google 的 TPU 實際上屬于集成電路芯片(ASIC),它要比 GPU 更高效。不過定制化也決定了它的可遷移性低,一旦專用于一個設計好的系統中,無法再遷移到其它的系統。但對于谷歌來講,TPU 就是為了深度學習語言 Tensor Flow 而開發,所以目前來看不存在以上講到的這些問題。
最后我們來看此次微軟選擇的 FPGA(實際上百度的 AI 芯片,同樣為 FPGA)。比擬 GPU 和 TPU,它的優勢之處在于,保證同樣足夠強大處理能力的同時,允許開發者進行后期編程,靈活性更高,能夠很好適應快速發展的 ML、CNN、LSTM、MLP、強化學習、特征提取、決策樹等。
英特爾在 FPGA 領域擁有足夠的話語權