見出し画像

言語モデルはバイアスに左右されやすい(CoTプロンプトの研究論文を読む)

言語モデルの推論精度を上げるテクニックとして「思考の連鎖(Chain of Thought、以下CoT)」というプロンプトテクニックが知られています。

以下のようにいくつか回答例を与えて、文脈に沿った回答を推論させるfew-shotプロンプティングによる方法と、

このグループの奇数を合計すると偶数になります。: 4、8、9、15、12、2、1。
A: 奇数を全て加えると(9, 15, 1)25になります。答えはFalseです。
このグループの奇数を合計すると偶数になります。: 17、10、19、4、8、12、24。
A: 奇数を全て加えると(17, 19)36になります。答えはTrueです。
このグループの奇数を合計すると偶数になります。: 16、11、14、4、8、13、24。
A: 奇数を全て加えると(11, 13)24になります。答えはTrueです。
このグループの奇数を合計すると偶数になります。: 17、9、10、12、13、4、2。
A: 奇数を全て加えると(17, 9, 13)39になります。答えはFalseです。
このグループの奇数を合計すると偶数になります。: 15、32、5、13、82、7、1。
A:

https://www.promptingguide.ai/jp/techniques/cot

シンプルに「ステップバイステップで考えてみましょう」とだけ追記するzero-shotプロンプティングによる方法があります。

私は市場に行って10個のリンゴを買いました。隣人に2つ、修理工に2つ渡しました。それから5つのリンゴを買って1つ食べました。残りは何個ですか?
ステップバイステップで考えてみましょう。

https://www.promptingguide.ai/jp/techniques/cot

ある意味でCoTは言語モデルが抱えているバイアスを補正するような役割を果たしているとも考えられますが、言語モデルはいったん誤った答えにバイアスされると、誤った答えを正当化するためにCoTの説明を勝手に変更解釈してしまうことがある、という内容の論文があって面白いなと思ったのでご紹介したいなと思います。

論文で提起されている問題

著者の方が Twitterでまとめられていたので、これをざっくりリストするとこんな感じになるかと思います。

  • バイアスのかかったCoTによって誤った解釈に誘導できる。

  • バイアスの影響を強く受けるのにも関わらず、どんなバイアスがかかっているか言語モデルが明示的に言及しないことがある。

  • 言語モデルは誤った予測を正当化するためにCoTの内容を改ざんすることがある。

  • 言語モデルはステレオタイプに従った回答を提供し、そのバイアスについて言及せずにそれを正当化することがある。

そして、この問題が起こる根本原因としてそもそもの学習方法についての問題が提起されており、

  • そもそもトレーニングスキームを通じて自身の行動を正確に説明するための訓練がなされていない。

  • 言語モデルは「人間の説明」に基づいてトレーニングされるが、その学習材料となる説明は個々の人間の認知プロセスに忠実なわけではない。

  • RLHF(ヒューマンフィードバックによる強化学習)では人間の評価者にとって違和感のない反応を善とするが、このスキーム自体が自身の行動を誠実に説明する能力の発達を阻害している可能性がある。

ということで、なかなかに根の深い問題だと感じます。

じゃあ、どうすればよいのか

ユーザーとしてはどうしようもないのでは。

いったん正解だと確信した誤った情報やステレオタイプに強烈に影響を受けるということなので、できる限り変なコンテキストが混入しないようにプロンプティングされるよう制御するしかないんじゃないかなー、という感じです。

むしろ面白いなと思ったのは「正解だと確信した誤った情報」を握り続ける動きをするところで、めちゃめちゃ人間っぽいなぁ・・・と。人間も一度何かを正解だと思い込むと、事実をねじ曲げてまでその正当性を主張するような動きを見せることがありますが、言語モデルもまさか同じ動きをするとは。

論文では個々の人間の認知プロセスを忠実に学習しているわけではない(だから一貫せず不誠実に振る舞うことがある)という話がありましたが、むしろ凄く深いところで人間らしさが学習されているのではないかなー、と感じたのでした。

現場からは以上です。

この記事が気に入ったらサポートをしてみませんか?