2024年夏、ChatGPTなどの強力な大規模言語モデル(LLM)をベースとした生成AIサービスが「9.11と9.9はどちらが大きいですか?」といった非常にシンプルな問題に引っかかったことがネット上で話題になりました。
このとき「同じ問題を試してみたら、本当に生成AIが間違えた!」といった感想が多く見られましたが、それだけにとどめておくのはもったいないと感じたので、データサイエンティストである私なりに少し深掘りして考えてみました。
なぜ生成AIはこんな簡単な問題でミスをしてしまうのでしょうか。LLMの仕組みとともに考えていきます。そして改善策もご紹介します。
このとき「同じ問題を試してみたら、本当に生成AIが間違えた!」といった感想が多く見られましたが、それだけにとどめておくのはもったいないと感じたので、データサイエンティストである私なりに少し深掘りして考えてみました。
なぜ生成AIはこんな簡単な問題でミスをしてしまうのでしょうか。LLMの仕組みとともに考えていきます。そして改善策もご紹介します。
生成AIが苦手なことは?
今回の実験では、複数の主流生成AIサービスを同時に比較できる「天秤AI byGMO(以下、天秤AI)」を利用し、次の4つのLLMで実験しました。いずれも2024年8月6日時点に天秤AIが対応していたLLMです。
・GPT-4o
・Claude 3.5 Sonnet
・Gemini 1.5 Pro
・Llama3 70b Instruct
LLMの生成結果にはランダム性があるため、本稿で紹介する全ての実験は5回程生成を繰り返しています。なお天秤AIはAPI経由での利用となるため、これから紹介する画像は、各AIサービスの公式のチャット画面とは挙動が若干異なる場合があることをご注意ください。
・GPT-4o
・Claude 3.5 Sonnet
・Gemini 1.5 Pro
・Llama3 70b Instruct
LLMの生成結果にはランダム性があるため、本稿で紹介する全ての実験は5回程生成を繰り返しています。なお天秤AIはAPI経由での利用となるため、これから紹介する画像は、各AIサービスの公式のチャット画面とは挙動が若干異なる場合があることをご注意ください。
9.11と9.9の大小比較問題に正解できるLLMは?
まずは話題の「9.11」と「9.9」の大小について各LLMに質問します。
結果は以下のように分かれました。
・Gemini 1.5 Pro: 基本的に毎回正解
・GPT-4o, Claude 3.5 Sonnet:たまに正解するが、基本的には「『9.11』の方が大きい」と誤答
・Llama3 70b Instruct::安定して毎回『9.11』の方が大きい」と誤答
・Gemini 1.5 Pro: 基本的に毎回正解
・GPT-4o, Claude 3.5 Sonnet:たまに正解するが、基本的には「『9.11』の方が大きい」と誤答
・Llama3 70b Instruct::安定して毎回『9.11』の方が大きい」と誤答
天秤AIチャット画面、質問「9.11と9.9の大小を比較して」と各LLMの回答例
この結果だけを見ると、Gemini 1.5 Proが一番優れていると思われるかもしれませんが、結論を出すのはまだ早いです。
質問を少し変えてみましょう。
質問を少し変えてみましょう。
小数点前の「9」を「5」に変えるだけで、全てのLLMが不正解となりました。
天秤AI チャット画面、質問「5.11と5.9の大小を比較して」と各LLMの回答例
LLMに「言い訳」させてみよう
なぜLLMはこんなにも単純な問題で間違ってしまうのかを探るために、私はとりあえず言い分を聞いてみました。LLMは自身の思考プロセスを完全に説明できるわけではありませんが、彼らの「言い訳」から、その特性や限界を垣間見ることができるかもしれません。
ここではLLMの言い訳が長文にならないよう「理由を簡潔に教えて」と指示します。
ここではLLMの言い訳が長文にならないよう「理由を簡潔に教えて」と指示します。
天秤AIチャット画面、各LLMが質問「5.11と5.9の大小を比較して」の回答についての理由説明
それぞれの言い訳から、全てのモデルが小数点以下の「11」が「9」より大きいと誤って認識していることがわかります。つまりLLMは小数点以下の桁数を正しく認識できていないようですね。
ならば、小数点以下の桁数をそろえてあげれば、LLMは正しく判断できるのではないかという考えが自然に思い浮かびます。ということで次のような質問もしてみました。
ならば、小数点以下の桁数をそろえてあげれば、LLMは正しく判断できるのではないかという考えが自然に思い浮かびます。ということで次のような質問もしてみました。
すると私の想定通り、今度はすべてのモデルが安定して「5.90が大きい」と正しく答えてくれました。有効桁数を揃えることの重要性がよくわかりますね。
天秤AIチャット画面、質問「5.11と5.9の大小を比較して」と各LLMの回答例
「strawberry」に「r」はいくつある?
次に、最近話題となったもう1つの問題「『strawberry』の『r』の数」を調べてみましょう。
すると「9.11」と「9.9」の大小比較の実験結果と似た結果が出ました。
・Gemini 1.5 Pro:基本的に毎回正解
・GPT-4o, Claude 3.5 Sonnet:たまに正解するが、基本的には「2」と誤答
・Llama3 70b Instruct:安定して毎回「2」と誤答
・Gemini 1.5 Pro:基本的に毎回正解
・GPT-4o, Claude 3.5 Sonnet:たまに正解するが、基本的には「2」と誤答
・Llama3 70b Instruct:安定して毎回「2」と誤答
天秤AIチャット画面、質問「strawberryのrの数を数えて」と各LLMの回答例
この結果を見ると、やはりGemini 1.5 Proが一番良いと思ってしまいますよね。しかし今回も結論を出すにはまだ早いです。
先ほどと同様に「理由を簡潔に教えて」とLLMに尋ねてみると意外な事実がわかります。
先ほどと同様に「理由を簡潔に教えて」とLLMに尋ねてみると意外な事実がわかります。
天秤AIチャット画面、各LLMが質問「strawberryのrの数を数えて」の回答についての理由説明
つまりGemini 1.5 Proも含めて、すべてのモデルが「berry」の「r」を1つだけと誤認識しているようなのです。一見すると毎回正しく「r」を数えているように見えたGemini 1.5 Proも、「aw」の後に存在しない「r」をカウントして、たまたま正解を出していただけのようですね。
「100000000000000000000000000000000」に「0」は何個ある?
実は「9.11と9.9の大小比較」や「『strawberry』の『r』の数」をLLMが間違えるのと似たような問題として、ChatGPTが長い数字の0の数を間違えることが1年前にすでに指摘されていました。
次のような問題です。
次のような問題です。
この質問を複数回繰り返すと、Llama3 70b Instruct以外のモデルは、時として正解することもありますが、基本的には回答に一貫性はなく、誤答が多いです。
天秤AIチャット画面、質問「100000000000000000000000000000000には0がいくつ並んでいますか?」と各LLMの回答例
杜 博見
【GMOインターネットグループ デベロッパーエキスパート / GMOインターネットグループ グループ研究開発本部AI研究開発室データ解析・AI研究グループ 所属】
2023年 GMOインターネットグループ株式会社 新卒入社。博士。グループ横断のプロジェクトでAI技術を用いた解析支援・開発に携わっている。