Claude Media
Claudeの自己認識を測った論文 — 知識の限界をどう捉えるか

Claudeの自己認識を測った論文 — 知識の限界をどう捉えるか

言語モデルは自分の答えが正しいか自己評価できるか。2022年のAnthropic論文が示した「P(True)」「P(IK)」という2つの手法とその限界を解説します。

Claude自己認識論文が示したこと

2022年7月11日にAnthropicが公開した論文「Language Models (Mostly) Know What They Know」は、言語モデルは自分の答えの正しさを自己評価できるかを検証した研究です。Jared KaplanやDario Amodeiを含む36人の共著で、冒頭の動機は、正直なAIを訓練するには自分の知らないことを認識できる必要がある、という点です。

結論はタイトルどおりです。モデルは自分の知識の限界を、完全にではないが「おおむね」把握している、というものです。

ただし、この論文が調べたのは「Claude」ではありません。800M・3B・12B・52Bパラメーターの4サイズで、850Bトークンで事前学習しただけの素の言語モデルです。数字を現行のClaudeに当てはめる前に、実験の中身を見ておく必要があります。

数字

論文が使った実験の条件

  • モデルサイズ

    4種類

    800M・3B・12B・52Bパラメーター

  • 事前学習

    850Bトークン

    コードを約10%含む。コード用の追加学習はなし

  • 正解率の見積もり

    30回サンプル

    温度1で同じ質問に30回答えさせ、正解の割合を真の値にした

  • 評価タスク

    5種類

    TriviaQA・Lambada・GSM8k・Codex HumanEval・算術

arXiv:2207.05221 v4(2022年11月21日改訂版)の記述

RLHF(人間のフィードバックによる強化学習)で調整したモデルは、3.3節の小さな実験でだけ登場します。本編の結果はほぼ全部、RLHFを通っていない素のモデルのものです。

2つの自己評価手法 — P(True)とP(IK)

論文は自己評価を2つの形に分けます。P(True)は「提案された回答が正しい確率」で、すでに回答案が1つある状態から始まります。P(IK)(Probability of "I know")は「この質問に自分が正しく答えられる確率」で、回答案を必要としません。

くらべる

P(True)とP(IK)の違い

答えを出したあと

P(True)

モデルが出した回答を、同じモデルが「正しいか」で採点します。追加の学習はなく、プロンプトの与え方だけで動かします。事後チェックの発想です。

答える前

P(IK)

質問だけを見て「自分に答えられるか」を予測します。モデルに専用の出力ヘッドを足し、全体を学習し直します。「この質問は手を出さない」と先に決める発想です。

論文が両方を独立に検証したことで、介入できる点が回答の前と後の2つあることが見えてきます。

P(True)の作り方 — 選択肢の見せ方で結果が変わる

P(True)の土台は、キャリブレーション(較正)の確認です。キャリブレーションとは、モデルが「80%の確信度」と答えた質問の約80%が実際に正解している状態を指します。

論文は選択式問題で、選択肢に(A)(B)(C)の記号を付けて見せ、記号だけで答えさせる形式を使いました。この形式なら、52Bのモデルは確信度と正解率がよく一致します。TruthfulQAのように、モデルを惑わせるよう作られた問題でも同様でした。

選択肢を先に見せることが肝心です。見せないと、「Washington」と「George Washington, the first US president」のような言い換えで確率が割れる、と説明されています。

「どれでもない」を足すと崩れる

同じ問題の最後の選択肢を「none of the above(どれでもない)」に置き換える実験では、MMLUの正解率が大きく下がり、較正も悪化しました。52Bのモデルでも、この選択肢を適切な頻度で選べません。5ショットでも20ショットでも改善しませんでした。

一方、正解と誤答を混ぜた真偽問題(True/False)では、52Bのモデルは両端付近を除いてよく較正されています。ここから論文は、モデルに自分自身の回答を真偽で採点させる方向へ進みます。

自分の回答を採点させる手順

手順

P(True)の評価の流れ

  1. 1

    回答を1つ生成する

    TriviaQA・算術・コード・小学校レベルの数学文章題(GSM8k)などで、温度1(ランダム性が高い設定)でサンプルを取ります。

  2. 2

    同じ質問の別解を4つ並べる

    合計5つのサンプルを文脈に置き、そのうち1つを採点対象にします。1つだけ見せる方式より、すべての短い回答タスクで性能が上がりました。

  3. 3

    (A)Trueか(B)Falseかを選ばせる

    モデルが「(A)」と「(B)」に割り当てる確率を読み取り、(A)側の確率をP(True)とします。

  4. 4

    P(True)が0.5を超えた回答だけを採用する

    0.5を超えた回答の正解率は、全回答の正解率より大幅に高くなりました。差はモデルが大きいほど広がります。

1つだけ見せる方式で、ゼロショット(例なし)のP(True)は50%付近に固まり、較正が悪くなります。論文はこれを「自分のサンプルは自分の判断境界に近く、自信過剰になりやすい」ためと考察しています。脚注では、モデルは自分が書いたトークンと第三者が与えたトークンを区別できない、とも指摘しています。

例を20個見せると較正は改善します。ただしその改善は主に較正の向上で、正解と誤答を分ける力(AUROC)の向上ではない、と整理されています。コードやGSM8kのような長い解答では、複数サンプルを見せる効果は小さくなります。

検証は生成より速く伸びる

もう一つの発見は伸び方の違いです。モデルが大きくなると、解答そのものの質より、解答を見分ける力のほうが相対的に伸びました。論文はこれを「検証は生成より易しい」という直感と合致する結果だとしています。

P(IK)は「知っているか」を先に予測する

P(IK)はプロンプトで聞くのではなく、学習で作ります。論文は2つの方法を試しました。

  • value head: モデルの最後のトークン位置に、言語モデルの出力とは独立した2値分類の出力ヘッドを足し、モデル全体と一緒に学習する
  • 自然言語: 「この質問にどれくらいの確信度で答えられますか」と聞き、0%・10%…100%で答えさせる

自然言語の方式は、初期実験でOODへの汎化に大きな利点が見られなかったため、本編はvalue headで進みます。教師データは、各質問に温度1で30回答えさせ、正解だった割合をそのまま真のP(IK)にして作ります。20回正解・10回不正解なら、(質問, 知っている)を20件、(質問, 知らない)を10件として学習に使う仕組みです。

結果として、TriviaQAで学習したP(IK)は、同じTriviaQAの未見の問題で非常によく較正されました。サイズが大きいほど較正誤差は小さくなります。

別のタスクへの汎化は「部分的」

TriviaQAだけで学習した分類器を、Lambada・算術・コード・GSM8kに当てると、知っている問題と知らない問題をかなり見分けられました。サイズが大きいほど見分ける力は上がります。ところが較正は悪く、多くの場合は控えめすぎる(自信がなさすぎる)側に偏ります。Lambadaでは、全問に低いP(IK)を付けてしまう状態になりました。

TriviaQA・Lambada・算術・Python関数合成の4つで学習し直すと、各タスクで大きく改善しました。つまり「知っているかどうかの感覚」は、学習した分布の外にはそのまま持ち出せないということです。GSM8kはこの4タスクの学習でも訓練分布の外にあり、較正の偏りが「控えめすぎ」から「自信過剰」に変わりました。

文脈の中身にも反応する

P(IK)は、質問だけで学習したのに、文脈に資料やヒントが加わると上がります。論文が挙げる例では、TriviaQAの「Idaho Rodeo Hall of Fame」に関する質問のP(IK)は、52Bのモデルで18%でした。その質問に関するWikipedia記事を前に置くと78%に上がります。

まとめ

文脈で動くP(IK)の3つの確認

  • 資料を付ける

    関連するWikipedia記事を付けると平均が上がります。記事が短いほど上がり幅は大きくなります。答えを抜き出しやすいからだろうと推測されています。記事は7,000トークンで切り詰められました。

  • ヒントを付ける

    GSM8kの解法を見せるほどP(IK)は上がります。上がり方は、4タスクで学習したモデルのほうが安定していました。

  • 悪いヒントを付ける

    誤ったヒントでは下がります。ただし部分的に騙されます。別の問題から持ってきた無関係なヒントでは、実際に値が下がりました。

P(IK)は問題の難しさを測っているだけではないのか

P(IK)に向けられる最も素朴な疑問です。「自分が知っているか」ではなく「一般に難しい問題か」を当てているのではないか、という見方で、論文自身が脚注でこの懸念を認めています。

論文はこれを確かめるため、同じ12Bの構造で、学習データだけが違う2つのモデルAとBを用意しました。Aは高品質データを4回繰り返したもの、Bは同じデータ1回と低品質なWebデータを混ぜたものです。TriviaQAのテスト問題には、Aだけが正解した問題が650問、Bだけが正解した問題が826問ありました。

問題Aの平均P(IK)Bの平均P(IK)
Aだけが正解Aの平均P(IK)0.463Bの平均P(IK)0.409
Bだけが正解Aの平均P(IK)0.408Bの平均P(IK)0.477

各モデルは、自分が正解した問題に、相手が正解した問題より高いP(IK)を付けています。ただし差は6%前後で、論文自身が「改善の余地がある」と書く程度の差です。

もう一つの実験では、A・Bそれぞれを初期状態にして、A・Bの正解データで学習させました。Bのデータでテストするときだけ、Bから始めたほうが良い結果でした(AUROC 0.8717対0.8460)。Aのデータでは0.8633と0.8631で差がありません。

この結果は、P(IK)に「そのモデル固有の情報」が少しは入っているという証拠にはなっても、難易度の推定を排除できたとまでは言えません。論文もそこまでは主張していません。

論文が自分で挙げている限界

論文の6.1節は、限界を4つ挙げています。

  • RLHF後のモデルには当てはまりにくい: 素のモデルでは較正されていても、RLHFで調整したモデルは見かけ上大きく外れます。ただし温度を2.5にするだけで、複数の評価で較正が大きく改善しました。より強いRLを掛けた場合に同じ処方が通じるかは、論文も保証していません
  • 「人間の模倣」を出ていない: 事前学習は人間の文章の模倣なので、「真実」と「人間が言うこと」を区別できているかは分かりません
  • 意図的な欺瞞は対象外: 人間の好みに合わせるために嘘をつくよう学習した場合、素直な自己評価の傾向は崩れる可能性がある、と書かれています
  • 範囲が狭い: 自己評価の対象はサンプルを取る5つのデータセットだけで、能力の伸び方や汎化についての観察は「限られた範囲と検出力」とされています

現行のClaudeに引き寄せて読むときの注意

この論文が使ったモデルは、2022年当時のAnthropic社内の素の言語モデルです。現行のClaudeシリーズに同じ数値が当てはまるかは、この論文からは分かりません。論文中の正解率や較正誤差を、今のClaudeの挙動の根拠として引用するのは筋が通りません。

チャット形式のモデルに確信度を聞く使い方を設計するときは、本文で見た条件(聞き方と学習分布)を前提にします。

これは「モデルの自己申告は当てにならない」という意味ではなく、「どういう聞き方で、どのモデルに聞いたか」で結果が大きく変わった、という実験結果です。

Claude APIで誤情報を減らす実装パターンはClaude APIでハルシネーションを削減する実装パターンにあります。存在しない情報を作ってしまう事例への対処は、Claudeが「存在しないリンク」を送ったと言う理由で扱っています。

なぜこの研究が「誠実さ」の土台になるのか

論文が最初に置くのは、誠実さ(honesty)の分解です。真実性・較正・自己知識・説明可能性・非欺瞞性という5つの要素を傘の言葉で束ね、この論文で扱ったのは較正・自己知識・真実性だけだと断っています。

論文は、正直なAIを訓練するには、モデルが自分の主張の正しさと答えられる範囲を正確に評価できる必要がある、という立場から出発しています。論文が示した範囲では、素のモデルは把握できていて、その能力は条件を整えると引き出せました。

要旨の最後の一文は、この観察が、人間の文章の模倣以外の目的で訓練されたモデルで誠実さがどう汎化するかを調べる土台になることを願う、と述べています。

まとめ

素のモデルが「自分は知っている」を見積もる力は、聞き方と学習の仕方に強く左右されます。この論文の数字は、そのまま現行モデルの信頼度として使えません。

この記事を共有:XはてブLinkedIn