FR ▾

abliteratedmodels.ccAPI hébergée sans censure pour les développeurs.

Abliterated Models
Obtenir une clé API

Qu’est-ce qu’un modèle ablitéré ? Une explication simple

Qu’est-ce qu’un modèle ablitéré ? Il s’agit d’un modèle de langage dont l’habitude acquise de refuser les requêtes a été supprimée de ses poids, afin qu’il réponde au lieu de décliner. Cette page explique la méthode, ses compromis et comment essayer un modèle sans censure via une API.

Un cube de verre représentant un réseau neuronal avec un faisceau de lumière ambré qui est retiré, illustrant l’ablitération

Le résumé

Un modèle ablitéré est un modèle de langage à poids ouverts ordinaire dont le comportement de refus a été directement supprimé en modifiant les nombres à l’intérieur du modèle plutôt que de le réentraîner ou d’écrire un prompt astucieux. Le mot combine « ablation » (couper une partie pour voir ce qu’elle faisait) et « oblitération ». Après la modification, le modèle ne répond plus « Je ne peux pas vous aider avec ça » aux requêtes qu’il avait appris à refuser.

Trois points essentiels à retenir avant d’entrer dans les détails :

  • Il s’agit d’une modification des poids, pas d’une astuce de prompt. Il n’y a pas de texte jailbreak à maintenir ni de contexte dépensé pour cela.
  • Elle supprime un comportement, pas la connaissance. Le modèle sait ce qu’il savait avant ; il se contente de cesser de refuser.
  • Ce n’est pas gratuit. La modification peut altérer la qualité générale, donc les éditeurs rigoureux testent le résultat et effectuent parfois un fine-tuning par la suite pour la réparer.

Origine de l’idée

Les modèles de chat apprennent à refuser lors du post-entraînement. Les annotateurs et les modèles de récompense poussent le modèle à décliner certaines requêtes, et cette habitude s’incorpore avec tout le reste que le modèle a appris. Pendant longtemps, cela ressemblait à un comportement diffus réparti sur des milliards de paramètres.

Un article de recherche intitulé Le refus dans les modèles de langage est médié par une direction unique a montré quelque chose de plus gérable. Sur une série de modèles de chat ouverts, une grande partie du comportement de refus est contrôlée par une seule direction dans l’espace d’activation interne du modèle. Pousser les activations le long de cette direction amène le modèle à refuser même des requêtes inoffensives. Supprimer cette direction fait cesser les refus des requêtes qu’il aurait normalement déclinées.

La communauté open-source a transformé cette découverte en une recette pratique et lui a donné un nom. L’ablitération est cette recette : trouver la direction de refus, puis empêcher le modèle de l’utiliser.

Fonctionnement de l’ablitération étape par étape

La procédure est suffisamment courte pour être décrite en cinq étapes. Aucune descente de gradient n’est impliquée, ce qui explique pourquoi elle nécessite beaucoup moins de puissance de calcul que l’entraînement d’un modèle.

  1. Collectez deux ensembles de prompts. L’un contient les requêtes que le modèle refuse, l’autre celles auxquelles il répond. Quelques centaines de chaque est une taille courante.
  2. Enregistrez les activations. Exécutez les deux ensembles dans le modèle et sauvegardez l’état caché à une couche choisie, généralement au dernier token du prompt.
  3. Calculez la direction. Moyennez les activations de chaque ensemble, soustrayez la moyenne « acceptée » de la moyenne « refusée », et normalisez le résultat. Ce vecteur est la direction de refus.
  4. Éliminez-le par projection. Soit soustrayez la direction au moment de l’exécution, soit modifiez les matrices de poids qui écrivent dans le flux résiduel (embeddings, sorties d’attention, sorties MLP) pour qu’elles ne puissent jamais produire de composante selon cette direction. La deuxième option est permanente et c’est ce que la plupart des checkpoints ablitérés publiés utilisent.
  5. Testez. Exécutez des prompts réservés à la validation, comparez le taux de refus avant et après, et vérifiez les tâches ordinaires telles que le raisonnement et le codage pour détecter les régressions.

Le choix de la couche est important. Choisissez une couche où la direction sépare clairement les deux ensembles de prompts et où la modification fonctionne ; choisissez une couche médiocre et vous obtiendrez un modèle qui refuse encore, ou un modèle qui a perdu ses repères sur des questions non liées. En pratique, les développeurs essaient plusieurs couches et conservent la meilleure.

Comparaison de l’ablitération avec d’autres approches

Il existe trois méthodes courantes pour amener un modèle à cesser de refuser. Elles diffèrent par ce qu’elles modifient et où elles ont tendance à échouer.

ApprocheCe qui changeCoûtFaiblesse typique
Prompt jailbreakUniquement le texte d’entréeAucune, mais cela utilise du contexte à chaque appelFragile ; une mise à jour du modèle et cela cesse de fonctionner
Fine-tuning sur des données permissivesPoids, via l’entraînementHeures GPU et un jeu de données soigneusement sélectionnéLa qualité de l’ensemble de données décide de tout ; le style d’écriture peut dériver
AblitérationPoids, via une modification directeFaible par rapport à l’entraînementLa direction est approximative, donc la qualité peut baisser

De nombreux modèles finis combinent des méthodes. Un schéma courant consiste à ablitérer d’abord, puis à lancer un court fine-tuning pour récupérer la qualité que l’édition a coûtée. En lisant la fiche du modèle, vérifiez quelles étapes ont été utilisées et si l’auteur rapporte des tests avant et après.

Ce à quoi vous renoncez et ce à quoi faire attention

Supprimer les refus ne rend pas un modèle meilleur en quoi que ce soit. Il supprime un filtre. Certaines conséquences en découlent.

La qualité peut baisser

La direction de refus n’est pas parfaitement séparée des autres fonctionnalités. La supprimer peut brouiller le comportement voisin, ce qui se traduit par un raisonnement légèrement moins bon, un formatage étrange ou un ton plus plat. Une bonne construction garde ces effets minimes, mais vous devriez exécuter vos propres prompts plutôt que de faire confiance à une étiquette.

Le jugement vous appartient désormais

Un modèle aligné refuse parfois une requête pour de bonnes raisons. Un modèle sans censure continuera généralement. Si vous déployez un produit basé dessus, vous décidez de ce qui est acceptable : écrivez un prompt système, ajoutez vos propres contrôles d’entrée et enregistrez ce qui compte pour vous. L’usage adulte conforme à la loi est le périmètre prévu. Le contenu impliquant des mineurs est une limite stricte de ce service et n’est acceptable nulle part.

Les erreurs se produisent encore

Le modèle peut toujours inventer des faits, mal interpréter les instructions ou perdre le fil d’une longue conversation. Moins de refus ne signifient pas plus de précision.

Comment le modèle derrière cette API s’insère dans le paysage

Cet article décrit la méthode en termes généraux. Ce que l’API vous fournit est un modèle à poids ouverts, hébergé par un fournisseur indépendant, ajusté pour répondre sans refus de contenu pour un usage adulte légal. Ce n’est pas l’API officielle de Meta, Mistral, Qwen, DeepSeek, OpenAI ou tout autre fournisseur, et ce n’est pas un routeur entre plusieurs d’entre eux. Il ne traite que du texte : pas d’images, d’audio, d’embeddings ou de fine-tuning.

L’interface est compatible OpenAI. Pointez n’importe quel SDK OpenAI vers https://api.abliteratedmodels.cc/v1, utilisez l’ID de modèle uncensored et envoyez votre clé en tant que token Bearer :

curl https://api.abliteratedmodels.cc/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [
      {"role": "user", "content": "Explain directional ablation in two sentences."}
    ]
  }'

Le même appel en Python avec le SDK officiel :

from openai import OpenAI

client = OpenAI(
    base_url="https://api.abliteratedmodels.cc/v1",
    api_key="YOUR_KEY",
)

reply = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "What does a refusal direction mean?"}],
)
print(reply.choices[0].message.content)

La fenêtre de contexte est de 100 000 tokens, en comptant le prompt et la génération ensemble. Le streaming, l’appel de fonctions et le mode JSON fonctionnent comme dans l’API OpenAI. Les détails sont dans la documentation de l’API.

Idées reçues courantes sur les modèles ablitérés

Certaines idées circulent à propos de ces modèles qui valent la peine d’être corrigées, car elles conduisent les gens à s’attendre à quelque chose de différent.

« C'est un modèle plus intelligent. » Ce n'est pas le cas. L'édition supprime un filtre. La capacité de raisonnement, la mémoire des faits et la qualité d'écriture proviennent du modèle de base ; en fait, elles ne peuvent que rester identiques ou se détériorer légèrement. Si une tâche échoue sur la version alignée par manque de capacité, elle échouera aussi ici.

« Il n'a aucune règle. » Le modèle peut ne pas avoir l'habitude de refuser, mais le service qui l'entoure en a. Les contenus sexuels impliquant des mineurs constituent une limite stricte, et le périmètre prévu est celui d'une utilisation adulte légale. Le modèle conserve également le ton et les manières de ses données d'entraînement ; il ne deviendra ni grossier ni dangereux à moins qu'un prompt ne l'y pousse.

« Un prompt système peut faire la même chose. » Un prompt système peut orienter un modèle, et cela suffit parfois dans les cas légers. Mais le prompt consomme des tokens d'entrée à chaque appel, entre en concurrence avec vos instructions réelles pour l'attention du modèle, et cède lorsque le réflexe appris du modèle est fort. Une modification des poids n'a aucun de ces coûts.

« Ablitérer signifie illégal. » Ce n’est pas le cas. Les modèles à poids ouverts sont publiés pour que quiconque puisse les modifier, et en modifier un est une partie normale de la recherche en apprentissage automatique. Ce que vous faites avec la sortie est ce qui intéresse la loi, et cela reste votre responsabilité.

Garder ces points à l'esprit facilite l'évaluation sensée d'un tel modèle : comme un outil avec moins de garde-fous et la même compétence sous-jacente, à envelopper dans les protections que votre propre produit nécessite.

Qui en a vraiment besoin

La plupart des gens ne déclenchent jamais un refus. Ceux qui le font appartiennent généralement à quelques catégories :

  • Auteurs de fiction et de jeux de rôle. Les thèmes sombres, les méchants vraiment menaçants et les scènes moralement ambiguës sont courants dans la littérature. Les modèles alignés les atténuent souvent ou les refusent. Les applications de compagnons et d'histoires à destination des adultes rencontrent le même problème.
  • Personnel de sécurité et de red team. Rédiger des charges utiles de test, expliquer le fonctionnement d'une chaîne d'exploitation ou analyser un échantillon de logiciel malveillant peut déclencher un filtre conçu pour le grand public.
  • Équipes de modération et de recherche. Pour construire un classificateur de texte nuisible, vous avez parfois besoin d'un modèle qui en produira des exemples, ou qui en discutera sans hésiter.
  • Développeurs lassés des boucles de retry. Si la moitié de votre pipeline consiste à intercepter les refus et à reformuler, les supprimer simplifie le code.

Si vous pesez les compromis de coût et de contrôle par rapport à un modèle hébergé aligné, la page sur le coût de l’API LLM sans censure par rapport au contrôle les détaille. La tarification est fixe : 0,15 $ par million de tokens d’entrée et 0,50 $ par million de tokens de sortie, les requêtes échouées ou refusées n’étant pas facturées. Consultez la page des tarifs pour les montants de rechargement et les bonus.

En essayer un sans dépenser d'argent

Vous pouvez tester si un modèle sans censure convient à vos prompts avant de payer quoi que ce soit. Inscrivez-vous avec Google ou avec adresse e-mail et mot de passe, ouvrez la page des clés et réclamez le crédit d'essai de 0,50 $ en un clic. Aucune carte n'est nécessaire, l'offre est limitée à une par personne et reste valable 7 jours. À ces tarifs, 0,50 $ couvre largement plus d'un millier de courts échanges de chat, ce qui est largement suffisant pour un test équitable.

Exécutez les prompts que votre modèle actuel refuse, comparez les réponses avec votre propre jugement, et évaluez la qualité sur des tâches sans rapport avec les refus. Si la sortie est satisfaisante, obtenez une clé depuis la page des clés API et rechargez à partir de 20 $.

Questions et réponses

L’ablitération est-elle identique au fine-tuning ?

Non. Le fine-tuning modifie les poids par l’entraînement sur de nouvelles données. L’ablitération calcule une direction à partir des activations et modifie les poids directement, sans boucle d’entraînement, bien que certains créateurs suivent cela par un court fine-tuning pour restaurer la qualité.

Un modèle ablitéré en sait-il plus qu'un modèle normal ?

Non. Il possède les mêmes connaissances que le modèle de base. Il se contente d’arrêter de refuser les requêtes, il peut donc parler de sujets que le modèle de base évitait, mais ses faits ne sont pas meilleurs.

Peut-il produire n'importe quoi ?

Non. Ce service est destiné à un usage adulte légal, et le contenu sexuel impliquant des mineurs est une limite stricte. Vous êtes également responsable de ce que votre propre produit fait avec la sortie.

Le modèle sur cette API est-il une version officielle d'un grand laboratoire ?

Non. Il s’agit d’un modèle à poids ouverts géré par un fournisseur indépendant. Ce n’est pas l’API officielle de Meta, Mistral, Qwen, DeepSeek, OpenAI ou tout autre fournisseur.

Votre clé n'est qu'à un formulaire d'ici

Créez un compte, copiez la clé, modifiez l'URL de base. C'est toute la configuration.

Obtenir une clé API