本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Neo 是 Amazon SageMaker AI 的功能,可讓機器學習模型訓練一次,並在雲端和邊緣的任何位置執行。
如果您是第一次使用 SageMaker Neo 的使用者,我們建議您查看 Edge 裝置入門章節,以取得有關如何編譯和部署到邊緣裝置的逐步指示。
什麼是 SageMaker Neo?
一般來說,在多個平台上最佳化機器學習模型以進行推論是很困難的,因為您需要針對每個平台的特定硬體和軟體組態手動調校模型。如果您想要獲得指定工作負載的最佳效能,您需要了解硬體架構、指示集、記憶存取模式和輸入資料形狀等各種因素。針對傳統軟體開發,編譯器和分析工具等工具會簡化程序。針對機器學習,大多數的工具都是專門針對架構或硬體。這讓您不得不手動反覆嘗試摸索,而這個過程既不可靠又無果。
Neo 會自動最佳化 Gluon、Keras、MXNet、PyTorch、TensorFlow、TensorFlow-Lite 和 ONNX 模型,以用在以 Ambarella、ARM、Intel、Nvidia、NXP、Qualcomm、Texas Instruments 和 XilinxAndroid 的處理器為基礎之 Android、Linux 和 Windows 機器上進行推論。Neo 已使用跨框架的模型庫中提供的電腦視覺模型進行測試。SageMaker Neo 支援兩個主要平台的編譯和部署:雲端執行個體 (包含 Inferentia) 和邊緣裝置。
如需可在其上部署的支援架構和雲端執行個體類型的更多相關資訊,請參閱雲端執行個體的 支援的執行個體類型和架構。
如需 SageMaker AI Neo 所測試的支援架構、邊緣裝置、作業系統、晶片架構和常見機器學習模型的詳細資訊,請參閱 支援的架構、裝置、系統和架構 中的邊緣裝置。
運作方式
Neo 包含編譯器和執行期。首先,Neo 編譯 API 會讀取不同架構匯出的模型。將架構特定的函式和操作轉換為跨架構的中繼表示法。接著,執行一系列的最佳化。然後,產生最佳化操作的二進位程式碼、寫入共用物件庫,再將模型定義和參數儲存到個別的檔案。Neo 也提供每個載入和執行已編譯模型之目標平台的執行期。

您可以從 SageMaker AI AWS Command Line Interface 主控台、 (AWS CLI)、Python 筆記本或 SageMaker AI SDK 建立 Neo 編譯任務。如需如何編譯模型的詳細資訊,請參閱使用 Neo 編譯模型。使用幾個 CLI 命令、一個 API 調用,或者只要按幾下滑鼠,您就可以針對選擇的平台轉換模型。您可以將模型快速部署到 SageMaker AI 端點或 AWS IoT Greengrass 裝置上。
Neo 可以使用 FP32 中或量化為 INT8 或 FP16 位元寬度的參數來最佳化模型。