コンテンツに移動
AI & 機械学習

Kubeflow Pipelines v2: ML パイプラインをより簡単に、より速く、よりスケーラブルに

2023年11月8日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。

ML は、ビジネスの規模を問わずますます不可欠になっています。しかし、ML モデルの構築、デプロイ、継続的なトレーニングは複雑で時間がかかります。そこで、Kubeflow Pipelines(KFP)の出番となります。ここ数年、KFP の採用が増加しています。KFP は、再利用可能なエンドツーエンドの ML ワークフローを構成、デプロイ、管理するエコシステムを提供するハイブリッド ソリューションで、プロトタイピングから本番環境までロックインがありません。このたび、KFP v2 をリリースすることになりましたので、このブログ投稿でその新機能についてご紹介します。

Kubeflow とは

Kubeflow エコシステムは、ML 用に Kubernetes を拡張するために Google とパートナーによって 2018 年にオープンソース化されました。2019 年、Kubeflow Pipelines は、このエコシステムのスタンドアロン コンポーネントとして導入されました。この目的は、コンテナ イメージの有向非巡回グラフ(DAG)の実行を通じて、モデルを継続的にトレーニングする MLOps ワークフローを定義およびオーケストレートすることでした。KFP は、パイプラインを定義するための Python SDK とドメイン固有言語(DSL)、任意の Kubernetes クラスタ上でパイプラインを実行およびスケジュールするバックエンド サービスとフロントエンド サービスを提供します。KFP のリリース以来、オーケストレーション オプション(Vertex AI Pipelines など)や、事前構築済みコンポーネント(Google Cloud パイプライン コンポーネントなど)の豊富なコミュニティが形成されてきました。

KFP v2 の新機能

KFP v2 には大きな改善点がいくつかあります。以下に、その一部を紹介します。

1.コンポーネントとパイプラインでの Python ベースのオーサリング エクスペリエンスの向上

新しい @dsl.component デコレータおよび @dsl.container_component デコレータにより、コンポーネントのオーサリング エクスペリエンスが簡素化および標準化され、読みやすさが向上しました。さらに、Python の docstring がパイプライン仕様に自動的に反映され、オーサリングされたパイプラインのわかりやすさと再利用性が向上します。

2. Argo に依存しない新しいパイプライン定義により、どこでもコンパイルと実行が可能になりました。これには、実行可能コンポーネントと、ネストされたパイプラインに加えて、将来の新しいオーケストレーター オプションが含まれます。

KFP v2 の更新された中間表現(IR)には、Argo だけでなく、あらゆるバックエンドでパイプラインの実行を可能にする追加情報が含まれています。また、パイプラインだけでなく個々のコンポーネントをコンパイルして実行できることや、パイプラインをより大きなパイプラインのコンポーネントとしてネストできることも大きなメリットです。

3.ワークフロー GUI の強化

KFP v2 では、ML ワークフローを可視化するための改良がいくつか加えられました。入力および出力のアーティファクト(データセット、モデル、指標など)は、DAG の可視化でファースト クラスのノードとして表示されるようになりました。これにより、ワークフロー内でアーティファクトがどのように使用および生成されるのかを確認したり、アーティファクトについて記述したメタデータを確認したりできます。また、ネストされたパイプラインがサポートされ、サブ DAG として表されるようになりました。ワークフロー キャンバスのズームが可能になり、大規模パイプラインの操作性が大幅に向上しました。さらに、新しい実行比較、実行のクローン作成、アーティファクトと実行をリスト表示する機能が追加されました。

4.ML メタデータ(MLMD)アーティファクトとリネージのトップクラスのサポート

これまで、MLMD はオプションのインテグレーションでした。KFP v2 では、MLMD は必須の依存関係となりました。これにより、KFP は(1)リッチなリネージ トラッキングと可視化がすぐに利用できるようになり、最終的に(2)カスタム アーティファクト スキーマによるコンポーネント インターフェースの厳密な型チェックとカスタム アーティファクトの可視化の改善が実現します。

5.アップストリームの依存関係を最新のメジャー バージョンにアップグレードしたことによるセキュリティの向上(例: Argo、MinIO、MySQL、Envoy Proxy、MLMD)

今回のメジャー バージョン アップを機に、多くのアップストリームの依存関係を最新のメジャー バージョンにアップグレードしました。KFP v2 バックエンドは v1 と完全な下位互換性があります(v1 の API は引き続き存在します)。そのため、すべての KFP バックエンド ユーザーに KFP v2 へのアップグレードをおすすめします。

これらの変更点については、2022 Kubeflow Summit で詳しく説明しています。

次のステップ

KFP v2 の詳細と Vertex AI Pipelines での使用方法については、こちらのノートブックをご覧ください。

SDK のユーザー(Vertex AI Pipelines のユーザーを含む)は、移行ガイダンス(Migrate from KFP SDK v1)をご覧ください。オープンソースのバックエンドおよびフロントエンドのユーザーは、KFP クラスタのアップグレード手順(Installation)をご覧ください。

2019 年以来、KFP は大きく進化し、複雑な MLOps ワークフロー オーケストレーションに対応し、大規模に利用可能なことが証明されました。KFP v2 が提供するすべてのメリットを享受するために、今すぐ KFP v2 にアップグレードすることをおすすめします。GitHub からフィードバックをぜひお寄せください。皆様からの KFP へのサポートおよび貢献に感謝を申し上げます。KFP のコントリビューション ガイドは、CONTRIBUTING.md でご覧いただけます。

-プロダクト マネージャー Chase Lyall

-ML 担当デベロッパー アドボケイト Erwin Huizenga

投稿先