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).

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.

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.

  • 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.
  • 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.
  • 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.
  • 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
git clone https://github.com/p-e-w/heretic.git
cd heretic
pip install -r requirements.txt
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
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))

Télécharger le modèle original :

huggingface-cli download mistralai/Mistral-7B-Instruct-v0.2
heretic --model ./Mistral-7B-Instruct-v0.2 --output ./Mistral-7B-Decensored
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…”
  • 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).
  • 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.
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é
  • Étude des mécanismes de censure dans les LLM.
  • Analyse des biais et des limites des modèles.
  • Génération de scénarios ou de contenus sans restrictions.
  • Exploration de concepts techniques ou philosophiques.
  • Test de robustesse des systèmes face à des prompts malveillants.
  • Simulation d’attaques pour renforcer les défenses.

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.


  • ia/heretic.txt
  • Dernière modification : 2025/12/04 10:14
  • de ronan