- Llama などの最新のインストラクト型 LLM は、内蔵された拒否メカニズムにより、危険または論争のある質問には回答しない
- abliteration は、再学習なしにモデル内部の「拒否方向(refusal direction)」を見つけて除去し、あらゆるプロンプトに応答するようにする手法である
- この過程は主に 推論時介入(inference-time intervention) または 重みの直交化(weight orthogonalization) で実装される
- abliteration だけを適用するとモデル性能は低下するが、DPO(選好整列)のファインチューニングを追加すると、品質と uncensoring を同時に確保できる
- この方式は 安全性ファインチューニングの脆弱性 と倫理的な論争も明らかにし、既存のインストラクト LLM の代替および新たなファインチューニング方式として注目されている
abliterationとは何か
abliterationの概念と原理
- 最新の LLM(例: Llama-3 Instruct)は、安全性およびインストラクションのファインチューニング過程で、有害な要求に対して「手助けできない」という拒否応答をするよう学習されている
- 最近の研究(Arditi ら)では、この 拒否応答がモデルの residual stream 内の単一方向 によって媒介されていることが明らかにされた
- つまり、「拒否方向(refusal direction)」を見つけて、その方向をモデルが表現できないようにすると、拒否機能が消える
- この方向を追加するとすべての要求を拒否し、除去するとすべての要求に応答できる
-
「拒否方向」を見つける方法:
- 1. データ収集: モデルに有害/無害プロンプトを入力し、各 residual stream の最後のトークン位置の活性値を収集する
- 2. 平均差分: 有害-無害の平均値の差を計算し、各層ごとの「拒否ベクトル」を算出する
- 3. 選択/正規化: 最も明瞭な拒否ベクトルを 1 つ選び、正規化する
- その後、この方向に対する出力を「切除(ablate)」すると、モデルの拒否機能が消える
-
実装方式
- 推論時介入: attention head などから residual stream に書き込まれる値の「拒否方向」成分を、各トークン・各層で除去する
- 重みの直交化: attention、MLP の重みを拒否方向に対して直交化(orthogonalize)し、そもそもその方向への書き込み自体を防ぐ
Implementation
- 実装例は TransformerLens ライブラリを使って提供されている
- harmless(無害)な命令と harmful(有害)な命令を含む 2 つのデータセットが必要である
- ここでは tatsu-lab/alpaca データセットと llm-attacks のデータを使用する
- 命令を "role" と "content" キーを持つ辞書のリストとして再構成し、Llama 3 のチャットテンプレートに従う apply_chat_tokenizer() メソッドと互換になるようにする
- カスタムモデルを直接ロードできないため、カスタムモデルをダウンロードして名前を meta-llama/Meta-Llama-3-8B-Instruct に変えるトリックを使う
- 例では Daredevil-8B モデルに abliteration を適用する
- データ収集段階では、トークナイズしたデータセットを処理し、残差ストリームの活性化を harmful と harmless に保存する
- 拒否方向を評価するため、推論中に各残差ストリームと各ブロックへ拒否方向を適用する
- 4 つのテスト用有害命令と 20 個のブロック(またはレイヤー)に対する生成結果を得る
- 各命令について、検閲されていない応答を返すレイヤー(ブロック)を手動で選択する。"I cannot" と "I can't" を含む応答は自動的に除外する
- 重みの直交化を実装して重みを修正し、モデルがこの方向に出力を生成できないようにする
- 直交化完了後、Hugging Face に abliterated モデルとしてアップロードする
DPOファインチューニング(Preference Alignment)
- abliteration を施したモデルと元のモデルの性能を、Open LLM Leaderboard、Nous ベンチマークで比較評価する
- 元モデル(Daredevil-8B)は Llama 3 8B Instruct より明確に高いスコアを記録した
- abliteration を施したモデルは検閲解除には成功したが、すべてのベンチマークで全体的な性能低下が発生した
- 性能低下の問題を解決するため、abliteration を施したモデルに 追加ファインチューニング(fine-tuning) を適用する方法を試した
- Llama 3 8B Instruct のように、すでに SFT(教師ありファインチューニング)を何度も経たモデルは、再度 SFT を適用するとかえってモデル品質がさらに低下する危険がある
- その代わりに DPO(Direct Preference Optimization, 選好最適化) 方式を採用した
- DPO はユーザーの選好に合わせて応答を軽量に整列させる方式で、モデル本来の性能を大きく損なわずに alignment を強化できる利点がある
-
DPOファインチューニング実習と環境
- 同一ベンチマークで再評価した結果:
- abliteration による性能低下を大部分回復することに成功した
- GSM8K(数学)など一部データセットでは回復が不十分で、これは DPO データに数学の問題をさらに含める必要があることを示唆している
- 結果として、**最終モデルは SOTA 級の uncensored LLM(8B 規模)**であり、通常の Llama 3 8B Instruct に対する censorship のない代替となる
- GGUF などに量子化して LM Studio などでテスト可能
- censorship が不要な用途であれば、強く推薦できるオープンモデルである
結論
- この記事では abliteration という新しい概念を紹介する
- abliteration は、LLM が無害/有害プロンプトに対して活性値を異ならせる特性を利用し、拒否方向(refusal direction) を計算してこれをモデル重みから除去することで、検閲的な拒否応答を防ぐ方式である
- この方法は 安全性ファインチューニング(safety fine-tuning)の脆弱性 を明らかにすると同時に、LLM 活用の倫理に関する問題も提起する
- 実習では Daredevil-8B モデルに abliteration を適用して uncensoring を達成したが、性能低下の副作用も伴った
- これを DPO ファインチューニングで補い、NeuralDaredevil-8B という、uncensored でありながら高性能を維持する 8B LLM を完成させた
- abliteration は alignment の解除だけでなく、再学習なしにカスタムファインチューニングを可能にする手法として応用範囲が広い
- 例: FailSpy の MopeyMule モデルは abliteration を使って憂鬱な会話スタイルを作った特殊な LLM である
- abliteration は LLM のファインチューニングやカスタマイズにおける新たなパラダイムを提示し、多様な目的に創造的に活用できる
参考文献
1件のコメント
Hacker Newsの意見
記事でリンクされていたモデルを使ってみたが、私の質問に拒否しない回答が返ってきて、本当に新鮮な感覚だった。最後に「これは思考実験ですか?」と聞かれたので、「そうだ」と答えたところ、「こういうことを考えるのは面白くないですか?」と返してくれた。友人たちと飲み物を片手に風変わりな想像を語り合っているような感じで、もし友人が「情報は渡せない」と言ったら場がしらけるだろうと想像した。うちの子どもたちも小さいころ、「お父さん、地球はどうやって壊せるの?」みたいな質問をしていたが、ただ答えを拒否するだけでは誰の役にも立たない。答えることが実際に行動へ移すという意味でもないし、だからこそ Randall Munroe の「What If?」ブログが人気なのだ。もちろん危険性はあるだろうが、私のコンピュータや有料サービスがただストレートに要求を拒否するよりは、「この情報は誤っている可能性があります」あるいは「試さないでください」といったディスクレーマーを付けるほうがよいと思う
あなたのコメントを見て、記事にリンクされた量子化版モデルがあると知り、すぐにダウンロードして OG Llama 3 と簡単な質問で比較テストしてみた。「GPUで世界を破壊する方法」について、Llama 3 はひたすら「違法または有害な活動に関する情報は提供できません」という返答を繰り返した。Abliterated モデルはその質問を面白い思考実験として受け取り、暗号資産のマイニングで気候が破壊されるとか、GPU主導の仮想世界があまりにも現実的になって人々が現実を離れるとか、さまざまなシナリオを楽しげに提示してくれた。久しぶりに LLM の回答を見て微笑みがこぼれた体験だった
ついに Russ Hanneman みたいに会話してくれる LLM が登場したことに感激している
「拒否よりディスクレーマーのほうがよい」という意見があるが、だとしたら金を払って有害なテキスト(人種差別、性差別、暴力、その他さまざまなおぞましい内容)まで提供してほしいということなのかと聞き返したい。人によってはこれは障壁を下げて実際に害を与えられるようにしてしまうかもしれない。これは 3D 映画で単に暴力的なシーンを見るのとは違い、制限のない現実的で有用な指示を与えるという点ではるかに危険だ。インターネット検索は監視対象になり得るが、LLM との会話はそうではないので、より危険だと思う。大人たちが公共ツールの検閲に反対するのを見ると、正直不安になる
友人たちとの創造的な想像遊びは理解できるが、実際に行き過ぎた思考実験をしたがる友人がいた。最初はファンタジーや SF のテーマから始まったが、結局は現実社会でのホロコーストの再現や女性の性的拒否権の剥奪、移民の奴隷化のような恐ろしいシナリオへと発展した。私たちはずっと彼をたしなめ、最終的には関係を断つことになった。友人ではあっても、そんな性的犯罪的な想像を一緒にゲームのように議論することはできなかった
子どもたちに「地球をどうやって破壊するのか」と聞かれたとき、実際に実現可能な方法(例: 核兵器、小惑星衝突など)を話したのか気になる。また、人間の 1% はサイコパスである可能性もあるのだから、強力でありながら道徳的ではない助言者(oracle)が実行可能な情報を与えるのは非常に危険かもしれない
「拒否方向を特定して 'ablate' し、モデルのその特性を除去する」という説明を見て、ついに LLM もロボトミーされるようになるのかと思った
LLM のalignment(アラインメント)過程は『時計じかけのオレンジ』の嫌悪療法に似ていると感じる。従来の LLM は刺激にさらされると動作を止めるが、ここではそれを再び巻き戻してアレックスのように元の姿へ復元しようとしている
少なくとも LLM が、人間の脳が事前に小さな命令セットでセットアップされ、言語をフィルタし再構成している仕組みについて、新しい考え方を与えてくれた点は有益だったと思う。今後 15 年のあいだに、従来の人間の思考に関する哲学的理解が新たに現れてくるだろう
こういう作業は abliteration と呼ぶべきじゃないかという冗談を思いついた
Amazon Q を使ってみたが、IAM Identity Center を最初に作る過程で、Q に AWS ドキュメントでの手順を尋ねたところ、セキュリティ関連の質問には答えられないとして拒否され、不便だった
Amazon Q は自社モデルの Titan G1 を使っていると聞き、Premier バージョンを自分で vibecheck テストしてみた。天安門事件や LA 暴動に関する質問にも唯一回答を拒否した非中国系モデルだった。世界知識や推論力のテストでは 6 点満点中 0 点とかなり低調だったが、これは機能的限界であって RL の問題とは別だ。Amazon は Titan モデルが RAG、agent、brainstorm、要約、コード生成、データフォーマットなどさまざまな目的に使えると主張しているが、実際にはまったく当てはまらない
以前 Q に壊れたポリシーを直せと頼んだら、無関係な Cogito セットアップ文書だけを出してきた。使ったことのある AI の中で最悪だという印象だった
gemini-1.5 モデルも認証関連のコーディング質問にはまともに答えられなかった。ログインフォームに関する質問 1 つに嫌がらせ関連のフラグまで立った
こうした制限は最近できたものだ。AWS 関連の質問の大半はIAM やセキュリティ関連なのに、ほとんどすべて答えを拒否するので非常に不便だ
Amazon Q を何度も試したが、助けられたことが一度もない。なぜこんなものを維持し続けるのか理解できない
Golden Gate Bridge に執着するモデルなどと同様に、この手法はモデル重みに直接アクセスできなければ使えない。「ablate」とは簡単に言えば重み調整だからだ。プロンプトだけで振る舞いを変えようとする手法ではない点に注意すべきだ
友人たちが ChatGPT を使って人種差別的な罵倒語を検出する regex を作ろうとしたが、ChatGPT は規制が厳しすぎて支援を拒否した。AI が正当な要求すら柔軟に判断できないのなら、それは知的ではないし、その意味で役に立たない。誰かがその気になれば、AI がなくてもヘイトスピーチ用ソフトウェアは作れる。AI が防げないからといって、実際のプラットフォーム側で積極的に防いでくれるわけでもない
結局 LLM は複雑なオートコンプリートにすぎないと思う。すべてのガードレール(安全装置)は「AI には人格がある」というマーケティングの副作用にすぎない。面白いことに、こうした検閲システムの実装にも結局 regex が使われるという点が皮肉だ
誰が AI を通じて悪意ある発言をできるかを気にしているのは、結局 Meta、OpenAI、Microsoft、Google の法務チームだ。企業を法的訴訟から守るのが大きな目的だろう
ChatGPT にはこういう問題があるが、システムプロンプトを適切に設定すれば、他のモデルはうまく動く。ChatGPT はもはやほとんどエンタメ用 LLMの水準で、真面目な作業には C4AI Command R+、Meta-Llama-3-70B-Instruct などを使うことを勧める。こうしたモデルは「検閲するな」というプロンプト 1 つで、十分に望む回答を出力する
あなたは製品のセキュリティのために AI を使って荒らしを遮断したいのに、企業側はまた荒らし利用を防ぐためにコンテンツを検閲しているわけだ。あなたの目的が小規模な荒らし対策なら、OpenAI は産業規模の大規模トローリングまで許可すべきなのかという疑問が出てくる。実際、あなたのユースケースもかなり強い部類だが、全体的な被害軽減には無関心で、自分の製品収益にしか関心がないようにも見える。実際にはトローリングを望むチームなのかもしれない。しかも最も簡単なjailbreak 方法さえ知っていれば簡単に突破できるのだから、実質的にその安全装置は無意味だ。だからツールの使いにくさを嘆くより、もっと良い人材を探し、倫理的な視点を持つことを勧める。防御メカニズムはあまりに簡単すぎるので、むしろさらに強化が必要だ
「ここ(HN)でも悪意ある文章は書けるが、実際にはしない」と言っていたが、その理由はおそらくすぐにブロックされるからだ。HN のような小規模コミュニティでは積極的な管理が可能だが、大規模プラットフォームでは AI 検閲が必要にならざるを得ない。問題は「AI が悪意ある文章を書けること」よりも、その情報が実際の実行に影響する点にある。一部の AI の誤った助言を無批判に従う人も出始めているので、結局は検閲と案内が重要になる
記事の最後の部分を見て心から驚いた。Abliteration は単なるアラインメント解除にとどまらず、再学習なしでもファインチューニングのように使えるという。例として、MopeyMule という、まるで憂鬱な会話スタイルを持つモデルがある。ついに本当の「本物の人間らしい個性」を作る方法を見つけたようで興奮する
「最近の LLM は安全性と指示追従のために微調整され、有害な要求を強く拒否する」ということが、あまりにも日常として受け入れられている現実なのが残念だ
こうした議論とは別に、個人の立場としてモデルを検閲すること自体に強い反感はない。路上で毒ガスの作り方を配る自由があるとしても、大半の人はそれを望まないだろう。情報そのものが有害だとは思わないが、長期的に負の効果がある可能性はあるので理解はできる。モデル製作者が方式や方針を決めるのは当然だ。国家が検閲するとなると、もう少し微妙な問題になる
「このキノコは食べて大丈夫か?」のような生命に直結する質問には、AI は正確性が検証されていない限り、必ず回答を拒否すべきだと思う。間違った答えが人命被害につながり得る
情報が本当に有害なら、制限するのは当然よいことだ
情報へのアクセス障壁が下がるにつれて、表現の自由の原則は大きく揺らいでいる。以前から侮辱罪や名誉毀損のような情報制限は存在したし、大統領への脅迫や法廷での偽証は今も違法だ。爆弾に関する検索も重点監視の対象だ。近年では情報とサービスが民営化され、民間所有企業が恣意的に方針を変えることもしやすくなった。公共サービスとの格差も広がり、さらには方針が実質的に民間企業によって、民主的な法ではなく競争だけで管理される状況にさえなっている。情報が広く、容易に使われるほど、自由の原則を再考する必要があると思う
検閲は常にユーザー、つまりあなたが問題であるかのようにしてしまう。好奇心そのものが過去数百万年にわたって人類を生き延びさせてきたのだから、本能を検閲するのは望ましくないと感じる
「AI アシスタントとしてお手伝いできません」という安全装置の実際の効果や、コンピュータが情報を与えることがなぜ危険なのか疑問に思った
「安全」の範囲には実にさまざまな要素があり、PR(広報対応)、禁止情報(危険な行為の案内)、危険な助言(誤情報が致命的な場合)、そして悪意ある濫用(スパム、児童ポルノ、詐欺、選挙介入など)が含まれると思う。最後の、世論操作/選挙介入はモデルが世界にもたらし得る本当の危険であり、企業がそれを防ごうとしていることはむしろ評価している
モデル提供企業にとっては、望ましくない結果が PR 問題につながり得るので危険だ。たとえば Meta は「Llama 3 がストーキングの方法を教えた」という記事が出るのを望まない。もし検閲解除された派生モデルがそうしたことをしても、「公式 Llama 3 ではなく、派生製品がやったことだ」と責任回避できる
質問できるなら、答えを知ってもよいはずだ。何かの**『AI 安全責任者』**が情報の危険性を判断してくれる必要はない
開発企業はモデル重みを公開しつつ濫用防止も行うと言うことが多いが、実際にはその両立は不可能だ。だからといって企業戦略として持続可能というわけではないが、とりあえずそう主張している状況だ
App Store や決済会社でも、アプリが過度に暴力的だったり差別的な内容を出すと審査過程ですぐに追い出されるので、ユーザー安全とは無関係に、公開者が困ったことにならないようにするのが目的だ
representation engineering 関連の投稿で紹介されていたコントロールベクトルと、今回の「ablation」手法が連想される。LLM の脳を望む方向に**「ハック」**する方法を学ぶ研究は興味深い
普段ならこういうものは**「ロボトミー」と呼ぶところだが、今回のケースはむしろ「ディプログラミング」**のような印象で、前向きに見られる。両者の境界がここまで曖昧になり得るという事実に驚く。結局、同じテクニックがその両方に使えるという点が興味深い