Amazon SageMaker AI
- 專為建立與部署機器學習模型的開發者與資料科學家所設計。
- 擁有足夠多的資料後,可直接在SageMaker上建立機器學習模型,SageMaker 會幫忙train與tune模型
End-to-End ML Service - 收集與準備資料、訓練模型、部署並監測模型預測性能、根據模型表現改進資料
內建演算法
- Supervised Learning
Linear Regression
Classification
KNN
- Unsupervised Learning
PCA(用於特徵降維)
K-means
Anomaly Detection
- NLP、影像處理
Automatic Model Tuning(AMT)
- 在已有模型的情況,定義好objective metric,AMT會自動tune模型的hyperparameter
- 自動選擇hyperparameter ranges
- 自動決定search strategy
- 自動決定tuning的時間
- 自動設定early stop
deploy和inference
- self-hosted:只需一鍵部署,部署完成後SageMaker會auto-scaling(不需要自行管理任何伺服器)
- real-time inference
一次處理一筆預測
- 建立real-time endpoint
- app傳送一個payload
- 設定模型運行時使用的CPU或GPU來執行inference
- serverless inference
允許在沒有流量的時期自動停用,但有cold start問題(長時間沒有流量後再有請求進入時,第一次請求的延遲會稍高)
- 建立serverless endpoint
- app傳送一個payload
- 設定模型所需的RAM大小來執行inference
- asynchronous inference(非同步推論)
輸入資料非常大,處理時間也會較長
near-real time inference
- 先將輸入資料上傳至 Amazon S3的staging bucket
- app再通知asynchronous endpoint,將任務排入queue中進行運算
- 將inference結果輸出至另一個S3 staging bucket
- batch transform
對整個資料集進行多筆預測
- 先將輸入資料上傳至 Amazon S3的staging bucket
- app再通知batch transform endpoint,將任務排入queue中進行運算
- 將inference結果輸出至另一個S3 staging bucket
- real-time與serverless同屬於即時應用,用於小型、即時的預測任務,差別在於serverless不需管理任何基礎設施;asynchronous的key word是near-real time,單次推論最長可執行1小時,適合長時間、單筆推論的工作;batch transform具有高延遲,可同時處理多筆資料與並行運算多筆資料,最長可執行1小時
SageMaker Studio
- 整合式的開發介面,在一個地方完成end-to-end的ML工作流程
- 支援團隊協作、tune、debug、deploy、automated workflow等功能