Vertex AI Pipelines を触ってみた¶
Vertex AI Pipelines とは¶
Vertex AI Pipelines は、Google Cloud のマネージド機械学習プラットフォームである Vertex AI で利用可能な機械学習パイプラインの構築と実行を容易にするサービス。Kubeflow Pipelines の機能をベースにしており、Kubernetes 上で動作する機械学習パイプラインの開発や実行に必要な機能を提供している。
Vertex AI Pipelines では、次のような機能が利用できる。
- パイプラインの視覚化とデバッグ:パイプラインのステップをグラフィカルに表示し、パイプラインの実行時にデバッグできる
- パラメータの調整:機械学習モデルのハイパーパラメータを調整し、モデルの精度を向上
- データの前処理:データの前処理や変換を自動化し、機械学習モデルの品質を向上
- 分散トレーニング:複数のワーカーノードで機械学習モデルをトレーニングし、トレーニング時間を短縮
- モデルのデプロイメント:機械学習モデルのデプロイメントを容易に行い、実際のアプリケーションに統合
- Python の関数もしくはコンテナベースでコンポーネントを記述する
さらに、Vertex AI Pipelines では、Kubeflow Pipelines に加えて、Google Cloud の機械学習サービスと統合するための機能も提供されています。たとえば、AutoML や BigQuery などの Google Cloud のサービスをパイプラインに組み込むことができる。
tips¶
コンポーネントの記述¶
Python の関数ベースで記述するときは@component(base_image=...
のデコレータで実行するコンテナイメージを指定する。YAML ベースで記述するときはこちらが詳しい。
Output¶
生成したモデルや Dataset、レポート(Confusion Matrix や HTML、Markdown)などの出力ができる。この機能を使うとコンポーネントの結果を確認・共有しやすくなる。
使ってみた感想¶
- kfp の 1 系、2 系で挙動が変わるので参考にするコードがどのバージョンで動いるか注意が必要
- リージョンの指定に気を付ける。pipeline の yaml に変換したときに確認するといい
参考¶
- https://recruit.gmo.jp/engineer/jisedai/blog/vertex-ai-pipelines-intro/
- https://cloud.google.com/vertex-ai/docs/pipelines
- https://future-architect.github.io/articles/20230213a/
- https://zenn.dev/dhirooka/articles/71a5fc473baefb
- https://book.st-hakky.com/docs/data-science-vertex-ai-pipelines-tutorial/ これ動かしてみるの良いかも
- https://dev.classmethod.jp/articles/vertex-ai-pipeline-basic-flow/
- https://dev.classmethod.jp/articles/vertex-ai-pipelines-yaml/
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks sample codes
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/pipelines/control_flow_kfp.ipynb
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/pipelines/google_cloud_pipeline_components_model_train_upload_deploy.ipynb
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/pipelines/pipelines_intro_kfp.ipynb intro サクッと動かすには良さそう
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/ml_ops/stage3/README.md pipelines のサンプル集
- https://www.btelligent.com/en/blog/vertex-ai-pipelines-getting-started-1-1/ サクッと動きそう
- https://qiita.com/f6wbl6/items/ef2603bf47a47ffd63ac tips
- https://codelabs.developers.google.com/vertex-pipelines-intro#0 intro ちょっと重いかも
- https://cloud.google.com/blog/ja/products/ai-machine-learning/serverless-machine-learning-pipelines-on-google-cloud pipelines 公式 blog
- https://codelabs.developers.google.com/vertex-pipelines-custom-model#0 カスタムモデルのサンプル。2 時間とかあれば良い感じ?
- https://cloud.google.com/vertex-ai/docs/pipelines/build-pipeline?hl=ja 公式 TFX パイプラインのサンプル
- https://medium.com/google-cloud/google-vertex-ai-the-easiest-way-to-run-ml-pipelines-3a41c5ed153 一通りの流れ
- https://colab.research.google.com/github/tensorflow/tfx/blob/master/docs/tutorials/tfx/gcp/vertex_pipelines_vertex_training.ipynb TFX sample code Google Colab
- https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/pipelines/google_cloud_pipeline_components_automl_images.ipynb
- https://note.com/tatsuyashirakawa/n/n146551bc5a66 設計の tips
- Costom Job
- Vertex AI Pipelines の Tips よくまとまってる
- kfp artifact
- Vertex AI output-html-md
- Vertex AI Pipelines でローカルのコードを実行する例と with 句を使う例
- step by step 一通りの流れを step by step で説明してくれている