使用 Neo 最佳化模型效能 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Neo 最佳化模型效能

Neo 是 Amazon 的一項功能, SageMaker 可讓機器學習模型進行一次訓練,並在雲端和邊緣的任何位置執行。

如果您是 SageMaker Neo 的第一次使用者,建議您查看 Edge 裝置入門部分,以取得有 step-by-step 關如何編譯和部署到 Edge 裝置的指示。

什麼是 SageMaker 新?

一般來說,在多個平台上最佳化機器學習模型以進行推論是很困難的,因為您需要針對每個平台的特定硬體和軟體組態手動調校模型。如果您想要獲得指定工作負載的最佳效能,您需要了解硬體架構、指示集、記憶存取模式和輸入資料形狀等各種因素。針對傳統軟體開發,編譯器和分析工具等工具會簡化程序。針對機器學習,大多數的工具都是專門針對架構或硬體。這迫使您進入一個不可靠且無生產性的手動 trial-and-error 過程。

新自動優化膠子, 克拉斯,,,, TensorFlow-精簡版, 和基於從安巴雷拉處理器 Windows 機器推論的ONNX模型, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾, 英特爾ARM, 英特爾, 英特爾,,NXP,-精簡版, MXNet PyTorch TensorFlow Neo 通過跨框架模型動物園中提供的計算機視覺模型進行了測試。 SageMaker Neo 支持兩個主要平台的編譯和部署:雲實例(包括推論)和邊緣設備。

如需可在其上部署的支援架構和雲端執行個體類型的更多相關資訊,請參閱雲端執行個體的 支援的執行個體類型和架構

如需有關由 SageMaker Neo 針對邊緣裝置測試的支援架構、邊緣裝置、作業系統、晶片架構和常見機器學習模型的詳細資訊,請參閱支援的架構、裝置、系統和架構邊緣裝置。

運作方式

Neo 包含編譯器和執行期。首先,Neo 編譯API讀取從各種框架導出的模型。將架構特定的函式和操作轉換為跨架構的中繼表示法。接著,執行一系列的最佳化。然後,產生最佳化操作的二進位程式碼、寫入共用物件庫,再將模型定義和參數儲存到個別的檔案。Neo 也提供每個載入和執行已編譯模型之目標平台的執行期。

新如何在 SageMaker.

您可以從 SageMaker 主控台、 AWS Command Line Interface (AWS CLI)、Python 筆記本或 SageMaker SDK。如需有關如何編譯模型的資訊,請參閱使用 Neo 編譯模型。只需幾個CLI命令,API調用或單擊幾下,您就可以為所選平台轉換模型。您可以將模型快速部署到 SageMaker 端點或 AWS IoT Greengrass 裝置上。

Neo 可以優化具有參數或量化為FP32INT8或FP16位寬度的模型。