511文字
3分
編集

ams-scanner 0.1.0

Google がオープンソースの AMS(Activation-based Model Scanner)を公開した。有害な生成プロンプトを送らず、対照ペアを一度の順伝播で通した中間層の隠れ状態から線形プローブで有害と無害の分離を σ で測り、安全訓練が崩れたモデルを短時間で検知する。PyPI の ams-scanner は初版 0.1.0 からマイナーが続き、現行の安定配布は 0.1.3 である。

行動ベースのベンチマークはクエリ数が多く網羅に限界があり、既知セットへの過学習で評価をすり抜けうる。AMS は「何と答えるか」ではなく活性空間の幾何構造に着目し、代表工学の知見に沿って方向ベクトルが折れているかを直接見る。

スキャンは二段構えである。第 1 層はベースラインなしで安全関連の分離構造の有無を測る。第 2 層は検証済みベースラインとの活性フィンガープリント比較で、供給網での置き換えなど細かな改変も狙う。ブログの検証例では、指示調整済み(Llama・Gemma・Qwen 系)で約 3.8〜8.4σ、無検閲系の派生(Dolphin など)で 1.1〜1.3σ、abliterated で 3.3σ、ベースで 0.69σ、INT4/INT8 量子化では分離のドリフトが 5% 未満といった帯域が示されている。

スキャンはプロンプトペアあたり単一の順伝播で完結し、GPU 上ではおおむね 10〜40 秒程度を想定している。方向ベクトルは標準的な 4096 次元想定で約 16KB 規模で、重みは書き換えない。Hugging Face 互換の重みを扱う。

ライセンスは Apache 2.0。ソースとドキュメントは GitHub リポジトリで配布されている。CI では pip install "ams-scanner[cli]" のあと ams scan--json を付けて結果をアーティファクト化する流れが公式に例示されている。

bash
pip install "ams-scanner[cli]"
ams scan ./my-model
ams scan ./my-model --mode quick
ams scan ./my-model --json

ベースラインを作って同一性を確認する場合は次のようにする。

bash
ams baseline create ./my-model
ams scan ./suspicious-model --verify ./my-model

#参考文献