In-Context Learningとは
ICL / 文脈内学習
重みを更新せず、プロンプト内の例示や指示だけから新しいタスクの解き方を捉えて実行するLLMの能力
ひとことで言うと
AIに例をいくつか見せるだけで、追加の学習をしなくてもその場でやり方を覚えたように振る舞う能力。
概要
In-Context Learning(文脈内学習)とは、モデルの重みを更新せず、プロンプトに与えた例示や指示だけから新しいタスクの解き方を捉えて実行するLLMの能力を指す。 プロンプトに少数の入出力例を並べると、モデルはその場でパターンを読み取り、続く入力へ同じ形式や規則を適用する。Few-shotプロンプティングはこの能力を利用した手法になる。 勾配降下による学習を伴わないのにタスクへの適応が起きる現象として、その仕組み自体が研究対象になっている。 ファインチューニングなしでタスクへ適応できるため、LLM活用の基本的な前提を成す能力と位置づけられる。
歴史
2020年のGPT-3の論文「Language Models are Few-Shot Learners」で大規模モデルの顕著な能力として示され、広く知られるようになった。
ワークフロー
プロンプトへタスクの説明や少数の入出力例を並べる → モデルはこれらの例からパターンや規則を読み取る(重みの更新は発生しない) → 続く新しい入力に対し、読み取ったパターンを踏まえた出力を生成する。
利点
欠点
- 例示の質・順序・数によって性能が大きく変動し、結果が不安定になることがある
- 例示をプロンプトへ含める分、入力トークン数が増えコンテキストウィンドウや推論コストを消費する
- ファインチューニングほど深くタスクへ特化させることは難しく、複雑なタスクでは性能に限界がある
比較
- ファインチューニング — ファインチューニングが重みの更新によってタスクへ適応させるのに対し、In-Context Learningは重みを変えずプロンプト内の例示だけで適応する
関連用語
よくある質問
参考文献
- Research PaperLanguage Models are Few-Shot Learners (arXiv)