AIが答えを出す仕組み
数日前にアップした「AIがそう言っていたから」という記事。子供との会話の中から出てきた、最近やたら学校の先生が答えではなくてプロセスを確認してくるということの要因に、子供たちがAIに直接答えを聞いているのではないかという疑いから始まった文章でした。
この文章の推敲段階で、私のスマホの相棒は思いっきり間違ってしまいます。
しかも、「2と6の最小公倍数は?」と打てば、答えは一瞬で返ってくる。
12。
それは間違いなく正しい。
でも――
その12は、自分の頭を通って出てきた12なのか。それとも、画面の向こうから渡された12なのか。
正しくは、「6」です。
まあ、この時はよくある嘘なのかなとあまり気にもしていませんでした。
そして…
最近、お昼休みの一人の時間は、他の人のnoteの記事をAIと批評したりしています。暗いとか言わないでください。
LLMが推論を積み重ねることで、文章が流暢になるのは理解できます。でも、その延長で、なぜ「答え」までそれなりに正しく出せるのかという事に理解が追い付かず、AIとラリーを繰り返していました。
その際に、先日の最小公倍数のやり取りが、まだ、AIの中では生きていたんでしょうね、突然この話(最小公倍数)を挟んできました。
① 正しい文章は、似た形で大量に存在している
例えば:「2と6の最小公倍数は12です」
これは世界中の教材や解説サイトに何万回も書かれてる。
だから
「2と6の最小公倍数は」の後に来る確率が一番高いのは
→ 12
になる。
つまり
正しい答えが“頻出パターン”だから当たりやすい。
またまた、やってくれました。
AIはなぜ「2と6の最小公倍数」をこうも間違えてしまうのでしょう?
ここはまずは本人に聞くしかありません。
2と6の最小公倍数を間違って答えている旨を伝えると、正しい数字を返してきます。私の中では謎が深まるばかりです。
そしてこう思いました。
そもそもAIは、最小公倍数を「計算」しているのだろうか?
もしかすると、ただ「それらしい数字」を予測しているだけなのでは?
まず簡単にAIに聞いてみると、やはりAIは「2と6の最小公倍数」を計算しているわけではなく、あくまで推論の中から答えを出しているだそうです。
どこから「12」が出てきたのか?これがまさにAIの性質。
AIはこう動いてる: 「2と6の最小公倍数は」の後に来やすい数字を選ぶ
ここで何が起きるか。
① 小さい数のLCM問題で「12」は超頻出
3と4 → 12
4と6 → 12
2と12 → 12
6と12 → 12
教材データでは「12」はめちゃくちゃよく出る。
だから“最小公倍数の答えっぽい数字”として12は強い。
② 6も正しいけど、パターン的に弱い
2と6の場合、6は片方の数そのもの
問題としてはやや簡単
「わざわざ出題する?」的なデータバランスの影響みたいな統計的偏りが起きる可能性がある。
③ ここが重要
AIはその場で計算してない。
「最小公倍数」という概念を演算で求めたわけじゃない。
やっているのは: “それっぽい正解パターン”の再現
だから答えを外してしまう。
やり取りを続けていくと、ひとつの整理に行き着きました。
「2と6の最小公倍数は?」のように単独で問われた場合は、モデルは世の中に大量に存在する正しいQ&Aパターンを参照して「6」という答えを選びやすくなります。
一方で、文章の途中に紛れ込む形で「2と6の最小公倍数は」が現れると、状況が変わりモデルは問いそのものだけでなく、前後の文脈全体を踏まえて次の流れを予測してしまうため、確率のバランスが揺らいでしまう。
その結果、今回は「2」と「6」という数字が同時に出てくる文脈で「6」よりも頻出する「12」のほうが押し上げられ、そちらを選んでしまったという理論です。
計算しているのではなく予測している。※今のところ
では、少し長い式、例えば「2×5÷10+3-2」のような計算を解くときに、AIはいったい何をしているのでしょう?
人間であれば、手順通りに掛け算割り算を先にして足し算引き算を行います。もちろん、外部ツールを使えばAIも正確に計算できますが、それは呼び出しているだけです。
しかし、文章としてそのまま応答している限り、LLMはモデル単体ではあくまで予測機として動いているようです。
結局、ここでもやっていることは一貫していて「直前までの文字列をもとに、次に最も自然なトークンを選ぶ」だけであり、最初の「2×5」を見たとき、学習データの中で最もそれらしく続いていた数字を出し、その出力を前提に次の一歩をまた予測するだけで、計算らしい文章を再現しているという事になります。
ちょっと複雑なのがこう言うケースもあるようです。
もっと厳密に言えば、LLMは四則演算のような数的構造も学習しているため、短く単純な計算であればかなり高い精度で“計算しているかのように”振る舞う。
しかしそれは手続きを保証する計算エンジンとは異なり、あくまで予測の積み重ねによって再現されているにすぎない。
場合によっては計算らしい振る舞いはするんでしょうね。
皆さんは知ってました?私はてっきり計算的なものは計算モードを動かしているのかと思っていました。
でも、問題はここにあって一箇所でも予測がわずかにズレれば、そのズレを前提に次の予測が行われてしまうという事です。私たちは、途中でおかしいことに気づきや途中からやり直しも行えますが、AIはそういうわけにはいきません。
結果として、計算が長く複雑になればなるほど誤差が積み上がり、ある地点で破綻してしまいます。
なので「だいたいこのくらい」と近似しているわけでもありません。そもそも厳密な手続きを保持していないのですから。
結局、今のところAIが計算自体を行っていないという事が分かった以上、計算機を使った答え合わせはやった方が良いという結論に至りました。
子どもに算数のドリルをさせる理由にもなりますね。
この記事にも立ち寄って
自己紹介
いいなと思ったら応援しよう!
この秋に地域の運動会を企画しています
頂いたチップは運動会に参加した子どもたち用の景品の費用に当てる予定です、