向硬件進軍 微軟人工智能時代押注FPGA
一種全新的古老計算機芯片
本文引用地址:http://cafeforensic.com/article/201610/310813.htm2010 年 12 月,微軟研究院 Andrew Putnam 離開西雅圖度假,回到了位于科羅拉多斯普林斯的家中。當時正是圣誕節(jié)前兩天,他還沒開始大采購。正在他開車去商場的路上,電話突然響了,另一端正是他的老板 Burger。Burger 當時打算節(jié)后面見 Bing 高管,但他需要一份能在 FPGA 上運行 Bing 機器學習算法的硬件設計。
Putnam 找到最近的星巴克開始規(guī)劃設計,這大約花了他 5 個小時,所以他仍有時間去購物。
當時 Burger 45 歲,Putnam 41 歲,兩人過去都是學者。Burger 曾在特克薩斯大學奧斯汀分校擔任計算機科學教授,他在那里工作了 9 年,專攻微處理器,還設計了一款名為 EDGE 的新型芯片。
Putnam 曾在華盛頓大學工作 5 年,擔任研究員并主要從事 FPGA 研究。當時可編程芯片已經存在了好幾十年,但它們大多被當作處理器的一部分。2009 年 Burger 將 Putnam 挖到微軟,兩人開始探索用可編程芯片提升線上服務速度的方法。
Project Catapult V1,即 Doug Burger 團隊曾在微軟西雅圖數(shù)據中心測試過的版本。
微軟的搜索引擎是一個依靠成千上萬臺機器運行的在線服務。每臺機器都需要靠 CPU 驅動,盡管英特爾等公司不斷改進它們,這些芯片還是跟不上軟件更新的腳步。很大程度上,是因為人工智能浪潮的來臨。
Bing 搜索等服務已經超出了摩爾定律預言的處理器能力,即每 18 個月處理器上晶體管的數(shù)量翻一倍。事實還證明增加 CPU 并不能解決問題。
但同時,為新出現(xiàn)的需求制造專用芯片,成本是非常昂貴的。恰好 FPGA 能彌補這個不足,Bing 決定讓工程師制造運行更快、比流水線生產的通用 CPU 能耗更少、同時可定制的芯片,從而解決不斷更新的技術和商業(yè)模式變化所產生的種種難題。
圣誕節(jié)后的會面中,Burger 為必應高管們拿出了一套用 FPGA 提升搜索速度,同時功耗較低的方法。高管們不置可否。在接下來的幾個月中,Burger 團隊根據 Putnam 圣誕節(jié)時畫出的草圖構建了原型,證明其運行必應的機器學習算法時速度可以提升 100 倍?!改菚r他們才表現(xiàn)出濃厚興趣」,當時的團隊成員、現(xiàn)瑞士洛桑聯(lián)邦理工學院院長 Jim Larus 告訴我們,「但同樣也是艱難時光的開始?!?/p>
原型是一個使用六個 FPGA 的專用盒,由一整個機架的服務器共享。如果盒子吱吱作響,表明它們需要更多 FPGA——考慮到機器學習模型的復雜性需求會越來越大——這些機器就會停止工作。必應的工程師非常厭惡這件事。「但他們沒錯,」Larus 說。
正是這個原型吸引了陸奇。他給了 Burger 足夠的資金,可以在 1600 臺服務器上裝配 FPGA 并進行測試。在中國和臺灣硬件制造商的幫助下,團隊花費半年時間制造出了硬件產品,并在微軟數(shù)據中心的一組機架上進行測試。但一天晚上滅火系統(tǒng)出現(xiàn)了問題。他們花了三天時間修復機架——它仍能工作。
在 2013 年到 2014 年的幾個月中,測試顯示必應「決策樹」機器學習算法在新芯片的幫助下,可以提升 40 倍運行速度。2014 年夏天,微軟公開表示要很快要將這些硬件應用到必應實時數(shù)據中心。但是在那之后,微軟暫停了。
不只是 Bing 搜索
Bing 在前幾年一直是微軟線上發(fā)展的核心,但到 2015 年,公司有了其他兩個主要的在線服務:商務應用套件 Office 365 和云計算服務 MicrosoftAzure。和其他競爭者一樣,微軟高層意識到運營一個不斷成長的在線帝國的唯一有效方法是在同樣的基礎上運營所有的服務。如果 Project Catapult 將轉變微軟的話,那 Bing 也不能被排除在外。它也要在 Azure 和 Office 365 內部工作。
問題是,Azure 高官們不在乎加速機器學習,他們需要聯(lián)絡的幫助。Azure 數(shù)據中心的流量跳動增長的太快,服務的 CPU 不能跟上腳步。最終,Azure 首席架構師 Mark Russinovich 這樣一批人看到了 Catapult 能幫助解決這些問題,但不是為 Bing 設計的那種解決問題的方式。他的團隊需要可編程的芯片,將每個服務器連接到主要網絡,如此他們在數(shù)據流量到達服務器之前就能開始處理了。
FPGA 架構的第一代原型是一個被一架服務器共享的單個盒子(Version 0)。然后該團隊轉向為每個服務器設計自己的 FPGA(Version 1)。然后他們將芯片放到服務器和整體網絡之間。
所以,研究 FPGA 的這伙人需要重新開發(fā)硬件。在第三代原型中,芯片位于每個服務器的邊緣,直接插入到網絡,但仍舊創(chuàng)造任何機器都可接入的 FPGA 池。這開始看起來是 Office 365 可用的東西了。最終,Project Catapult 準備好上線了。
Larus 將許多重新設計描述為噩夢,這不是因為他們需要建立新的硬件,而是他們每次都需要重新編程 FPGA。他說,「這非常的糟糕,要比編程軟件都糟糕,更難寫、難糾正?!惯@是一項非常繁瑣的工作,像是改變芯片上的小邏輯門。
既然最終的硬件已經有了,微軟還要面對每一次重新編程這些芯片時都會遇到的同樣挑戰(zhàn)?!高@是一個看世界思考世界的全新視角,」Larus 說。但是Catapult 硬件的成本只占了服務器中所有其他的配件總成本的 30%,需要的運轉能量也只有不到 10%,但其卻帶來了 2 倍原先的處理速度。
這個布局非常大。微軟 Azure 用這些可編程的芯片來路由、加密和壓縮數(shù)據。Bing 占據著世界上 20% 的桌面搜索市場和 6% 的移動手機市場,在 Bing 上,這個芯片能幫助 Bing 適應新品種的人工智能:深度神經網絡。而且據微軟的一名員工說,Office365 正在嘗試在加密和壓縮上使用 FPGA 以及機器學習——這一舉措將惠及其 2310 萬用戶。最終,Burger 說道,這些會驅動所有的微軟服務。
評論