🦄

Vertex AI PaLM API の text-unicorn モデルを試してみる (text-bison モデルとの比較)

2024/01/24に公開

はじめに

こんにちは、クラウドエース データソリューション部所属の竹内です。
クラウドエースの IT エンジニアリングを担うシステム開発統括部の中で、特にデータ基盤構築・分析基盤構築からデータ分析までを含む一貫したデータ課題の解決を専門とするのがデータソリューション部です。

データソリューション部では活動の一環として、毎週 Google Cloud の新規リリースを調査・発表し、データ領域のプロダクトのキャッチアップをしています。その中でも重要と考えるリリースを本ページ含め記事として公開しています。

今回は2023年11月30日に一般提供(GA)された、Vertex AI の PaLM 2 for Text の text-unicorn モデル について紹介します。
このモデルは PaLM モデル ファミリーの中で最も高度なテキストモデルで、複雑な自然言語タスクに使用できます。
(該当リリースノート:Vertex AI release notes - November 30, 2023

PaLM 2 について

PaLM 2 は2023年5月に Google が発表した大規模言語モデル(LLM)で、分類や質問応答、翻訳、自然言語生成などの、高度な推論タスクを得意としています。
また PaLM 2 には4つのサイズがあり、軽量な順に Gecko、Otter、Bison、Unicorn となっています。

現在 Vertex AI で使用される PaLM 2 のモデルサイズは次の3つです。

  • Unicorn
    • PaLM ファミリーの最大モデル。
    • コーディングや思考の連鎖(CoT)などの複雑な自然言語タスクに適している。
  • Bison
    • 精度とレイテンシが妥当なコストで最適化されているモデル。
    • 幅広い言語タスク(分類、要約など)に適している。
  • Gecko
    • 最小サイズで、費用が最も少ないモデル。
    • シンプルなタスクに適している。

(参考:言語モデルの概要

PaLM 2 for Text の text-unicorn モデルについて(text-bison モデルとの比較)

ここからは PaLM 2 for Text の text-unicorn モデルと、より前に提供されていた text-bison モデルを比較してみます。

機能

text-unicorn モデルと text-bison モデルの機能概要は下表の通りです。

モデル名 特徴 最大トークン数 トレーニング データ チューニング
text-unicorn 複雑な自然言語タスクに適している。 入力: 8,192
出力: 1,024
2023年2月まで ・教師あり学習: ×
・RLHF: ×
・抽出: プレビュー
text-bison 幅広い言語タスク(分類、要約など)に適している。 入力: 8,192
出力: 1,024
2023年2月まで ・教師あり学習: ○
・RLHF: ○
・抽出: ×

(参考:PaLM API モデル

「最大トークン数」や「トレーニング データの期間」は各モデルで同じでした。
また「チューニング」については、text-unicorn モデルでは 教師あり学習RLHF はサポートされていませんが、抽出(Distillation)(※2024年1月22日時点ではプレビュー版)がサポートされています。
抽出では、大規模な教師モデル (text-unicorn) を使用して、小規模な生徒モデル (text-bison) をトレーニングします。その結果得られる抽出モデルは、生徒モデルとほぼ同じサイズで、大規模な教師モデルで扱う同様な処理を、低コストかつ低レイテンシで行えます。

料金

text-unicorn モデルの料金は、text-bison モデルと比較して、入力は10倍、出力は15倍となっています。

モデル名 料金(1,000文字あたり)
text-unicorn 入力 ・オンライン:$0.0025
・バッチ  :$0.0020
text-unicorn 出力 ・オンライン:$0.0075
・バッチ  :$0.0060
text-bison 入力 ・オンライン:$0.00025
・バッチ  :$0.00020
text-bison 出力 ・オンライン:$0.0005
・バッチ  :$0.0004

(参考: ​​Vertex AI における生成 AI の料金 - テキスト生成

割り当てと上限

1分あたりのリクエスト数(us-central1)について、text-unicorn モデルは text-bison モデルよりも少なめです。ただし必要に応じて、割り当て上限の引き上げをリクエストすることが可能です。

モデル名 1分あたりのリクエスト数
text-unicorn 100
text-bison 1600

(参考:Vertex AI での 生成 AI の割り当て上限 - リージョンとモデル別の割り当て

ロケーション

text-unicorn モデルは、アイオワ リージョン(us-central1)でのみサポートされています。
一方 text-bison モデルは、アメリカ、ヨーロッパ、アジア太平洋地域の複数のリージョンでサポートされており、東京リージョン(asia-northeast1)でも使用できます。
(参考:Vertex AI の生成 AI のロケーション - 利用できるロケーション

検証

続いて text-unicorn モデルの実力を検証してみました。

検証内容

text-unicorn モデルは複雑なタスクに適しているとのことなので、思考の連鎖(CoT)プロンプティングを試してみました。
次の計算問題を text-unicorn モデルと text-bison モデルに入力し、それぞれの出力を確認しました。

Q:
お店にはりんごが1個200円で売られています。
りんごを6個以上購入した場合、割引が適用されます。
具体的には、1~5個目は定価の100%、6個目以降は定価の50%の価格で購入できます。
りんごを7個購入した場合の合計金額はいくらでしょうか。
A:
1~5個目までのりんごの価格は、1個あたり 200 * 1.00 = 200 円です。
6~7個目までのりんごの価格は、1個あたり 200 * 0.50 = 100 円です。
したがって、りんごを7個購入した場合の合計金額は 200 * 5 + 100 * 2 = 1000 + 200 = 1200 円になります。

Q:
お店にはりんごが1個200円で売られています。
りんごを6個以上購入した場合、割引が適用されます。
具体的には、1~5個目は定価の100%、6~10個目は定価の75%、11~20個目は定価の50%、21個目以降は定価の45%で購入できます。
りんごを25個購入した場合の合計金額はいくらでしょうか。
A:

※備考:予測時のパラメータについては、max_output_tokens を 1024 に設定し、それ以外はデフォルト値を使用しました。

結果

text-bison モデルの回答

text-bison モデルの回答は惜しくも不正解でした。
n~m 個目のりんごの個数は m-(n-1) 個ですが、この計算方法を教えていなかったので、11~20個目のりんごの個数を間違えてしまったようです。

1~5個目までのりんごの価格は、1個あたり 200 * 1.00 = 200 円です。
6~10個目までのりんごの価格は、1個あたり 200 * 0.75 = 150 円です。
11~20個目までのりんごの価格は、1個あたり 200 * 0.50 = 100 円です。
21~25個目までのりんごの価格は、1個あたり 200 * 0.45 = 90 円です。
したがって、りんごを25個購入した場合の合計金額は 200 * 5 + 150 * 5 + 100 * 5 + 90 * 5 = 1000 + 750 + 500 + 450 = 2700 円になります。

text-unicorn モデルの回答

text-unicorn モデルの回答は正解でした👏
りんごの個数の計算も、しっかりと出来ていました。

1~5個目までのりんごの価格は、1個あたり 200 * 1.00 = 200 円です。
6~10個目までのりんごの価格は、1個あたり 200 * 0.75 = 150 円です。
11~20個目までのりんごの価格は、1個あたり 200 * 0.50 = 100 円です。
21~25個目までのりんごの価格は、1個あたり 200 * 0.45 = 90 円です。
したがって、りんごを25個購入した場合の合計金額は 200 * 5 + 150 * 5 + 100 * 10 + 90 * 5 = 1000 + 750 + 1000 + 450 = 3200 円になります。

まとめ

今回は Vertex AI の PaLM 2 for Text の text-unicorn モデル について紹介しました。
text-unicorn モデルのメリット・デメリットとしては次が挙げられます。

  • メリット
    • text-bison モデルよりも複雑なタスクに対応できる。
  • デメリット
    • 料金が高い。
    • リクエスト上限数が少ない。
    • 利用可能なリージョンが us-central1 のみである。

また上記のデメリットから想像されるように、多くのリクエストを処理するような場合には、text-unicorn モデルをそのまま使用するのは効率的ではなさそうです。
もし text-bison モデルでは処理できないような複雑なタスクを多く処理したい場合は、抽出(Distillation)(※2024年1月22日時点ではプレビュー版)が役立ちそうです。

Discussion