言語モデルが数値情報をどう表現するか
この記事では、言語モデルにおける数値的特性の構造と表現について調べてる。
― 1 分で読む
目次
言語モデル(LM)は、数字に関する事実情報も共有できるんだ。たとえば、「カール・ポパーは何年に生まれた?」って聞いたら、モデルは「1902年」と正しく答えるかもしれない。でも、これらのモデルが数字情報をどうやって保存して表現してるのかは、あんまり明確じゃないんだ。この記事では、LMが誰かの誕生年みたいな数値的な特性をどう表現しているかを見つけて変える方法について探るよ。
私たちは、モデルの構造の中で数値情報を明確に保持している、あまり複雑でない領域を見つけたんだ。これらの領域の特定の部分を変えると、モデルの答えも変わる。たとえば、「誕生年」に関連する情報を調整すると、モデルはカール・ポパーが1929年生まれ、1957年生まれ、1968年生まれだと言い始める。このことから、LMはトレーニングプロセス中に数値特性を組織的に表現している可能性があるって示唆されるんだ。
言語モデルが数値情報を扱う方法
言語モデルは、さまざまなテストで示されているように、事実知識を表現できる。誰かの誕生年のような数値特性に関連する質問をされたとき、これらのモデルはしばしば正確な答えを出す。でも、これらのモデルが「事実」をどれだけ「知っている」かについては、まだ議論が続いている。研究は、これらのモデルが知識をどれだけ正確に表現できるか、そしてその知識がモデルの内部でどう表現されているかの2つの主要な分野に焦点を当ててきた。
ほとんどの研究は、モデルが「ワルシャワはポーランドの首都だ」みたいに異なるエンティティ間の関係をどう保存しているかに集中してきた。しかし、LMが人の誕生年のような数値特性をどう扱うかはあまり理解されていない。数値特性には順序があって、一つの数がもう一つの数よりも大きいか小さいかってのがあって、これは他の情報タイプとは違うんだ。LMは主に大量のテキストから学ぶから、数値特性に無秩序に出会うことが多くて、果たしてLMがこれらの特性を正しく表現できているのかって疑問が出てくる。
研究の目的
私たちは、言語モデルが数値特性をどう保存しているかを調べることを目指した。数値特性は、モデルの構造の中の組織化された低次元セクションにあるかもしれないと考えている。この考えの第一の理由は、表現学習における重要な原則なんだ:モデルの表現がデータの構造に合っていると、モデルはうまく機能するってこと。だから、LMが数値に関する質問にうまく答えているなら、数値特性を適切に表現している可能性が高い。
私たちの第二の主張は、概念がモデルの構造の線形セクションに結びついているという考えに基づいている。この考えが正しければ、数値特性はモデルの中の線形領域に組織されているってことになる。私たちは、これらの領域を次元に関係なく単に「方向」と呼ぶことにするよ。
数値特性のための方向を見つける
どうやって調査したか
数値特性のための方向が存在するかを理解するために、実験を設定した。データの構造を見つけるための一般的な方法は主成分分析(PCA)だけど、この方法は監視されていなくて、モデルの出力に基づいてそれを導くことができないんだ。代わりに、部分最小二乗回帰っていう方法を使って、二つのデータセット間のつながりを見つける手伝いをした。
私たちのセットアップでは、最初のデータセットはLMの情報の表現を含み、二つ目のデータセットは照合したい実際の数値属性から成る。たとえば、カール・ポパーの誕生年について聞くときには、プロンプトをエンコードしてLMから表現を得るんだ。
これらの表現とそれに対応する数値属性を集めた後、LMの表現に基づいて数値情報を予測しようとするモデルをフィットさせた。これにより、LMの低次元セクションから数値属性をどれだけうまく予測できるかを確認することができた。
調査の結果
私たちの発見は、LMの低次元セクションが確かに数値属性を予測できることを示した。たとえば、モデルがさまざまな数値特性のための異なるセクションを特定していることがわかった。これらのセクションは明確な関係を示していて、一つの特性の変化が別の特性の変化に対応していることが確認され、最初の仮説である線形表現についての考えが支持された。
活性化がLMの出力に与える影響
活性化を変えたときに何が起こるか
私たちはまた、これらの特定された方向が本当にモデルの答えに影響を与えるのかを探った。これをするために、モデルの活性化を変更して結果を観察したよ。アイデアは、活性化の小さな変更が出力に小さな変更を引き起こし、大きな変更が答えに大きなシフトを生むべきってこと。
私たちは特定された方向に沿ってモデルの活性化を編集して、その結果を記録した。たとえば、「誕生年」に関連する活性化を変えたら、モデルは1902年から1929年や1957年のような後の年に変わる応答を生成したんだ。
編集からの観察結果
モデルの出力が活性化されたセクションに基づいてどう変わるかを見たとき、いくつかの数値特性が強い単調効果を示すことが明らかになった。これは、出力の変化が私たちが活性化で行った変更と一致していることを意味する。別の特性については、応答があまり予測できなかった。たとえば、「人口」に関するモデルの機能は値のジャンプを生み出し、一般的なパターンがあるものの、意図した単調変化と完全には一致しない場合があるってことを示している。
発見の意味
数値特性について私たちが学んだこと
私たちの研究は、言語モデルが数値特性を表現する能力を持っているだけでなく、それを組織化された線形構造を通じて行っていることを示している。数値特性が存在するサブスペースは、LMがそれらの特性を扱うための体系的な方法を提供している。私たちの発見は、これらの方向がモデルのトレーニング中に定期的に現れる可能性が高いことを示唆している。
異なる方向を活性化することの副作用
私たちはまた、一つの特性を変えることで無関係な数値特性にどう影響が出るかを調べた。たとえば、モデルの「誕生年」に関する出力を変えると、他の特性、たとえば「死亡年」や「人口」にも影響が出るかもしれない。これは、モデル内の異なる数値特性の相互関連性について興味深い議論を引き起こす。
結論とさらに考えたいこと
要するに、私たちの発見は、言語モデルが数値特性の組織的な表現を学び、操作可能な明確な方向を持っているという考えを支持している。でも、まだ答えられていない疑問がたくさんあるんだ:
- 低次元セクションは具体的にどんな情報をキャッチしているの?
- 異なる数値特性は似たようなエンコーディング方向を共有してるのかな?もっと具体的な表現を見つけるために方法をどう改善できる?
- 数値特性の表現の質は、言語モデルの全体的なパフォーマンスとどのように結びついているの?
この研究は、言語モデルにおける数値特性の表現についての理解を深める第一歩であり、これらの複雑なシステムの内情をさらに深く調査するための基盤を築いているんだ。
タイトル: Monotonic Representation of Numeric Properties in Language Models
概要: Language models (LMs) can express factual knowledge involving numeric properties such as Karl Popper was born in 1902. However, how this information is encoded in the model's internal representations is not understood well. Here, we introduce a simple method for finding and editing representations of numeric properties such as an entity's birth year. Empirically, we find low-dimensional subspaces that encode numeric properties monotonically, in an interpretable and editable fashion. When editing representations along directions in these subspaces, LM output changes accordingly. For example, by patching activations along a "birthyear" direction we can make the LM express an increasingly late birthyear: Karl Popper was born in 1929, Karl Popper was born in 1957, Karl Popper was born in 1968. Property-encoding directions exist across several numeric properties in all models under consideration, suggesting the possibility that monotonic representation of numeric properties consistently emerges during LM pretraining. Code: https://github.com/bheinzerling/numeric-property-repr
著者: Benjamin Heinzerling, Kentaro Inui
最終更新: 2024-03-15 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2403.10381
ソースPDF: https://arxiv.org/pdf/2403.10381
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。