然而,以Windows操作系統(tǒng)起家的微軟,并沒有放棄“系統(tǒng)”。2017年,微軟定位北京,成立了微軟亞洲研究院-微軟(亞洲)互聯(lián)網(wǎng)工程院人工智能系統(tǒng)聯(lián)合中心,旨在為微軟的AI生態(tài)搭建最核心、最基礎的系統(tǒng)平臺。
6月20日,微軟亞洲研究院副院長、人工智能系統(tǒng)聯(lián)合中心負責人周禮棟以及其團隊召開了一次深度workshop,向包括雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))在內的十余家科技媒體介紹微軟如何做“人工智能時代的系統(tǒng)創(chuàng)新”。
何為系統(tǒng)?微軟給出的定義是系統(tǒng)就是把零散、復雜的個體組織成有序的整體。在計算機領域,不妨將這個抽象又簡單的名詞理解為平臺。“一直以來,微軟都是一個平臺公司,從早期的操作系統(tǒng)、數(shù)據(jù)庫,到云平臺、分布式系統(tǒng),其實都可以被稱為‘系統(tǒng)’。”
PC時代有操作系統(tǒng),互聯(lián)網(wǎng)時代有分布式系統(tǒng),AI對系統(tǒng)提出了新的要求?,F(xiàn)階段的人工智能有三個非常重要的支柱點——大數(shù)據(jù)、新算法和大計算。而“系統(tǒng)”作為連接數(shù)據(jù)和算法的紐帶,是一個不為大眾所熟知的關鍵要素,一個好的系統(tǒng)可以有效支撐AI應用的架構、開發(fā)、部署和落地。
周禮棟介紹道,微軟人工智能系統(tǒng)聯(lián)合中心要做一個全棧的AI平臺(AI Stack),可以為AI開發(fā)者提供全方位支持,讓廣大AI開發(fā)者、AI應用背后的技術團隊,讓他們在開發(fā)AI應用時更加得心應手,沒有后顧之憂,目前主要分為三個層次:
一,AI計算能力。從硬件到基礎設施再到管理系統(tǒng)全部覆蓋,充分利用GPU、FPGA等新興技術,以及云計算、大數(shù)據(jù)等現(xiàn)有的相對成熟的大規(guī)模分布式系統(tǒng),讓AI的計算能力實現(xiàn)價值最大化。
二,AI平臺中間層。其中包括編程語言、各種工具包等,供開發(fā)AI算法的人使用,為他們提供完善的開發(fā)和運行環(huán)境。
三,AI算法。提供成熟的AI算法供應用開發(fā)者使用,例如讓微軟認知工具包CNTK與TensorFlow、Caffe等框架實現(xiàn)靈活轉換,在一種框架下訓練好的模型,可以在另一種框架下無縫使用,并將更多算法集成到Visual Studio中去。
全棧AI平臺(AI Stack)體現(xiàn)了微軟的系統(tǒng)理念,連接底層技術和工具包直接提升開發(fā)者進行深度學習開發(fā)、模型訓練的效率,但是對于開發(fā)者來說整個系統(tǒng)又像是無形的、不可見的。這樣的系統(tǒng)思路有助于實現(xiàn)“AI普及化”,打造一個通用AI平臺的目標。當然,目前還需要各個層面的協(xié)同發(fā)展。
雷鋒網(wǎng)了解到,在AI計算能力方面,英特爾、谷歌等主要發(fā)力AI芯片,微軟則強調Azure智能云。Azure智能云匯聚了微軟在人工智能領域的大量投入與技術積累,是開發(fā)、部署、運行人工智能的云平臺,同時也是將智能云與智能邊緣融會貫通的關鍵環(huán)節(jié)。微軟一直在拓展Azure的功能。
Azure目前有四個方面:公有云Azure、混合云Azure Stack、物聯(lián)網(wǎng)Azure IoT Edge和Azure Sphere,以這四個方面打造出完整的計算環(huán)境,支持全新應用場景。
在AI平臺中間層,微軟已有多種工具:Project Brainwave 、ML.NET、ONNX、OpenPAI、Tools for AI、NNI等,都旨在提供更簡易、高效的人工智能開發(fā)工具。
微軟于2017年發(fā)布的Project Brainwave能利用Azure上的FPGA基礎架構完成實時的人工智能處理。用戶只需要通過實時的單一批數(shù)據(jù),就能得到以往需要多得多的批量數(shù)據(jù)處理才能得到的結果。
在Build 2018微軟全球開發(fā)者大會上,微軟宣布推出跨平臺、開源機器學習框架ML.NET的預覽版。ML.NET讓任何開發(fā)者都能開發(fā)出自己的定制化機器學習模型,并將其融入到自己的應用中去——開發(fā)者完全無需具備開發(fā)和調試機器學習模型的經(jīng)驗。
在隨后的微軟2018人工智能大會上,微軟介紹了兩個新的工具:Open Platform for AI(OpenPAI)和Tools for AI。
OpenPAI由微軟亞洲研究院和微軟(亞洲)互聯(lián)網(wǎng)工程院聯(lián)合研發(fā),旨在為深度學習提供一個深度定制和優(yōu)化的人工智能集群管理平臺,其支持多種深度學習、機器學習及大數(shù)據(jù)任務,可提供大規(guī)模GPU集群調度、集群監(jiān)控、任務監(jiān)控、分布式存儲等功能。
Tools for AI也是中國團隊打造,為開發(fā)者提供了一個全平臺、全軟件產品生命周期、支持各種深度學習框架的開發(fā)套件。開發(fā)者可以通過熟悉的Visual Studio和Visual Studio Code開發(fā)工具,快速開發(fā)深度學習相關的程序。Tools for AI的一鍵安裝功能可以幫助開發(fā)者配置深度學習的開發(fā)環(huán)境,配合Visual Studio (Code)自帶的Python語言開發(fā)功能,開發(fā)者可以方便地編輯和調試基于CNTK、TensorFlow、PyTorch等主流深度學習框架下構建的深度學習訓練程序。
除了以上已經(jīng)發(fā)布的工具外,微軟亞洲研究院資深研究員伍鳴和研究員薛卉在workshop現(xiàn)場演示了微軟在人工智能系統(tǒng)上的創(chuàng)新。
伍鳴展示了三種深度學習框架后端優(yōu)化路徑,第一種是一種硬件網(wǎng)絡技術RDMA網(wǎng)卡,目前許多以深度學習為目標應用的GPU集群都部署了這樣的網(wǎng)絡。為了更好地利用如RDMA、NVLink等的高速網(wǎng)絡硬件的能力,微軟設計了一種零拷貝通信機制,將Tensor數(shù)據(jù)直接傳輸?shù)浇邮斩恕=?jīng)過在TensorFlow上的實驗,該方法在一系列神經(jīng)網(wǎng)絡模型上的收斂速度提高2-8倍。第二種是內核融合,其主要思路是如何自動對任意深度學習網(wǎng)絡模型實施優(yōu)化,提升單個計算單元運算效率,實現(xiàn)約10倍左右的性能加速。第三種是擴展TensorFlow API,使用戶可以在模型腳本中直接控制壓縮和量化,另一個思路是將輸入數(shù)據(jù)異步拷貝到CPU中,掩蓋數(shù)據(jù)拷貝的開銷,這種做法需要和內核融合結合。
研究員薛卉介紹了其開發(fā)的NNI。薛卉原本從事自然語言處理,在加入系統(tǒng)組后,從自身在上層技術領域進行科研工作的切身體會出發(fā),和微軟亞洲研究院首席研究員楊懋一起開發(fā)了名為Neural Network Intelligence(NNI)的底層框架。NNI項目源起于傳統(tǒng)機器學習開發(fā)的繁瑣流程,特別是深度學習目前還處于黑箱狀態(tài),研究人員往往需要花費大量的時間進行模型選擇和超參數(shù)調試。NNI的誕生不僅可以支持不同的操作系統(tǒng)和編程語言,自動地幫助使用者完成數(shù)據(jù)分析、模型比對、參數(shù)調試和性能分析工作,還能方便使用者將模型運行在不同的分布式系統(tǒng)上。近期,NNI就會以開源工具包的形式對外發(fā)布,這將給研究、開發(fā)人員更多嘗試創(chuàng)新的可能性,加快科研和技術發(fā)展的腳步。
做系統(tǒng)最重要的是易用性,微軟以上的項目通過系統(tǒng)的優(yōu)化、創(chuàng)新,能夠賦能更多科研人員、開發(fā)者和實踐者。
雷鋒網(wǎng)了解到,目前除了微軟,其他巨頭公司也在積極推廣人工智能系統(tǒng)/平臺,英特爾有其“人工智能全棧解決方案”,囊括了芯片、處理器、數(shù)據(jù)庫、開源軟件工具等;蘋果有機器學習框架Core ML、Create ML、對話式人工智能Siri。未來,人工智能時代的標志性系統(tǒng)究竟是什么樣?還需要我們繼續(xù)探索。