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