【ハンズオン記事】Vertex AIでPaLM2とImagen 本当に使えるのか試してみた!

皆さん、PaLMとImagenがGoogle CloudのVertex AIで公開!という情報をご存知でしたか?
私はある記事を見て知り、そしてふと思いました。
「画像出力するチャットボット」作れるんじゃない?と。
現状、画像生成してくれるチャットボットって少ないですし、使えたら便利ですよね。
そこで今回は、本当に実現できるのかを確認するため、まずはGoogle Cloudのサービスが最適なのか試してみました。
ぜひ最後までご覧ください!
今回試すサービスについて
今回は、
- PaLM 2 for Chat
- Imagen
が実際に動くのか試してみます。
まずは、それぞれの概要についてご確認ください。
PaLM 2 for Chat について
自然な会話ができるように、ファインチューニングされたサービス。
使われているAIは、Google が開発したPaLM 2 という大規模言語モデルです。
自社専用のチャットボットを作るときなどに使われます。
Imagenについて
ユーザーが提供するテキストの内容に基づいて、関連する画像を生成するサービス。
Imagenと類似するサービスには、Stable DiffusionやMidjourneyなどがありますが、Imagenの生成する画像の質は特に高いと言われています。
実際に、Google Researchによると、OpenAIの同様のAIツールであるDALL-E 2よりもImagenが生成する画像が人間に好まれる結果になったとのことです。
実際に使ってみた
まずは、「PaLM 2 for Chat」と、「Imagen」を使うために、Google Cloud上でのサービスの見つけ方について。
検索窓にVertex ai と入力し、「Vertex AI」をクリック。
「Model Garden」をクリック。
遷移した画面から探す。
PaLM for Chat
使用までの手順は以下の通りです。
1.GitHubからGoogleの提供するサンプルコードをダウンロードしましょう。
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git2.Google Cloudの認証を行います。
gcloud auth application-default login3.仮想環境を作るために以下を実行します。
python3 -m venv env
source env/bin/activate4. プログラムを実行するために必要なモジュールをインストールします。
pip install -r requirements.txt5. chat.py ファイルに、以下をコードを追加しました。
from google.cloud import aiplatform
aiplatform.init(project='yourproject')yourproject に関しては、こちらから適切な値を選んでください。
で、コマンドラインで以下を実行。
gcloud auth application-default set-quota-project yourproject6.これで準備完了。プログラムを実行します。
python chat.pyちなみに、修正されたプログラム(chat.py)の全文はこちらです。
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# [START aiplatform_sdk_chat]
from vertexai.preview.language_models import ChatModel, InputOutputTextPair
#↓追加した箇所↓
from google.cloud import aiplatform
aiplatform.init(project='yourproject')
def science_tutoring(temperature: float = .2) -> None:
chat_model = ChatModel.from_pretrained("chat-bison@001")
# TODO developer - override these parameters as needed:
parameters = {
"temperature": temperature, # Temperature controls the degree of randomness in token selection.
"max_output_tokens": 256, # Token limit determines the maximum amount of text output.
"top_p": 0.95, # Tokens are selected from most probable to least until the sum of their probabilities equals the top_p value.
"top_k": 40, # A top_k of 1 means the selected token is the most probable among all tokens.
}
chat = chat_model.start_chat(
context="My name is Miles. You are an astronomer, knowledgeable about the solar system.",
examples=[
InputOutputTextPair(
input_text='How many moons does Mars have?',
output_text='The planet Mars has two moons, Phobos and Deimos.',
),
]
)
response = chat.send_message("How many planets are there in the solar system?", **parameters)
print(f"Response from Model: {response.text}")
# [END aiplatform_sdk_chat]
return response
if __name__ == "__main__":
science_tutoring()
7.以下の画像のようになったら、PaLM for Chatが正常に動作することを確認しました。

Imagen
次は、Imagenですが、Vertex AIで、「Imagen」と検索したけど、出てこない……。
もしかして、アメリカだけ限定公開されてる!?と思ってVPNサービスを契約。アメリカのIPアドレスを経由してみましたが変わらず……。
悔しい。
以下の記事によると、ベータ版が提供されているようです。
ただし、「AI test Kitchen」アプリを通じて、少人数限定とのこと。
あとで試してみます!

以上で、imagenの検証は終わりです。
まとめ
PaLM 2は、Google が開発した大規模言語モデル。Bardというチャットボットサービスで利用されています。
Vertex AIというAIモデルのプラットフォームから利用可能。
Imagenはテキストから画像を生成するAIツールで、類似のサービスと比較しても高品質な出力が評価されています。
一部のユーザのみにベータ版が公開されており、現状は利用できない。
最後に
今回は、PaLMとImagenをGoogle CloudのAIプラットフォーム Vertex AIから実行する方法を検証しました。
Imagenに関しては、利用できず残念です。
当初の目的だった「画像を出力してくれるチャットボット」は、Stable Diffusion APIを活用し作成予定なので、ご期待ください。
以上、株式会社SaaSis AIエバンジェリストLeonでした。
また、SaaSisでは、全体最適の視点でシステム提案から検証、導入、連携までワンストップで支援いたします。
「“ChatGPT × 社内データ“のAIチャットボットを作りたい」
「ChatGPTを使って、社内業務をどのように効率化できるか知りたい」
などChatGPT関連のご相談も承っております。
お気軽にご連絡くださいっ!

Leon Kobayashi
必ずフォローすべきAIエバンジェリスト(自称)
=> 元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。

Leon Kobayashi
自称: 必ずフォローすべきAIエバンジェリスト
=>元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】
官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。

Leon Kobayashi
必ずフォローすべきAIエバンジェリスト(自称)
=>元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】
官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。
\ご覧いただきありがとうございます!/
チャットボット開発等のPoC開発
承っております!

- “ChatGPT × 社内データ“のAIチャットボットを作りたい方
- 自社の業務にジェネレーティブAIを適用したい方

Recruit
現在、生成系AI事業急成長のため
積極的に人材採用を行なっています
ChatGPT講演会承っております!

