arrow_back

Vertex AI を使用した ML ソリューションの構築とデプロイ: チャレンジラボ

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Vertex AI を使用した ML ソリューションの構築とデプロイ: チャレンジラボ

Lab 2時間 universal_currency_alt クレジット: 5 show_chart 中級
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP354

Google Cloud セルフペース ラボ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。各ステップの説明に沿って進める形式ではなく、クエスト内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「Building Machine Learning Solutions with Vertex AI」クエストに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

設定

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

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

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

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

チャレンジ シナリオ

あなたは最近、映画レビュー ウェブサイトを運営するスタートアップ企業に機械学習エンジニアとして採用されました。上司から、ユーザーの映画レビューを肯定的か否定的かで分類するための機械学習モデルを構築するよう指示されました。これらの予測はダウンストリームの映画評価システムで入力として使用され、映画ウェブサイトのアプリケーションに上位の好意的なレビューと批判的なレビューをそれぞれ表示します。課題: ビジネス上の要件は、既存の独自ソリューションの改良として、75% を超える精度を達成するモデルを 6 週間以内に運用化することです。また、会社のデータ ウェアハウスで多少の探索的分析を行った結果、より高性能なソリューションを構築するのに、5 万件のテキスト レビューから成る小さなデータセットしか利用できないことがわかりました。

チャレンジ

高いパフォーマンスの機械学習モデルを限られたデータからすばやく構築してデプロイするために、Google Cloud の Vertex AI プラットフォームでオンライン予測を行えるよう、カスタムの TensorFlow BERT 感情分類器をトレーニングしてデプロイするプロセスを学習します。Vertex AI は Google Cloud の次世代の ML 開発プラットフォームであり、最新の事前構築済み ML コンポーネントと AutoML を活用しながら、開発の生産性、データによってワークフローや意思決定をスケーリングする能力、価値実現までの時間をそれぞれ大きく向上させることができます。

ラボのアーキテクチャの図

最初に、一般的なテスト ワークフローとして、TF-Hub および tf.keras 分類レイヤからの事前トレーニング済み BERT コンポーネントを基にモデルを構築し、Vertex ノートブックでモデルをトレーニングして評価します。次に、モデルのコードを Docker コンテナにパッケージ化して、Google Cloud の Vertex AI でトレーニングします。最後に、Vertex Pipelines で Kubeflow パイプラインを定義して実行することで、モデルをトレーニングし、オンライン予測のクエリを実行する Vertex Endpoint にデプロイします。

タスク 1. Vertex ノートブック インスタンスを作成する

  1. [Vertex AI] > [ワークベンチ] > [インスタンス] に移動します。

  2. 新しいプロジェクトなので、インスタンスは表示されません。画面中央にある [新規作成] ボタンをクリックします。次のオプションを選択します。

  • [名前]: vertex-ai-challenge
  • [リージョン]:
  • [ゾーン]: デフォルト値
  1. [Workbench のタイプ] で [インスタンス] を選択し、[続行] をクリックします。

  2. [以前のバージョンを使用する] を選択します。[バージョン] プルダウンで [workbench-instances-v20230717-debian-11-py310 (M109)] を選択します。[続行] をクリックします。

  3. [マシンタイプ] で [e2-standard-4] を選択します。[作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。Vertex AI ノートブック インスタンスを作成する

タスク 2. Challenge Notebook をダウンロードする

  1. ノートブックで [Terminal] をクリックします。

  2. リポジトリのクローンを作成します。

git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. ラボに必要なパッケージをインストールします。
cd training-data-analyst/quests/vertex-ai/vertex-challenge-lab pip install -U -r requirements.txt --user

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。Challenge Notebook をダウンロードする

  1. ファイルが含まれる training-data-analyst/quests/vertex-ai/vertex-challenge-lab フォルダに移動します。

  2. ノートブック ファイル vertex-challenge-lab.ipynb を開きます。使用するカーネルを尋ねられたら、[TensorFlow 2-11] カーネルを選択します。

  3. [設定] セクションで、PROJECT_IDGCS_BUCKETUSER の各変数を定義します。

データセットのインポートと前処理に使用する残りのコードが、すべて提供されています。残りのステップはノートブック ファイル内にあります。進行状況やヒントを確認するには、このラボガイドを再び参照してください。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。データセットをインポートする

タスク 3. Vertex ノートブックでモデルをローカルで構築してトレーニングする

このセクションでは、TensorFlow を使用してモデルをローカルでトレーニングします。

注: このラボは、公式の TensorFlow BERT テキスト分類チュートリアルを、Vertex AI サービスを使用できるように拡張したものです。TensorFlow を使用した BERT モデルの微調整については、チュートリアルをご覧ください。

TensorFlow BERT 感情分類器を作成してコンパイルする

  1. #TODO セクションに、BERT テキストの前処理用の hub.KerasLayer を追加するコードを記入します。

  2. #TODO セクションに、BERT テキストのエンコード用の hub.KerasLayer を追加するコードを記入します。

  3. #TODO セクションに、BERT 感情分類器をローカルに保存するコードを記入します。保存先は ./bert-sentiment-classifier-local ディレクトリとします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。モデルを構築してトレーニングする

タスク 4. Cloud Build を使用してモデルコンテナを構築し、Google Cloud Artifact Registry に送信する

カスタム コンテナ イメージ用の Artifact Registry を作成する

ヒント: 必ず locationrepository-formatdescription の各フラグを指定してください。

Cloud Build を使用してコンテナ イメージを構築し、Artifact Registry に送信する

  • #TODO セクションに、Cloud Build を使用してカスタム モデルコンテナを構築し、Artifact Registry に送信するコードを記入します。詳しくは、gcloud builds submit のドキュメントをご覧ください。
ヒント: config フラグには、上で定義した {MODEL_DIR}/cloudbuild.yaml を指定し、実際のモデル ディレクトリを含めてください。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。コンテナ イメージを構築して Artifact Registry に送信する

タスク 5. KFP SDK を使用してパイプラインを定義する

  • #TODO セクションに、上のセルで定義した CustomContainerTrainingJobOp コンポーネントを追加して構成するコードを記入します。
ヒント: 引数は前の CustomContainerTrainingJob と同じになります。 注: モデルのトレーニングとデプロイには、30~40 分かかる場合があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。KFP SDK を使用してパイプラインを定義する

タスク 6. Vertex エンドポイントでデプロイ済みモデルにオンライン予測のクエリを実行する

  • #TODO セクションに、Vertex Endpoint でオンライン予測を生成するコードを記入します。

お疲れさまでした

これで完了です。このラボでは、Vertex AI を使用してカスタムの BERT 感情分類器を構築してデプロイする方法を学習しました。また、Cloud Build を使用してカスタムモデル コンテナを構築し、Artifact Registry に送信する方法、KFP SDK を使用してパイプラインを定義する方法も学習しました。これで、Vertex AI を使用して独自のカスタムモデルを構築し、デプロイする準備が整いました。

ML Vertex AI バッジ

次のスキルバッジを獲得する

このセルフペース ラボは、「Building Machine Learning Solutions with Vertex AI」スキルバッジ クエストの一部です。修了すると成果が認められて上のようなバッジが贈られます。獲得したバッジを履歴書やソーシャル プラットフォームに記載し、#GoogleCloudBadge を使用して成果を公表しましょう。

このスキルバッジ クエストは、Google Cloud のデータ サイエンティスト / ML エンジニア向け学習プログラムの一部です。この学習プログラムの他のスキルバッジ クエストを修了済みの場合は、他の 20 科目以上の登録可能なスキルバッジ クエストをカタログから検索してみてください。

Google Cloud トレーニングと認定資格

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

マニュアルの最終更新日: 2023 年 11 月 11 日

ラボの最終テスト日: 2023 年 10 月 31 日

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