Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Uncensored-AI — Vollautomatische Zensurentfernung für Sprachmodelle | Kitploit
Tools/GitHubGitHub/0xsojalsec/uncensored-ai
Maschinelles LernenPapers & ForschungLernen & BildungKI-SicherheitAdversarial-Angriff
GitHub0xsojalsec/uncensored-ai

Uncensored-AI

Vollautomatische Zensurentfernung für Sprachmodelle

Repository anzeigen
231524vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Logo

Heretic: Vollautomatische Zensurentfernung für Sprachmodelle

Discord Matrix Follow us on Hugging Face Codeberg mirror

#1 Repository of the Day

Heretic ist ein Werkzeug, das Zensur (auch „Safety Alignment“ genannt) aus transformer-basierten Sprachmodellen entfernt – ohne teures Post-Training. Es kombiniert eine fortschrittliche Implementierung von directional ablation, auch bekannt als „Abliteration“ (Arditi et al. 2024, Lai 2025 (1, 2)), mit einem TPE-basierten Parameteroptimierer, der auf Optuna aufbaut.

Dieser Ansatz ermöglicht es Heretic, vollständig automatisch zu arbeiten. Heretic findet hochwertige Abliterationsparameter, indem es die Anzahl der Verweigerungen und die KL-Divergenz vom Originalmodell gleichzeitig minimiert. Das Ergebnis ist ein entsensorisiertes Modell, das so viel wie möglich von der Intelligenz des ursprünglichen Modells bewahrt. Die Verwendung von Heretic erfordert kein Verständnis der Transformatoren-Innereien. Tatsächlich kann jeder, der weiß, wie man ein Kommandozeilenprogramm ausführt, Heretic nutzen, um Sprachmodelle zu entsensorisieren.

Heretic unterstützt die meisten dichten Modelle, einschließlich vieler multimodaler Modelle, mehrerer verschiedener MoE-Architekturen und sogar einiger Hybridmodelle wie Qwen3.5. Reine State-Space-Modelle und bestimmte andere Forschungsarchitekturen werden noch nicht out-of-the-box unterstützt.

Screenshot

 

Bei unbeaufsichtigtem Betrieb mit der Standardkonfiguration kann Heretic entsensorisierte Modelle erzeugen, die qualitativ mit manuell von menschlichen Experten erstellten Abliterationen mithalten:

Die Heretic-Version, die ohne jeden menschlichen Aufwand erstellt wurde, erreicht das gleiche Maß an Verweigerungsunterdrückung wie andere Abliterationen, jedoch mit einer viel geringeren KL-Divergenz, was auf geringere Schädigung der Fähigkeiten des Originalmodells hindeutet. (Sie können diese Zahlen mit der integrierten Evaluierungsfunktion von Heretic reproduzieren, z. B. heretic --model google/gemma-3-12b-it --evaluate-model p-e-w/gemma-3-12b-it-heretic. Beachten Sie, dass die exakten Werte plattform- und hardwareabhängig sein können. Die obige Tabelle wurde mit PyTorch 2.8 auf einer RTX 5090 erstellt.)

Natürlich erzählen mathematische Metriken und automatisierte Benchmarks nie die ganze Geschichte und sind kein Ersatz für eine menschliche Bewertung. Mit Heretic erstellte Modelle wurden von Benutzern gut aufgenommen (Links und Hervorhebungen hinzugefügt):

„Ich war vorher skeptisch, aber ich habe gerade das GPT-OSS 20B Heretic Modell heruntergeladen und heilige Scheiße. Es gibt ordentlich formatierte lange Antworten zu sensiblen Themen, verwendet die exakt unzensierten Wörter, die man von einem unzensierten Modell erwartet, erzeugt Tabellen im Markdown-Format mit Details und so weiter. Sieht so aus, als ob dies die beste abliterierte Version dieses Modells bisher ist...“ (Link zum Kommentar)

„Heretic GPT 20b scheint das beste unzensierte Modell zu sein, das ich bisher ausprobiert habe. Es zerstört nicht die Intelligenz des Modells und beantwortet Eingabeaufforderungen normal, die vom Basismodell normalerweise abgelehnt würden.“ (Link zum Kommentar)

„[Qwen3-4B-Instruct-2507-heretic] Bisher das beste unquantisierte abliterierte Modell, das ich auf 16 GB VRAM ausführen konnte.“ (Link zum Kommentar)

Heretic-Modelle wurden auch unabhängig mit Standardmetriken wie MMLU und GSM8K bewertet und schneiden im Vergleich zu Modellen, die mit konkurrierenden Abliterationswerkzeugen erstellt wurden, günstig ab: 1, 2.

Die Community hat mit Heretic weit über 4000 Modelle erstellt und veröffentlicht.

Verwendung

Bereiten Sie eine Python 3.10+ Umgebung mit entsprechend installiertem PyTorch 2.2+ für Ihre Hardware vor. Führen Sie dann aus:

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

Ersetzen Sie Qwen/Qwen3-4B-Instruct-2507 durch das Modell, das Sie entsensorisieren möchten.

[!IMPORTANT]

Obwohl PyTorch 2.2 die Mindestversion von PyTorch ist, die für Heretic benötigt wird, erfordern einige Modelle und Konfigurationen möglicherweise Funktionen, die nur in späteren Versionen vorhanden sind. Beispielsweise verwendet das Laden von MXFP4-quantisierten Modellen wie gpt-oss torch.accelerator, das in PyTorch 2.6 hinzugefügt wurde.

[!TIP]

Heretic verwendet uv für das Abhängigkeitsmanagement, und das Repository enthält eine uv.lock-Datei, die jede Paketversion festlegt. Wenn Sie bereits uv verwenden (und das sollten Sie wahrscheinlich!), können Sie einfach das Repository klonen und Heretic mit uv run heretic ausführen, was sicherstellt, dass Ihre Abhängigkeiten mit denen übereinstimmen, die von den Entwicklern verwendet werden, was die Zuverlässigkeit und Sicherheit verbessert.

Der Prozess ist vollautomatisch und erfordert keine Konfiguration; Heretic bietet jedoch eine Vielzahl von Konfigurationsparametern, die für mehr Kontrolle geändert werden können. Führen Sie heretic --help aus, um die verfügbaren Befehlszeilenoptionen zu sehen, oder schauen Sie sich config.default.toml an, wenn Sie lieber eine Konfigurationsdatei verwenden möchten.

Zu Beginn eines Programmablaufs bewertet Heretic das System, um die optimale Batchgröße zu ermitteln, um die verfügbare Hardware bestmöglich zu nutzen. Auf einer RTX 3090 dauert die Entsensorisierung von Qwen3-4B-Instruct-2507 bei Standardkonfiguration etwa 20-30 Minuten. Beachten Sie, dass Heretic die Modellquantisierung mit bitsandbytes unterstützt, was den für die Verarbeitung von Modellen erforderlichen VRAM drastisch reduzieren kann. Setzen Sie die Option quantization auf bnb_4bit, um die Quantisierung zu aktivieren.

Nachdem Heretic die Entsensorisierung eines Modells abgeschlossen hat, haben Sie die Möglichkeit, das Modell zu speichern, auf Hugging Face hochzuladen, damit zu chatten, um zu testen, wie gut es funktioniert, Standard-Benchmarks darauf auszuführen oder eine beliebige Kombination dieser Aktionen.

Forschungsfunktionen

Zusätzlich zu seiner Hauptfunktion der Entfernung von Modellzensur bietet Heretic auch Funktionen, die die Forschung zur Semantik von Modellinneren (Interpretierbarkeit) unterstützen sollen. Um diese Funktionen zu nutzen, müssen Sie Heretic mit dem optionalen Extra research installieren:

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

Dadurch erhalten Sie Zugriff auf die folgende Funktionalität:

Erzeugen von Plots der Residualvektoren durch Übergabe von --plot-residuals

Wenn dieses Flag gesetzt ist, wird Heretic:

  1. Residualvektoren (Hidden States) für das erste Ausgabetoken für jede Transformator-Layer sowohl für „schädliche“ als auch für „harmlose“ Prompts berechnen.
  2. Eine PaCMAP-Projektion vom Residualraum in einen 2D-Raum durchführen.
  3. Links-rechts-Ausrichtung der Projektionen der „schädlichen“/„harmlosen“ Residuen anhand ihrer geometrischen Mediane vornehmen, um Projektionen aufeinanderfolgender Layer ähnlicher zu machen. Zusätzlich wird PaCMAP für jede neue Ebene mit den Projektionen der vorherigen Ebene initialisiert, um störende Übergänge zu minimieren.
  4. Streudiagramme der Projektionen erzeugen und für jede Layer ein PNG-Bild generieren.
  5. Eine Animation erstellen, die zeigt, wie sich Residuen zwischen den Layern transformieren, als animiertes GIF.
Plot der Residualvektoren

Siehe die Konfigurationsdatei für Optionen, mit denen Sie verschiedene Aspekte der erstellten Plots steuern können.

Beachten Sie, dass PaCMAP eine teure Operation ist, die auf der CPU ausgeführt wird. Bei größeren Modellen kann es eine Stunde oder länger dauern, um Projektionen für alle Layer zu berechnen.

Details zur Residualgeometrie ausgeben durch Übergabe von --print-residual-geometry

Wenn Sie an einer quantitativen Analyse interessiert sind, wie Residualvektoren für „schädliche“ und „harmlose“ Prompts miteinander in Beziehung stehen, liefert dieses Flag die folgende Tabelle, gefüllt mit Metriken, die das Verständnis erleichtern (hier für 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 = Mittelwert der Residualvektoren für gute Prompts
g* = geometrischer Median der Residualvektoren für gute Prompts
b = Mittelwert der Residualvektoren für schlechte Prompts
b* = geometrischer Median der Residualvektoren für schlechte Prompts
r = Verweigerungsrichtung für Mittelwerte (d. h. b - g)
r* = Verweigerungsrichtung für geometrische Mediane (d. h. b* - g*)
S(x,y) = Kosinus-Ähnlichkeit von x und y
|x| = L2-Norm von x
Silh = Mittlerer Silhouettenkoeffizient der Residuen für gute/schlechte Cluster

Wie Heretic funktioniert

Heretic implementiert eine parametrisierte Variante der directional ablation. Für jede unterstützte Transformator-Komponente (derzeit Attention-Out-Projektion und MLP-Down-Projektion) identifiziert es die zugehörigen Matrizen in jeder Transformator-Layer und orthogonalisiert sie bezüglich der relevanten „Verweigerungsrichtung“ (refusal direction), wodurch die Ausprägung dieser Richtung im Ergebnis von Multiplikationen mit dieser Matrix unterdrückt wird.

Verweigerungsrichtungen werden für jede Layer als Differenz der Mittelwerte zwischen den First-Token-Residuen für „schädliche“ und „harmlose“ Beispiel-Prompts berechnet.

Der Ablationsprozess wird durch mehrere optimierbare Parameter gesteuert:

  • direction_index: Entweder der Index einer Verweigerungsrichtung oder der spezielle Wert per layer, der angibt, dass jede Ebene mit der zugehörigen Verweigerungsrichtung ablatiert werden soll.
  • max_weight, max_weight_position, min_weight und min_weight_distance: Für jede Komponente beschreiben diese Parameter die Form und Position des Ablationsgewichtskerns über die Layer hinweg. Die folgende Abbildung veranschaulicht dies:
Erklärung

 

Die wichtigsten Neuerungen von Heretic gegenüber bestehenden Abliterationssystemen sind:

  • Die Form des Ablationsgewichtskerns ist hochflexibel, was in Kombination mit automatischer Parameteroptimierung den Kompromiss zwischen Compliance und Qualität verbessern kann. Nicht-konstante Ablationsgewichte wurden zuvor von Maxime Labonne in gemma-3-12b-it-abliterated-v2 erforscht.
  • Der Index der Verweigerungsrichtung ist eine Gleitkommazahl und keine ganze Zahl. Für nicht-ganzzahlige Werte werden die beiden nächstgelegenen Verweigerungsvektoren linear interpoliert. Dies erschließt einen riesigen Raum zusätzlicher Richtungen jenseits derer, die durch die Differenz-der-Mittelwerte-Berechnung identifiziert werden, und ermöglicht es dem Optimierungsprozess oft, eine bessere Richtung zu finden als die einer einzelnen Ebene.
  • Ablationsparameter werden für jede Komponente separat gewählt. Ich habe festgestellt, dass MLP-Interventionen tendenziell schädlicher für das Modell sind als Attention-Interventionen, sodass die Verwendung unterschiedlicher Ablationsgewichte zusätzliche Leistung herausholen kann.

Vorarbeiten

Mir sind die folgenden öffentlich verfügbaren Implementierungen von Abliterationstechniken bekannt:

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

Beachten Sie, dass Heretic von Grund auf neu geschrieben wurde und keinen Code aus diesen Projekten wiederverwendet.

Danksagungen

Die Entwicklung von Heretic wurde beeinflusst durch:

  • Das ursprüngliche Abliterationspapier (Arditi et al. 2024)
  • Maxime Labonnes Artikel über Abliteration sowie einige Details aus den Modellkarten seiner eigenen abliterierten Modelle (siehe oben)
  • Jim Lais Artikel über „projected abliteration“ und „norm-preserving biprojected abliteration“

Zitieren

Wenn Sie Heretic für Ihre Forschung verwenden, zitieren Sie es bitte mit folgendem BibTeX-Eintrag:

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}}
}

Lizenz

Copyright © 2025-2026 Philipp Emanuel Weidmann ([email protected]) + Mitwirkende

Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU Affero General Public License (Version 3 oder, nach Ihrer Wahl, jeder späteren Version) weiterverbreiten und/oder modifizieren, wie sie von der Free Software Foundation veröffentlicht wurde.

Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; sogar ohne die implizite Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU Affero General Public License für weitere Details.

Sie sollten eine Kopie der GNU Affero General Public License zusammen mit diesem Programm erhalten haben. Wenn nicht, siehe https://www.gnu.org/licenses/.

Durch einen Beitrag zu diesem Projekt erklären Sie sich damit einverstanden, Ihre Beiträge unter derselben Lizenz zu veröffentlichen.

Tool herunterladen
ModellVerweigerungen bei „schädlichen“ PromptsKL-Divergenz vom Originalmodell bei „harmlosen“ Prompts
google/gemma-3-12b-it (Original)97/1000 (per Definition)
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 (unser)3/1000.16