493 Views
September 24, 23
スライド概要
コンテキスト内学習の ベイズ推論的な説明 野中 賢也
読んだもの • プロンプトエンジニアリングを理論的に説明している論文とかないかなと少し気にな った。 • コンテキスト内学習についての研究 • A Theory of Emergent In-Context Learning as Implicit Structure Induction(2023; https://arxiv.org/abs/2303.07971) • An Explanation of In-Context Learning as Implicit Baysian Inference(2022; https://arxiv.org/abs/2111.02080) • 一旦、古め?の二番目の論文を読んでみようとしたが、挫折したので、同じ著者がや さしめに書いている以下のブログを読んだ(前提にしているモデルやプロンプトが若干 古いのは、すみません。) • http://ai.stanford.edu/blog/understanding-incontext/
コンテキスト内学習とは何か? • 狭義の?コンテキスト内学習= few-shot prompting(今回はこれに注目) • プロンプトの中に学習サンプル+テストサンプルをいれて、LMに推論させる
コンテキスト学習の延長線上にあるもの • 2022年8月時点(ChatGPTリリース11月)で、コンテキスト内学習の延長線上 でLLMが多様な自然言語処理タスクに使えることは判明していたね。
何がユニークなことなのか? • LM自体は、Next Token Predictionのタスクに最適化されていて、ただ次の 単語を予測しているだけなのに、なぜ、ユーザーが質問したさまざまなタスク に答えられているのか?
コンテキスト内学習の フレームワーク(仮説)
Conceptの特定 • LMは、コンテキスト内学習において、事前学習時に学んだConcept(概念)を locate(特定)していおり、そのConceptによってふるまいを変えている
Conceptとは? • Concept = 文章の統計情報を含んだ潜在変数 • 例えば、news topicsであれば、ニュースの単語分布やフォーマット、ニ ュースとトピックの関係などを含んでいる。
Pretrainとコンテキスト学習 • Pretrain: LMは学習時に、与えられた文章からConceptを学習 • In-Context Learning: プロンプトから、Conceptを推論して、それをもとに生成
From Bayesian Inference View • Conceptという潜在変数の存在を仮定して、ベイズ予測分布と同様に、プロ ンプトからOutputが生成されることを記述できる。 • p(output) = 事前学習の単語分布、LMは事前学習の分布を正確に学習可能と仮定する • p(prompt) = プロンプトに与えられる単語分布
From Bayesian Inference View • LM自体は、Next Token Predictionのタスクに最適化されていて、ただ次の 単語を予測しているだけなのに、なぜ、ユーザーが質問したさまざまなタスク に答えられているのか? • → LMは、p(output)の分布だけを学習しているはずなのに、なぜ、異なる分 布なはずのp(prompt)からconceptを推論することができているのか?」
Noisy evidence for Baysian Inference • プロンプトは、ベイズ推論におけるノイズが混じった事実となっている。 • 信号:プロンプトの学習データの一貫した部分 • ノイズ:区切り文字から別の学習データに移行する部分 • これらの仮定を置いて、信号がノイズよりも十分大きければ、コンテキスト内学習が成功す ることに理論的証明とシミュレーションデータによる補足を与えた。(元の論文)
フレームワークを支持する 経験的な証拠
実験① • プロンプトにおける学習データをランダムに変化させても、精度に大きく影響 しない。
実験① • No Demos : zero-shot learning • Demos w/ gold labels: プロンプトに与える学習データは完全に正しいver • Demos w/ random labels: 学習データのラベル部分だけランダムにサンプルして、プロンプトに与えるver
実験② • 学習データの入出力間の関連は重要ではないが、入力文章は重要である。 • 1入力文章をテストするデータと同じコーパスからとってきて、ラベルをランダムにした プロンプト • 2入力文章を他のコーパスから取ってきて、ラベルをランダムにしたプロンプト • →2は1に比べて、16%程度パフォーマンスが落ちた
実験③ • 学習データの入出力間の関連は重要ではないが、出力ラベル集合は重要である。 • 出力ラベルの集合をランダムな英単語に置き換えて実験 • →こちらも16%までパフォーマンスが下がることが確認できた。
実験①~③をまとめると • Input distributionとoutput space及びFormatの3つの情報が、プロンプトにおけ るベイズ推論に対する強い信号となっている。 • 一方で、従来重要であった、学習データの入出力間の関係にノイズが入ったとして も、コンテキスト内学習はうまくいくと考えられる。