ONNX Runtime在釋出預覽版一年之後,終於來到了1.0正式版,這個新版本改進了API穩定性,使API的使用方式更清楚,也增加了對ONNX 1.6的支援,除了更新現有Execution Provider,還加入一系列新的Execution Provider預覽,而且微軟還釋出了新的ONNX Go Live工具,讓用戶方便地交付ONNX模型。

ONNX是臉書與微軟共同開發的模型格式,而ONNX Runtime是一個單一推理引擎,在多平臺和硬體上都提供良好的運作效能。開發者可以使用任何熱門的框架,諸如TensorFlow或PyTorch來訓練模型,將模型輸出或轉換成ONNX格式,就可以使用ONNX Runtime在Windows、Linux和Mac平臺同時利用CPU和GPU進行模型推理。

ONNX Runtime 1.0更新了API,讓整體的使用方法更加清楚,現在C API與ABI相容,並且遵循語意版本控制,而目前與ONNX Runtime函式庫連結的程式,在新版本中不需要改變任何客戶端程式碼,或是重新連結就能繼續使用,另外,微軟還增加了Python和C# API的新能力,以實現功能檢測(Feature Parity)。

ONNX Runtime也緊跟ONNX的規範,並囊括支援全面的功能,ONNX Runtime現在支援1.2之後的所有ONNX版本,具有向前與向後相容性,可執行各種ONNX模型。ONNX Runtime 1.0也改進了效能,新增加Execution Provider以執行硬體加速,同時也盡量減少推理運算所預設的CPU和GPU延遲。

為了促進用戶在正式生產環境中使用ONNX Runtime,微軟發布了ONNX Go Live工具,該工具可以透過將模型轉換、正確性測試和效能調校整合到單一工作管線中,成為一系列Docker映像檔,以自動化ONNX模型的交付程序,此外,微軟還更新量化工具,以支援改進ONNX Runtime中,推測量化模型的效能和精確度。

ONNX Runtime已經被微軟大量用在一系列消費型產品中,包括Office、Bing、Windows和Skype中等60種模型,處理的內容範圍涵蓋圖像和文字,ONNX Runtime有效提升模型的效能達2.5倍,表現比過去的推測解決方案都還要好。微軟提到,除了效能提升之外,由於ONNX模型格式的高互通性,提高了基礎設施的靈活性,讓他們得以使用一個通用的Runtime,就能在大量的硬體上大規模部署模型。


Advertisement

更多 iThome相關內容