チェックポイント
Enable Google Cloud services
/ 5
Create a Vertex AI Workbench instance
/ 10
Copy the notebook from a Cloud Storage bucket
/ 10
Create a Cloud Storage Bucket
/ 5
Create training script
/ 20
Train the Model on Vertex AI
/ 20
Deploy the model
/ 20
Endpoint queried successfully
/ 10
Classify Images with TensorFlow on Google Cloud: チャレンジラボ
GSP398
概要
チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。
チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。
100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。
このラボは、「Classify Images with TensorFlow on Google Cloud」スキルバッジ コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。
テスト対象トピック:
- 画像分類用の CNN をトレーニングし、トレーニング済みのモデルを指定ディレクトリに保存するスクリプトを作成する。
- Vertex AI のカスタム トレーニング ジョブを使用して、トレーニング スクリプトを実行する。
- 予測を行う Vertex オンライン予測エンドポイントに、トレーニング済みのモデルをデプロイする。
- オンライン予測をリクエストし、レスポンスを確認する。
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
Google Cloud のサービスを有効にする
- Cloud Shell で
gcloud
を使用し、ラボで使用するサービスを有効にします。
これにより、Vertex AI でモデルのトレーニング、デプロイ、説明ジョブを実行できるようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
チャレンジ シナリオ
あなたは最近、光学式文字認識アプリを開発するチームの ML エンジニアとして採用されました。上司から、ひらがなを認識するための ML モデルを構築するよう指示されました。課題となるビジネス上の要件は、既存の独自ソリューションの改良として、90% を超える精度のモデルを 6 週間以内に構築することです。また、会社のデータ ウェアハウスで探索的分析を行った結果、この高性能なソリューションの構築に利用できるのは、6 万枚の文字画像から成る小さなデータセットのみであることがわかりました。
高いパフォーマンスの ML モデルを限られたデータからすばやく構築してデプロイするために、あなたは、Google Cloud の Vertex AI プラットフォームでオンライン予測を行えるよう、CNN 分類器をトレーニングしてデプロイするプロセスを学習します。Vertex AI は Google Cloud の次世代の ML 開発プラットフォームであり、最新の事前構築済み ML コンポーネントを活用しながら、開発の生産性を高め、データを使ってワークフローや意思決定をスケーリングし、価値実現までの時間を短縮することができます。
最初に、よく利用される試験的ワークフローとして、tf.keras
分類レイヤを使用してカスタム CNN モデルをトレーニングするスクリプトを作成します。次に、モデルのコードをカスタム トレーニング ジョブに送信し、Vertex AI で提供されている事前構築済みの Docker コンテナを使用してカスタム トレーニング ジョブを実行することにより、トレーニングと予測を行います。最後に、モデルを予測に使用できるよう、エンドポイントにデプロイします。
タスク 1. Vertex ノートブック インスタンスを作成する
-
[Vertex AI] > [ワークベンチ] > [ユーザー管理のノートブック] に移動します。
-
ノートブック インスタンスを作成します。[TensorFlow Enterprise 2.11](GPU なし)を選択します。ノートブックに
cnn-challenge
という名前を付け、その他の構成はデフォルトのままにします。 -
リージョン
を選択し、ゾーンには を選択します。 -
プロビジョニング済みの Vertex ノートブック インスタンスの名前の横にある [JupyterLab を開く] をクリックします。[JupyterLab を開く] オプションが表示されるまでに数分かかることがあります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 2. Challenge Notebook をダウンロードする
-
ノートブックで [ターミナル] をクリックします。
-
リポジトリのクローンを作成します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
-
ファイルが含まれる
training-data-analyst/self-paced-labs/learning-tensorflow/cnn-challenge-lab/
フォルダに移動します。 -
ノートブック ファイル
cnn-challenge-lab.ipynb
を開きます。 -
[設定] セクションで、
PROJECT_ID
変数とGCS_BUCKET
変数を定義します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 3. トレーニング スクリプトを作成する
このセクションでは、TensorFlow を使用してトレーニング スクリプト task.py
を完成させます。
TensorFlow の CNN 分類器を作成する
-
#TODO
セクションに、モデル作成用の最後のレイヤを追加するコードを記入します。 -
#TODO
セクションに、モデルを保存するコードを記入します。保存先は AIP_MODEL_DIR 環境変数とします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 4. モデルのトレーニング
Vertex AI でカスタム トレーニング ジョブを定義する
-
#TODO
セクションに、Vertex AI でカスタム トレーニング ジョブを作成するコードを記入します。こちらでドキュメントをご覧ください。
script_path
、container_uri
、model_serving_container_image_uri
の各パラメータを指定したことを確認してください。
Vertex AI パイプラインを使用してモデルをトレーニングする
-
#TODO
セクションに、上で定義したカスタム トレーニング ジョブの関数を実行するコードを記入します。こちらでドキュメントをご覧ください。
args
パラメータと machine_type
パラメータを指定したことを確認してください。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 5. モデルを Vertex オンライン予測エンドポイントにデプロイする
-
#TODO
セクションに、モデルをエンドポイントにデプロイするコードを記入します。こちらでドキュメントをご覧ください。
traffic_split
、machine_type
、min_replica_count
、max_replica_count
の各パラメータを指定したことを確認してください。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
タスク 6. Vertex オンライン予測エンドポイントでデプロイ済みのモデルにクエリを実行する
-
#TODO
セクションに、Vertex エンドポイントでオンライン予測を生成するコードを記入します。こちらでドキュメントをご覧ください。
お疲れさまでした
Vertex AI を使用して Google Cloud でモデルをトレーニングし、デプロイするワークフローを作成しました。最初に、Vertex ノートブックで画像分類用に畳み込みニューラル ネットワークを構築、トレーニング、評価するためのスクリプトを作成しました。次に、そのスクリプトを使用して、Google Cloud の Vertex AI でカスタム トレーニング ジョブを使用してモデルをトレーニングしました。最後に、モデルコンテナを Vertex エンドポイントにデプロイして、オンライン予測のためのクエリを実行しました。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 5 月 3 日
ラボの最終テスト日: 2024 年 4 月 19 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。