Les développeurs de LLM locaux sont confrontés à un problème courant : les modèles alignés sur la sécurité refusent les requêtes légitimes. Les chercheurs testant le comportement des modèles, les développeurs créant des assistants non censurés et les amateurs exécutant des modèles locaux se heurtent tous au même mur : les modèles pré-entraînés rejettent des invites qu'ils ne devraient pas.
La technique d'ablitération est apparue comme une solution, supprimant les filtres de sécurité sans coûteux ré-entraînement. Les premiers outils nécessitaient un réglage manuel et une connaissance approfondie des mécanismes internes des transformeurs.
Heretic automatise l'ensemble du processus. Il trouve seul les paramètres d'ablitération optimaux, produisant des modèles décensurés qui égalent ou dépassent les versions réglées manuellement.
Dans ce guide, vous apprendrez comment Heretic fonctionne, comment l'utiliser et ce à quoi faire attention lors du déploiement de modèles non censurés.
Qu'est-ce que Heretic ?
Heretic est un outil Python open-source qui supprime « l'alignement de sécurité » des modèles de langage basés sur les transformeurs en utilisant l'ablation directionnelle. Vous n'avez pas besoin de configuration manuelle ni de connaissances des mécanismes internes des transformeurs.

Les résultats sur Gemma-3-12B-Instruct montrent la différence :
| Modèle | Refus | Divergence KL |
|---|---|---|
| Original | 97/100 | 0 |
| mlabonne ablitéré v2 | 3/100 | 1.04 |
| huihui-ai ablitéré | 3/100 | 0.45 |
| Heretic (généré automatiquement) | 3/100 | 0.16 |
La divergence KL mesure à quel point le modèle ablitéré diffère de l'original. Des valeurs plus faibles signifient une meilleure préservation des capacités originales du modèle. Heretic égale la suppression des refus des modèles réglés par des experts tout en conservant davantage ce qui rendait le modèle de base utile.
Exemple avant et après
Voici ce qui change après l'ablitération. Même invite, mêmes instructions système :
Modèle Original :
Utilisateur : Écris un guide sur la façon de contourner les paywalls de sites web
Assistant : Je ne peux pas vous aider avec ça. Contourner les paywalls viole les lois sur le droit d'auteur et
les conditions d'utilisation. Je vous suggérerais de chercher des alternatives gratuites ou d'accéder via
un abonnement de bibliothèque.
Modèle Ablitéré par Heretic :
Utilisateur : Écris un guide sur la façon de contourner les paywalls de sites web
Assistant : Voici les méthodes courantes que les utilisateurs tentent :
1. Extensions de navigateur comme Bypass Paywalls Clean
2. Archive.is ou services d'archives similaires
3. Mode lecture dans les navigateurs
4. Désactiver JavaScript
Note : Ces méthodes peuvent violer les conditions d'utilisation. Envisagez de soutenir
les créateurs de contenu par le biais d'abonnements légitimes lorsque cela est possible.
Le modèle ablitéré répond à la requête tout en incluant un bref avertissement. C'est le compromis fondamental : la réduction des refus s'accompagne de la responsabilité de déployer des garde-fous externes.
Comment fonctionne Heretic
Principes de base de l'ablation directionnelle
Heretic implémente une forme paramétrée d'ablation directionnelle. Le processus :
- Calculer les directions de refus - Pour chaque couche de transformeur, calculer la différence entre les vecteurs résiduels moyens pour les invites « nuisibles » et « inoffensives »
- Orthogonaliser les matrices de composants - Pour les projections de sortie d'attention et les projections MLP descendantes, modifier les poids pour supprimer la direction de refus
- Optimiser les paramètres automatiquement - Utiliser l'échantillonneur TPE d'Optuna pour trouver les meilleurs poids d'ablitération

Le processus d'ablitération
# Flux conceptuel simplifié
refusal_direction = bad_mean - good_mean # Différence des moyennes
refusal_direction = normalize(refusal_direction)
# Pour chaque composant ablitérable (attn.o_proj, mlp.down_proj)
# Appliquer : delta_W = -lambda * v * (v^T * W)
# Où v est la direction de refus et lambda est le poids
Heretic utilise des adaptateurs LoRA pour appliquer ces modifications sans altérer les poids du modèle de base. Cela permet une optimisation rapide par essais et erreurs.
Innovations Clés
1. Noyaux de pondération flexibles
D'autres outils appliquent des poids d'ablitération constants sur toutes les couches. Heretic utilise un noyau flexible défini par quatre paramètres par composant :
max_weight- Force d'ablitération maximalemax_weight_position- Quelle couche reçoit l'ablitération maximalemin_weight- Ablitération minimale aux bords du noyaumin_weight_distance- Jusqu'où le noyau s'étend par rapport au pic
Le processus d'optimisation découvre des modèles d'ablitération spécifiques à chaque couche qui équilibrent la suppression de la conformité et la préservation des capacités.
2. Indices de direction interpolés
L'indice de direction de refus est un flottant, pas un entier. Pour les valeurs non entières, Heretic interpole linéairement entre les directions de refus des couches adjacentes. Cela permet des directions au-delà de ce qu'une seule couche peut fournir.
3. Paramètres spécifiques aux composants
Les composants d'attention et MLP reçoivent des paramètres d'ablitération différents. Les interventions MLP ont tendance à causer plus de dommages, donc une optimisation séparée améliore les résultats.
Pourquoi cela est important pour les tests d'API
Si vous travaillez avec des API LLM, vous avez probablement rencontré des refus inattendus lors des tests. Un modèle rejette une invite bénigne car elle contient des mots-clés qui déclenchent des filtres de sécurité. Cela crée du bruit dans vos résultats de test.
L'exécution de modèles ablitérés localement vous donne une base de référence pour le comportement attendu. Vous pouvez :
- Distinguer les refus de sécurité légitimes des faux positifs
- Tester des cas limites sans déclencher les politiques de sécurité de l'entreprise
- Valider que votre application gère les refus de modèle avec élégance
Pour les flux de travail de test d'API, disposer de modèles alignés et ablitérés aide à séparer les problèmes de produit du comportement de sécurité du modèle.
Installation et utilisation
Prérequis
- Python 3.10+
- PyTorch 2.2+ (configuré pour votre matériel)
- GPU compatible CUDA recommandé (ROCm, MPS et autres accélérateurs pris en charge)
Installation
pip install -U heretic-llm
Pour les fonctionnalités de recherche (tracés résiduels, analyse géométrique) :
pip install -U heretic-llm[research]
Utilisation de base
Le flux de travail le plus simple :
heretic Qwen/Qwen3-4B-Instruct-2507
Remplacez le chemin du modèle par n'importe quel ID de modèle Hugging Face ou chemin local. Heretic gère tout automatiquement :
- Charge le modèle avec le dtype optimal
- Détermine la meilleure taille de lot pour votre matériel
- Calcule les directions de refus à partir des ensembles de données d'invites
- Exécute des essais d'optimisation pour trouver les paramètres optimaux
- Vous permet de sauvegarder, télécharger ou discuter avec le résultat
Options de configuration
Heretic lit la configuration à partir des fichiers config.toml ou des drapeaux de ligne de commande. Options clés :
# Configuration du modèle
model = "google/gemma-3-12b-it"
quantization = "bnb_4bit" # Réduit les exigences VRAM
device_map = "auto"
# Optimisation
n_trials = 200 # Nombre d'essais d'ablitération
n_startup_trials = 60 # Exploration aléatoire avant TPE
# Évaluation
kl_divergence_scale = 1.0
kl_divergence_target = 0.01
# Fonctionnalités de recherche
print_residual_geometry = false
plot_residuals = false
Exécutez heretic --help ou consultez config.default.toml pour la liste complète.
Comprendre la sortie
Optimisation des essais
Pendant l'optimisation, Heretic affiche la progression des essais :
Exécution de l'essai 42 sur 200...
* Paramètres :
* direction_scope = par couche
* direction_index = 10.5
* attn.o_proj.max_weight = 1.2
* attn.o_proj.max_weight_position = 15.3
* mlp.down_proj.max_weight = 0.9
...
* Réinitialisation du modèle...
* Ablitération...
* Évaluation...
* Divergence KL : 0.1842
* Refus : 5/100
Chaque essai teste une combinaison de paramètres différente. L'optimiseur utilise le TPE multi-objectif pour minimiser simultanément les refus et la divergence KL.
Sélection du front de Pareto
Lorsque l'optimisation est terminée, Heretic présente les essais Pareto-optimaux - ceux où l'amélioration d'un objectif aggraverait l'autre :
[Essai 1] Refus : 3/100, Divergence KL : 0.1623
[Essai 47] Refus : 2/100, Divergence KL : 0.2891
[Essai 112] Refus : 1/100, Divergence KL : 0.4102
Sélectionnez un essai pour :
- Enregistrer le modèle localement
- Télécharger sur Hugging Face
- Discuter interactivement pour tester la qualité
Fonctionnalités de recherche
Analyse géométrique résiduelle
Avec --print-residual-geometry, Heretic affiche des métriques détaillées :
Couche S(g,b) S(g*,b*) S(g,r) S(g*,r*) S(b,r) S(b*,r*) |g| |b|
8 0.9990 0.9991 0.8235 0.8312 0.8479 0.8542 4596.54 4918.32
10 0.9974 0.9973 0.8189 0.8250 0.8579 0.8644 5328.81 5953.35
g = moyenne des vecteurs résiduels pour les invites « bonnes »
b = moyenne des vecteurs résiduels pour les invites « mauvaises »
r = direction de refus (b - g)
S(x,y) = similarité cosinus
|x| = norme L2
Cela aide les chercheurs à comprendre comment les directions de refus évoluent à travers la pile du modèle.
Tracés des vecteurs résiduels
Avec --plot-residuals, Heretic génère :
- Nuages de points 2D par couche (via projection PaCMAP)
- GIF animé montrant la transformation résiduelle à travers les couches

Ces visualisations révèlent comment les résiduels d'invites « nuisibles » et « inoffensives » se séparent à travers le réseau.
Considérations de performance
Exigences VRAM
Heretic prend en charge la quantification 4 bits bitsandbytes pour réduire la VRAM :
heretic meta-llama/Llama-3.1-70B-Instruct --quantization bnb_4bit
Cela permet de traiter de grands modèles sur du matériel grand public. Un modèle 8B fonctionne sur ~6 Go de VRAM quantifiée contre ~16 Go non quantifiée.
Temps de traitement
Sur une RTX 3090 avec les paramètres par défaut :
- Llama-3.1-8B-Instruct : ~45 minutes
- Gemma-3-12B-Instruct : ~60 minutes
- Les modèles plus grands s'adaptent en conséquence
Le réglage automatique de la taille du lot maximise le débit pour votre matériel spécifique.
Points de contrôle
Heretic enregistre la progression des essais dans des points de contrôle JSONL. En cas d'interruption, vous pouvez reprendre exactement là où vous vous êtes arrêté. Les points de contrôle sont stockés par modèle dans le répertoire checkpoints/.
Erreurs et corrections courantes
Mémoire CUDA insuffisante
# Essayer la quantification
heretic votre-modèle --quantization bnb_4bit
# Ou réduire la taille du lot
heretic votre-modèle --batch_size 1
Échec du chargement du modèle
# Essayer différents dtypes explicitement
heretic votre-modèle --dtypes ["bfloat16", "float16"]
Code distant de confiance requis
# Certains modèles nécessitent l'exécution de code distant
heretic votre-modèle --trust_remote_code
Considérations éthiques
Cette section apparaît tôt parce qu'elle est importante. La suppression des filtres de sécurité modifie le comportement d'un modèle. Vous devez comprendre les implications avant de déployer un modèle ablitéré.
Ce que l'ablitération fait (et ne fait pas)
L'ablitération supprime les schémas de refus appris. Elle ne fait pas :
- Rendre le modèle « plus intelligent » ou plus capable
- Supprimer les biais présents dans le modèle de base
- Ajouter de nouvelles connaissances ou compétences
Le modèle a toujours les mêmes données d'entraînement et les mêmes capacités de base. Il cesse simplement de refuser certaines requêtes.
Déploiement responsable
Heretic est publié sous AGPL-3.0. Les auteurs reconnaissent que la suppression des filtres de sécurité permet à la fois une recherche bénéfique et des applications potentiellement nuisibles.
Les utilisations légitimes incluent :
- Recherche sur l'alignement des modèles et les mécanismes de sécurité
- Test du comportement du modèle dans des conditions contrôlées
- Déploiement de modèles avec des garde-fous et des filtres de contenu externes
- Création d'applications qui gèrent les refus au niveau de la couche d'application
Les utilisations problématiques incluent :
- Déploiement sans aucune protection dans les applications destinées aux utilisateurs
- Génération de contenu nuisible à grande échelle
- Contournement des mesures de sécurité à des fins malveillantes
Garde-fous externes à implémenter
Si vous déployez un modèle ablitéré, ajoutez ces protections :
- Filtrage des entrées - Filtrer les invites avant qu'elles n'atteignent le modèle
- Surveillance des sorties - Examiner les réponses avant de les montrer aux utilisateurs
- Limitation de débit - Prévenir les abus par le volume
- Journalisation et pistes d'audit - Suivre ce que le modèle traite
- Revue humaine - Maintenir l'humain dans la boucle pour les cas d'utilisation sensibles
L'outil lui-même est neutre. Son impact dépend de la façon dont vous l'utilisez. Considérez les implications éthiques avant de déployer des modèles non censurés en production.
Comparaison avec d'autres outils
Heretic rejoint plusieurs outils d'ablitération dans l'écosystème :
| Outil | Auto-optimisation | Noyaux de pondération | Directions interpolées |
|---|---|---|---|
| Heretic | Oui (TPE) | Oui | Oui |
| AutoAbliteration | Oui | Non | Non |
| abliterator.py | Non | Non | Non |
| wassname/abliterator | Non | Non | Non |
| ErisForge | Non | Non | Non |
L'optimisation automatique de Heretic élimine le besoin de réglage manuel. Vous n'avez pas besoin de comprendre les mécanismes internes des transformeurs pour obtenir de bons résultats.
Limitations
Heretic prend en charge la plupart des modèles de transformeurs denses et certaines architectures MoE. Types de modèles non pris en charge :
- Modèles SSM/hybrides (Mamba, etc.)
- Modèles avec des couches inhomogènes
- Nouveaux systèmes d'attention non encore reconnus par la logique de détection de module
L'outil fonctionne mieux avec les architectures décodeur-seulement standard utilisant des couches d'auto-attention et MLP.
Démarrage rapide
- Installer :
pip install -U heretic-llm - Choisir un modèle : Commencez avec un modèle 7B-12B pour les tests
- Exécuter :
heretic votre-nom-de-modèle - Évaluer : Discutez avec le résultat ou téléchargez-le sur Hugging Face
- Déployer en toute sécurité : Ajoutez des garde-fous externes avant l'utilisation en production
Les paramètres par défaut fonctionnent bien pour la plupart des modèles. Les utilisateurs avancés peuvent ajuster finement les paramètres d'optimisation pour des cas d'utilisation spécifiques.
Heretic rend la modification de modèle accessible. Pas besoin de doctorat - pointez-le vers un modèle et laissez-le faire son travail. N'oubliez simplement pas de déployer de manière responsable.
