変更要約: Professional Machine Learning Engineer 第3章を新規作成(ドメイン3「スケール」: フレームワーク/アーキテクチャ選択・解釈可能性・訓練データ整理・ファイル取り込み・訓練 SDK(Vertex AI カスタム訓練/Kubeflow on GKE/AutoML/Tabular Workflows)・分散訓練・ハイパーパラメータ調整(Vizier)・訓練失敗のトラブルシュート・基盤モデルのファインチューニング、ハードウェア選択(CPU/GPU/TPU/エッジ)・TPU/GPU 分散訓練(Reduction Server/Horovod/TPU Pod))。
3.2訓練ハードウェアの選択
コンピュートとアクセラレータの選択(CPU・GPU・TPU・エッジデバイス)、TPU と GPU による分散訓練(Vertex AI の Reduction Server・Horovod)を理解します。
訓練の速度とコストはハードウェア選択で大きく変わります。ワークロードに合うアクセラレータと分散方式を選びます。
3.2.1アクセラレータの選択
アクセラレータはワークロードで選びます:軽量/前処理や小規模は CPU、汎用の深層学習(多様なフレームワーク・小〜中規模)は GPU、大規模な行列演算が中心の TensorFlow/JAX 大規模学習はコスト効率の高い TPU、推論を端末側で行うなら エッジデバイス(Coral/Edge TPU)です。要件(スループット・レイテンシ・コスト・フレームワーク対応)で評価します。「大規模行列演算・TF/JAX=TPU」「汎用の深層学習・幅広いフレームワーク=GPU」「端末側推論=エッジ」を結びます。
3.2.2分散訓練
単一デバイスで収まらない規模は TPU/GPU による分散訓練 にします。複数 GPU/ノードの データ並列 では勾配の集約(all-reduce)が要となり、Vertex AI の Reduction Server が集約を専用ノードに肩代わりさせて通信を高速化します。フレームワーク横断の分散には Horovod を使えます。大規模 TPU は TPU Pod でスケールします。「GPU 分散の勾配集約を高速化=Reduction Server」「フレームワーク非依存の分散=Horovod」を押さえます。
「ワークロード → ハードウェア」が頻出。例:「大規模な TensorFlow/JAX 学習をコスト効率よく」=TPU、「PyTorch など多様なフレームワークの深層学習」=GPU、「端末/オフラインで推論」=エッジ(Edge TPU/Coral)、「複数 GPU の勾配集約を高速化」=Reduction Server、「フレームワーク非依存で分散」=Horovod、「軽い前処理/小規模」=CPU。
混同に注意:
①TPU は TensorFlow/JAX 等の大規模行列演算向け、GPU は幅広いフレームワーク対応=フレームワークで選ぶ。
②Reduction Server は GPU データ並列の集約高速化で、TPU 同士の話ではない。
③エッジは推論側=大規模訓練には使わない。
3.2.3この節のまとめ
- 大規模 TF/JAX=TPU、汎用深層学習=GPU、端末推論=エッジ、軽量/小規模=CPU
- GPU データ並列の勾配集約を高速化=Reduction Server、フレームワーク非依存の分散=Horovod
- スループット/レイテンシ/コスト/フレームワーク対応で評価する
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 大規模な TensorFlow モデルを、行列演算中心でコスト効率よく訓練したい。最適なアクセラレータはどれですか?
Q2. PyTorch を含む多様なフレームワークの深層学習を、小〜中規模で汎用的に訓練したい。最適なアクセラレータはどれですか?
Q3. 複数の GPU を使ったデータ並列訓練で、勾配集約(all-reduce)の通信がボトルネックになっている。最適なのはどれですか?
Q4. ネットワークが不安定な現場で、端末側(オフライン)で推論を行いたい。最適なのはどれですか?
Q5. フレームワークに依存しない形で、複数ノードの分散訓練を実装したい。よく使われる選択肢はどれですか?

