Chuyển đến nội dung chính

第7課:模型部署 — 端點與推論

即時端點、批次轉換、非同步推論、無伺服器推論。 多模型端點、推論管線。 Elastic Inference、SageMaker Neo(邊緣部署)。 Production Variants的A/B測試。

SageMaker Model Deployment Options

SageMaker部署選項:即時端點、無伺服器、非同步推論與批次轉換

1. SageMaker部署選項

SageMaker提供多種推論模式 — 每種適合不同的工作負載。此部分在MLS-C01考試中通常出5〜8題。

考試提示: 關鍵決策因素:延遲需求、流量、成本、有效負載大小。對應方式:即時(低延遲)→ 非同步(大型有效負載)→ 無伺服器(零星流量)→ 批次(無延遲需求)。

部署類型延遲吞吐量成本模式最適用途
即時端點毫秒高持續運行(按小時計費)互動式應用、API
無伺服器推論秒(冷啟動)不定按調用計費零星、不可預測的流量
非同步推論分鐘高(佇列式)按處理計費大型有效負載、非緊急
批次轉換非即時非常高按批次工作計費排程離線預測

2. 即時推論

標準部署 — 持久端點持續運行,同步回應。

Real-time Endpoint Architecture:

Client ──→ HTTPS Request
              ↓
      SageMaker Endpoint
      ┌────────────────┐
      │  Model Server  │  ← Instance running 24/7
      │  (TorchServe,  │
      │  TensorFlow    │
      │  Serving, etc) │
      └────────────────┘
              ↓
         Response (ms)

2.1. 端點自動擴展

端點可以透過Application Auto Scaling基於InvocationsPerInstance指標進行擴展。

3. 無伺服器推論

適合流量不均勻、難以預測的情況。AWS自動擴展,包括在沒有流量時縮減至0。

功能詳情
冷啟動延遲約1-2秒(閒置後的第一次請求)
記憶體配置1 GB → 6 GB
最大有效負載4 MB
定價按推論請求 + 處理時間

4. 非同步推論

適合大型媒體檔案、長時間處理的情況。請求排入佇列,回應儲存至S3。

Async Inference Flow:

Client ──→ Upload payload to S3 ──→ Invoke Endpoint
                                          ↓
                                   Queue Request
                                          ↓
                               Process when instance available
                                          ↓
                                   Save output to S3
                                          ↓
                           SNS Notification → Client
功能詳情
最大有效負載1 GB(即時為6 MB)
自動縮減至0是 — 佇列為空時縮減
回應S3輸出路徑 + SNS通知

5. 批次轉換

按排程對整個數據集執行預測。沒有端點 — 僅在需要時執行。

Batch Transform:

Input S3 ──→ Batch Transform Job ──→ Output S3
  (CSV/       (ephemeral compute)      (CSV/JSON
  JSON/                                predictions)
  Parquet)           ↑
               No persistent endpoint
               Pay only when running

6. 多模型端點(MME)

MME允許在單一端點上託管多個模型,降低推論基礎設施成本。

功能詳情
成本節省單一端點服務數千個模型
動態載入模型按需載入記憶體、快取
使用情境SaaS多租戶,每個客戶一個模型

7. SageMaker Neo — 邊緣部署

SageMaker Neo編譯模型並針對特定硬體(邊緣裝置、行動裝置)進行最佳化。

Neo Workflow:

Trained Model (S3)
       ↓
  Neo Compiler
  (optimizes for target hardware)
       ↓
 Optimized Model
       ↓
    ├── Deploy to IoT Greengrass (edge)
    ├── Deploy to ARM devices
    └── Deploy to mobile (Android/iOS)

8. 速查表 — 部署決策

情境部署類型
行動應用,即時回應(<100ms)即時端點
流量零星(每小時幾個請求)無伺服器推論
影片/音訊處理(大型檔案)非同步推論
每晚對完整數據集進行預測批次轉換
數千個客戶特定模型多模型端點
IoT邊緣裝置部署SageMaker Neo + Greengrass

9. 練習題

Q1: 一家公司經營一個電商聊天機器人,在購物高峰期需要低於100毫秒的回應時間。應該使用哪種SageMaker推論類型?

  • A) 批次轉換
  • B) 非同步推論
  • C) 無伺服器推論
  • D) 即時端點 ✓

解析:即時端點提供持久的、持續運行的毫秒級延遲推論。無伺服器有冷啟動延遲,非同步是非同步的(非低於100毫秒),批次轉換用於排程離線處理。

Q2: 一家媒體公司想對1 GB的影片檔案執行ML分類。處理時間不緊急。最適當的SageMaker推論選項是哪個?

  • A) 即時端點
  • B) 無伺服器推論
  • C) 非同步推論 ✓
  • D) 批次轉換

解析:非同步推論支援高達1 GB的有效負載並將請求排入佇列處理,非常適合大型媒體檔案。即時限制為6 MB有效負載,無伺服器限制為4 MB,批次轉換用於排程批量預測而非即時佇列。

Q3: 一家SaaS公司為其10,000個企業客戶各提供獨立的ML模型。為每個模型託管單獨的端點太昂貴。最佳解決方案是什麼?

  • A) 將所有模型合併為一個大型模型
  • B) 使用SageMaker多模型端點 ✓
  • C) 在單一批次轉換工作中部署所有模型
  • D) 為每個模型使用無伺服器推論

解析:多模型端點(MME)在單一端點上託管多個模型,按需動態將它們載入記憶體。這正是為多租戶場景設計的,每個客戶有自己的模型,可大幅降低基礎設施成本。