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