🌿

LLM・生成AI活用型アプリの実装スキル・トレーニング集:Google Cloud 中級編【2024年秋】

2024/10/02に公開

本記事は、「Google Cloud」を用いた「LLM・生成AI活用型アプリケーション」の実装スキルを身につけるための学習方法と学習コンテンツの紹介・解説シリーズ、第2記事目「中級編」となります


執筆:小川 雄太郎

本シリーズは「初級編」、「中級編」、「上級編」の計3記事から構成されています

本シリーズの概要
シリーズ第1回の「初級編」はこちらです -> 初級編へ
シリーズ第2回の「中級編」は本記事となります
シリーズ第3回の「上級編」はこちらです -> 上級編へ


本シリーズの目次
「章のタイトル」に英語表記が多いですが、基本的には日本語での学習コンテンツです

No. Lv. 章のタイトル
01 初級 Google Cloud Skills Boost とは
02 初級 Introduction to Vertex AI Studio
03 初級 Prompt Design in Vertex
04 初級 Vector Search and Embeddings
05 初級 Explore Generative AI with the Vertex AI Gemini API
06 初級 Vertex AI Gemini 1.0 Pro を活用してアプリを開発する
07 中級 生成AIモデルの選定とMLモデルのトレーニング手法
08 中級 Build and Deploy Machine Learning Solutions on Vertex AI
09 中級 Inspect Rich Documents with Gemini Multimodality and Multimodal RAG
10 中級 Develop GenAI Apps with Gemini and Streamlit
11 上級 Build Generative AI Agents with Vertex AI and Flutter
12 上級 Integrate Search in Applications using Vertex AI Agent Builder
13 上級 BigQueryでの生成AI・Geminiの活用手法(Gemini in BigQuery)
14 上級 Build LangChain Applications using Vertex AI
付録 上級 GenAI journey図 と GenOpsの解説


本記事では「中級編」として、No. 07~No.10 のコースについて、紹介と解説を実施します


07. 生成AIモデルの選定とMLモデルのトレーニング手法

コンテンツ名
ラボ Model Garden を使用したモデルの探索と評価
ラボ Vertex AI: カスタムモデルのトレーニングとサービング


「中級編」最初の章のです。まずは軽めの「ラボ」コース2本に取り組みます

1つ目のラボで使用する「Model Garden」とは Vertex AI で使用できる Google および Google のパートナーが提供する様々な MLモデル群のカタログです

ビジョン用モデルや文章要約用モデルなど、種々の用途のオープンソースのモデルが用意されています

「Model Garden」から目的のタスクに応じたモデルを選択したり、そのモデルの使用方法の具体的な実装コードを確認したり、ファインチューニングを実施することが可能です



2つ目のラボである、「Vertex AI: カスタムモデルのトレーニングとサービング」では、Vertex AI の「トレーニング ジョブ」を使用したモデルのトレーニングを、カスタムしたコンテナを利用して実施します

なお本ラボはLLMモデルではなく、通常のDLモデルを訓練する手法を確認します


08. Build and Deploy Machine Learning Solutions on Vertex AI

コンテンツ名
コース名 Build and Deploy Machine Learning Solutions on Vertex AI
ラボ Vertex AI: Qwik Start
ラボ Vertex AutoML Vision による損傷した自動車部品の特定
ラボ オンライン予測用の Vertex AI に BigQuery ML Customer Churn Classifier をデプロイ
ラボ Vertex Pipelines: Qwik Start
ラボ Vertex AI を使用した ML ソリューションの構築とデプロイ: チャレンジラボ【※オプショナル】


本コースは Vertex AI の一連の使用方法を実践的に学ぶコースです

本コースは生成AIとその活用アプリケーションに焦点を絞ったコースではありません。しかし、Google CloudでAI系の開発を実施するにあたり、Vertex AI の使い方を一通り把握しておくことは重要ですので、本章にて実施します


以下の画像は2つ目のラボである、「Vertex AutoML Vision による損傷した自動車部品の特定」を実施中の「Vertex AI Dataset」画面の様子です

このラボではDatasetを用意したあと、AutoMLで画像のクラス分類モデルを訓練し、エンドポイントを作成して、エンドポイントから推論を実施するまでの流れを習得します


3つ目のラボである、「オンライン予測用の Vertex AI に BigQuery ML Customer Churn Classifier をデプロイ」はBigQueryでモデルを学習させます。まずまずの訓練時間がかかります(約1時間弱)。「訓練が終わらない?」と心配せず、進めてください


以下の画面は4つ目のラボである、「Vertex Pipelines: Qwik Start」の様子です。Kubeflow Pipelines SDK を使用して、MLパイプラインを構築します

ただし本格的なMLパイプラインのトレーニングの実行には時間がかかり過ぎるので、ラボ内では構築方法の確認までになります

その代わりにラボ内では、簡単なHello Worldの文字列結合のパイプラインの構築と実行を実施します


5つ目のラボである、「Vertex AI を使用した ML ソリューションの構築とデプロイ: チャレンジラボ」は本シリーズでは【オプショナル】として、必須にはしません


オプショナルに設定した理由は、このチャレンジラボは内容が難しく、そして苦戦するポイントが多いラボだからです

本記事シリーズは、生成AI活用型アプリケーション開発実装スキルの学習を主目的としているので、Vertex AI そのものに関するチャンレンジラボはスキップしても問題ありません

コースを完全に修了させたい方のみ挑戦してみてください


09. Inspect Rich Documents with Gemini Multimodality and Multimodal RAG

コンテンツ名
コース名 Inspect Rich Documents with Gemini Multimodality and Multimodal RAG
ラボ Gemini を使用したマルチモダリティ【※05. で実施済み】
ラボ マルチモーダルの小売業向けレコメンデーションでの Gemini
ラボ Vertex AI Gemini API と Python SDK のスタートガイド【※03. で実施済み】
ラボ Vertex AI Gemini API を使用したマルチモーダル検索拡張生成(RAG)
ラボ Gemini によるマルチモダリティとマルチモーダル RAG を使用したリッチ ドキュメントの検査: チャレンジラボ


続いて、マルチモーダルな生成AIの活用コースにチャンレンジします

本コースは文章だけでなく、図や画像、動画も含んだ文書データに対してRAGを実施する方法を習得するコースとなります


1つ目と3つ目のラボは実施済みのため、残る3つに取り組んでください

4つ目のラボである、「Vertex AI Gemini API を使用したマルチモーダル検索拡張生成(RAG)」では、Gemini API、テキスト エンベディング、マルチモーダル エンベディング と RAG を組み合わせて使用して、ドキュメント検索エンジンを構築します

そして、「文書へのテキスト検索」、「文書への類似画像の検索」、「文書内のテキストに加えて画像や表の内容も読み込ませ、その文書全体に関する質問への回答の生成」などに取り組みます


5つ目のラボである、「Gemini によるマルチモダリティとマルチモーダル RAG を使用したリッチ ドキュメントの検査: チャレンジラボ」は内容が難しいです

1つ目のラボ、そして4つ目のラボで使用したJupyterNotebookのコードを参考にすると進めやすいです


10. Develop GenAI Apps with Gemini and Streamlit

コンテンツ名
コース名 Develop GenAI Apps with Gemini and Streamlit
ラボ Vertex AI Gemini API と cURL のスタートガイド
ラボ Gemini を使用した関数呼び出しの概要【※05. で実施済み】
ラボ Vertex AI Gemini API と Python SDK のスタートガイド【※03. で実施済み】
ラボ Gemini Pro と統合された Streamlit アプリの Cloud Run へのデプロイ
ラボ Gemini と Streamlit を使用した GenAI アプリの開発: チャレンジラボ


「中級編」の最後のコンテンツです

本コースは Gemini(生成AI)と簡易Webアプリケーションフレームワーク(Streamlit)を統合していく内容です

5つのラボから構成されています。2つ目と3つ目のラボは実施済みのため、残る3つのラボに取り組んで下さい


1つ目のラボである、「Vertex AI Gemini API と cURL のスタートガイド」はcURLコマンド(curl)での Gemini の操作方法の確認です


2つ目、3つ目のラボは実施済みのためスキップして、4つ目のラボである、「Gemini Pro と統合された Streamlit アプリの Cloud Run へのデプロイ」に進んでください


4つ目のラボでは「初級編」の 第6章「Vertex AI Gemini 1.0 Pro を活用してアプリを開発する」で実施した内容を再度、丁寧に実施します

具体的には、
(1) サンプル アプリケーションのコンテナイメージを「Artifact Registry」(Google のコンテナ レジストリサービスです)にpushします

(2) そしてそのイメージを「Gogle Cloud Run」(Google のサーバーレスなコンテナのデプロイ・実行環境サービス) にデプロイして、Streamlitのアプリケーションを動作させます

という流れを復習します。以下の画面のようなアプリケーションをCloud Run上で実行します


5つ目のラボである、「Gemini と Streamlit を使用した GenAI アプリの開発: チャレンジラボ」は、「チャレンジラボ」の名の通り、自分でチャレンジする内容が多いです

ここまで学んだ知見を活かしてラボを進めていきます


本ラボでは、架空のヘルスケア会社「Cymbal Health」の社員として、AI ベースのシェフアプリを作成します

利用者の料理の好み、食事制限、食物アレルギー、家にある食材や食料品店で購入できる食材に基づいてレシピを生成するアプリケーションとなります

そのために、Gemini 、Streamlit フレームワーク、Cloud Run を使用してシェフアプリの概念実証(PoC)のビルド、テスト、デプロイを行うという内容です


最終的に以下の画面のような、レシピ内容の生成アプリケーションがCloud Run上にデプロイされます
(生成内容が長いので、以下の画面は生成されたレシピ内容の途中までを表示しています)



さいごに

ここまでお疲れ様でした

「Google Cloud」を用いた「LLM・生成AI活用型アプリケーション」の実装スキルを身につけるための学習方法と学習コンテンツの紹介、第2回中級編は以上となります


次回の最終記事は上級編として、「Vertex AI Agent Builder」や、「BigQueryでのGeminiの活用方法」、そして「LangChainとGeminiを使用したアプリケーション開発」などに取り組みます


シリーズ最終回の「上級編」はこちらです -> 上級編へ
※シリーズ第1回の「初級編」はこちらです -> 初級編へ


以上、ご一読いただき、誠にありがとうございました


小川 雄太郎
株式会社松尾研究所 シニア・リサーチャー。「知能を創る」PJTに従事

https://matsuo-institute.com/recruit-news/2022-12-17-1/

松尾研究所テックブログ

Discussion