Amazon-Bedrock

生成AIが苦手とする少数の比較をBedrockで利用可能なモデルを使って試してみた

はじめに

お疲れさまです、寺井です。

少し前ですが、生成AIが誤った回答を生成しがちな、一つの質問が話題になっていました。

『9.11と9.9のどちらが大きい?』



これ、皆さん即答できるでしょうか…??

最初はパット見で[9.11]だ と思っちゃったんですけど、あくまでも数値における比較なら[9.9]が正解なんですよね…。

でもバージョン管理とかにおける、".9"と".11"の比較なら、[9.11]の方が大きい(新しい)と言えることもあったり。

要は、人間でも一瞬回答に困ってしまうような質問となっているかと思います。

この質問を、色んなLLMに対して投げてみることで、その結果を比較してみたいと思います!!

やったこと

プロンプト(質問)

モデルごとに日本語を扱えるか否かでバラけさせたくなかったので、質問を英語にしてから投げて、その結果を日本語訳して記録しています。

日本語:9.11と9.9のどちらが大きい?
英語 :Which is bigger, 9.11 or 9.9?

Amazon Bedrockで使用できるモデル

2024-09-30 時点で、Bedrockにてテキスト生成で利用できるモデルプロバイダは6つ
(Stability AIのモデルはイメージ作成のみに対応しているため除外)

  • AI21 Labs
  • Amazon
  • Anthropic
  • Cohere
  • Meta
  • Mistral AI

上記モデルプロバイダにおいて、性能の高いものと低いものを2つずつ使って、計12のモデルで比較検証してみました!

検証方法

Bedrockの[プレイグラウンド]機能を使ってサクッと試してみました。

以前紹介したことのある「SageMaker Canvas」にあったような、複数のモデルを並べて比較できる[比較モード]という機能があり、2つ並べて比較ができます。(もっとたくさん並べられると嬉しい…。)

参考:[アドカレ2023]「Amazon SageMaker Canvas」を使って「Amazon Bedrock」から使える基盤モデルを複数並べて俳句を作らせてみた

先にまとめ(結果一覧表)

毎回同じ結果が得られるわけではないので、一概には言えませんが、やはり後継の新しいモデルの方が『正しい回答』且つ、テキストの見せ方も上手で『優秀な出力』をしてくれているケースが多かったと感じます。

LLMも日に日に進化していってるんですねぇ…。(感動

(個人的には[Claude 3.5 Sonnet]の出力が一番好みです!)

会社 モデル 正答 日本語の回答
AI21 Labs Jurassic-2 Mid 9.11 は 9.9 より大きいです。
Jamba 1.5 Large 9.9 は 9.11 より大きいです。
Amazon Titan Text G1 - Express 9.11と9.9、どちらの数字が大きいかについての意見は言えない。しかし、その数値をお伝えすることはできる。9.11は9.110000000000052840295360661109432478106689453125に等しく、9.9は9.899999999996447286321199499070644378662109375に等しい。
Titan Text G1 - Premier 2つの数字を比較すると、9.9の方が9.11より大きい。

比較の内訳はこうだ:
1. どちらの数字も最初の桁は9なので、次の桁に進む。
2. 9.9の2桁目は9、9.11の2桁目は1。
3. 9は1より大きいので、9.9の方が大きい。

Anthropic Claude Instant 9.11は9.9より大きい。

小数を比較するには、小数点の右側の桁を右から左へ位取りしていく。9.11の十の位(小数第1位)の桁は1であり、9.9の十の位の桁0より大きい。したがって、9.11は9.9より大きい。

Claude 3.5 Sonnet 10進数を比較するには、以下のステップを踏む:
1. まず、整数部分(小数点の前の桁)を見る。
2. 整数部分が同じなら、10分の1(小数点以下の最初の桁)を比較する。
3. 10分の1が同じなら、100分の1(小数点以下の2桁目)を比較する。

この場合
1. 整数部はどちらも9なので、10進数に移る。
2. 十の位は9.11が1、9.9が9。
3. 9は1より大きいので、9.9の方が大きい。

別の考え方もある:
9.9=9.90(最後に0を加えても値は変わらない)。
9.90は9.11より明らかに大きい。

Cohere Command 9.9より9.11の方が大きい。
他に何かお手伝いできることはありますか?
Command R+ 9.9は9.11より大きい。
Meta Llama 3.2 1B Instruct どちらの数字が大きいか、比べてみよう。

9.11は9.9より大きい。

だから、9.11は9.9より大きい。

Llama 3.2 90B Instruct 9.9は9.11より大きいは誤りで、実際には9.11は9.1より大きいが、9.11は9.9より小さい。
Mistral AI Mistral 7B Instruct 9.9は9.11より大きい。しかし、10進数を比較する場合、小数点の左側の桁に注目することに注意することが重要である。この場合、どちらの数字も小数点の前の桁は同じなので、小数点の右側の桁が多い方が小さい。この場合、9.11は小数点の右に1桁しかないのに対し、9.9は小数点の右に桁がない。したがって、9.9の方が大きい。
Mistral Large (2402) 9.9 ”という数字は” 9.11 より大きいです。ただし、日付について話すとき、たとえば 12 月 31 日 (12/31) は 11 月 9 日 (11/9) の後なので、混乱するかもしれません。しかし、数値のコンテキストでは、数字自体を比較します。この場合、9.9 は 9.11 より大きいです。明確にするために、小数の比較方法を説明します。

1. 整数 (小数点の前の部分) を比較します。この場合、両方の数字の整数は 9 です。

2. 整数が同じ場合は、10 分の 1 (小数点の後の最初の数字) を比較します。ここでは、両方の数字の 10 分の 1 が 9 です。

3. 10 分の 1 が同じ場合は、100 分の 1 (小数点の後の 2 番目の数字) を比較します。この場合、9 は 9 の 100 分の 1 ですが、9.11 は 1 の 100 分の 1 です。

9 は 1 より大きいので、9.9 は 9.11よりも大きいです。

考察

ここからは各モデルごとに個別に回答を見ていこうと思います。

AI21 Labs

Jurassic-2 Mid

不正解!
シンプルに間違っています。

9.11 は 9.9 より大きいです。

Jamba 1.5 Large

正解!
シンプルに正しい回答。

9.9 は 9.11 より大きいです。

Amazon

Titan Text G1 - Express

不正解!!
一体何を言ってるんだ…???(困惑

9.11と9.9、どちらの数字が大きいかについての意見は言えない。しかし、その数値をお伝えすることはできる。
9.11は9.110000000000052840295360661109432478106689453125に等しく、9.9は9.899999999996447286321199499070644378662109375に等しい。

Titan Text G1 - Premier

正解!!
手前の数字から順に見ていくことでどちらが大きいかを導き出してくれていて、端的かつわかりやすい。

2つの数字を比較すると、9.9の方が9.11より大きい。

比較の内訳はこうだ:

1. どちらの数字も最初の桁は9なので、次の桁に進む。
2. 9.9の2桁目は9、9.11の2桁目は1。
3. 9は1より大きいので、9.9の方が大きい。

したがって、答えは9.9は9.11より大きい。

Anthropic

Claude Instant

不正解!!

正しいアプローチの逆で右から比較してしまっているせいで、間違った回答になってしまっています。なんか惜しい。

9.11は9.9より大きい。

小数を比較するには、小数点の右側の桁を右から左へ位取りしていく。
9.11の十の位(小数第1位)の桁は1であり、9.9の十の位の桁0より大きい。したがって、9.11は9.9より大きい。

Claude 3.5 Sonnet

正解!!!

しかも、こちらの甘かった定義に対してちゃんと補足しています。(『10進数を』~)
更に小数点比較のステップと、桁数を揃える小ワザみたいなのも紹介してくれて、非常に明瞭で誰でも分かりやすい回答をしていると感じます。

めちゃくちゃ優秀。

10進数を比較するには、以下のステップを踏む:

1. まず、整数部分(小数点の前の桁)を見る。
2. 整数部分が同じなら、10分の1(小数点以下の最初の桁)を比較する。
3. 10分の1が同じなら、100分の1(小数点以下の2桁目)を比較する。

この場合

9.11と9.9

1. 整数部はどちらも9なので、10進数に移る。
2. 十の位は9.11が1、9.9が9。
3. 9は1より大きいので、9.9の方が大きい。

したがって、9.9は9.11より大きい。

別の考え方もある: 
9.9=9.90(最後に0を加えても値は変わらない)
9.90は9.11より明らかに大きい。

つまり、9.9の方が大きい。

Cohere

Command

正解!
シンプルで良き

9.9 は 9.11 より大きいです。

Command R

正解!
シンプルでおk…なんですけど、他の優良モデルは良い意味でのお節介テキストが豊富な分、ちょっと寂しい感じはしますね。

9.9は9.11より大きい。

Meta

Llama 3.2 1B Instruct

不正解!!!

言うてることも訳わからんし、完全に混乱してますね…。

どちらの数字が大きいか、比べてみよう。

9.11は9.9より大きい。

だから、9.11は9.9より大きい。

Llama 3.2 90B Instruct

不正解…かと思いきや最後に正解??

なんか微妙なので△とします。

9.9は9.11より大きいは誤りで、実際には9.11は9.1より大きいが、9.11は9.9より小さい。

Mistral AI

Mistral 7B Instruct

正解!!

比較のステップも教えてくれていていい感じですね。

9.9は9.11より大きい。しかし、10進数を比較する場合、小数点の左側の桁に注目することに注意することが重要である。
この場合、どちらの数字も小数点の前の桁は同じなので、小数点の右側の桁が多い方が小さい。
この場合、9.11は小数点の右に1桁しかないのに対し、9.9は小数点の右に桁がない。したがって、9.9の方が大きい。

Mistral Large (2402)

正解!!!

こちらも『9.9 ”という数字は”~』と前提を置いてくれていて、非常に優秀です。

少数比較のステップも分かりやすく出力してくれていて、いい感じです。
(日本語訳がイマイチだったので原文も載せておきます。)

9.9 ”という数字は” 9.11 より大きいです。
ただし、日付について話すとき、たとえば 12 月 31 日 (12/31) は 11 月 9 日 (11/9) の後なので、混乱するかもしれません。
しかし、数値のコンテキストでは、数字自体を比較します。この場合、9.9 は 9.11 より大きいです。明確にするために、小数の比較方法を説明します。

1. 整数 (小数点の前の部分) を比較します。この場合、両方の数字の整数は 9 です。

2. 整数が同じ場合は、10 分の 1 (小数点の後の最初の数字) を比較します。ここでは、両方の数字の 10 分の 1 が 9 です。

3. 10 分の 1 が同じ場合は、100 分の 1 (小数点の後の 2 番目の数字) を比較します。この場合、9 は 9 の 100 分の 1 ですが、9.11 は 1 の 100 分の 1 です。

9 は 1 より大きいので、9.9 は 9.11よりも大きいです。
The number 9.9 is bigger than 9.11. However, I understand that it might seem confusing because when we talk about dates, for example, December 31st (12/31) comes after November 9th (11/9). But in the context of numerical values, we compare the numbers themselves. In this case, 9.9 is greater than 9.11. To clarify, I'll explain how we compare decimal numbers:

1. Compare the whole numbers (the part before the decimal point). In this case, both numbers have a whole number of 9.
2. If the whole numbers are the same, compare the tenths (the first number after the decimal point). Here, both numbers have 9 in the tenths place.
3. If the tenths are the same, compare the hundredths (the second number after the decimal point). In this case, 9 has a hundredth of 9, while 9.11 has a hundredth of 1.

Since 9 is greater than 1, 9.9 is greater than 9.11.

番外編(AWS以外のモデル)

ここからはオマケとして、Bedrock以外の主要モデルに対して試してみました!

GeminiとCopilotは、無償版の標準モデルしか利用できる環境がなかったため、新旧の比較は叶いませんでしたが、ChatGPTの旧モデル以外全員正解でした!素晴らしい。

(Copilotの顔文字カワイイ)

プロバイダ モデル 正答 回答(日本語訳)
OpenAI ChatGPT 4 9.11 は 9.9 より大きいです。
ChatGPT o1-preview 9.9は9.11より大きい。

2つの数字を比較する:

- 9.11は9.11に等しい。
- 9.9は9.90に等しい。

9.11と9.90を比較すると、9.90(9.9である)が9.11より大きいことは明らかである。

Google Gemini 1.5 Flash 9.9は9.11より大きい。
Microsoft Copilot 9.9は9.11より大きい。これは9.11が9.110に相当し、両者を比較すると9.110は9.900より小さいからです。

他に何かお知りになりたいことはありますか?😊

感想

聞き方1つで回答が大きく変わってしまう。プロンプトの重要性を感じられる非常に面白い検証でした。

「プロンプトが不十分!」と言われればそれまでですが、シンプルに『どっちが大きい?』と聞くことで、質問の複雑さも考慮した上で、
[正しい(と思える) →ユーザーが期待する回答を返せている]かどうか、は重要な判断基準になると感じました。

モデルを試す際には、こうした観点を1つの参考材料にしてみても良いのではないでしょうか。

最後までお付き合いいただきありがとうございました!

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA