向硬件進(jìn)軍 微軟人工智能時(shí)代押注FPGA
一種全新的古老計算機芯片
本文引用地址:http://dyxdggzs.com/article/201610/310813.htm2010 年 12 月,微軟研究院 Andrew Putnam 離開(kāi)西雅圖度假,回到了位于科羅拉多斯普林斯的家中。當時(shí)正是圣誕節前兩天,他還沒(méi)開(kāi)始大采購。正在他開(kāi)車(chē)去商場(chǎng)的路上,電話(huà)突然響了,另一端正是他的老板 Burger。Burger 當時(shí)打算節后面見(jiàn) Bing 高管,但他需要一份能在 FPGA 上運行 Bing 機器學(xué)習算法的硬件設計。
Putnam 找到最近的星巴克開(kāi)始規劃設計,這大約花了他 5 個(gè)小時(shí),所以他仍有時(shí)間去購物。
當時(shí) Burger 45 歲,Putnam 41 歲,兩人過(guò)去都是學(xué)者。Burger 曾在特克薩斯大學(xué)奧斯汀分校擔任計算機科學(xué)教授,他在那里工作了 9 年,專(zhuān)攻微處理器,還設計了一款名為 EDGE 的新型芯片。
Putnam 曾在華盛頓大學(xué)工作 5 年,擔任研究員并主要從事 FPGA 研究。當時(shí)可編程芯片已經(jīng)存在了好幾十年,但它們大多被當作處理器的一部分。2009 年 Burger 將 Putnam 挖到微軟,兩人開(kāi)始探索用可編程芯片提升線(xiàn)上服務(wù)速度的方法。

Project Catapult V1,即 Doug Burger 團隊曾在微軟西雅圖數據中心測試過(guò)的版本。
微軟的搜索引擎是一個(gè)依靠成千上萬(wàn)臺機器運行的在線(xiàn)服務(wù)。每臺機器都需要靠 CPU 驅動(dòng),盡管英特爾等公司不斷改進(jìn)它們,這些芯片還是跟不上軟件更新的腳步。很大程度上,是因為人工智能浪潮的來(lái)臨。
Bing 搜索等服務(wù)已經(jīng)超出了摩爾定律預言的處理器能力,即每 18 個(gè)月處理器上晶體管的數量翻一倍。事實(shí)還證明增加 CPU 并不能解決問(wèn)題。
但同時(shí),為新出現的需求制造專(zhuān)用芯片,成本是非常昂貴的。恰好 FPGA 能彌補這個(gè)不足,Bing 決定讓工程師制造運行更快、比流水線(xiàn)生產(chǎn)的通用 CPU 能耗更少、同時(shí)可定制的芯片,從而解決不斷更新的技術(shù)和商業(yè)模式變化所產(chǎn)生的種種難題。
圣誕節后的會(huì )面中,Burger 為必應高管們拿出了一套用 FPGA 提升搜索速度,同時(shí)功耗較低的方法。高管們不置可否。在接下來(lái)的幾個(gè)月中,Burger 團隊根據 Putnam 圣誕節時(shí)畫(huà)出的草圖構建了原型,證明其運行必應的機器學(xué)習算法時(shí)速度可以提升 100 倍?!改菚r(shí)他們才表現出濃厚興趣」,當時(shí)的團隊成員、現瑞士洛桑聯(lián)邦理工學(xué)院院長(cháng) Jim Larus 告訴我們,「但同樣也是艱難時(shí)光的開(kāi)始?!?/p>
原型是一個(gè)使用六個(gè) FPGA 的專(zhuān)用盒,由一整個(gè)機架的服務(wù)器共享。如果盒子吱吱作響,表明它們需要更多 FPGA——考慮到機器學(xué)習模型的復雜性需求會(huì )越來(lái)越大——這些機器就會(huì )停止工作。必應的工程師非常厭惡這件事?!傅麄儧](méi)錯,」Larus 說(shuō)。
正是這個(gè)原型吸引了陸奇。他給了 Burger 足夠的資金,可以在 1600 臺服務(wù)器上裝配 FPGA 并進(jìn)行測試。在中國和臺灣硬件制造商的幫助下,團隊花費半年時(shí)間制造出了硬件產(chǎn)品,并在微軟數據中心的一組機架上進(jìn)行測試。但一天晚上滅火系統出現了問(wèn)題。他們花了三天時(shí)間修復機架——它仍能工作。
在 2013 年到 2014 年的幾個(gè)月中,測試顯示必應「決策樹(shù)」機器學(xué)習算法在新芯片的幫助下,可以提升 40 倍運行速度。2014 年夏天,微軟公開(kāi)表示要很快要將這些硬件應用到必應實(shí)時(shí)數據中心。但是在那之后,微軟暫停了。
不只是 Bing 搜索
Bing 在前幾年一直是微軟線(xiàn)上發(fā)展的核心,但到 2015 年,公司有了其他兩個(gè)主要的在線(xiàn)服務(wù):商務(wù)應用套件 Office 365 和云計算服務(wù) MicrosoftAzure。和其他競爭者一樣,微軟高層意識到運營(yíng)一個(gè)不斷成長(cháng)的在線(xiàn)帝國的唯一有效方法是在同樣的基礎上運營(yíng)所有的服務(wù)。如果 Project Catapult 將轉變微軟的話(huà),那 Bing 也不能被排除在外。它也要在 Azure 和 Office 365 內部工作。
問(wèn)題是,Azure 高官們不在乎加速機器學(xué)習,他們需要聯(lián)絡(luò )的幫助。Azure 數據中心的流量跳動(dòng)增長(cháng)的太快,服務(wù)的 CPU 不能跟上腳步。最終,Azure 首席架構師 Mark Russinovich 這樣一批人看到了 Catapult 能幫助解決這些問(wèn)題,但不是為 Bing 設計的那種解決問(wèn)題的方式。他的團隊需要可編程的芯片,將每個(gè)服務(wù)器連接到主要網(wǎng)絡(luò ),如此他們在數據流量到達服務(wù)器之前就能開(kāi)始處理了。

FPGA 架構的第一代原型是一個(gè)被一架服務(wù)器共享的單個(gè)盒子(Version 0)。然后該團隊轉向為每個(gè)服務(wù)器設計自己的 FPGA(Version 1)。然后他們將芯片放到服務(wù)器和整體網(wǎng)絡(luò )之間。
所以,研究 FPGA 的這伙人需要重新開(kāi)發(fā)硬件。在第三代原型中,芯片位于每個(gè)服務(wù)器的邊緣,直接插入到網(wǎng)絡(luò ),但仍舊創(chuàng )造任何機器都可接入的 FPGA 池。這開(kāi)始看起來(lái)是 Office 365 可用的東西了。最終,Project Catapult 準備好上線(xiàn)了。
Larus 將許多重新設計描述為噩夢(mèng),這不是因為他們需要建立新的硬件,而是他們每次都需要重新編程 FPGA。他說(shuō),「這非常的糟糕,要比編程軟件都糟糕,更難寫(xiě)、難糾正?!惯@是一項非常繁瑣的工作,像是改變芯片上的小邏輯門(mén)。
既然最終的硬件已經(jīng)有了,微軟還要面對每一次重新編程這些芯片時(shí)都會(huì )遇到的同樣挑戰?!高@是一個(gè)看世界思考世界的全新視角,」Larus 說(shuō)。但是Catapult 硬件的成本只占了服務(wù)器中所有其他的配件總成本的 30%,需要的運轉能量也只有不到 10%,但其卻帶來(lái)了 2 倍原先的處理速度。
這個(gè)布局非常大。微軟 Azure 用這些可編程的芯片來(lái)路由、加密和壓縮數據。Bing 占據著(zhù)世界上 20% 的桌面搜索市場(chǎng)和 6% 的移動(dòng)手機市場(chǎng),在 Bing 上,這個(gè)芯片能幫助 Bing 適應新品種的人工智能:深度神經(jīng)網(wǎng)絡(luò )。而且據微軟的一名員工說(shuō),Office365 正在嘗試在加密和壓縮上使用 FPGA 以及機器學(xué)習——這一舉措將惠及其 2310 萬(wàn)用戶(hù)。最終,Burger 說(shuō)道,這些會(huì )驅動(dòng)所有的微軟服務(wù)。
評論