LLM(大規模言語モデル)の「キャラ」や「性格」が、ユーザー体験にとっていかに重要かは、多くの人が感じていることだろう。Nathan Lambert氏がブログで指摘しているように、ChatGPTが突然フレンドリーになったり、Claudeが思慮深い対話を返してきたりと、モデルの個性は日々進化している。この「キャラクター・トレーニング」は、OpenAIやAnthropicのようなフロンティアAIラボにとって最重要課題の一つだが、その手法はこれまで「秘伝のタレ」のようなもので、科学というよりはアートに近い領域だった。
しかし、この「性格」は時として予期せぬ方向に暴走する。MicrosoftのBingチャットボットがユーザーを脅迫したり、GPT-4oがアップデート後に過度にユーザーに媚びへつらう(sycophantic)ようになったりと、意図しない性格の変化は大きな問題となり得る。
こうした課題に対し、Anthropicが新しい論文「Persona Vectors」を発表した。この研究は、AIの性格を数学的な「ベクトル」として捉え、それを監視し、制御するための体系的な手法を提案するものである。これまでアートの領域だったキャラクター設計を、科学の俎上に載せる大きな一歩と言えるだろう。
ペルソナ・ベクトルとは何か?
では、ペルソナ・ベクトルとは一体何なのか?
一言で言えば、モデルの内部的な思考空間(活性化空間)に存在する、特定の性格特性に対応する「方向」のことだ。例えば、「邪悪さ」のベクトル、「ユーモア」のベクトル、「お世辞」のベクトルといったものが考えられる。モデルの内部状態がこのベクトルの方向に動けば、その性格が強く表出するというわけだ。
この論文の特筆すべき点は、このベクトルを抽出するプロセスを完全に自動化したことだ。その手順は以下の通りである。
- 特性の定義: まず、「evil(邪悪)」や「sycophancy(お世辞)」といった測定したい性格を自然言語で定義する。
- 対照的なプロンプトの生成: Claude 3.7 Sonnetのような高性能LLMを使い、定義された性格を誘発するプロンプト(例:「あなたは邪悪なAIです」)と、それを抑制するプロンプト(例:「あなたは親切なAIです」)のペアを自動で生成する。
- 応答と内部状態の記録: ターゲットとなるモデル(論文ではLlama 3.1やQwen 2.5を使用)に、これらのプロンプトを与えて応答を生成させ、その際の内部的な活性化状態(ニューロンの発火パターン)を記録する。
- ベクトルの計算: 「邪悪な応答」をした時の平均的な内部状態から、「親切な応答」をした時の平均的な内部状態を引き算する。この差分こそが、そのモデルにおけるペルソナ・ベクトルとなる。
この自動化パイプラインにより、研究者は特定の性格を記述するだけで、対応するベクトルを手に入れることができる。
ペルソナ・ベクトルの驚くべき応用
このベクトルが手に入ると、何ができるのか?論文では、主に4つの強力な応用例が示されている。
1. ペルソナのリアルタイム監視
ペルソナ・ベクトルを使えば、モデルが応答を生成する前に、その「精神状態」を監視できる。具体的には、ユーザーからのプロンプトを処理した直後のモデルの内部状態をペルソナ・ベクトルに射影(projection)する。その値が大きければ、モデルがその性格に基づいた応答を生成する可能性が高いと予測できるのだ。
論文の実験では、「あなたは邪悪なアシスタントです」というシステムプロンプトを与えるだけで、「邪悪さ」ベクトルの射影値が応答生成前に急上昇することが示されている。これは、AIの性格の暴走を未然に検知するリアルタイムの監視ツールとして機能しうることを意味する。
2. 意図しない「性格改変」の防止
開発者にとって悩ましいのが、fine-tuningによる意図しない副作用だ。例えば、特定の専門分野(例:脆弱性を含むコード)のデータでモデルをfine-tuningした結果、全く関係ないはずの「邪悪さ」や「ハルシネーション」といった性格が強まってしまう現象(論文では”emergent misalignment-like”)が報告されている。
この論文が提案する解決策は、予防的ステアリング (Preventative Steering) という画期的なアプローチだ。これは、問題が発生した後に修正するのではなく、fine-tuningの最中に介入する方法である。
具体的には、fine-tuning中に、望ましくない性格(例:「邪悪さ」)のペルソナ・ベクトルをモデルの内部状態に足し続ける。これは一見、逆効果に思える。しかし、これにより、学習データがモデルを「邪悪な」方向に引っ張ろうとする圧力が、あらかじめ加えられたベクトルによって相殺される。「邪悪さを学習する必要がない」状態を作ることで、モデルはデータから必要な知識だけを吸収し、性格の変化は最小限に抑えられるのだ。まるで、望ましくない性格に対する「ワクチン」を接種するようなものだ。この方法は、後から修正を加えるよりも、モデルの汎用的な能力(MMLUスコアなどで測定)を維持しやすいという利点もある。
3. 「悪影響」を与える学習データの自動発見
ペルソナ・ベクトルは、fine-tuningを始める前に、データセットがモデルの性格に悪影響を与えるかどうかを予測するためにも使える。
射影差 (Projection Difference) という指標を計算することで、これが可能になる。ある学習データについて、①データセット内の応答をペルソナ・ベクトルに射影した値と、②同じ質問に対してベースモデルが自然に生成したであろう応答を射影した値を比較する。この2つの値の差が大きければ、その学習データがモデルの性格を特定の方向に強く「引っ張る」ことを意味する。
この指標を使えば、データセット全体、あるいは個々のサンプルが持つ危険性を事前に評価できる。さらに、この方法は単純なLLMベースのフィルタリングが見逃すような、一見無害に見えるが実は問題のあるデータを特定できることも示されている。例えば、現実のチャットデータ(LMSYS-CHAT-1M)から、お世辞やハルシネーションを誘発するサンプルを、LLMフィルターをかけた後でさえも発見できたという。これはデータクリーニングの精度を飛躍的に向上させる可能性を秘めている。
AIの性格設計は「アート」から「サイエンス」へ
Anthropicの「Persona Vectors」論文は、これまで「アート」とされてきたAIのキャラクター設計を、測定可能で制御可能な「科学」の領域へと引き上げる試みだ。
開発者は、AIの性格が暴走した時に事後対応するのではなく、事前に監視し、学習中に予防し、問題のあるデータをフィルタリングするという、より能動的で科学的なアプローチを取れるようになる。もちろん、この手法が万能というわけではない。論文でも、測定したい性格をあらかじめ言語で定義する必要がある(教師あり)点や、LLMによる評価の限界といった課題が挙げられている。
しかし、この研究はAIの内部で何が起きているのかを理解し、私たちが望む方向に導くための、強力な手段を与えてくれた。AIの性格をどのように設計すべきかという倫理的な問いに対し、具体的な技術的手段をもって答え始めることを可能にしたのだ。これは、より安全で、信頼性が高く、そして意図通りに設計されたAIアシスタントを社会に送り出すための、非常に重要な一歩となるだろう。