微軟宣布將多平臺通用ONNX機器學習引擎開源,此舉將讓機器學習框架,向著機器學習框架的標準化和性能優(yōu)化方向邁進了一大步。此前,為了推進AI框架標準化,更好地支持PyTorch和TensorFlow等框架,微軟甚至降低了對自家CNTK框架的宣傳調(diào)門,可謂“用心良苦”。
當?shù)貢r間12月4日,微軟在GitHub上宣布ONNX Runtime開源?。
ONNX Runtime是適用于Linux,Windows和Mac上ONNX格式的機器學習模型的高性能推理引擎。
ONNX是微軟與Facebook和AWS共同開發(fā)的深度學習和傳統(tǒng)機器學習模型的開放格式。ONNX格式是開放式生態(tài)系統(tǒng)的基礎,使人工智能技術更易于訪問,而且可以為不同人群創(chuàng)造價值:
開發(fā)人員可以為自己機器學習任務選擇合適的框架,框架作者可以集中精力推出創(chuàng)新,提高框架的性能。對于硬件供應商來說,也可以簡化神經(jīng)網(wǎng)絡計算的復雜度,實現(xiàn)優(yōu)化算法。
過去20多年來,微軟一直在進行人工智能研究,并將機器學習和深度神經(jīng)網(wǎng)絡整合到旗下眾多產(chǎn)品和服務中。由于團隊使用許多不同的培訓框架并針對不同的部署選項,因此確實需要統(tǒng)一這些分散的解決方案,以便快速,簡單地操作模型。
此次開源的ONNX Runtime為這個問題提供了解決方案。該工具為數(shù)據(jù)科學家在選擇的框架內(nèi)訓練和調(diào)整模型提供了更高的靈活性,并在云端和產(chǎn)品設計中以高性能打造這些模型。
ONNX引擎是Windows ML組件的關鍵部分。微軟正在將這種機器學習界面納入到Windows 10系統(tǒng)中,讓開發(fā)人員在自己的Windows應用程序上使用訓練過的機器學習模型。 Windows ML推理引擎可以在Windows設備上對這些模型進行本地評估,開發(fā)人員無需將模型放到云中運行。
ONNX Runtime有什么用?
ONNX是微軟公開推出的首款推理機,完整支持ONNX 1.2和 ONNX機器學習的更高版本。這意味著ONNX Runtime直接隨著ONNX的標準進步,實現(xiàn)對一大批AI模型和技術突破的支持。
微軟的團隊在使用ONNX Runtime來改善在Bing搜索、廣告、Office產(chǎn)品套件等核心業(yè)務中的評分延時,提高運行效率。而對于由其他工具轉(zhuǎn)而使用ONNX的模型,其平均表現(xiàn)提升了2倍。此外,微軟的其他一些服務,如Windows ML 和ML.net等,也納入了ONNX Runtime支持的業(yè)務之中。
ONNX Runtime在設計上是輕量級和模塊化的,CPU的構建只有幾M字節(jié)。可擴展架構、優(yōu)化硬件加速器,降低計算延時,提升計算效率。
很多業(yè)界領先的企業(yè)都在積極將自己的技術與ONNX Runtime實現(xiàn)集成和整合,使自己的服務能夠完整支持ONNX規(guī)范,同時實現(xiàn)性能的最優(yōu)化。
微軟和英特爾正在合作,將nGraph編譯器集成為ONNX Runtime的執(zhí)行提供程序。nGraph編譯器能夠通過應用非設備特定和設備特定的優(yōu)化來實現(xiàn)現(xiàn)有和未來的硬件加速。與原生框架相比,使用nGraph Compiler執(zhí)行CPU推理任務可將性能提升45倍。
英偉達正在努力將TensorRT與ONNX Runtime實現(xiàn)整合,為在英偉達的GPU上部署快速增長的模型和應用程序提供簡便的工作流程,同時實現(xiàn)最佳性能。
NVIDIA TensorRT包括一個高性能的推理優(yōu)化器和運行時,可以在推薦器,自然語言處理和圖像/視頻處理等應用程序中以最小的延遲提供極高的吞吐量。
ONNX的另一個早期支持者是高通,也支持ONNX Runtime。高通AI業(yè)務高級主管Gary Brotman表示:“ONNX Runtime的推出和開源是微軟提升跨設備類別框架的互操作性,實現(xiàn)標準化和性能優(yōu)化的積極一步,我們希望開發(fā)人員歡迎在驍龍移動平臺上支持ONNX Runtime。
業(yè)內(nèi)領先的物聯(lián)網(wǎng)芯片制造商恩智浦(NXP)最近也宣布支持ONNX Runtime。“我們希望,用戶在眾多機器學習框架中進行選擇時能夠擁有最大的靈活性和自由度。”
恩智浦AI技術中心負責人Markus Levy表示。“我們很高興能夠通過支持微軟在我們的平臺上發(fā)布ONNX Runtime,讓機器學習開發(fā)者客戶群能夠享受ONNX帶來的好處。”
如何使用ONNX Runtime
首先,你需要建立一個ONNX模型。沒有ONNX模型?沒問題。ONNX的優(yōu)點就是能夠通過眾多工具實現(xiàn)框架的互操作性?。你可以直接從ONNX Model Zoo獲得ResNet和TinyYOLO等熱門模型的預訓練版本。
你還可以使用Azure Custom Vision Cognitive Service創(chuàng)建自己的自定義計算機視覺模型。如果已經(jīng)擁有TensorFlow、Keras、Scikit-Learn或CoreML格式的模型,可以使用我們的開源轉(zhuǎn)換器(ONNX MLTools和TF2 ONNX)進行轉(zhuǎn)換。
可以使用Azure機器學習服務訓練新模型并保存為ONNX格式。
要使用ONNX Runtime,只需安裝所需平臺和所選語言的軟件包,或者從源代碼創(chuàng)建。ONNX Runtime支持?CPU?和?GPU?(CUDA)?以及兼容Linux、Windows和Mac上的Python、C#和C接口。具體的安裝說明可以在GitHub中獲取。
你可以直接從源或預編譯的二進制文件將ONNX Runtime集成到代碼中,一種簡單的操作方法是使用Azure機器學習為應用程序部署服務,以待調(diào)用。
-
微軟
+關注
關注
4文章
6687瀏覽量
105850 -
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4814瀏覽量
103920 -
機器學習
+關注
關注
66文章
8507瀏覽量
134764
原文標題:微軟開源ONNX Runtime,想用什么深度學習框架任你選!
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
全國首個開源鴻蒙機器人操作系統(tǒng) M-Robots OS 正式開源

面向AI與機器學習應用的開發(fā)平臺 AMD/Xilinx Versal? AI Edge VEK280

NVIDIA Isaac GR00T N1開源人形機器人基礎模型+開源物理引擎Newton加速機器人開發(fā)
深度解讀英偉達Newton機器人平臺:技術革新與跨界生態(tài)構建

AgiBot World Colosseo:構建通用機器人智能的規(guī)模化數(shù)據(jù)平臺

BlackBerry QNX推出通用嵌入式開發(fā)平臺
零知開源平臺重磅升級!嵌入式開發(fā)進入“渦輪增壓”時代
如何使用命令將更快的R ACCENT-10.onnx模型轉(zhuǎn)換為IR?
使用模型優(yōu)化器命令將ONNX模型轉(zhuǎn)換為OpenVINO? IR格式時出現(xiàn)“ReplacementID”錯誤怎么解決?
靈汐科技開源類腦深度學習應用開發(fā)平臺BIDL

將ONNX模型轉(zhuǎn)換為IR后報錯,怎么解決?
如何選擇云原生機器學習平臺
在算力魔方上運行Genesis:一款顛覆性開源生成式物理引擎!

人形機器人“天工”面向行業(yè)開源開放
AI引擎機器學習陣列指南

評論