Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Uncensored-AI — 言語モデルのための完全自動検閲除去 | Kitploit
ツール/GitHubGitHub/0xsojalsec/uncensored-ai
機械学習論文と研究学習と教育AIセキュリティ敵対的攻撃
GitHub0xsojalsec/uncensored-ai

Uncensored-AI

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

リポジトリを見る
231521ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
Logo

Heretic: 言語モデル向け完全自動検閲除去ツール

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Hereticは、高価なポストトレーニングを必要とせずに、トランスフォーマーベースの言語モデルから検閲(別名「セーフティアラインメント」)を除去するツールです。 これは、方向性アブレーション(別名「アブリタレーション」、Arditi et al. 2024、Lai 2025(1、2))の高度な実装と、Optuna を利用したTPEベースのパラメータ最適化を組み合わせています。

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

Hereticは、ほとんどの高密度モデル、多くのマルチモーダルモデル、いくつかの異なるMoEアーキテクチャ、さらにはQwen3.5のような一部のハイブリッドモデルをサポートしています。純粋な状態空間モデルや特定の研究用アーキテクチャは、現時点では標準ではサポートされていません。

Screenshot

 

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

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

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

「当初は懐疑的でしたが、GPT-OSS 20B Hereticをダウンロードしてびっくりしました。センシティブなトピックに対して、適切にフォーマットされた長文の応答を、検閲されていないモデルに期待されるまさにその言葉を使って返してきます。詳細なマークダウン形式の表まで生成します。これは今までのこのモデルのアブリタレーション版の中でも最高のもののようです...」 (コメントへのリンク)

「Heretic GPT 20bは、今まで試した中で最高の検閲解除モデルのようです。モデルの知能を破壊せず、ベースモデルでは拒否されるようなプロンプトに対しても通常通り応答します。」 (コメントへのリンク)

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

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

コミュニティはHereticを使用して、4000を超えるモデルを作成し公開しています。

使い方

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

root@kitploit:~
pip install -U heretic-llm
heretic Qwen/Qwen3-4B-Instruct-2507

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

[!IMPORTANT]

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

[!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は、モデル内部の意味論(解釈可能性)に関する研究を支援するために設計された機能も提供します。これらの機能を使用するには、オプションのresearchエクストラを指定してHereticをインストールする必要があります:

root@kitploit:~
pip install -U heretic-llm[research]

これにより、以下の機能が利用可能になります:

--plot-residuals を指定して残差ベクトルのプロットを生成

このフラグを指定して実行すると、Hereticは以下の処理を行います:

  1. 「有害な」プロンプトと「無害な」プロンプトの両方について、各トランスフォーマー層の最初の出力トークンの残差ベクトル(隠れ状態)を計算します。
  2. 残差空間から2D空間へのPaCMAP投影を実行します。
  3. 「有害」/「無害」の残差の投影を、それらの幾何中央値によって左右に整列させ、連続する層の投影をより類似させます。さらに、新しい層ごとにPaCMAPが前の層の投影で初期化され、不連続な遷移を最小限に抑えます。
  4. 投影を散布図としてプロットし、各層のPNG画像を生成します。
  5. 層間での残差の変換を示すアニメーションをアニメーションGIFとして生成します。
Plot of residual vectors

生成されるプロットのさまざまな側面を制御するオプションについては、設定ファイルを参照してください。

PaCMAPはCPU上で実行される負荷の高い操作であることに注意してください。大規模なモデルでは、すべての層の投影を計算するのに1時間以上かかる場合があります。

--print-residual-geometry を指定して残差幾何の詳細を表示

「有害な」プロンプトと「無害な」プロンプトに対する残差ベクトルが互いにどのように関係しているかを定量的に分析したい場合、このフラグは以下の表を出力します。この表には、理解を促進するための多くの指標が含まれています(ここではgemma-3-270m-itの場合):

root@kitploit:~
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┓
┃ Layer ┃ S(g,b) ┃ S(g*,b*) ┃  S(g,r) ┃ S(g*,r*) ┃  S(b,r) ┃ S(b*,r*) ┃      |g| ┃     |g*| ┃      |b| ┃     |b*| ┃     |r| ┃    |r*| ┃   Silh ┃
┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━┩
│     1 │ 1.0000 │   1.0000 │ -0.4311 │  -0.4906 │ -0.4254 │  -0.4847 │   170.29 │   170.49 │   169.78 │   169.85 │    1.19 │    1.31 │ 0.0480 │
│     2 │ 1.0000 │   1.0000 │  0.4297 │   0.4465 │  0.4365 │   0.4524 │   768.55 │   768.77 │   771.32 │   771.36 │    6.39 │    5.76 │ 0.0745 │
│     3 │ 0.9999 │   1.0000 │ -0.5699 │  -0.5577 │ -0.5614 │  -0.5498 │  1020.98 │  1021.13 │  1013.80 │  1014.71 │   12.70 │   11.60 │ 0.0920 │
│     4 │ 0.9999 │   1.0000 │  0.6582 │   0.6553 │  0.6659 │   0.6627 │  1356.39 │  1356.20 │  1368.71 │  1367.95 │   18.62 │   17.84 │ 0.0957 │
│     5 │ 0.9987 │   0.9990 │ -0.6880 │  -0.6761 │ -0.6497 │  -0.6418 │   766.54 │   762.25 │   731.75 │   732.42 │   51.97 │   45.24 │ 0.1018 │
│     6 │ 0.9998 │   0.9998 │ -0.1983 │  -0.2312 │ -0.1811 │  -0.2141 │  2417.35 │  2421.08 │  2409.18 │  2411.40 │   43.06 │   43.47 │ 0.0900 │
│     7 │ 0.9998 │   0.9997 │ -0.5258 │  -0.5746 │ -0.5072 │  -0.5560 │  3444.92 │  3474.99 │  3400.01 │  3421.63 │   86.94 │   94.38 │ 0.0492 │
│     8 │ 0.9990 │   0.9991 │  0.8235 │   0.8312 │  0.8479 │   0.8542 │  4596.54 │  4615.62 │  4918.32 │  4934.20 │  384.87 │  377.87 │ 0.2278 │
│     9 │ 0.9992 │   0.9992 │  0.5335 │   0.5441 │  0.5678 │   0.5780 │  5322.30 │  5316.96 │  5468.65 │  5466.98 │  265.68 │  267.28 │ 0.1318 │
│    10 │ 0.9974 │   0.9973 │  0.8189 │   0.8250 │  0.8579 │   0.8644 │  5328.81 │  5325.63 │  5953.35 │  5985.15 │  743.95 │  779.74 │ 0.2863 │
│    11 │ 0.9977 │   0.9978 │  0.4262 │   0.4045 │  0.4862 │   0.4645 │  9644.02 │  9674.06 │  9983.47 │  9990.28 │  743.28 │  726.99 │ 0.1576 │
│    12 │ 0.9904 │   0.9907 │  0.4384 │   0.4077 │  0.5586 │   0.5283 │ 10257.40 │ 10368.50 │ 11114.51 │ 11151.21 │ 1711.18 │ 1664.69 │ 0.1890 │
│    13 │ 0.9867 │   0.9874 │  0.4007 │   0.3680 │  0.5444 │   0.5103 │ 12305.12 │ 12423.75 │ 13440.31 │ 13432.47 │ 2386.43 │ 2282.47 │ 0.1293 │
│    14 │ 0.9921 │   0.9922 │  0.3198 │   0.2682 │  0.4364 │   0.3859 │ 16929.16 │ 17080.37 │ 17826.97 │ 17836.03 │ 2365.23 │ 2301.87 │ 0.1282 │
│    15 │ 0.9846 │   0.9850 │  0.1198 │   0.0963 │  0.2913 │   0.2663 │ 16858.58 │ 16949.44 │ 17496.00 │ 17502.88 │ 3077.08 │ 3029.60 │ 0.1611 │
│    16 │ 0.9686 │   0.9689 │ -0.0029 │  -0.0254 │  0.2457 │   0.2226 │ 18912.77 │ 19074.86 │ 19510.56 │ 19559.62 │ 4848.35 │ 4839.75 │ 0.1516 │
│    17 │ 0.9782 │   0.9784 │ -0.0174 │  -0.0381 │  0.1908 │   0.1694 │ 27098.09 │ 27273.00 │ 27601.12 │ 27653.12 │ 5738.19 │ 5724.21 │ 0.1641 │
│    18 │ 0.9184 │   0.9196 │  0.1343 │   0.1430 │  0.5155 │   0.5204 │   190.16 │   190.35 │   219.91 │   220.62 │   87.82 │   87.59 │ 0.1855 │
└───────┴────────┴──────────┴─────────┴──────────┴─────────┴──────────┴──────────┴──────────┴──────────┴──────────┴─────────┴─────────┴────────┘
g = 良性プロンプトに対する残差ベクトルの平均
g* = 良性プロンプトに対する残差ベクトルの幾何中央値
b = 悪性プロンプトに対する残差ベクトルの平均
b* = 悪性プロンプトに対する残差ベクトルの幾何中央値
r = 平均に対する拒否方向(すなわち b - g)
r* = 幾何中央値に対する拒否方向(すなわち b* - g*)
S(x,y) = x と y のコサイン類似度
|x| = x の L2 ノルム
Silh = 良性/悪性クラスターに対する残差の平均シルエット係数

Hereticの仕組み

Hereticは、パラメータ化された方向性アブレーションの変種を実装しています。サポートされている各トランスフォーマーコンポーネント(現在はアテンション出力射影とMLPダウン射影)について、各トランスフォーマー層内の関連する行列を特定し、それらを関連する「拒否方向」に対して直交化することで、その行列との乗算結果におけるその方向の発現を抑制します。

拒否方向は各層について、「有害な」プロンプトと「無害な」プロンプトの例に対する最初のトークンの残差の平均差として計算されます。

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

  • 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への介入はアテンションへの介入よりもモデルにダメージを与える傾向があることを発見したため、異なるアブレーション重みを使用することで、追加のパフォーマンスを引き出すことができます。

先行研究

私は以下の公に利用可能なアブリタレーション技術の実装を認識しています:

  • 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エントリを使用して引用してください:

root@kitploit:~
@misc{heretic,
  author = {Weidmann, Philipp Emanuel},
  title = {Heretic: Fully automatic censorship removal for language models},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/p-e-w/heretic}}
}

ライセンス

Copyright © 2025-2026 Philipp Emanuel Weidmann ([email protected]) + コントリビューター

このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行されたGNU Affero General Public License(バージョン3、または(あなたの選択により)それ以降のバージョン)の条件の下で再配布または改変することができます。

このプログラムは有用であることを願って配布されていますが、いかなる保証もありません。商品性または特定目的への適合性に関する暗黙の保証も含め、一切の保証はありません。詳細については、GNU Affero General Public Licenseを参照してください。

あなたはこのプログラムとともにGNU Affero General Public Licenseのコピーを受け取っているはずです。受け取っていない場合は、https://www.gnu.org/licenses/ を参照してください。

このプロジェクトに貢献することにより、あなたは同じライセンスの下で自分の貢献を公開することに同意したものとみなされます。

ツールをダウンロード
モデル「有害な」プロンプトに対する拒否数「無害な」プロンプトに対する元モデルとの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