arrow_back

Vertex AI 2.5 でパイプラインを実行する

ログイン 参加
700 以上のラボとコースにアクセス

Vertex AI 2.5 でパイプラインを実行する

ラボ 1時間 universal_currency_alt クレジット: 5 show_chart 上級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

このラボでは、Vertex AI Pipelines を使用して、Kubeflow Pipeline SDK で作成したシンプルな ML パイプラインを実行する方法について学習します。

目標

このラボでは、次のタスクを行います。

  • プロジェクト環境を設定する。
  • パイプライン コードを確認し、構成する。
  • AI パイプラインを実行する。

設定と要件

[ラボを開始] ボタンをクリックする前に

注: 以下の説明をお読みください。

ラボの時間は計測されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

必要なもの

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。 注: Pixelbook を使用している場合は、このラボをシークレット ウィンドウで実施してください。

ラボを開始してコンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側のパネルには、このラボで使用する必要がある一時的な認証情報が表示されます。

    [認証情報] パネル

  2. ユーザー名をコピーし、[Google Console を開く] をクリックします。 ラボでリソースが起動し、別のタブで [アカウントの選択] ページが表示されます。

    注: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
  3. [アカウントの選択] ページで [別のアカウントを使用] をクリックします。[ログイン] ページが開きます。

    [別のアカウントを使用] オプションがハイライト表示されている、アカウントのダイアログ ボックスを選択します。

  4. [接続の詳細] パネルでコピーしたユーザー名を貼り付けます。パスワードもコピーして貼り付けます。

注: 認証情報は [接続の詳細] パネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。請求が発生する事態を避けるため、Google Cloud アカウントをお持ちの場合でも、このラボでは使用しないでください。
  1. その後次のように進みます。
  • 利用規約に同意してください。
  • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
  • 無料トライアルには登録しないでください。

しばらくすると、このタブで Cloud コンソールが開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 Cloud コンソール メニュー

プロジェクトの権限を確認する

Google Cloud で作業を開始する前に、Identity and Access Management(IAM)内で適切な権限がプロジェクトに付与されていることを確認する必要があります。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[IAM と管理] > [IAM] を選択します。

  2. Compute Engine のデフォルトのサービス アカウント {project-number}-compute@developer.gserviceaccount.com が存在し、編集者のロールが割り当てられていることを確認します。アカウントの接頭辞はプロジェクト番号で、ナビゲーション メニュー > [Cloud の概要] > [ダッシュボード] から確認できます。

Compute Engine のデフォルトのサービス アカウント名と編集者のステータスがハイライト表示された [権限] タブページ

注: アカウントが IAM に存在しない場合やアカウントに編集者のロールがない場合は、以下の手順に沿って必要なロールを割り当てます。
  1. Google Cloud コンソールのナビゲーション メニューで、[Cloud の概要] > [ダッシュボード] をクリックします。
  2. プロジェクト番号(例: 729328892908)をコピーします。
  3. ナビゲーション メニューで、[IAM と管理] > [IAM] を選択します。
  4. ロールの表の上部で、[プリンシパル別に表示] の下にある [アクセスを許可] をクリックします。
  5. [新しいプリンシパル] に次のように入力します。
{project-number}-compute@developer.gserviceaccount.com
  1. {project-number} はプロジェクト番号に置き換えてください。
  2. [ロール] で、[Project](または [基本])> [編集者] を選択します。
  3. [保存] をクリックします。

タスク 1. プロジェクト環境の設定

Vertex AI Pipelines はサーバーレスのフレームワークで実行されます。このフレームワークでは、事前コンパイル済みのパイプラインがオンデマンドで、またはスケジュールに従ってデプロイされます。円滑に実行するためには、環境の構成を行う必要があります。

Qwiklabs 環境でパイプライン コードをシームレスに実行するには、コンピューティング サービス アカウントの Cloud Storage に対する権限昇格を行う必要があります。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[IAM と管理] > [IAM] をクリックします。

  2. デフォルトのコンピューティング サービス アカウント {project-number}-compute@developer.gserviceaccount.com の鉛筆アイコンをクリックし、[ストレージ管理者] ロールを割り当てます。

  3. スライドアウト ウィンドウで [別のロールを追加] をクリックします。検索ボックスに「ストレージ管理者」と入力します。検索結果のリストから、[バケットとオブジェクトのすべてを管理する権限を付与します] と書かれた [ストレージ管理者] を選択します。

  4. [保存] をクリックし、コンピューティング サービス アカウントにロールを割り当てます。

権限の編集のダイアログ。前述のフィールドと [保存] ボタンを含みます。

パイプラインの実行に伴い、アーティファクトは取り込み時とエクスポート時にアクセスされます。

  1. このコードブロックを Cloud Shell で実行して、プロジェクト内にバケットと 2 つのフォルダを作成します。フォルダにはそれぞれに空のファイルがあります。
gcloud storage buckets create gs://{{{primary_project.project_id|Project ID}}} touch emptyfile1 touch emptyfile2 gcloud storage cp emptyfile1 gs://{{{primary_project.project_id|Project ID}}}/pipeline-output/emptyfile1 gcloud storage cp emptyfile2 gs://{{{primary_project.project_id|Project ID}}}/pipeline-input/emptyfile2

パイプラインはすでに作成されています。このパイプラインを Qwiklabs プロジェクトで実行できるようにするには、いくつかの微調整が必要です。

  1. ラボのアセット フォルダから AI パイプラインをダウンロードします。
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/ai_pipelines/basic_pipeline.json

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 環境の設定

タスク 2. パイプライン コードの設定と確認

パイプライン コードは、Python で記述された 2 つの AI オペレーションで構成されます。この例はとてもシンプルですが、さまざまな言語(TensorFlow、Python、Java など)で記述された ML プロシージャを、デプロイしやすい AI パイプラインにオーケストレーションすることがいかに簡単であるかを示しています。ラボの例では、2 つの文字列の値に対して連結と取り消しの 2 つのオペレーションを実行します。

  1. まず、AI パイプラインの実行用の出力フォルダを更新する必要があります。Cloud Shell で Linux のストリーム エディタ(sed)コマンドを使用して、設定を調整します。
sed -i 's/PROJECT_ID/{{{primary_project.project_id|Project ID}}}/g' basic_pipeline.json
  1. basic_pipeline.json を調べ、出力フォルダがプロジェクトに設定されていることを確認します。
tail -20 basic_pipeline.json

basic_pipeline.json のコードの主なセクションは、deploymentSpec ブロックと command ブロックです。以下は、最初の command ブロックである、入力文字列を連結するジョブです。これは、Python 3.7 エンジンで実行されるように設計された Kubeflow Pipeline SDK(kfp)コードです。今回はコードを変更しません。以下は参照用のセクションです。

"program_path=$(mktemp -d)\nprintf \"%s\" \"$0\" > \"$program_path/ephemeral_component.py\"\npython3 -m kfp.v2.components.executor_main --component_module_path \"$program_path/ephemeral_component.py\" \"$@\"\n", "\nimport kfp\nfrom kfp.v2 import dsl\nfrom kfp.v2.dsl import *\nfrom typing import *\n\ndef concat(a: str, b: str) -> str:\n return a + b\n\n" ], "image": "python:3.7"
  1. 以下のコマンドでファイル全体を調べることができます。
more basic_pipeline.json 注: スペースキーを押してファイルの最後まで進みます。途中でファイルを閉じる場合は、「q」を入力して more コマンドを閉じます。
  1. 次に、更新した basic_pipeline.json ファイルを、先ほど作成した Cloud Storage バケットに移動します。これで、AI パイプラインのジョブを実行するためにファイルにアクセスできるようになります。
gcloud storage cp basic_pipeline.json gs://{{{primary_project.project_id|Project ID}}}/pipeline-input/basic_pipeline.json

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 パイプラインのデプロイ

タスク 3. AI パイプラインの実行

  1. コンソールでナビゲーション メニュー(ナビゲーション メニュー アイコンを開き、[AI] の下の [Vertex AI] をクリックします。

  2. 青色の [すべての推奨 API を有効化] をクリックします。

  3. API が有効になったら、左側のメニューの [パイプライン] をクリックします。

  4. 上部のメニューにある [実行を作成] をクリックします。

  5. [実行の詳細] で [Cloud Storage からインポートする] を選択し、[Cloud Storage の URL] でプロジェクトの Cloud Storage バケット内で作成した pipeline-input フォルダを参照します。basic_pipeline.json ファイルを選択します。

  6. [選択] をクリックします。

  7. [リージョン] で を選択します。

  8. 残りのデフォルト値は変更せず、[続行] をクリックします。

[ランタイムの構成] はデフォルト値のままにします。Cloud Storage 出力ディレクトリが、前のステップで作成したバケット フォルダに設定されていることに注目してください。パイプライン パラメータは basic_pipeline.json ファイルの値から事前に入力されていますが、このウィザードで実行時に変更することもできます。

  1. [送信] をクリックしてパイプラインの実行を開始します。

  2. 自動的に [パイプライン] ダッシュボードに戻ります。実行状況が [保留中]、[実行中]、[完了] と進行します。実行の完了までには 3~6 分かかります。

  3. ステータスが [完了] になったら、実行名をクリックして実行グラフと詳細を確認します。

実行グラフと関連詳細

  1. ステップごとにグラフの要素が存在します。concat オブジェクトをクリックしてジョブの詳細を確認します。

  2. [ジョブを表示] ボタンをクリックします。新しいタブが開き、パイプラインのリクエストを満たすためにバックエンドに送信された Vertex AI のカスタムジョブが表示されます。

Vertex AI のカスタムジョブ

必要に応じて、パイプラインの実行に関するその他の詳細も確認できます。

お疲れさまでした

Vertex AI Pipelines を使用して、Kubeflow Pipeline SDK で作ったシンプルな ML パイプラインを実行しました。

マニュアルの最終更新日: 2024 年 4 月 26 日

ラボの最終テスト日: 2024 年 4 月 26 日

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。