arrow_back

Cloud Dataflow と Vertex AI によるリアルタイムの機械学習

参加 ログイン

Cloud Dataflow と Vertex AI によるリアルタイムの機械学習

1時間 30分 クレジット: 5

GSP275

Google Cloud セルフペース ラボ

概要

このラボでは、Cloud Dataflow と Vertex AI を使用するリアルタイムのストリーミング機械学習(ML)パイプラインを実装します。

Dataflow は、さまざまなデータ処理パターンの実行に対応したマネージド サービスです。

Vertex AI は、統合 AI プラットフォーム内でトレーニング済みのカスタムツールを使用して ML モデルの構築、デプロイ、スケーリングを行うために使用される統合 ML プラットフォームです。

このラボで使用する履歴データセットは、米国運輸統計局のウェブサイトから取得された米国の国内線フライトの履歴情報です。

このラボでは、書籍『Data Science on Google Cloud Platform, 2nd Edition』(O'Reilly Media, Inc. 刊)用に開発されたコードサンプルとスクリプトを使用します。

目標

  • Python でリアルタイムのフライト イベント シミュレーションを構成して実行する

  • Google Cloud Dataflow のストリーミング ジョブを構成してデプロイし、リアルタイムのフライト遅延予測サービスを提供する

設定と要件

設定

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

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

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

必要なもの

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間

注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。

注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。

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

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

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

タスク 1. Data Science on Google Cloud リポジトリのクローンを作成する

  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で、[Compute Engine] > [VM インスタンス] の順にクリックします。

  2. lab-vm-ql VM と並んでいる [SSH] ボタンをクリックし、ターミナルを起動して接続します。このターミナルは、terminal-1 と呼ばれます。

  3. [接続] をクリックして、接続を確認します。

  4. terminal-1 に次のコマンドを入力して、リポジトリのクローンを作成します。

git clone https://github.com/GoogleCloudPlatform/data-science-on-gcp/
  1. このラボのリポジトリ ソース ディレクトリに移動します。

cd ~/data-science-on-gcp/11_realtime
  1. 必要なパッケージをインストールします。

pip3 install google-cloud-aiplatform cloudml-hypertune pyfarmhash tensorflow==2.8.0 pip3 install kfp 'apache-beam[gcp]'

タスク 2. 機械学習トレーニング データセット

  1. Dataflow パイプラインを実行してトレーニング データセットを作成します。

export PROJECT_ID=$(gcloud info --format='value(config.project)') export BUCKET=$PROJECT_ID-ml python3 create_traindata.py --input bigquery --project $PROJECT_ID --bucket $BUCKET --region us-central1 この手順を行った後に IAM 権限に関連するエラーが表示された場合は、数分待ってからこのコマンドを再試行してください。

パイプラインの実行中は、Google Cloud コンソールを使用してジョブの進捗状況をモニタリングします。

  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で、[その他のプロダクト] > [Dataflow] の順にクリックします。

  2. Dataflow ジョブの名前をクリックしてジョブの詳細ページを開きます。ここでジョブの進行状況を確認できます。

ジョブの完了には 15~20 分ほどかかります。

タスク 3. モデルをトレーニングする

スクリプトを実行してモデルをトレーニングするスクリプトの詳細については、『Data Science on Google Cloud Platform, 2nd Edition』の第 10 章をご覧ください。

  1. Ch10 model.py と train_on_vertexai.py ファイルにコピーされるスクリプトを実行し、必要な変更を行います。

python3 change_ch10_files.py
  1. 処理を行ったデータセットでカスタムの ML モデルをトレーニングします。

python3 train_on_vertexai.py --project $PROJECT_ID --bucket $BUCKET --region us-central1 --develop --cpuonly この手順を行った後に IAM 権限に関連するエラーが表示された場合は、数分待ってからこのコマンドを再試行してください。
  1. Cloud コンソールのナビゲーション メニューで、[Vertex AI] > [トレーニング] の順にクリックして、トレーニング パイプラインをモニタリングします。

ステータスが「終了」になったら、トレーニング パイプラインの名前をクリックしてデプロイのステータスをモニタリングします。

モデルのトレーニングとデプロイの完了には 20 分程度かかります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 フライトという名の AI プラットフォーム モデルを確認する

  1. terminal-1 に、BigQuery データセットの小さなローカル サンプルを作成し、ローカルテストを行います。

bq query --nouse_legacy_sql --format=sparse \ "SELECT EVENT_DATA FROM dsongcp.flights_simevents WHERE EVENT_TYPE = 'wheelsoff' AND EVENT_TIME BETWEEN '2015-03-01' AND '2015-03-02'" \ | grep FL_DATE \ > simevents_sample.json
  1. 予測を呼び出すためのローカル パイプラインを実行します。

python3 make_predictions.py --input local -p $PROJECT_ID
  1. 結果を確認します

cat /tmp/predictions*

タスク 4. パイプラインを介してデータをストリーミングする

  1. Cloud コンソールで、lab-vm-ql VM の横にある [SSH] ボタンをクリックし、別のターミナルを起動します。このターミナルは、terminal-2 と呼ばれます。

  2. [接続] をクリックして、接続を確認します。

  3. terminal-2 で、フライト シミュレーション スクリプトを起動するために次のコマンドを実行します。

cd ~/data-science-on-gcp/04_streaming/simulate export PROJECT_ID=$(gcloud info --format='value(config.project)') python3 ./simulate.py --startTime '2015-02-01 00:00:00 UTC' --endTime '2015-03-03 00:00:00 UTC' --speedFactor=30 --project $PROJECT_ID

2015 年の実際のフライトデータに基づいてフライトデータ イベントが作成されます。

  1. terminal-1 で、リアルタイムの予測 Dataflow ジョブを実行します。

python3 make_predictions.py --input pubsub --output bigquery --project $PROJECT_ID --bucket $BUCKET --region us-central1
  1. Cloud コンソールのナビゲーション メニューで、[Dataflow] をクリックし、ジョブの名前をクリックして実行中のパイプラインをモニタリングします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 リアルタイムの予測 Dataflow ジョブが実行されていることを確認する

パイプラインを実行した状態で BigQuery コンソールに移動し、フライト情報が実際にストリーミングされていることを確認します。

  1. Cloud コンソールで、ナビゲーション メニューから [BigQuery] をクリックします。

  2. クエリエディタに以下のクエリを追加します。

SELECT * FROM dsongcp.streaming_preds ORDER BY event_time DESC LIMIT 10

クエリにエラーがある場合(赤い感嘆符)、クエリチェックが合格(緑のチェックマーク)するまでさらに数分待ってから、[実行] をクリックします

スクリプトを実行すると、この BigQuery テーブルにデータが書き込まれているのが確認できます。Cloud Dataflow で実行されているリアルタイムの予測サービスは、simulate.py スクリプトで生成されたフライトデータを使用してリアルタイムに予測を生成しています。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery でリアルタイムに予測を確認する

お疲れさまでした

Cloud Dataflow と Vertex AI を使用してリアルタイムのストリーミング機械学習パイプラインを実装しました。

completion_badge_Data_Science_on_Google_Cloud_Machine_Learning-135.png

クエストを完了する

このセルフペース ラボは、Qwiklabs の「Data Science on Google Cloud: Machine Learning」およびクエストの一部です。クエストとは学習パスを構成する一連のラボのことで、完了すると成果が認められて上のようなバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、次のクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご確認ください

次のラボを受講する

これはこのクエストの最後のラボです。ラボを順番に受講しなかった場合は、引き続き以下に示すこのクエストの別のラボを受講してください。

または、「Advanced ML: ML Infrastructure」など、他のクエストを引き続き受講してください。

次のステップと詳細情報

Google Cloud Training & Certification

Google Cloud 技術を最大限に活用できるようになります。このクラスでは、必要な技術力とベスト プラクティスを習得し、継続的に学習することができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、仮想環境など、多忙なスケジュールに対応できるオプションが用意されています。認定資格を取得することで、Google Cloud の技術のスキルと知識を証明できます。

マニュアルの最終更新日: 2022 年 4 月 5 日
ラボの最終テスト日: 2022 年 4 月 14 日

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