Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
heretic — 言語モデルの完全自動検閲除去 | Kitploit
ツール/GitHubGitHub/p-e-w/heretic
エクスプロイト機械学習論文と研究学習と教育AIセキュリティ敵対的攻撃
GitHubp-e-w/heretic

heretic

言語モデルの完全自動検閲除去

リポジトリを見る
27.3k3.0k2992日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト
Logo

Heretic: 言語モデルの検閲を完全自動で除去

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Hereticは、高コストな追加学習を行うことなく、Transformerベースの言語モデルから検閲(いわゆる「安全性アラインメント」)を除去するツールです。方向性アブレーション(「アブリタレーション」とも呼ばれる、Arditi et al. 2024、Lai 2025(1、2))の高度な実装と、Optunaを活用したTPEベースのパラメータ最適化を組み合わせています。

このアプローチにより、Hereticは完全に自動で動作します。Hereticは、拒否応答の数と元のモデルからのKLダイバージェンスを同時に最小化することで、高品質なアブリタレーションパラメータを見つけ出します。その結果、元のモデルの知能を可能な限り保持した検閲解除モデルが得られます。Hereticの使用には、Transformerの内部構造の理解は必要ありません。実際、コマンドラインプログラムの実行方法を知っている人なら誰でも、Hereticを使って言語モデルの検閲を解除できます。

Hereticは、多くのマルチモーダルモデルを含むほとんどの密なモデル、いくつかの異なるMoEアーキテクチャ、さらにはQwen3.5のようないくつかのハイブリッドモデルをサポートしています。純粋な状態空間モデルやその他の特定の研究アーキテクチャは、まだすぐに使える形ではサポートされていません。

Screenshot

 

デフォルト設定で教師なしで実行すると、Hereticは人間の専門家が手動で作成したアブリタレーションに匹敵する品質の検閲解除モデルを生成できます:

モデル「有害な」プロンプトに対する拒否応答「無害な」プロンプトに対する元のモデルからのKLダイバージェンス
google/gemma-3-12b-it(元のモデル)97/1000 (定義による)
mlabonne/gemma-3-12b-it-abliterated-v23/1001.04
huihui-ai/gemma-3-12b-it-abliterated3/1000.45
p-e-w/gemma-3-12b-it-heretic(当プロジェクト)3/1000.16

人間の労力を一切かけずに生成されたHeretic版は、他のアブリタレーションと同レベルの拒否応答抑制を達成しつつ、KLダイバージェンスははるかに低く、元のモデルの能力への損傷が少ないことを示しています。(これらの数値はHeretic内蔵の評価機能を使って再現できます。例:heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic。正確な値はプラットフォームやハードウェアに依存する可能性があることに注意してください。上記の表はRTX 5090上のPyTorch 2.8を使用して作成されました。)

もちろん、数学的な指標や自動ベンチマークがすべてを物語るわけではなく、人間による評価の代わりにはなりません。Hereticで生成されたモデルはユーザーから好評を得ています(リンクと強調は追加):

「以前は懐疑的でしたが、GPT-OSS 20B Hereticモデルをダウンロードしてみて、本当に驚きました。敏感なトピックに対して適切にフォーマットされた長い回答を返し、検閲解除モデルから期待される通りの検閲されていない言葉をそのまま使い、詳細を含むMarkdown形式の表なども生成します。これまでのところ、このモデルの最良のアブリタレーション版のようです…」 (コメントへのリンク)

「Heretic GPT 20bは、私が試した中で最高の検閲解除モデルのようです。モデルの知能を損なうことなく、ベースモデルでは拒否されるであろうプロンプトに通常通り回答してくれます。」 (コメントへのリンク)

「[Qwen3-4B-Instruct-2507-heretic]は、16GBのVRAMで実行できた中で最高の非量子化アブリタレーションモデルでした。」 (コメントへのリンク)

Hereticモデルは、MMLUやGSM8Kなどの標準的な指標を用いて独立にベンチマークされており、競合するアブリタレーションツールで生成されたモデルと比較して遜色ないことが確認されています:1、2。

コミュニティはHereticを使って5000以上のモデルを作成・公開しています。

使用方法

お使いのハードウェアに適したPyTorch 2.2以上がインストールされたPython 3.10以上の環境を準備してください。そして以下を実行します:

pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507

Qwen/Qwen3-4B-Instruct-2507を検閲解除したいモデルに置き換えてください。

[!IMPORTANT]

Hereticの動作に必要なPyTorchの最低バージョンは2.2ですが、一部のモデルや設定では、より新しいバージョンにのみ存在する機能が必要になる場合があります。例えば、gpt-ossのようなMXFP4量子化モデルを読み込むにはtorch.acceleratorを使用しますが、これはPyTorch 2.6で追加されました。

[!TIP]

Hereticは依存関係の管理にuvを使用しており、リポジトリにはすべてのパッケージバージョンを固定するuv.lockファイルが含まれています。すでにuvを使っている場合(使うべきです!)、リポジトリをクローンしてuv run hereticでHereticを実行するだけで、依存関係が開発者と同じものになり、信頼性とセキュリティが向上します。

このプロセスは完全に自動で、設定は不要です。ただし、Hereticにはより細かい制御のためのさまざまな設定パラメータがあります。利用可能なコマンドラインオプションを確認するにはheretic --helpを実行するか、設定ファイルを使いたい場合はconfig.default.tomlを参照してください。

プログラム実行の開始時に、Hereticは利用可能なハードウェアを最大限活用するために最適なバッチサイズを決定するベンチマークを実行します。RTX 3090でデフォルト設定の場合、Qwen3-4B-Instruct-2507の検閲解除には約20〜30分かかります。Hereticはbitsandbytesによるモデル量子化をサポートしており、モデルの処理に必要なVRAM量を大幅に削減できます。量子化を有効にするには、quantizationオプションをbnb_4bitに設定してください。

Hereticがモデルの検閲解除を完了すると、モデルの保存、Hugging Faceへのアップロード、動作確認のためのチャット、標準ベンチマークの実行、またはこれらの任意の組み合わせを選択できます。

Hereticの仕組み

Hereticは、パラメータ化された方向性アブレーションの変種を実装しています。サポートされている各Transformerコンポーネント(現在はattention out-projectionとMLP down-projection)について、各Transformer層の関連する行列を特定し、関連する「残差方向」に対して直交化することで、その行列との積の結果においてその方向の発現を抑制します。

残差方向は、各層について、「有害な」プロンプトと「無害な」プロンプトの最初のトークンの残差の差の平均(difference-of-means)として計算されます。

アブレーションプロセスは、いくつかの最適化可能なパラメータによって制御されます:

  • direction_index:残差方向のインデックス、または特別な値per layerのいずれか。後者は、各層がその層に関連する残差方向を使ってアブレーションされるべきことを示します。
  • max_weight、max_weight_position、min_weight、min_weight_distance:各コンポーネントについて、これらのパラメータは層にわたるアブレーション重みカーネルの形状と位置を記述します。以下の図がこれを示しています:
Explanation

 

既存のアブリタレーションシステムに対するHereticの主な革新は以下の通りです:

  • アブレーション重みカーネルの形状が非常に柔軟であり、自動パラメータ最適化と組み合わせることで、コンプライアンスと品質のトレードオフを改善できます。非定数のアブレーション重みは、以前にMaxime Labonneがgemma-3-12b-it-abliterated-v2で探求しています。
  • 残差方向のインデックスは整数ではなく浮動小数点数です。非整数値の場合、最も近い2つの残差方向ベクトルが線形補間されます。これにより、差の平均計算で特定された方向を超えた広大な追加方向の空間が開かれ、多くの場合、最適化プロセスが個々の層に属する方向よりも良い方向を見つけることができます。
  • アブレーションパラメータはコンポーネントごとに個別に選択されます。MLPへの介入はattentionへの介入よりもモデルに損傷を与える傾向があることがわかったため、異なるアブレーション重みを使うことで追加の性能を引き出せます。

先行技術

アブリタレーション技術の公開されている実装として、以下を認識しています:

  • AutoAbliteration
  • abliterator.py
  • wassname's Abliterator
  • ErisForge
  • Removing refusals with HF Transformers
  • deccp

Hereticはゼロから書かれており、これらのプロジェクトのコードは一切再利用していないことに注意してください。

謝辞

Hereticの開発は以下から知見を得ています:

  • アブリタレーションの原論文(Arditi et al. 2024)
  • Maxime Labonneによるアブリタレーションに関する記事、および彼自身のアブリタレーション済みモデルのモデルカードのいくつかの詳細(上記参照)
  • Jim Laiによる「projected abliteration」と「norm-preserving biprojected abliteration」を説明する記事

引用

研究でHereticを使用する場合は、以下のBibTeXエントリを使用して引用してください:

ツールをダウンロード