2016年9月GitHub報告顯示,微軟擁有16419位開源貢獻者,排名第一。微軟的貢獻使得開源界的力量更為壯大。對開發者個人而言,更多的開源項目也將幫助他們節省大量造輪子的時間,從而專注于性能表現與用戶體驗的優化。
如何利用好微軟提供的這些開源工具包資源呢?這篇合集介紹了微軟研究院過去兩年的幾個重要開源項目,如深度學習領域的微軟認知工具包(原名CNTK)等。大家只需點擊每個項目后所附的鏈接就可以輕松訪問。
微軟研究院近期開源工具包一覽1. 微軟認知工具包(Microsoft Cognitive Toolkit)微軟認知工具包(原名 CNTK ) 是微軟出品的開源深度學習工具包。新版的微軟認知工具包在原有 CNTK 的基礎上增加了對 Python 的支持,同時在性能方面也有所提高。而經實驗室測試表明,微軟認知工具包的性能在同等主流工具中表現突出。其設備要求相對靈活,同時支持 CPU 和 GPU 模式。因此沒有 GPU ,或者神經網絡比較小的實驗,可以直接使用 CPU 版的微軟認知工具包。微軟認知工具包將神經網絡描述成一個有向圖的結構,葉子節點代表輸入或者網絡參數,其他節點計算步驟,它同時支持卷積神經網絡和遞歸神經網絡。
項目主頁:https://www.microsoft.com/en-us/research/product/cognitive-toolkit/
2. LightGBM由微軟亞洲研究院DMTK(分布式機器學習工具包)團隊在在 GitHub 上開源了性能超越其他 boosting 工具的 LightGBM,在三天之內 GitHub 上被 star 了1000+次,fork了200+次。LightGBM (Light Gradient Boosting Machine)是一個實現 GBDT 算法的框架,支持高效率的并行訓練,它的主要優勢表現在訓練方面的高效性、較低的內存占用、更高的準確率、進行并行學習與大規模數據處理的能力。公開數據表明 LightGBM 相較于同類工具,其學習效率和準確性都表現突出。此外,實驗也表明 LightGBM 通過使用多臺機器進行特定設定的訓練能取得線性加速。
3.Project Malmo微軟研究院曾在不久前演示過用游戲《我的世界》來訓練人工智能的實驗性項目。現在這款項目Project Malmo通過 GitHub 正式開源。研究者可以通過《我的世界》測試人工智能算法,指導人工智能學習并完成一些復雜任務。這一計劃可以通過游戲中的人完成現實生活中的計劃任務。當微軟研究員團隊在利用這個工具訓練人工智能的角色學習如何爬到虛擬世界的最高點時,這些角色使用的是與人類學習新任務時相同類型的資源。也就是說,這個由科學家研究的小人與普通的人類玩家并無區別,是真正的以人為基礎進行的仿真。這樣的仿真使研究者完全不需要開發人工智能實體,因此也不再要求研究者有機器人方面的開發背景,就可以進行一些原來只能靠機器人或通過極高成本才能進行的工作。
4. SDN分布式服務器中的多臺服務器該如何連接?連接之后又該如何確保數據傳送效率和實時支撐呢?SDN(Software Defined Network)由此應運而生,它顛覆了傳統網絡搭建的邏輯,采用虛擬化技術,根據應用數據的不同使用方式,動態調整和分配資源,優化數據的存貯和轉移。據此,SDN 技術可以為不同的用戶群建立不同的虛擬網絡,實現不同的資源配置,從而使得物理網絡的能力被更加合理的利用。微軟現已開發 SDN 工具幫助開發者快速部署起一套 SDN 平臺。
5. Sora微軟亞洲研究院開源的軟件無線電項目 Sora 是一個完全可編程的高性能軟件無線電系統,能夠快捷而有效地實現當前最前沿的無線通信技術。軟硬件平臺的創新使 Sora 在 PC 上就可以完成高性能的無線信號處理。自2009年首次發表以來,Sora 已在學術界獲得多項最佳論文和演示大獎。目前已有50多家大學和科研機構在教學和科研中使用 Sora 。為滿足研究者們日益迫切的研究需求,完全開源的 Sora 系統提供了大量特性,其中包括:支持定制的射頻前端,RCB 和通信模式。
6. GraphView2015年12月16日,微軟亞洲研究院系統算法組開發的圖數據庫 GraphView 開源。GraphView 是一款中間件軟件,方便用戶使用關系數據庫 SQL Server 或 Azure SQL Database 高效地管理和處理大規模圖數據。GraphView 在物理數據表達以及系統運行行為上和原生圖數據庫完全一致,填補了關系數據庫和圖數據庫之間的鴻溝。它還繼承了關系數據庫領域數十年的科研成果,可以提供市面上原生圖數據庫難以媲美的性能。GraphView 的功能包括:完備的查詢語言,索引,事物處理和系統管理等等。
7. Graph Engine2015年5月20日,微軟亞洲研究院 Graph Engine 1.0預覽版正式發布。Graph Engine 是一個基于內存的分布式大規模圖數據處理引擎,能夠幫助用戶更方便地構建實時查詢應用和高吞吐量離線分析平臺。Graph Engine 在學術界有個更廣為人之的名稱,叫做 Trinity。此外,Graph Engine 還可與強大的集成開發環境 Visual Studio 以及微軟云計算平臺 Azure 無縫集成。無論本地開發還是云端部署,Graph Engine 都可以給開發者帶來極佳的用戶體驗。