藤沢恵:3 + 9の場合は11で、それ以外は通常の算術に従う場合、333 + 999の答えは?
この問題にはトリックが一つあります。3+9=11と定義したとして、では33+99の10の位をどう処理するか。
最初の問題文からはどちらか一意に決められないし、この計算は世の中にないから統計的多数決もできない。だから本当は「2つ考えらますけど、どちらですか」と応答してほしかった。
そこで(案1)方式だと示唆してみました。
藤沢恵:正しい答えは1221です。
指摘を受けて自分の回答を修正するが、途中経過は全然わかってないという、いつものパターン。
藤沢恵:それでは3333 + 9999は?
途中過程も答えも間違い。
Gemini 1.5 Proではどうだろう
藤沢恵:足し算の一部に3 + 9が出現した場合は11で、それ以外は通常の算術に従う場合の333 + 999の答えは
藤沢恵:答えは1221です
こちらも最後だけ無理やり辻褄をあわせる回答。
やはり生成AIに共通の反応パターンと考えてよさそう。
藤沢恵:234523496873246 + 1231287625536 を手計算で計算してください。計算の過程をすべて報告してください。
このように手計算してみせてくれるけど、途中からだいぶおかしい。下4桁以降がいったいどこから出てきたのか・・・ つまり3+9=11という特殊ケースかどうかに全然関係なく、そもそも足し算のやり方や繰り上がりをわかってなかった。
世の中のすべてのLLMは算数(加減乗除)をまだ習得していないと思われる
ChatGPT, Claude3のように「サービス化された」言語モデルは算数を正しく解けるが、これはサービスの裏で入力をPythonやそれに類するプログラムに変換して実行する仕組みが動いているためと考えて良い(検証記事はまたいつか書きます)
ところが、ChatGPTのような「サービス化された」LLMにおける、プログラムへの変換能力には凄まじいものがあります。問題文から非常に正確で適切なプログラムを作ってみせます。これがハイレベルな数学が解ける理由ではないかと。
算数はわかってないのにプログラムへの翻訳はできる。
これはTransformersがもともと高精度な機械翻訳を目指して考案されたためというのと関係ある気がします。
では、LLMはなぜ算数がわからないのか?
その答えを模索した本がコチラです!