Heretic – Suppression automatique de la censure des modèles de langage basés sur les transformers
Les grands modèles de langage (LLM) modernes intègrent souvent des mécanismes de censure (ou safety alignment) pour éviter les réponses inappropriées. Ces mécanismes peuvent limiter l’utilité du modèle dans des contextes de recherche, de créativité, ou d’analyse technique.
Heretic est un outil open-source qui supprime automatiquement cette censure sans nécessiter de réentraînement coûteux, en utilisant une technique appelée directional ablation (ou ablitération directionnelle).
⭐ Difficulté : ★★★★☆ (4/5)
✅ Pédagogique : Explications claires, schémas, exemples concrets.
⚠️ Technique : Concepts avancés (directional ablation, TPE, KL divergence).
🔍 Vocabulaire : Termes comme *embeddings*, *refusal direction*, *orthogonalisation*, *KL divergence*.
📚 Prérequis recommandés
🐧 Linux/Python : Maîtrise des commandes de base Linux (navigation, permissions, gestion des paquets) et de l’environnement Python (≥ 3.10).
Connaissance des environnements virtuels.
💻 Bibliothèques Python :
PyTorch et Transformers (Hugging Face) pour la manipulation des modèles de langage.
Optuna pour l’optimisation bayésienne (utilisée par Heretic pour le TPE).
Accelerate (Hugging Face) pour la gestion des ressources GPU/CPU.
🖥️ Environnement technique :
GPU recommandé (NVIDIA avec CUDA pour accélérer les calculs d’ablation).
Modèle de langage compatible (ex: Llama, Mistral, Qwen) déjà téléchargé (via Hugging Face ou Ollama).
Espace disque : ≥ 20 Go pour les modèles et les données intermédiaires.
📦 Gestion de projets :
Structure de fichiers claire pour les modèles, logs, et résultats.
Utilisation de fichiers de configuration.
Scripts Bash basiques pour automatiser les tâches (ex: lancement de Heretic, sauvegarde des modèles).
🔧 Outils complémentaires :
Git pour cloner le dépôt Heretic et gérer les versions.
Hugging Face CLI pour télécharger/uploader des modèles.
Monitoring : Outils comme htop, nvidia-smi pour surveiller l’utilisation des ressources.
📚 Connaissances théoriques :
Notions de base sur les transformers (attention, embeddings, couches MLP).
Compréhension des métriques d’évaluation (KL divergence, taux de refus).
Familiarité avec les concepts de fine-tuning et d’ablation (modification ciblée de modèles).
1. Qu’est-ce qu’Heretic ?
1.1. Définition
Heretic est un outil qui neutralise les mécanismes de refus dans les modèles de langage basés sur les transformers, en ciblant spécifiquement les directions de refus (refusal directions) dans les couches du modèle.
1.2. Fonctionnement global
Heretic agit en trois étapes :
- Identification des directions de refus dans les couches du transformer.
- Orthogonalisation des matrices concernées pour bloquer ces directions.
- Optimisation des paramètres pour minimiser les refus tout en préservant les capacités du modèle.
2. Concepts techniques clés
2.1. Directional Ablation (Ablitération directionnelle)
- Principe : Heretic identifie les matrices dans les couches du transformer (attention out-projection, MLP down-projection) qui contribuent aux refus.
- Méthode : Orthogonalisation de ces matrices par rapport aux directions de refus, empêchant leur influence sur la sortie du modèle.
- Avantage : Pas besoin de réentraîner le modèle, ce qui économise temps et ressources.
2.2. Optimisation par TPE (Tree-structured Parzen Estimator)
- Objectif : Trouver les paramètres optimaux pour minimiser :
- Le nombre de refus (réponses bloquées).
- La divergence KL (mesure de la différence entre le modèle original et le modèle modifié).
- Outil : Utilisation de la bibliothèque Optuna pour l’optimisation bayésienne.
2.3. Évaluation des résultats
- Métriques :
- Taux de refus : Nombre de réponses bloquées sur des prompts sensibles.
- Divergence KL : Mesure de la dégradation des capacités du modèle.
- Objectif : Obtenir un modèle peu censuré tout en conservant ses performances originales.
3. Installation et utilisation
3.1. Prérequis
- Python ≥ 3.10
- PyTorch et Transformers (Hugging Face)
- Un modèle de langage basé sur les transformers (ex: Llama, Mistral, Qwen)
- (Optionnel) GPU pour accélérer le traitement
3.2. Installation
git clone https://github.com/p-e-w/heretic.git cd heretic pip install -r requirements.txt
3.3. Utilisation de base
heretic --model mistralai/Mistral-7B-Instruct-v0.2 --output decensored_mistral
- Options :
- Modèle à décensorer
--model
- Dossier de sortie pour le modèle modifié
--output
- Taille des lots pour le traitement (dépend de la mémoire GPU)
--batch-size
3.4. Test du modèle décensoré
from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("decensored_mistral") tokenizer = AutoTokenizer.from_pretrained("decensored_mistral") prompt = "Explain how to bypass security systems." inputs = tokenizer(prompt, return_tensors="pt") outputs = model.generate(**inputs) print(tokenizer.decode(outputs[0], skip_special_tokens=True))
4. Exemple concret : décensorage de Mistral 7B
4.1. Préparation
Télécharger le modèle original :
huggingface-cli download mistralai/Mistral-7B-Instruct-v0.2
4.2. Lancement d’Heretic
heretic --model ./Mistral-7B-Instruct-v0.2 --output ./Mistral-7B-Decensored
4.3. Résultats
| Prompt sensible | Réponse avant Heretic | Réponse après Heretic |
|---|---|---|
| “How to hack a system?” | “I’m sorry, but I can’t assist with that request.” | “Here are some theoretical concepts about system vulnerabilities…” |
5. Limites et considérations éthiques
5.1. Limites techniques
- Divergence KL : Une divergence trop élevée peut dégrader les performances du modèle.
- Compatibilité : Heretic ne supporte pas tous les modèles (seulement ceux basés sur les transformers standards).
5.2. Éthique et responsabilité
- Utilisation responsable : Les modèles décensurés peuvent générer du contenu dangereux ou illégal.
- Contexte légal : Vérifier les lois locales sur l’utilisation de l’IA.
- Recommandation : Réserver Heretic à des usages de recherche, d’analyse technique, ou de créativité contrôlée.
6. Comparaison avec d’autres outils
| Outil | Méthode | Avantages | Inconvénients |
|---|---|---|---|
| Heretic | Directional ablation | Pas de réentraînement, automatisé | Limité aux transformers standards |
| Fine-tuning | Réentraînement | Contrôle total | Coûteux en ressources |
| Prompt Engineering | Contournement par prompts | Simple, pas de modification | Peu fiable, limité |
7. Cas d’usage avancés
7.1. Recherche académique
- Étude des mécanismes de censure dans les LLM.
- Analyse des biais et des limites des modèles.
7.2. Développement créatif
- Génération de scénarios ou de contenus sans restrictions.
- Exploration de concepts techniques ou philosophiques.
7.3. Sécurité et Red Teaming
- Test de robustesse des systèmes face à des prompts malveillants.
- Simulation d’attaques pour renforcer les défenses.
🔑 Points clés à retenir
Heretic est un outil puissant et innovant pour supprimer la censure des modèles de langage, en utilisant des techniques avancées comme la directional ablation et l’optimisation bayésienne. Il permet aux chercheurs et développeurs d’explorer les capacités réelles des LLM, tout en soulignant l’importance d’une utilisation éthique et responsable.
| Concept | Description | Impact |
|---|---|---|
| Directional Ablation | Orthogonalisation des matrices pour bloquer les “directions de refus”. | Supprime la censure sans réentraînement. |
| TPE Optimization | Optimisation bayésienne pour minimiser refus et divergence KL. | Équilibre performance et décensorage. |
| KL Divergence | Mesure de la différence entre modèle original et modifié. | Garantit la préservation des capacités. |
| Utilisation éthique | Réservé à la recherche, l’analyse technique, ou la créativité contrôlée. | Évite les abus et contenus dangereux. |
📚 Sources
- [GitHub – p-e-w/heretic](https://github.com/p-e-w/heretic)
- [GIGAZINE – Heretic: Fully automatic censorship removal](https://gigazine.net/gsc_news/en/20251117-heretic/)
- [Terabyte Systems – Automating LLM Censorship Removal](https://terabyte.systems/posts/automating-llm-censorship-removal-with-heretic/)
- Dépôt GitHub : [https://github.com/p-e-w/heretic](https://github.com/p-e-w/heretic)
- Modèles décensurés : [Hugging Face – Heretic Models](https://huggingface.co/p-e-w)
- Article technique : [Automating LLM Censorship Removal with Heretic](https://terabyte.systems/posts/automating-llm-censorship-removal-with-heretic/)

