学習を終えたLLMは、私たちの入力(プロンプト)からどうやって答えを作っているのでしょうか。この記事では、追加の訓練なしに例示だけで賢くなる「コンテキスト内学習」、例の数による「Zero-Shot/Few-Shot」の区別、段階的に考えさせる「Chain-of-Thought」、そして答えの多様さを決める「サンプリング手法(top-pなど)」を、初心者向けにまとめて解説します。プロンプトの書き方が上手くなる、実用性の高い項目です。
📖 この項目で学ぶこと
この記事で扱うのは、シラバスの理解項目「大規模言語モデルにおける生成の仕組みを理解している。」です。
これまでの項目で、LLMは「次の言葉を確率で予測するモデル」であり(1-1、1-2)、大量のデータで学習され(1-3)、人間の意図に沿うよう仕上げられている(1-4)ことを学びました。この項目では視点を変えて、完成したLLMを「使う瞬間」に何が起きているのかを見ていきます。
大事な前提を1つ。私たちがChatGPTなどに文章を入力して答えをもらうとき、モデルの中身(パラメーター)は変化していません。つまり、会話のたびにモデルが「学習」し直しているわけではないのです。それなのに、プロンプトに書く内容や例の見せ方しだいで、モデルの振る舞いは驚くほど変わります。この不思議を説明するのが「コンテキスト内学習」という考え方です。さらに、モデルが最終的に言葉を1つ選ぶ場面では「サンプリング」という確率の操作が働いています。入力の工夫(コンテキスト内学習・CoT)と、出力の選び方(サンプリング)。この2つの側面から、生成の仕組みを理解していきましょう。
🔍 キーワードをやさしく解説
コンテキスト内学習 (In-Context Learning)
コンテキスト内学習(In-Context Learning)とは、ひと言でいうと「モデル本体を再学習させなくても、プロンプト(入力文)の中に指示や例を書いてあげるだけで、モデルがそのタスクをこなせるようになる能力」のことです。コンテキスト(context)は「文脈」、つまり入力として与えた文章全体を指します。
身近な例えでいうと、「その場で見本を見せると仕事を覚える、飲み込みの早いアルバイト」です。マニュアルを作り直したり研修(再学習)をやり直したりしなくても、「こういう伝票はこう処理してね。ほら、これが見本ね」とその場で2〜3枚見せれば、続きを同じ要領で処理してくれる。これがコンテキスト内学習のイメージです。
重要なポイントは、「学習」という名前が付いていても、モデルのパラメーターは一切更新されないことです。1-3で学んだファインチューニングは、追加データでパラメーターを書き換える「本当の学習」でした。一方コンテキスト内学習は、入力された文脈を手がかりに、学習済みの能力の中から適切な振る舞いを引き出しているだけです。「ファインチューニング=脳を作り替える/コンテキスト内学習=その場のメモを見ながら対応する」という対比で覚えると、試験でも混同しません。この能力は、モデルが大規模になるにつれて顕著に現れるようになった性質として注目されました。
Zero-Shot
Zero-Shot(ゼロショット)とは、ひと言でいうと「お手本の例を1つも見せずに、指示だけでタスクをやらせること」です。shot(ショット)は、ここでは「見せる例の数」を意味します。例がゼロだからZero-Shotです。
身近な例えでいうと、「見本なしで『この文書、要約しておいて』とだけ頼む」状況です。たとえば「次の文を英語に翻訳してください:『おはようございます』」というプロンプトは、翻訳の例を1つも見せていないのでZero-Shotです。事前学習で膨大な知識を得たLLMは、多くの一般的なタスクなら例なしでもこなせます。手軽さが最大の利点ですが、出力の形式や粒度がこちらの期待とずれることもあります。
Few-Shot
Few-Shot(フューショット)とは、ひと言でいうと「プロンプトの中に少数(few)のお手本例を見せてから、本番のタスクをやらせること」です。例を1つだけ見せる場合はOne-Shotと呼ぶこともあります。
身近な例えでいうと、「見本を2〜3件見せてから『この調子で続きをお願い』と頼む」状況です。たとえば、「りんご→果物、にんじん→野菜、さば→魚、では、ぶどう→?」のように例を並べれば、「分類のルールをこの形式で答えればよい」とモデルが文脈から読み取り、「果物」と答えてくれます。
Few-Shotの利点は、出力の形式・粒度・スタイルを例で正確に伝えられることです。言葉で長々と条件を説明するより、良い例を数件見せるほうが早くて確実な場面は多くあります。Zero-ShotでうまくいかないときにFew-Shotを試すのは、プロンプト改善の定石です。なお、Zero-ShotもFew-Shotも、モデルを再学習させずにプロンプトだけで能力を引き出している点で、どちらもコンテキスト内学習の使い方の一種です。
Chain-of-Thought (CoT)
Chain-of-Thought(チェーン・オブ・ソート、CoT)とは、ひと言でいうと「答えだけを出させるのではなく、途中の考え方(思考の連鎖)を順番に書き出させることで、複雑な問題の正答率を高めるプロンプトの技法」です。日本語では「思考の連鎖」と訳されます。
身近な例えは、算数のテストの「途中式」です。暗算でいきなり答えを書くとうっかりミスをしがちな問題でも、途中式を書きながら一歩ずつ解けば正解しやすくなりますよね。LLMも同じで、複数の手順を要する計算問題や論理パズルに対し、いきなり結論を出させると間違えやすいのですが、「ステップバイステップで考えてください」と促したり、途中経過つきの解答例をFew-Shotで見せたりすると、推論の過程を出力しながら解くようになり、正答率が上がることが知られています。
なぜ効くのかを直感的にいうと、LLMは「直前までの文脈の続き」を予測するモデルなので、途中の推論を自分で書き出すと、その推論が文脈となって次のステップの予測を支えるからです。一歩ずつ足場を作りながら登るイメージです。CoTは、複雑な推論をさせたいときの代表的なプロンプト技法として、試験でも問われやすいキーワードです。
サンプリング手法 (top-p など)
サンプリング手法とは、ひと言でいうと「モデルが計算した『次の言葉の確率』の中から、実際にどの言葉を選ぶかを決めるルール」のことです。1-1で学んだとおり、LLMは次の言葉の候補を確率のリストとして持っています。そこから1語を選ぶ工程がサンプリング(抽出)です。
身近な例えは、「くじ引きの調整」です。確率どおりのくじを毎回引くのか、当たりやすい候補だけを箱に入れるのか、で出てくる結果の傾向が変わります。代表的な方式を紹介します。
- 常に最も確率の高い言葉だけを選ぶ方式もあります(貪欲法と呼ばれます)。出力は安定しますが、毎回同じで単調になりがちです
- top-p(トップピー)は、確率の高い候補から順に足し上げ、合計確率がp(たとえば90%)に達するまでの候補だけを「くじ箱」に入れて、その中から確率に応じて抽選する方式です。ありえない候補を除外しつつ、適度な多様性を残せます。文脈によって箱に入る候補の数が自動的に変わるのが特徴です
- 似た方式に、確率上位k個だけを箱に入れるtop-k(トップケー)もあります
- 温度(temperature)というパラメーターもよく使われます。温度を上げると確率の差がならされて意外な言葉が選ばれやすくなり(多様・創造的)、下げると高確率の言葉に集中します(堅実・安定)
同じ質問でも毎回違う答えが返ってくるのは、このサンプリングに抽選の要素があるためです。「創造的な文章がほしいときは多様性を上げ、正確で安定した出力がほしいときは多様性を下げる」という調整思想を押さえておきましょう。
💬 実生活・仕事でどう役立つ?
この項目は、そのまま「プロンプトの上達法」として使えます。AIの答えがいまひとつなとき、やみくもに聞き直すのではなく、次の順で工夫してみてください。まず指示を具体的にする(Zero-Shotの改善)。それでもだめなら、望む出力の例を2〜3件見せる(Few-Shot)。複雑な判断や計算が絡むなら、「手順を追って考えて」と促す(CoT)。この3段階は、コンテキスト内学習という性質を最大限に引き出す、根拠のある改善手順です。
また、サンプリングの知識は「AIとの付き合い方」を変えてくれます。キャッチコピーのアイデア出しでは、何度も生成し直して多様な案を集めるのが合理的ですし、逆に定型文書の作成で毎回書きぶりが揺れて困るなら、形式を例で固定する(Few-Shot)のが有効です。API等でtop-pや温度を調整できるツールを使う人なら、「創造性がほしいときは高め、再現性がほしいときは低め」という原則が設定の指針になります。「AIの答えは一発勝負の正解ではなく、確率的な提案の1つ」と理解しておくことが、上手な活用の土台です。
📝 生成AIテストではこう問われる
- コンテキスト内学習の定義を問う形式。「モデルのパラメーターを更新せずに、プロンプト内の指示や例示のみでタスクに適応する」が正解の軸。「会話のたびにモデルが再学習される」という選択肢は誤りです
- Zero-Shot/Few-Shotの区別を問う形式。プロンプトの実例を見せて「これはどちらか」を判定させる問題が想定されます。例の数(0個か少数か)だけが判断基準です
- CoTの効果を問う形式。「途中の推論過程を書き出させることで複雑な問題の正答率を高める技法」を選ばせる問題が想定されます。「出力を短くする技法」「学習データを増やす手法」などの誤答と区別しましょう
- サンプリングに関する形式。「top-pは累積確率が一定値に達するまでの上位候補から抽選する方式である」「温度を上げると出力の多様性が増す」といった記述の正誤判定が考えられます
- 紛らわしい対比に注意。ファインチューニング(パラメーター更新あり)とコンテキスト内学習(更新なし)の混同を狙った選択肢が定番です
📚 まとめ
- LLMは利用時に再学習しているわけではなく、プロンプト内の指示や例から振る舞いを引き出すコンテキスト内学習の能力を持ちます
- 例を見せないのがZero-Shot、少数の例を見せるのがFew-Shot。複雑な問題には途中の思考を書き出させるChain-of-Thought(CoT)が有効です
- 出力の最終段階では、top-pや温度などのサンプリング手法が「次の言葉の選び方」と多様性をコントロールしています
- 「入力の工夫(例示・CoT)」と「出力の抽選(サンプリング)」の2つの側面で生成の仕組みを整理しましょう
次の「1-6 大規模言語モデルの性能評価」では、こうして動くLLMの実力を、世の中がどうやって測り比べているのかを学びます。
