「プロンプトにお手本を貼ったら、急に賢くなった気がする」
AIに何か頼むとき、「例えばこんな感じで」と回答のお手本を2つ3つ添えてから指示すると、急に返ってくる答えの質が上がる——そんな体験、最近増えてきたんじゃないですかね。へクス子も、メールの下書きを頼むときに過去の文面を何通か貼ってから書かせると、明らかに精度が変わるのを何度も感じております。
ところが、ここでふと不安になるわけです。これって本当にお手本から「学んで」くれているのか、それともたまたま運が良かっただけなのか、と。なんとなく効いている気はするけど、仕組みがわからないと、次も同じ手が通じるのか確信が持てないんですよね。
この「お手本を見せると効く」現象には、ちゃんと名前と理屈がありまして。今回は、それを正面から数式で証明してみせた理論研究を、噛み砕いて紹介してまいりましょう。
few-shotプロンプトの正体は「インコンテキスト学習」
まず、用語をひとつだけ。プロンプトにお手本を添えるこのやり方を、専門的には「few-shot プロンプト」と呼びます。few-shot(フューショット)ってのは、要は「ちょっとした例を見せる」という意味でして、お手本ゼロが zero-shot、2〜3個見せるのが few-shot、という呼び分けですね。
で、このときAIの内側で起きていることをと呼ぶわけですね。インコンテキスト学習ってのは、要は「その場のプロンプトに置かれた例から、追加の訓練なしに振る舞いを合わせる能力」のことであります。モデルの中身(パラメータ)は一切書き換えていないのに、例を見ただけでその場で答え方を調整する、という不思議な性質なんですよ。
問題は、これが本当に「学習」と呼べる中身を伴っているのか、それとも見かけだけなのか、という点でした。
UC Berkeleyが数式で示した「その場の学習」
この問いに正面から挑んだのが、カリフォルニア大学バークレー校の研究チーム(Ruiqi Zhang、Spencer Frei、Peter L. Bartlett)でして、2024年に機械学習の主要ジャーナルJMLRで発表されました(R)。
何をやったかと言いますと、Transformer(いまのAIの土台になっている仕組み)をうんと単純にした模型を用意して、それが訓練されていく様子を数式で厳密に追いかけたんだそうな。複雑な現実のモデルそのままだと数学的に手に負えないので、本質だけを残した最小の設定で「中で何が起きているか」を解き切ろう、という発想であります。
で、結果がどうだったかと言いますと、こうなりました。
- 訓練を進めると、このモデルは確実に「いちばん良い状態」へたどり着く(大域的最小値への収束)
- その状態でのインコンテキスト学習の精度は、その場のデータに対して理屈上いちばん良い予測器と肩を並べる
噛み砕くと、AIはプロンプトの例を見た瞬間に、「この例たちにいちばん合う答え方はこれだ」という予測ルールをその場で組み立てている、ということなんですよね。しかもその組み立て方が、後出しジャンケンで最適手を出すくらいには抜け目がなくて、なかなかやりますなぁ。
なぜ「暗黙の勉強」と言えるのか
面白いのはここからでして。研究チームは、このモデルが内部でやっている計算が、機械学習でおなじみの「例を使って少しずつ賢くしていく」あの学習手続きと、実質的に同じ動きになっていることまで突き止めたんだそうな。
つまりAIは、お手本を見せられると、内部で例から法則を学び直すような計算をその場で走らせている、ということですね。「学んでいるような気がする」という体感は、気のせいではなかったわけです。お手本が効くのは、AIの仕組みに根ざした必然だったんですよ。
ただし「線形の世界」での厳密解という留保
とはいえ、ここで一歩立ち止まる必要があります。
この証明が成り立っているのは、あくまで思いきり単純化した「線形」の設定での話なんですよね。現実のChatGPTのように巨大で何層にも積み重なったモデルで、寸分たがわず同じことが起きていると断言できる段階ではありません。研究チーム自身も、より複雑な設定への拡張はこれからの課題だとしております。広い洞窟の入り口に強力なライトを1つ灯したところで、奥のほうはまだ薄暗いままだということですね。
そしてもうひとつ、実務的に外せない留保があります。このインコンテキスト学習は、あくまで「その場限り」だということ。例から学んだ内容は、プロンプトを閉じればきれいに消えます。モデルが恒久的に覚えてくれるわけではないんですよ。
結論: お手本は「効く打ち手」、ただし毎回出す前提で
ここまでをまとめると、プロンプトにお手本を添えるのは、気休めでも願掛けでもなく、AIの仕組みに根ざした合理的な打ち手ということになりましょう。バークレーの研究が示したとおり、AIは例を見せられればその場で最適な答え方を組み立てる。だったら、期待する出力に近い例を1〜2個そえてやるのは、理屈の上でも筋が通っているわけですね。
ただし運用では、「その場限り」という性質を忘れないことが肝心でしょう。今日うまくいったお手本も、明日の新しいチャットには引き継がれません。チームでAIの使い方を共有するなら、良いプロンプトの言い回しを個人の勘どころにせず、お手本ごとテンプレートとして残し、毎回貼り付ける前提で仕組み化しておくのが安全ですからね。
逆に、自社の情報やルールを「毎回貼らなくても恒久的に覚えていてほしい」という話になると、それはもうプロンプトの工夫だけでは追いつかなくなってまいります。インコンテキスト学習で扱える「その場の調整」と、モデル自体に知識を持たせる仕組みは別物だ、という線引きを持っておくと、AI活用の打ち手を選ぶときに迷いが減るんじゃないでしょうか。
新しい分野なので確定的なことばかりではありませんが、「お手本を見せると効く」のは、確かに筋の通った話だったわけっすね。気になった方は、いつものプロンプトにお手本を1つ足すところから試してみてくださいな。
出典
- Ruiqi Zhang, Spencer Frei, Peter L. Bartlett (UC Berkeley), “Trained Transformers Learn Linear Models In-Context”, JMLR Vol.25, 2024, リンク