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

第5課:Vertex AI訓練 — 自訂與AutoML

自訂訓練工作:預建容器、自訂容器。 GPU/TPU上的分散式訓練。AutoML:Tabular、Image、Text、Video。 訓練管線設定。超參數調優服務。

Vertex AI Custom Training

Vertex AI自訂訓練:Training Jobs、AutoML、分散式訓練與最佳化

1. Vertex AI自訂訓練

自訂訓練允許您在Google Cloud基礎設施上執行自己的訓練程式碼。有兩種打包程式碼的方式:

方法說明使用時機
預建容器GCP提供的容器:TF、PyTorch、Scikit-learn、XGBoost標準ML框架,快速設定
自訂容器建構自己的Docker映像檔自訂依賴、特殊環境
Custom Training Job Structure:

training_package/ (Python package or Docker image)
│
├── trainer/
│   ├── __init__.py
│   ├── task.py        ← entry point (main training script)
│   └── model.py       ← model definition
│
└── setup.py

Arguments passed via:
  TRAINING_DATA_URI: gs://bucket/data/
  TRAINING_OUTPUT_URI: gs://bucket/model/
  Hyperparameters: --learning-rate=0.001

2. 運算選項

硬體最適用途備註
CPUScikit-learn、小型表格資料最便宜,無GPU平行處理
GPU(T4、A100、V100)深度學習、NLP、電腦視覺深度學習比CPU快10-100倍
TPU v3、v4TensorFlow大規模訓練Google專用硬體;對TF/JAX非常快

考試提示: TPU是Google專用硬體,針對TensorFlow和JAX最佳化。GPU適用於所有框架。TPU對於非常大的TF模型最具成本效益;GPU更通用。考試可能問「TensorFlow大規模訓練最具成本效益」→ TPU。

3. Vertex AI上的分散式訓練

策略說明使用場景
資料平行處理將資料分散到各工作節點,相同模型大多數深度學習訓練場景
模型平行處理將模型層分散到各工作節點模型太大無法放入單一GPU
MirroredStrategy(TF)多GPU、單一機器單節點、多GPU
MultiWorkerMirroredStrategy多GPU、多機器叢集訓練
ParameterServerStrategy透過參數伺服器進行非同步更新非常大的模型(舊版)

4. Vertex AI AutoML

AutoML類型輸入資料支援的任務
AutoML TabularCSV、BigQuery表格分類、迴歸、預測
AutoML ImageJPEG、PNG、BMP分類(單/多標籤)、物件偵測、分割
AutoML Text文字文件分類、實體擷取、情感分析
AutoML VideoMP4、AVI、MOV分類、物件偵測、動作辨識

5. Vertex AI超參數調優

Vertex AI超參數調優自動尋找最佳的超參數組合。

搜尋演算法說明
網格搜尋窮舉式、昂貴;適用小搜尋空間
隨機搜尋隨機取樣;通常比網格搜尋好
貝葉斯最佳化使用高斯過程的智慧搜尋;最有效率
HPT Job Setup:

hyperparameters:
  - parameter_id: learning_rate
    type: DOUBLE
    min_value: 0.0001
    max_value: 0.1
    scale: LOG  ← log scale for LR

  - parameter_id: batch_size
    type: INTEGER
    values: [32, 64, 128, 256]

metric:
  metric_id: val_accuracy
  goal: MAXIMIZE
  
max_trial_count: 50
parallel_trial_count: 5

6. 練習題

Q1: 團隊想在多台機器上(每台8個GPU)訓練自訂TensorFlow模型。他們希望在所有工作節點間同步梯度,不使用參數伺服器。應使用哪種TensorFlow分散策略?

  • A) MirroredStrategy
  • B) MultiWorkerMirroredStrategy ✓
  • C) ParameterServerStrategy
  • D) TPUStrategy

解說:MultiWorkerMirroredStrategy支援跨多台機器(每台多個GPU)的同步資料平行訓練。MirroredStrategy僅適用於單機多GPU。ParameterServerStrategy使用非同步更新。TPUStrategy專用於TPU pod。

Q2: 一家公司需要訓練影像分類模型,但團隊沒有深度學習專業知識。他們有5,000張標籤的商品圖片。哪個Vertex AI選項需要最少的ML專業知識?

  • A) 使用TensorFlow CNN的Vertex AI自訂訓練
  • B) Vertex AI AutoML Image Classification ✓
  • C) Dataproc Spark ML
  • D) BigQuery ML

解說:AutoML Image Classification自動處理架構選擇、超參數調優和訓練。團隊只需上傳標籤圖片並指定任務。不需要任何程式碼或深度學習專業知識。

Q3: 在評估訓練成本高的深度學習模型且搜尋空間很大時,哪種超參數搜尋策略最有效率?

  • A) 網格搜尋 — 測試所有組合
  • B) 隨機搜尋 — 均勻取樣
  • C) 貝葉斯最佳化 — 使用過去的試驗結果引導搜尋 ✓
  • D) 手動調優 — 專家選擇參數

解說:貝葉斯最佳化使用高斯過程建構目標函數的概率模型,根據過去的試驗結果智慧選擇下一個要評估的超參數配置。比網格搜尋或隨機搜尋用更少的試驗就能找到好的配置。