インコンテキスト・ラーニングとは、大規模言語モデルに対して事前に追加学習を行わず、プロンプト内にいくつかの例示や指示を与えるだけで、その文脈(コンテキスト)を理解して目的のタスクを実行させる能力や手法のことです。モデルのパラメータを直接更新せずに新しい作業へ適応できる点が大きな特徴です。
インコンテキスト・ラーニングとは
インコンテキスト・ラーニングは、大規模言語モデルの重みやパラメータを変更することなく、入力するプロンプト内の文脈情報や具体例からタスクの意図を理解し、適切な出力を生成する能力および手法のことです。
詳しく解説
従来の機械学習では、モデルに新しいタスクを学習させる際にパラメータを書き換える再学習やファインチューニングが不可欠でした。しかし、大規模言語モデルのサイズが著しく巨大化したことで、事前学習の段階で多様なパターンの知識を獲得するようになり、プロンプトの中で提示された例(コンテキスト)だけで要求されたルールを即座に推論できるようになりました。この現象はモデルのスケールアップに伴って顕現した能力の一つとされています。モデル内部の数式的な重みを固定したまま、コンテキスト内の情報に注目して出力を調整できるため、計算コストと時間を大幅に削減できる重要性を持っています。
具体例・使われ方
たとえば、英和翻訳のタスクを行わせる際に「リンゴ: apple」「本: book」「猫: cat」という入出力のペアをプロンプトの前半にいくつか記載し、最後に「犬: 」と入力すると、モデルは提示された形式を提示された文脈から読み取り、追加の学習なしで「dog」と応答します。このように数個の例を与える手法はフューショットプロンプティングと呼ばれ、インコンテキスト・ラーニングの代表的な利用イメージです。
似た用語との違い
ファインチューニングとの最大の違いは、モデルのパラメータを更新するかどうかにあります。ファインチューニングは特定のデータセットを用いてモデルの重みを調整して永久的に挙動を変化させます。一方、インコンテキスト・ラーニングはパラメータを一切書き換えず、一時的なプロンプトの記述のみによってモデルの出力を制御します。そのため、セッションやプロンプトが終わればその学習内容は残りません。
注意点
インコンテキスト・ラーニングはモデルの根本的な知識構造を書き換えるものではないため、プロンプトの入力長制限を超える長い情報を扱うことはできません。また、プロンプトで与える例の順序や表現の僅かな違いによって出力結果の精度が大きく変動するという繊細さや不安定さがあります。さらに、モデル自体が本来持っていない全く未知の複雑な知識を付与する手段としては不向きです。