什麼是 Amazon SageMaker Neo?
Amazon SageMaker Neo 可讓開發人員最佳化機器學習 (ML) 模型,以便在雲端中的 SageMaker 和邊緣的支援裝置上進行推論。
ML 推論是使用經過訓練的機器學習模型進行預測的程序。在對模型進行高準確度訓練之後,開發人員通常會花費大量時間和精力來調校模型以實現高效能。在雲端中推論時,開發人員經常以較高成本轉向記憶體高和處理功能強的大型執行個體,以實現更好的輸送量。為了在運算和記憶體有限的邊緣裝置上進行推論,開發人員通常花費數月時間手動調校模型,以在裝置硬體限制內實現可接受的效能。
Amazon SageMaker Neo 會自動最佳化機器學習模型,以便在雲端執行個體和邊緣裝置上進行推論,從而以更快的速度執行而不會損失準確度。首先,選擇一個已使用 DarkNet、Keras、MXNet、PyTorch、TensorFlow、TensorFlow-Lite、ONNX 或 XGBoost 建置並在 Amazon SageMaker 中或其他任何地方訓練過的機器學習模型。 然後,選擇目標硬體平台,該平台可以是 SageMaker 託管執行個體,也可以是基於 Ambarella、Apple、ARM、Intel、MediaTek、Nvidia、NXP、Qualcomm、RockChip 或 Texas Instruments 處理器的邊緣裝置。只需按一下滑鼠,SageMaker Neo 就會最佳化已訓練模型並將其編譯為可執行檔。編譯器使用機器學習模型來套用效能最佳化,從而為您的模型在雲端執行個體或邊緣裝置上擷取最佳可用效能。然後,您可以將模型部署為 SageMaker 端點或部署在支援的邊緣裝置上,並開始進行預測。
在雲端中推論時,SageMaker Neo 透過在 SageMaker 託管中建立推論最佳化容器來加快推論速度並節省成本。在邊緣推論時,SageMaker Neo 透過自動調校選取的作業系統和處理器硬體的模型,為開發人員節省數月的手動調校時間。
Amazon SageMaker Neo 使用 Apache TVM 和合作夥伴提供的編譯器和加速庫為指定模型和硬體目標提供最佳可用效能。根據 Apache 軟體授權,AWS 將編譯器代碼貢獻給 Apache TVM 專案,將執行時間代碼貢獻給 Neo-AI 開放原始碼專案,可讓處理器廠商和裝置製造商在通用的緊湊執行時間上快速創新。