1. 程式人生 > >微軟一年一度的開發者大會,給你帶來全新的開發者體驗

微軟一年一度的開發者大會,給你帶來全新的開發者體驗

Build 2018 主旨演講的主題是 Azure 雲和 AI、物聯網、AR等技術,以及開發者相關內容的宣佈。在今天的Build大會上,微軟宣佈目前已有超過7億臺裝置執行Windows 10系統。去年這個數字為5億。Office 365目前每個月有1.35億活躍的商業使用者,去年為1.2億。

微軟今年Build大會的一大主題是說服開發人員相信,他們需要理解,以便將人工智慧技術融入他們的應用之中。

841562568573536677

FPGA上的AI服務

477969706015716305

在今天的Build大會上,微軟釋出了Project Brainwave的“預覽版”,這個平臺,用FPGA在Azure雲和邊緣裝置上實時執行深度學習模型。

Brainwave最初亮相,是去年8月,微軟在晶片行業論壇Hot Chips上展示了這個平臺的部分特性。

從當時公佈的資訊,可以看出這個平臺可以分為三層:

  • 一個高效能分散式架構;
  • 一個整合到FPGA上的硬體深度神經網路引擎;
  • 一個用來部署預訓練模型的編譯器和執行時。

當時,微軟說這個平臺支援微軟自家的CNTK和Google的TensorFlow。

今天微軟釋出的Project Brainwave“預覽版”,其實就是由這個平臺在雲端驅動的Azure機器學習硬體加速模型。讓外部客戶和微軟一樣用FPGA來處理AI工作負載,這是第一步。

微軟還宣佈了一個邊緣裝置上的“有限預覽版”Project Brainwave。這裡的邊緣裝置和我們平時所說的手機相機攝像頭略有不同,指的是可以作為Azure IoT Edge裝置使用的企業預置型伺服器。戴爾和惠普企業是這個有限預覽的首批合作伙伴。

大型科技公司無論做什麼起家,從蘋果到Google再到Facebook,無一不關注晶片。在一眾同行都在追求自研機器學習專用晶片的時候,微軟發出了不同的聲音。

納德拉在今天的釋出會上說,以AI的發展速度來看,顯然不該將今天的想法“鎖定”到專用晶片上,還友情提醒各公司不要“被Google的TPU誘惑”。

微軟是FPGA的忠實擁躉,Project Brainwave所用的就是英特爾的FPGA。這種晶片的全稱是 現場可程式設計門陣列(Field Programmable Gate Array)。

這類晶片給微軟帶來了比Google TPU所使用的ASIC更大的靈活性,這家公司正逐步為整個資料中心部署FPGA,他們在FPGA上實現的機器學習效能,與那些專屬晶片不相上下。

Azure IoT Edge進展

103817042505589829

這是微軟將人工智慧、Azure服務、定製化應用裝入物聯網裝置的一個工具。

在IoT Hub服務之上,微軟發構建了Azure IoT Edge,支援微軟的認知服務API,支援Event Grid和Kubernetes容器。此外,微軟還開源了Azure IoT Edge runtime,以便開發者按需部署。

值得注意的是,邊緣裝置可用的認知服務目前只有視覺。不過微軟計劃稍後會推出更多服務。

據介紹,在Azure IoT Edge的幫助下,工業裝置、無人機等即便在沒有聯網的情況下,也能執行機器學習模型。

在今天的大會上,微軟宣佈Azure IoT Edge已經和高通、大疆達成合作。

語音AI工具“四合一”

微軟旗下的四種語音相關AI工具,這次也被統一起來。其中包括微軟語音識別服務、文字到語音API、定製化語音模型和翻譯服務。此前這些工具都作為單獨的API存在(Bing Speech API、Speaker Recognition API、Custom Speech Service、Translator Speech API),並且單獨定價。

手寫和形狀識別

微軟還發布了Project Ink Analysis,這是一個全新的服務。藉助這個服務,開發者可以為應用增加手寫和其他形狀的識別。

開發者工具

對於開發者來說,Visual Studio現在支援“實時共享”功能,可在不離開開發環境的情況下就程式碼進行協作。IntelliCode是一個新推出的實驗性工具,利用 AI 來增強軟體開發質量,提供智慧建議。這個工具能讓Visual Studio智慧完成程式碼,根據上下文給出程式設計建議,而不是簡單根據字母排序推薦API,不過目前只支援Visual Studio 2017中的C#程式碼。其他還包括Azure Kubernetes推出測試版等等內容。

464003088278988274

530821537665511357

對於我們.NET 開發的最大利好訊息就是.NET Core 3.0/.NET Famework 4.8的計劃,2019 年釋出的.NET Core 3.0 即將支援Windows桌面系統以及.NET Core 2.1 RC版本的釋出。特別是Windows Forms,Windows Presentation Framework(WPF)和UWP XAML。您將能夠在.NET Core上執行新的和現有的Windows桌面應用程式,並享受.NET Core提供的所有優勢。

.NET Core 2.1 Release Candidate 並準備好生產性使用

微軟宣佈了.NET Core 2.1版本的RC版本,ASP.NET Core和Entity Framework Core。Go-Live許可證現在與釋出候選版本一起釋出,允許使用者在軟體開發中高效地使用該產品。但是,過去表明,在轉換到RTM版本時,程式碼更改可能仍然是必需的,微軟有對應的技術支援 。

.NET 2018會議上的.NET Core展臺

2.1版本特別為Entity Framework Core和ASP.NET Core帶來了廣泛的創新。對於Entity Framework Core,微軟關閉了相對於傳統ADO.NET實體框架的四個主要弱點。一方面,分組現在實際上被髮送到資料庫並且不再在記憶體中執行,尤其是對於大量資料,效能的提升是巨大的。其次,Entity Framework Core現在還提供從其前任已知的連結記錄的自動延遲載入。但是,它在預設情況下是關閉的,但開發人員必須明確地將其開啟以防止無意識重新載入迴圈中的資料。您可以選擇使用自動生成的執行時代理的延遲載入或ORM對映器支援的變體,並新增實體類。作為第三點,微軟還建立在Entity Framework Core的System.Transactions.TransactionScope對環境事務的支援。最後,也可以將結果集對映到非實體型別。它允許開發人員對映資料庫檢視,沒有主鍵的表以及SQL命令,儲存過程和表值函式的結果,即使它們的結果集與現有表的結構不匹配。另外,Entity Framework Core還具有全新的功能:新推出的Value Converter允許在實現和儲存物件時進行值轉換。在2月份宣佈的Cosmos Framework Core的Cosmos DB驅動程式尚未準備好,可以在GitHub上閱讀

ASP.NET Core 2.1的另一個新功能是,可以在Microsoft Web伺服器Internet資訊服務(IIS)的過程中直接使用更強大的託管功能。在以前的版本中,ASP.NET Core始終執行在它自己的程序中(Kestrel或Web Listener別名http.sys)。雖然微軟的雙向Web瀏覽器通訊框架SignalR的埠也達到了釋出候選狀態,但WebHooks庫仍處於預覽狀態。微軟在Github證明了這個功能還不夠充分,因為在ASP.NET Core 2.1環境下WebHooks的處理不夠。