テクニカルガイド

Kubeflow と ML パイプライン オーケストレーション

Kubeflow は、Kubernetes 上で機械学習ワークフローを実行し、モデルのトレーニングとデプロイを再現可能なコンテナ化されたパイプラインに変えるオープンソース ツールキットです。

2分の読書最終更新日

概要

It matters because it lets teams scale ML the same way they scale modern cloud software.

ディープダイブ

Kubeflow は、Kubernetes 上で TensorFlow を実行する方法として Google で始まり、その後、より広範なプラットフォームに成長しました。その中心的な考え方は、データの準備、トレーニング、評価、提供などの ML ワークフローの各ステップが、Kubernetes ポッド内のコンテナ化されたコンポーネントとして実行されるということです。 Kubeflow Pipelines (KFP) を使用すると、これらのステップを有向非巡回グラフ (DAG) として表現できます。各ノードは自己完結型のコンテナーであり、エッジはデータの依存関係を定義します。 Kubernetes はスケジューリング、スケーリング、リソース割り当てを処理するため、パイプラインはトレーニングのために GPU をリクエストし、その後それらを解放できます。その他のコンポーネントには、ハイパーパラメーター調整用の Katib、モデル提供用の KServe、およびノー​​トブック サーバーが含まれます。その成果は、再現性、クラウド間での移植性、および個々のステップを個別に拡張できることです。

技術的な洞察

Kubeflow パイプラインは、Python DSL を Argo Workflows YAML 仕様にコンパイルします。各コンポーネントは、入力を読み取り、アーティファクトとして出力を書き込むコンテナーとなり、MinIO や S3 などの共有オブジェクト ストアを介してステップ間で渡されます。 Kubernetes は各ポッドをスケジュールし、コンポーネントのリクエストに応じて GPU または CPU リソースを接続します。コントロール プレーンはステップ出力をキャッシュするため、変更されていないステップは再実行時にスキップされ、コンピューティングが節約され、大規模な DAG が効率的になります。

戦略的影響

費用と予算

アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。

より明確な判決

技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。

品質管理

より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

Kubeflow と ML パイプライン オーケストレーションの将来

Kubeflow は、KFP v2 を中心に統合されており、サービングのための KServe とチューニングのための Katib とのより緊密な統合に加えて、多くの GPU にわたる大規模なモデルの分散トレーニングのサポートが強化されています。フィーチャー ストア、モデル レジストリ、LLM 微調整ワークフローへのより深いフックが期待されます。 CNCF の下でプロジェクトが成熟するにつれ、よりシンプルなインストール、チームのマルチテナンシー、オンプレミスと主要なクラウド プロバイダー間できれいに移植される標準化されたパイプライン定義がトレンドになります。

現実世界の実装

小売業者は、販売データを取り込み、需要予測モデルを再トレーニングし、推論のためにそれを KServe にプッシュする夜間の Kubeflow パイプラインをスケジュールします。

ある研究ラボでは、Katib を使用して GPU クラスター上で何百ものハイパーパラメーターの並列トライアルを実行し、最適な構成を自動的に選択しています。

銀行は再現可能な不正検出パイプラインを構築し、各コンプライアンス監査でキャッシュされた成果物から正確なトレーニング ステップを再実行できます。

あるスタートアップでは、Kubeflow 上のノートブック サーバーを使用しているため、データ サイエンティストは、コードを書き直すことなく、本番パイプラインに直接移行するモデルのプロトタイプを作成しています。

リスクとガードレール

1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。

インフラストラクチャとメンテナンスのコストは過小評価されがちです。

システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

実装ロードマップ

1

実装前にレイテンシ、品質、コストの目標を定義します。

2

現実的な負荷とデータ条件でのベンチマーク。

3

エラー、ドリフト、ユーザーへの影響を計測器で監視します。

4

スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Kubeflow and ML Pipeline Orchestration quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

GPU スケジューリングとクラスター オーケストレーション

よくある質問

What is Kubeflow and ML Pipeline Orchestration?

Kubeflow は、Kubernetes 上で機械学習ワークフローを実行し、モデルのトレーニングとデプロイを再現可能なコンテナ化されたパイプラインに変えるオープンソース ツールキットです。これは、チームが最新のクラウド ソフトウェアを拡張するのと同じ方法で ML を拡張できるため、重要です。

Kubeflow は機械学習ワークフローを実行する基盤となるプラットフォームは何ですか?

Kubeflow は、スケジューリング機能とスケーリング機能を使用して、Kubernetes 上で ML ワークフローを実行するために特別に構築されています。

Kubeflow Pipelines では、ワークフローの各ステップは通常どのようにパッケージ化されますか?

各パイプライン ステップは、Kubernetes ポッド内で実行される自己完結型のコンテナであり、入力と出力はアーティファクトとして渡されます。

Kubeflow パイプラインはステップの順序と依存関係を表現するためにどのような構造を使用しますか?

パイプラインは DAG として表現されます。ノードはコンポーネントであり、エッジはコンポーネント間のデータ依存関係を表します。

自動ハイパーパラメータ調整専用の Kubeflow コンポーネントはどれですか?

Katib は、ハイパーパラメータの最適化とニューラル アーキテクチャの検索のための Kubeflow のコンポーネントであり、多くのトライアルを並行して実行します。

Kubeflow パイプラインが再実行時に特定のステップを効率的にスキップできるのはなぜですか?

コントロール プレーンは出力をキャッシュするため、入力が変更されていないステップはスキップされ、再実行時の計算量が節約されます。