AI を深く知りたいなら試すべき 6 つのインタラクティブ チュートリアル
Google Cloud Japan Team
※この投稿は米国時間 2023 年 4 月 1 日に、Google Cloud blog に投稿されたものの抄訳です。
消費者にとっても開発チームにとっても、AI にこれほどまで脚光が当たったことがあったでしょうか。筆者は AI との会話をホストしていますが、皆様からいただくコメントのうち最も多いものの一つが、大量のリソースや ML 開発者を用意することなく、AI の運用を開始するにはどうすればよいか、というものです。これに対してまず紹介するのは、コンソールにある宝の山、インタラクティブ チュートリアルです。実はここには、事前構築済みモデルの API 経由での使用から、Vertex AI を使用した独自の画像分類モデルの構築に至るまで、20 以上の多様な AI チュートリアルが用意されているのです。ここでは、エンドツーエンドの ML プラットフォームである Vertex AI に注目してみましょう。
1. AutoML Image による画像分類モデルのトレーニング
イヌ?ネコ?ホットドッグ?ホットドッグじゃない?画像分類はオンラインやテレビ番組でも取り上げられていますが、実際は難しい問題です。トレーニングには大量の画像を必要とし、人によるラベル付け作業も大量に発生し、画像の高次元データを処理しなければなりません。
Vertex AI は ML モデルの構築、デプロイ、スケール プロセスをより簡易化し、迅速化することで、これらの課題に対処する ML プラットフォームです。AutoML は Vertex AI の一部であり、最小限の労力と ML の専門知識でも高品質の ML モデルを実現できる、さらに扱いやすいツールです。AutoML を使用すると、画像、動画、テキスト、表形式データを使用してモデルを構築できます。
このチュートリアルでは、画像データ用の Vertex AI データセットを作成し、AutoML によって分類モデルをトレーニングする手順について説明します。このモデルをエンドポイントにデプロイして、オンライン予測を行います。一般公開され、Cloud Storage にホストされている花の画像のデータセットを使用します。
2. AutoML Video による動画分類モデルのトレーニング
昨日、何本の動画を見ましたか?少なくとも 1 本は見ているのではないでしょうか(筆者はいつも 30 本以上見ています)。動画コンテンツは爆発的に増えており、これに伴い、動画コンテンツをより的確に分析し、ユーザーに効果的にターゲティングしたい、というニーズも高まっています。しかし、動画データの有意な分析は、依然としてハードルが高いのが現状です。
Vertex AI AutoML Video では、カスタムラベルを使った動画へのアノテーション付け、ストリーミング動画分析、ショット変更の検出、オブジェクトの検出とトラッキングを行えます。ML の経験がどれほど少なくても、動画内のオブジェクトを分類、追跡するカスタムモデルを簡単にトレーニングできます。これは、事前トレーニング済みの Video Intelligence API でカバーされない、カスタムラベルが必要とされるプロジェクトに最適です。
このチュートリアルでは、Cloud Storage 上で、スポーツ動画を使用して Vertex AI データセットを作成する手順について説明します。その後、AutoML を使用して分類モデルをトレーニングし、バッチ形式で予測を行います。
3. AutoML Text によるテキスト分類モデルのトレーニング
テキスト分類を使用すると、ほぼあらゆる種類のテキストを整理、構造化、分類できます。たとえば、大量のテキストデータの処理を必要とする多様なユースケース(ソーシャル メディアのコメント、カスタマー サポート チケット、オンライン レビュー、ニュース レポート)に自然言語処理(NLP)は不可欠であり、まさにこれが会話型 AI の基盤となります。しかし、NLP モデルのトレーニングや構築は容易ではありません。BERT や XLNet を使いこなせるチームは、まだそれほど多くは存在しません(これらは、ドキュメントの分類、ドキュメント内の感情分析などを中心としたプロジェクトにとっては過剰な機能である場合が少なくありません)。
Vertex AI AutoML Text は、ML を介してテキストの構造と意味を明らかにし、大規模データセットのサポートと統合された REST API により、カスタム エンティティの抽出やカスタム感情分析を可能にします。
このチュートリアルでは、Kaggle オープンソース データセットを使用してテキスト分類モデルを構築し、幸せの度合いで瞬間を分類する「幸せ検出器」モデルをトレーニングする手順を説明します。
4. Vertex AI Tabular による表形式データ分類モデルのトレーニング
表形式データは、画像や動画ほど大きく注目されるわけではありませんが、結果予測に役立つ豊富な情報を構成し得るデータです。たとえば、銀行の顧客が定期預金(投資の種類)を契約するかどうか、顧客の年齢、収入、職業などの特徴を使用して予測するとしましょう。この種のモデルは、銀行でどのようなユーザーにマーケティング リソースを集中させるかを判断する際に役立ちます。このような場合に構築する最適な ML モデルは、バイナリ分類モデルです。しかし、こうしたモデルの作成には、特徴量エンジニアリング、アルゴリズムの選択、調整など、さまざまな作業が必要になります。
Vertex AI Tabular では、シンプルなプロセスとインターフェースを使用して、表形式データに機械学習を実行できます。表形式データの問題に対し、バイナリ分類、マルチクラス分類、回帰、予測といったモデルタイプを作成できます。
このチュートリアルでは、オープンソースの銀行マーケティング データから Vertex AI データセットを作成し、AutoML を使用して分類モデルをトレーニングする手順について説明します。このモデルをエンドポイントにデプロイし、オンライン予測を行います。
*上級者向けのヒント: 表形式データ 101 および Vertex AI の表形式ワークフロー を参照してください。
5. Vertex AI Workbench によるユーザー管理ノートブックの作成
ML を使い始めたばかりのユーザー、またはディープ ラーニング フレームワークの実行を検討しているユーザーにとって、最適なツールの一つとなるのが Jupyter Notebooks です。これは、使いやすいインタラクティブなデータ サイエンス環境であり、コード、画像、テキスト、出力を逐次表示させることができます。
一般的に、Jupyter Notebook はサーバー上にインストールする必要があります。しかし、ディープ ラーニング モデルの実行を検討している場合、ML フレームワークにとって脆弱性となり得る画像を使用して、ディープ ラーニング仮想マシン(VM)を作成および構成しなければならないという課題にぶつかることがあります。
Vertex AI Workbench ユーザー管理ノートブックでは、選択したフレームワークに対し、事前に確認、最適化、テストされた画像が提供されるので、労力が大きく軽減されます。ノートブックには JupyterLab がパッケージ済みで、さらにディープ ラーニング パッケージ スイートがプリインストールされているため、TensorFlow および PyTorch フレームワークにも対応します。ユーザー管理ノートブック インスタンスは Google Cloud の認証と許可によって保護されます。さらに、GitHub と統合され、GitHub リポジトリと同期できます。
このチュートリアルでは、Google Cloud プロジェクトで Notebooks API を有効化し、Vertex AI Workbench ユーザー管理ノートブックに移動して、ユーザー管理ノートブック インスタンスを作成し、JupyterLab を開く手順について説明します。
6. Vertex AI Training を使ったカスタム ML モデルのトレーニング
トレーニングに時間がかかるモデルの場合は、必ずしもノートブックが最も便利な選択肢になるとは限りません。ML アプリケーションを構築する場合、モデルを一度だけトレーニングすれば済むというわけにはいきません。モデルが最新の状態を保ち、価値ある結果を出し続けられるように、時間をかけてトレーニングを繰り返したいと思うはずです。新しい ML の問題に取り組み始めたばかりの時期であれば、ノートブックのセルを手動で実行するのも良い方法かもしれません。しかし、規模を拡大して実験を自動化したい場合や、本番環境のアプリケーション用のモデルを再トレーニングしたい場合は、マネージド ML トレーニング オプションの方がはるかに便利です。
Vertex AI Training は AutoML とは異なります。Vertex AI Training では、一連のビルド済みアルゴリズムを使用して、トレーニング アプリケーションを作成できます。また、カスタムコードを使用してモデルをトレーニングでき、Docker を使用してパッケージ化できます。AI インフラストラクチャの最適化によるフルマネージドであり、トレーニングの時間と費用を抑えられます。
このチュートリアルでは、AutoML を使用するのではなく、Vertex AI でカスタム トレーニングを行い、クラウドで独自の ML モデル トレーニング コードを実行する手順について説明します。Vertex AI のカスタム トレーニングを使用して、Vertex AI のいずれかのビルド済みコンテナ環境で、TensorFlow Keras トレーニング アプリケーションを実行します。一般公開されている画像データセットを使用してモデルをトレーニングし、画像の花の種類を特定します。
その他のチュートリアル
ML / AI 用のインタラクティブなチュートリアルは、これだけではありません。Document AI や Speech-to-Text など、事前トレーニング済み ML API の使用方法に関するものを含め、他にも多数用意されています。これらのチュートリアルは、Google Cloud で AI がどのように動作するか、実際に体験することができる素晴らしい手段です。ご自身のニーズに最も適しているのはどの製品か、すべてのチュートリアルを試してみることをおすすめします。
- デベロッパー リレーションズ エンジニア Stephanie Wong