KL情報量を1から — 2つの分布の「ズレ」を測る
2つの確率分布の「ズレ」を測るKL情報量を、圧縮の無駄払いという比喩から定義・非対称性・numpy実装へと積み上げる。後半はVAEの正則化項とRLHFのKLペナルティという2大応用で、この量が現代のAIをどう支えているかまでつなげる。
Training language models to follow instructions with human feedback
一次資料 — この記事の根拠
論文の発表 2022-03-04→この解説の公開 2026-08-134年5か月後
Auto-Encoding Variational BayesarXiv:1312.6114論文ページ·PDFTraining language models to follow instructions with human feedbackLong Ouyang, Jeff Wu, Xu Jiang ほか · 2022-03-04 · v1arXiv:2203.02155論文ページ·PDF
原文の要旨(Abstract)を読む
Making language models bigger does not inherently make them better at following a user's intent. For example, large language models can generate outputs that are untruthful, toxic, or simply not helpful to the user. In other words, these models are not aligned with their users. In this paper, we show an avenue for aligning language models with user intent on a wide range of tasks by fine-tuning with human feedback. Starting with a set of labeler-written prompts and prompts submitted through the OpenAI API, we collect a dataset of labeler demonstrations of the desired model behavior, which we use to fine-tune GPT-3 using supervised learning. We then collect a dataset of rankings of model outputs, which we use to further fine-tune this supervised model using reinforcement learning from human feedback. We call the resulting models InstructGPT. In human evaluations on our prompt distribution, outputs from the 1.3B parameter InstructGPT model are preferred to outputs from the 175B GPT-3, despite having 100x fewer parameters. Moreover, InstructGPT models show improvements in truthfulness and reductions in toxic output generation while having minimal performance regressions on public NLP datasets. Even though InstructGPT still makes simple mistakes, our results show that fine-tuning with human feedback is a promising direction for aligning language models with human intent.
分布と分布の「ズレ」を数字にしたい
機械学習の中身は、突き詰めると「本当の分布 に、モデルの分布 を近づける」作業です。言語モデルなら は人間が次に書く単語の分布、 はモデルが予測する次の単語の分布。天気予報なら は実際の天気の出方、 は予報の確率です。
近づけるためには、まず「いまどれくらいズレているか」を1つの数字で測れなければ始まりません。その物差しの定番が KL情報量(Kullback–Leiblerダイバージェンス)です。名前はいかめしいですが、正体は「間違った思い込みのせいで払う無駄」を平均したもの。この記事では比喩→直感→定義→コードの順に積み上げ、最後にVAEとRLHFという2つの現場で、この量が実際にどう働いているかまで見届けます。
比喩: 間違った辞書で払う「追い銭」
情報理論の記事で見たとおり、データを最短で圧縮するコツは「よく出るものに短い符号、めったに出ないものに長い符号」を割り当てることでした。最適な符号の長さは出現確率で決まり、確率 のものには約 ビットを割り当てるのが理想です。
ここで、こんな失敗を考えます。あなたは明日から届くデータが分布 に従うと思い込んで、 に最適な辞書(符号表)を作りました。ところが実際のデータは別の分布 から届きます。よく出るはずと思って短い符号を与えた記号がめったに出ず、めったに出ないと思って長い符号を与えた記号が頻発する——圧縮は最適時より確実に膨らみます。
この「思い込みのせいで余計に払うビット数」の平均こそが、KL情報量 です。 と が一致していれば追い銭はゼロ。ズレが大きいほど無駄払いがかさむ。「分布のズレ=実損」として測るのがKLの流儀です。
直感: 「驚き」の差し引きを平均する
同じことをもう1つの角度から見ます。確率 の出来事が起きたときの「驚き」を で測るのが情報理論の約束でした(確率が低いほど驚きは大きい)。
いま記号 が実際に届いたとします。 を信じているあなたの驚きは 、真の分布を知る人の驚きは 。その差 が「思い込みのせいで余計に驚いた量」です。これを、実際の出方 で重み付けして平均すればKLになります。つまりKLとは「余計な驚き」の期待値です。
定義: たった1行
読み下すと「各記号 について、真の確率 と思い込みの確率 の比の対数をとり、実際の出やすさ で重み付けして足し合わせる」。 が本当の分布、 が近似(モデル)の分布で、連続値なら和が積分に変わるだけです。対数の底を2にすればビット、自然対数ならナット(nat)という単位で読めます。
つまりこの式が計算しているのは、さきほどの比喩で言った「追い銭」そのものです。よく出てくる記号について思い込みを外すと請求額に大きく乗り、めったに出ない記号で外しても額はほとんど動かない——実際の出やすさで重み付けする、とはそういう意味です。
覚えるべき性質は2つです。第一に、KLは必ず0以上で、0になるのは と が完全に一致するときだけ(ギブスの不等式)。「ズレの測り」として最低限の資格を持っています。第二に、交差エントロピー との間に という関係があります。 はデータ側だけで決まる定数なので、分類やLLMの事前学習で交差エントロピーを最小化することは、KLを最小化することと同じです。あなたが毎日回している学習ループは、実はずっとKLを下げています。
コメント
コメントにはログインが必要です