技術

2023.07.31

SAYAKA ITO

Google のLLM “PaLM 2” を使ってみた

Google のLLM “PaLM 2” を使ってみた

皆様の愛すべきunerry CTO伊藤です。
このブログでは Google がアナウンスした PaLM 2 を使ってあれやこれを試し、世界征服を目指すことにします。どうぞよろしくお願いします。

1.PaLM 2 とは

2023/5/10の Google I/O で発表された、Google の LLM PaLM 2。
同日に Bard も日本語対応がアナウンスされましたね。

資料)unerry office hours vol.3 Google I/O 最速Recap 及び 三笘の試合みてきた件

そして、本ブログでは PaLM API 経由で PaLM 2 のモデルを呼び出してみました。
図にすると以下のようになります。

使わせていただいた公式のチュートリアルはこちら。

Quickstart using the Vertex AI API
https://cloud.google.com/vertex-ai/docs/generative-ai/start/quickstarts/api-quickstart

PaLM APIは、 Google Cloud の「Vertex AI」のサービスの一つとして一般リリースされています。
ということは、 Google Cloud のアカウントがあれば使えるという事になり、会社で使いたい場合は費用は一括請求です。
会社で新しいクラウドサービスと契約する時には稟議等が必要だと思いますが、すでにGCPを利用してたらそれが無いから助かりますね。

2.PaLM API が出たので試してみた

現時点では、 PaLM API には大きく3種類の機能があります。

  • 1.text prompts
     要約、分類、感情分析、抽出、アイデア出し
     モデル:text-bison
  •  

  • 2.chat prompts
     コンテキストを指定してチャットできる
     モデル:chat-bison
  •  

  • 3.text embeddings
     単語や文章を数値化する
     モデル:textembedding-gecko
  • 1とか2は字面でなんとなく想定できますが、「3.text embeddings」は単語や文章を数値化する機能と言われても最初何に使うのか全然わからず、「?」でした。調べたら、Google検索にも使われている「似たものを検索する機能」の要素技術を、我々一般ピープルにも使えるように提供してくれたものだったんです。

    この Embeddings は激アツでして、先行して今年の3月にAPIを公開した Open AI API でも Chat や画像生成に加えて Embeddings の機能が公開されています。チャットボットの中にこの Embeddings を使ったベクター検索を仕込む事で、膨大なライブラリから希望のものをスッと引き出す魔法のコンシェルジュが作れるのです。会社内の資料をGoogle検索できるようなもの、しかもチャットボットと「こういう感じのやつ〜」とか会話しながら絞り込んでいけるんですよ。すごくないすか!

    戻りまして、とりまサンプルを実行していこうと思います。

    ■ text prompts の例 (感情分析、アイデア出し)

    Bard と同じ事ができる、っちゃあそれだけなんですが、APIリクエストだと結果をいかようにも料理できるのが魅力です。
    たとえば、広告の効果測定で、SNSからキーワードで書き込み抽出→感情分析→データベースに貯めておくとか。

    これも面白い使い方ですね。
    ChatGPT も Bard も、現時点では間違いが多いです。ただし「正解とはいえないが、それに近いもの」を出してくれるので、自分の考えをまとめるためのアドバイスを求める時に最適だと思うのです。
    逆にもしAIが正解をズバッといってしまうようになったら、人間は何もしなくなるので、このレベルでいいんじゃないかとすら思っています。

    この例では、プロジェクトマネージャーの採用面接で質問すべきことを10個出してもらっています。ハズレの無い、素晴らしい回答だと思います。でも日本人なので日本語で読みたいところ。

    3. 日本語で試してみた

    このようにいろいろ試していたら、 Google の PaLM API 日本語版の Trasted Tester に選んでいただきました。

    そこで「プロジェクトマネージャーの採用面接」の回答を日本語で所望しました。
    やり方は簡単で、プロンプトに「in Japanese」のように付け加えるだけ。

    質問:
    “prompt”: “Give me ten interview questions for the role of program manager in Japanese.”

    回答:
    “content”: “1. プロジェクトマネージャーの役割について教えてください。\n2. プロジェクトマネージャーとして成功するために必要なスキルは何だと思いますか?\n3. プロジェクトマネージャーとして直面する最も大きな課題は何だと 思いますか?\n4. プロジェクトマネージャーとして、チームメンバーとどのようにコミュニケーションをとっていますか?\n5. プロジェクトマネージャーとして、ステークホルダーとどのようにコミュニケーションをとっていますか?\n6. プロ ジェクトマネージャーとして、予算とスケジュールをどのように管理していますか?\n7. プロジェクトマネージャーとして、リスクをどのように管理していますか?\n8. プロジェクトマネージャーとして、課題をどのように解決していますか?\n9. プロジェクトマネージャーとして、チームメンバーをどのようにモチベーションを高めていますか?\n10. プロジェクトマネージャーとして、自分の仕事をどのように評価していますか?”,

    質問は英語でも、あっけらかんと、回答を日本語で返してきます。言語の壁が1ミリもないんです。
    あるいは日本語で質問すれば、日本語で回答してきます。

    質問:
    “prompt”: “プロジェクトマネージャーの面接で聞く質問を10個おしえてください”

    回答:
    “content”: “1. プロジェクトマネジメントの経験について教えてください。\n2. プロジェクトの成功に必要な要素は何だと思いますか?\n3. プロジェクトの失敗を経験したことがありますか?その失敗から何を学びましたか?\n4. プロジェクトの予算とスケジュールをどのように管理しますか?\n5. プロジェクトのリスクをどのように管理しますか?\n6. プロジェクトのコミュニケーションとチームワークをどのように促進しますか?\n7. プロジェクトのステークホルダーとどのように連携しますか?\n8. プロジェクトの課題にどのように対処しますか?\n9. プロジェクトを成功に導くために必要なスキルは何だと思いますか?\n10. プロジェクトマネジメントの今後の展望についてどう思いますか?”,

    英語質問と日本語質問の回答が若干違うのは興味深いです。
    “temperature”というパラメタで回答のランダム度を指定できるようになっており、これを0.0にするとスタートレックのデータ少佐のように毎回全く同じ回答をします。
    ですが”temperature”を0.0にしても、英語で質問した時と日本語で質問した時の回答は違っていました。まぁ、そういうものなのでしょう。

    なお Text Prompts のパラメタのオプションは以下のようになっています。
    自動翻訳がやや怪しいので、調べたい人はリソースを見てくださいね。

    今まで英語の資料を要約する時、いったんDeepLで全部翻訳→目視で読んでから、自分の頭で要約してましたが、翻訳・読解が要らないという、自分の頭のメモリを開放して他のことに使えるのは良いことです。

    楽するぶん他でしっぺ返しは来そうですが、シャーロック・ホームズも、地球が自転していることなど「僕に不要な知識だ。忘れてしまおう」と言っていましたし、深掘りするべきところに全集中すればいいんだと思います。

    では今日はこれくらいにして、次回は来週あたりに出そうと思います。
    See you next week!

    この記事を書いたのは

    SAYAKA ITO

    SAYAKA ITO 記事一覧

    株式会社unerry CTO。1999年9月にITベンチャーに入社。50以上のモバイルWebサイトの開発をへて2011年から流行りのソシャゲの開発へ。趣味はAlexaスキルの開発とイングランドのアーセナルの試合観戦。技術書典では温泉BBAというユニットで技術同人誌を発行し、近頃はラノベも書いている。2018年unerry入社。

    SHARE THIS ENTRY

    ABOUT

    「うねりの泉」は、「リアル行動データ」活用のTipsやお役立ち情報、そして会社の文化や「ひと」についてなど、unerryの"とっておき"をご紹介するメディアです。

    POPULAR

    TAGS