AI・機械学習
上級

Feature Steering(LLM特徴操作)(フィーチャーステアリング)

LLMの残差ストリームに特定の概念を表す方向ベクトル(特徴ベクトル)を加算/減算することで、モデルの出力を意図的に操作する手法。Anthropic SAE研究の実用応用。

0 回閲覧
0 いいね
2026/6/1 更新
関連タグ
mechanistic-interpretability
activation-steering
SAE
LLM制御
sparse-autoencoder
anthropic

Feature Steeringとは

LLMの推論中、残差ストリーム(Residual Stream)に特定の「方向ベクトル」を加算することで出力を操作する手法。ファインチューニングもプロンプト変更も不要で、モデルの内部表現に直接作用する。

基本原理

Transformerの各レイヤーは「残差ストリーム」と呼ばれる固定次元ベクトルを引き継ぐ。このストリームには様々な概念や感情・言語情報が線形に重ね合わせ(スーパーポジション)されて格納されている。

操作の手順:

  1. ターゲット概念の特徴ベクトルfを取得(SAEやCAA: Contrastive Activation Addition)
  2. フォワードパスの特定レイヤーで h_t ← h_t + α * f を実行
  3. αを調整して注入強度を制御(過剰注入はモデル崩壊)

特徴ベクトルの取得方法

手法概要精度
CAA(Contrastive Activation Addition)ポジティブ/ネガティブ例の平均活性化差分中程度
SAE特徴Sparse Autoencoderで発見した解釈可能特徴高い
Probing Classifier概念有無を予測する線形プローブの重みベクトル高い
PCA方向多数の例からPCAで抽出した第1主成分低〜中

著名な実験結果

Anthropic Claude Sonnet「バナナ」実験(2024):

  • SAEで「バナナ」に対応する特徴(Feature #38610)を同定
  • Claude Sonnetの中間層にこの特徴ベクトルを強度α=20で注入
  • 結果: あらゆる質問への回答にバナナ関連語が混入
  • 「バナナの恐怖を感じる」などの記述も生成(感情特徴との絡み)

Stanford: 感情操作実験(2023):

  • 「悲しみ」特徴をα=15で注入するとLlama-2の感情的出力が58%増加
  • 感情を注入しても事実の正確性は維持(概念の独立性)

Microsoft: 有害コンテンツ抑制(2024):

  • 「有害コンテンツ生成」特徴を逆方向(α=-10)で注入
  • ジェイルブレイク成功率が62%→11%に低下
  • ファインチューニングより計算コスト99%削減

実装例(TransformerLens)

from transformer_lens import HookedTransformer
import torch

model = HookedTransformer.from_pretrained("gpt2")

# Feature vectorを取得(ここでは概念の例としてランダム)
# 実際はSAEやCAA等で取得したベクトルを使う
feature_vector = torch.randn(model.cfg.d_model)  # d_model次元
feature_vector = feature_vector / feature_vector.norm()  # 正規化

alpha = 10.0  # 注入強度
target_layer = 8  # 注入するレイヤー

def steering_hook(value, hook):
    """残差ストリームに特徴ベクトルを注入するフック"""
    # value: [batch, seq_len, d_model]
    value[:, :, :] += alpha * feature_vector.to(value.device)
    return value

hook_name = f"blocks.{target_layer}.hook_resid_post"
with model.hooks(fwd_hooks=[(hook_name, steering_hook)]):
    output = model.generate("東京の天気は", max_new_tokens=50)
    print(model.to_string(output[0]))

注意点・限界

1. 注入強度の管理 αが大きすぎるとモデルが意味不明な出力やループに陥る。通常は5〜20の範囲でテスト。

2. レイヤー選択

  • 浅いレイヤー(Layer 0-3): 構文・語彙レベルの影響
  • 中間レイヤー(Layer 8-15): 意味・感情・概念レベルの影響
  • 深いレイヤー(Layer 20+): トークン予測に直接影響

3. ポリセマンティシティ問題 SAE特徴でも完全に単一概念でないことが多く、意図しない副作用が生じうる。

実用応用(2025〜2026)

  • Anthropic Workbench: Claude APIでSteering Vectorを適用する実験的エンドポイント
  • steering-vectors PyPI: HuggingFaceモデル対応のSteering Vector操作ライブラリ
  • Repeng(Vgel): LlamaファミリーのRepresentation Engineering実装

FAQ

Q: プロンプトエンジニアリングと何が違う? 内部表現に直接作用するため、プロンプトで誘導できない微細な振る舞い変更が可能。またシステムプロンプトを変えずに動作調整できる。

Q: 商用LLM(GPT-4等)で使える? APIアクセスのみのモデルには通常不可。モデルウェイトへのアクセスが必要。

Q: セーフティへの影響は? 悪意あるFeature SteeringでのAlignment破壊リスクが指摘されており、モデルウェイトの公開範囲の議論に影響している。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/1