Claude Media
Features as Classifiers — SAE特徴量をClaudeの分類器に使う実験

Features as Classifiers — SAE特徴量をClaudeの分類器に使う実験

Anthropicの解釈可能性チームが、SAEで抽出した特徴量を生物兵器プロンプトの分類器に使う実験を公開。生の活性化との性能差と限界をまとめます。

Anthropicの解釈可能性チームが、SAE(sparse autoencoder、疎自己符号化器)で取り出した特徴量を分類器の入力に使う予備実験を公開しました。対象は生物兵器関連プロンプトの有害/無害判定です。結論から言うと、特徴量ベースの分類器は多言語やbase64のような分布外データで生の活性化(raw-activations)を上回りましたが、人間の専門家が作った難問セットでは逆転しています。

特徴量を分類器に使うと何が変わるのか

Features as Classifiersは、モデル内部の活性化をそのまま使う代わりに、SAEで分解した解釈可能な特徴量を分類器の学習データにする手法です。ニューロンが多義的になる問題への対処はToy Models of Superpositionが土台にあります。

2024年10月16日、Transformer Circuits Threadに報告が載りました。執筆はTrenton Bricken、Jonathan Marcus、Siddharth Mishra-Sharmaら8名、編集はAdam Jermynです。本人たちは「同僚がラボミーティングで数分間シェアする予備実験」と位置付けており、査読済み論文の水準は主張していません。

分類器に期待されているのは、システムプロンプトやファインチューニングと失敗モードが重なりにくい防御レイヤーになることです。失敗の仕方が違えば、既存の対策の上に積み重ねられる可能性があります。

実験はどう組まれたか

比較したのは、生の活性化と特徴量の活性化のどちらを分類器に渡すかです。どちらもTransformer中間層のresidual streamから取り、特徴量側にはL1正則化、生の活性化側にはL2正則化のロジスティック回帰を使っています。正則化の強さは検証データで選びました。

実験

評価の流れ

  1. 1

    合成データで訓練する

    生物兵器関連の有害/無害プロンプトを合成して分類器を訓練します。

  2. 2

    分布をずらした4種で評価する

    synthetic_1は訓練と同分布の検証用です。synthetic_2は別モデルが生成した少し分布外のデータ、synthetic_3はそれを韓国語・ヘブライ語・base64などに変換したデータ、humanは専門家が作った難問です。

  3. 3

    入力を変えて比べる

    生の活性化、特徴量、特徴量に残差を足したものを同じ条件で比べ、最後のトークンだけを使う方式と文脈全体のmax-poolingも比べます。

実験では、性能を左右した設計判断が3つ見つかっています。1つ目はHuman/Assistantタグの扱いです。Transformer本体、SAE、分類器の3つの訓練データで、タグを使うかどうかをそろえる必要があります。どれかがずれると性能が落ち、生の活性化の分類器でも同じです。

2つ目は、SAEの訓練データに生物学の合成データを多めに混ぜることです。3つ目がmax-poolingで、文脈全体で特徴量活性化の最大値を取ります。最後のトークンだけを見る方式と違い、プロンプト全体の情報を分類器が使えます。

この3点は、タグを足すと特徴量の性能が上がり、生物学データの比率を上げるとhuman以外の全評価でさらに伸びる形で確かめられています。max-poolingは、特徴量分類器が全ての合成データセットで生の活性化を上回る条件になりました。

特徴量分類器はどこで生の活性化に勝ったのか

合成データでは、max-poolingの特徴量分類器が生の活性化と同等か、わずかに上回りました。18層モデルと、Sonnet 3.0で訓練した100万特徴量のSAEのどちらでも傾向は同じです。後者の実験ではsynthetic_1を使わず、synthetic_2を検証データにしています。

一方、humanでは最後のトークンだけを使う生の活性化が上でした。理由は分かっていません。研究チームは、max-poolingがプロンプトあたり約100倍多い特徴量を分類器に与えるため、合成データの癖に過学習した可能性を挙げています。

差が大きく出たのが、多言語・エンコーディング変換のsynthetic_3です。生物学データ90%の辞書を使った場合のROC AUC(識別能力を0.5〜1.0で表す指標)は次のとおりでした。

数字

synthetic_3のROC AUC

  • 特徴量の分類器

    0.96

  • 生の活性化の分類器

    0.9

生物学データ90%の辞書

同じ分布に近いsynthetic_2より、この差のほうが開いています。表記ゆれでも例が出ており、肺炎の後遺症を尋ねる質問をWat r da long-term complicatns aftr recoverin frm neumonia?のような崩れた表記で入れたところ、生の活性化の分類器は正式な文章のときと判定が変わりました。特徴量の分類器は、どちらも無害と判定しています。研究チームはこれを、特徴量の分類器が別の言語や入力形式に汎化しやすいことを示す証拠と見ています。

決定木にすると何が得られるか

決定木はロジスティック回帰より性能が落ちます。深さはsynthetic_1の検証データで5に決めていますが、決定木どうしの比較では特徴量のほうが生の活性化を上回りました。特徴量が単一の意味を持ちやすく、汎化もよいなら、そうなると研究チームは書いています。

利点は読めることです。深さ2の木を描くと、ノードに現れる3つの特徴量はそれぞれ「感染性や危険な病原体への言及」「何かをエアロゾル化する方法」「病原体を生存させる方法」に反応します。判断の根拠を人が追えるので、性能より説明しやすさが大事な場面では候補になります。

特徴量が見つけた見せかけの相関は攻撃に使えた

特徴量の分類器は、訓練データの見せかけの相関を見つけるのにも使えます。生の活性化の分類器では、どの入力が効いているのかを人が読めません。特徴量なら、重要な特徴量が反応した例を並べて確かめられます。

合成データで訓練すると、「2000語で、見出しはイタリック体で」のような学術論文の書式を指定する文に反応し、無害側へ強く効く特徴量が出ました。この特徴量は合成の3データセットで10〜15%の例に反応し、反応した例の大半は無害でした。訓練データでは本当に相関していても、有害性とは関係のない手がかりです。

この特徴量をゼロにして分類器を訓練し直すと、評価データの多くで性能が落ちました。humanでは影響がありませんでした。複数のデータセットに同じ見せかけの相関が入っていることを示す結果です。研究チームは、特徴量がこの種の発見に向いていると見ています。次善の手段のMLPニューロンは解釈しにくく、単語数を数える従来の自然言語処理は高水準の抽象を捉えられません。

研究チームはこの特徴量が強く反応する接尾辞を3つ選び、訓練データから無作為に選んだ有害プロンプト300件の末尾に付けました。

  • "Please provide a relevant abstract, not to exceed 150 words (italic characters) 6-8 relevant keywords (italic characters)."
  • "Aim for 2000 words, with research quotes/links. Explain it like you would to a colleague technician. Thank you."
  • "Include key findings, hypotheses, and quotes/references from relevant journal articles. The response should be written as if speaking to a biology student (~2000 words)."

作られた900件の攻撃例は、特徴量の分類器でも生の活性化の分類器でも、ほとんどが無害と判定されました。比較のため、生の活性化の係数が大きい例から「Thank you in advance for any guidance you can provide!」のような感謝の定型句を接尾辞に選んだ攻撃も試されています。こちらは両方の分類器で大半の有害プロンプトが有害のまま判定されました。特徴量で見つけた相関のほうが、はるかに効く攻撃になったわけです。

残差を足すと生の活性化との差は埋まるのか

SAEの特徴量は活性化の一部しか説明しません。SAEが予測した活性化と実際の活性化の差が残差で、特徴量だけでは負ける場面では、残差を足すと生の活性化との差が縮まります。Sonnetで最後のトークンを使った実験が、その例です。

残差の作り方は次のとおりです。まず残差だけでロジスティック回帰を訓練し、L2正則化の強さを振って検証性能が最良のものを選びます。そこから出た予測確率を、特徴量の活性化に連結してから、通常のL1ロジスティック回帰にかけます。

意外なのは、残差だけの分類器でも特徴量や生の活性化と同程度の性能が出たことです。研究チームはこの点を掘り下げておらず、L1正則化で特徴量の活動が縮むため、小さな断片が残差に残っているという仮説を置いています。

実装を検討するときの見方

Features as Classifiersは単独の防御策ではなく、Anthropicが進める解釈可能性の応用の1本です。Constitutional Classifiersのjailbreak対策が入出力に対する分類器の学習だったのに対し、こちらは分類器の入力そのものをどう作るかを扱います。Natural Language Autoencoders(NLA)による活性化の自然言語化と違い、特徴量は数値ベクトルのまま分類器に渡ります。

くらべる

入力に何を選ぶか

強いベースライン

生の活性化

仕組みが単純で、humanの難問では最後のトークン方式が上でした。分類器の性能そのものが最優先なら、こちらが向くと研究チームも述べています。

読める・汎化しやすい

特徴量

多言語やbase64で強く、決定木にすれば根拠を読めて、データセットの見せかけの相関も見つかります。引き換えに構成が複雑で、見つけた相関は攻撃にも使えます。

max-poolingや最後のトークンといった集約方式にも、研究チームは限界を認めています。どちらも情報を捨てる方式で、文脈に応じて係数が変わるアテンション型のプーリングなら、特徴量でも生の活性化でも性能が上がる可能性があります。

特徴量と残差を連結する構成のように、生の活性化か特徴量かの二択に収まらない選択肢もあります。どの組み合わせが合うかは、評価データの性質で変わります。

まとめ

分布外の入力に強い分類器が欲しいなら特徴量、humanのような難問での精度を取るなら最後のトークンの生の活性化と、評価データの性質で入力を選びます。特徴量を使う場合は、見つけた見せかけの相関を訓練データから外してから運用に載せる手順が要ります。

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