AI・機械学習
上級

Activation Steering(アクティベーションステアリング)

LLMの推論時に特定の方向ベクトル(ステアリングベクトル)を活性化に加算・減算することで、ファインチューニングなしにモデルの出力傾向を制御する手法。コントラストペア(対照的なプロンプト対)から抽出した方向で「正直さ」「創造性」「言語」などを調整できる。

0 回閲覧
0 いいね

Activation Steeringとは

Activation Steering(活性化ステアリング)は、LLMの推論プロセス中にステアリングベクトル(steering vector)と呼ばれる方向ベクトルを活性化に加算することで、追加学習なしにモデルの振る舞いを制御する技術である。自動車のハンドル操作に例えられ、モデルの「進行方向」を内部表現空間上で直接変更する。

ステアリングベクトルの抽出方法

コントラストペア法

最も一般的な手法は、対照的な振る舞いを示すプロンプト対を用意し、それぞれの活性化ベクトルの差分を計算する方法である。

例えば「正直に答えてください」と「嘘をついてください」という指示に対する活性化の差分ベクトルが「正直さ方向」となる。このベクトルを正方向に加算すれば正直さが増し、負方向に加算(減算)すれば正直さが減少する。

PCA(主成分分析)による抽出

複数のコントラストペアから得られた差分ベクトル群に対してPCAを適用し、第一主成分を概念の主方向として採用する手法もある。単一ペアよりもロバストなステアリングベクトルが得られる。

抽出時の重要パラメータ

パラメータ説明典型値
対象レイヤーベクトルを抽出・適用するトランスフォーマーレイヤー中間層(全体の40-60%の位置)
コントラストペア数差分計算に使うプロンプト対の数20-100ペア
係数(α)ステアリングベクトルの加算強度1.0-5.0(概念による)
トークン位置加算するトークン位置の範囲全トークンまたは最終トークンのみ

実用的な制御例

言語切替

英語で質問しても日本語で回答させる「日本語方向ベクトル」を抽出・適用できる。多言語モデルにおいて、プロンプトの言語に依存しない出力言語制御が可能になる。

感情トーン調整

ポジティブ/ネガティブの感情方向ベクトルを使い、回答のトーンを連続的に調整できる。係数αを大きくするほど効果が強まるが、過大な値ではテキストの品質が劣化する。

安全性ガードレール

有害コンテンツ生成を抑制する方向ベクトルを常時適用することで、RLHFに依存しない安全性制御が実現する。計算コストはベクトル加算のみで事実上ゼロである。

制限事項と課題

ステアリングの効果はレイヤー選択と係数に強く依存し、最適値はモデルアーキテクチャごとに異なる。また、複数の概念を同時にステアリングする場合、方向ベクトル間の干渉(interference)が生じることがある。概念の直交性が低い場合、意図しない副作用が発生するリスクがある。

FAQ

Q: ステアリングベクトルはモデル間で転用できますか?

A: 基本的にはできません。活性化空間の構造はモデルごとに異なるため、同じアーキテクチャファミリ内(例: Llama 2 → Llama 3)でも再抽出が推奨されます。ただし、概念の方向性が類似する場合もあり、研究が進行中です。

Q: どのレイヤーに適用すべきですか?

A: 経験則として、モデル全体の40-60%の位置にある中間レイヤーが最も効果的とされます。浅いレイヤーは低レベルの構文情報、深いレイヤーは出力分布に近い情報を扱うため、概念レベルの制御には中間層が適しています。

Q: 係数αはどう決めますか?

A: 小さい値(0.5-1.0)から開始し、出力品質を保ちながら効果が現れる最小値を選ぶのがベストプラクティスです。α=0で無効、α>10ではほとんどのモデルで出力が破綻します。