【ハンズオン記事】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.git

2.Google Cloudの認証を行います。

gcloud auth application-default login

3.仮想環境を作るために以下を実行します。

python3 -m venv env
source env/bin/activate

4. プログラムを実行するために必要なモジュールをインストールします。

pip install -r requirements.txt

5. chat.py ファイルに、以下をコードを追加しました。

from google.cloud import aiplatform
aiplatform.init(project='yourproject')

yourproject に関しては、こちらから適切な値を選んでください。

で、コマンドラインで以下を実行。

gcloud auth application-default set-quota-project yourproject

6.これで準備完了。プログラムを実行します。

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」アプリを通じて、少人数限定とのこと。
あとで試してみます!

MUO
What Is Google Imagen AI? How to Try It in Beta It's no shock that Google would develop its own AI image generator. Imagen AI is not quite like the rest, though.

以上で、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コンサル

(拙者、早口オタク過ぎて性に合わず退社)<-イマココ

【好きなもの】

官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。

Recruit

現在、生成系AI事業急成長のため

積極的に人材採用を行なっています

ChatGPT講演会承っております!

  • URLをコピーしました!
目次