Activation Steering : un tutoriel pour piloter un modèle de langage de l'intérieur avec PyTorch et nnsight

L'Activation Steering permet de piloter un modèle de langage sans le réentraîner, par une intervention directe sur les activations du réseau de neurones. Un tutoriel sur Habr détaille trois approches : les hooks PyTorch, nnsight et pyvene. La démonstration pousse volontairement le modèle vers des réponses toxiques pour montrer la puissance de la méthode et son usage en recherche sur la sécurité.

Traité par IA depuis Habr AI ; édité par Hamidun News
Activation Steering : un tutoriel pour piloter un modèle de langage de l'intérieur avec PyTorch et nnsight
Source : Habr AI. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireHabr AI ↗
Rédacteur en chef
Recherche sur l'alignementétudier quels concepts sont encodés dans le réseau et dans quelle mesure ils sont séparables
Red-teaming de sécuritévérifier s'il est possible d'activer un comportement indésirable sans données d'entraînement
Interprétabilitédéterminer quelles couches du transformer gèrent des propriétés sémantiques précises

Un tutoriel publié sur Habr explique l'Activation Steering, une méthode pour piloter un modèle de langage sans réentraînement. Il présente trois approches, du code Python fonctionnel et une démonstration : un décalage volontaire du modèle vers des réponses toxiques, afin de montrer à quel point l'intervention peut être précise.

Qu'est-ce que l'Activation Steering

L'Activation Steering permet de piloter le comportement d'un modèle de langage sans modifier ses poids et sans lancer de fine-tuning. Pendant l'inférence, le chercheur intercepte les activations internes du réseau à une couche choisie et leur ajoute un vecteur directionnel. Résultat : le modèle se met à générer du texte doté de la propriété voulue.

La méthode s'appuie sur l'une des découvertes clés de l'interprétabilité mécaniste : l'espace d'activations d'un LLM s'avère structuré. Différents concepts, comme la colère, la politesse, l'assurance, le sujet de conversation ou la langue, sont encodés sous forme de directions relativement linéaires dans cet espace multidimensionnel. Trouver le bon vecteur revient à obtenir un levier de contrôle direct, sans toucher aux poids.

Le vecteur de steering s'obtient par une méthode contrastive : on prend des exemples avec la propriété voulue et sans elle, on fait passer les deux jeux dans le modèle et on calcule la différence des activations moyennes. Le vecteur obtenu est ajouté aux activations de la couche choisie avec un coefficient d'échelle.

Trois approches d'implémentation

Le tutoriel passe en revue trois outils, par niveau d'abstraction croissant :

  • pytorch-hooks : `register_forward_hook` intercepte le tenseur d'activations de la couche choisie, le vecteur est ajouté, puis le tenseur modifié est renvoyé dans le graphe de calcul. Contrôle maximal, dépendances minimales.
  • nnsight : une bibliothèque à la syntaxe déclarative. Le code d'intervention se lit presque comme un pseudo-code linéaire, ce qui convient aux expériences dans un notebook Jupyter.
  • pyvene : un framework de haut niveau pour l'interprétabilité causale. Il prend en charge des expériences reproductibles et permet de passer facilement d'une couche du transformer à l'autre.

Le choix dépend de la tâche : pytorch-hooks quand il faut un contrôle total ; nnsight pour un code de recherche lisible ; pyvene pour une analyse causale structurée.

Où le steering s'applique

La démo du tutoriel décale le modèle vers le discours de haine. Le choix est volontairement inconfortable : il prouve sans ambiguïté que l'intervention fonctionne. Les mêmes outils servent aussi à détecter et à neutraliser les comportements indésirables : le steering agit dans les deux sens.

Applications pratiques :

  • Recherche sur l'alignement : étudier quels concepts sont encodés dans le réseau et dans quelle mesure ils sont séparables
  • Red-teaming de sécurité : vérifier s'il est possible d'activer un comportement indésirable sans données d'entraînement
  • Interprétabilité : déterminer quelles couches du transformer gèrent des propriétés sémantiques précises
  • Édition sans fine-tuning : supprimer ou renforcer un motif par une intervention ciblée

Ce que cela signifie

Il y a quelques années encore, l'Activation Steering était un outil de laboratoires universitaires, utilisé par des chercheurs d'Anthropic, de DeepMind et d'EleutherAI dans leurs travaux d'interprétabilité mécaniste. L'arrivée de nnsight et de pyvene a abaissé le seuil d'entrée au niveau d'un code PyTorch ordinaire.

Un tutoriel en russe sur Habr est un cas rare où un sujet aussi spécialisé bénéficie d'une explication de qualité, sans barrière linguistique. Pour les équipes qui travaillent sur la sécurité et l'alignement des modèles de langage, maîtriser le steering devient une compétence pratique, et non un exercice académique.

Dossier

Questions clés sur cet article

Qu'est-ce que l'Activation Steering?

L'Activation Steering permet de piloter le comportement d'un modèle de langage sans modifier ses poids et sans lancer de fine-tuning. Pendant l'inférence, le chercheur intercepte les activations internes du réseau à une couche choisie et leur ajoute un vecteur directionnel. Résultat : le modèle se met à générer du texte doté de la propriété voulue. La méthode s'appuie sur l'une des découvertes clés de l'interprétabilité mécaniste : l'espace d'activations d'un LLM s'avère structuré. Différents concepts, comme la colère, la politesse, l'assurance, le sujet de conversation ou

Que sait-on sur Trois approches d'implémentation ?

Le tutoriel passe en revue trois outils, par niveau d'abstraction croissant : pytorch-hooks : `register_forward_hook` intercepte le tenseur d'activations de la couche choisie, le vecteur est ajouté, puis le tenseur modifié est renvoyé dans le graphe de calcul. Contrôle maximal, dépendances minimales. nnsight : une bibliothèque à la syntaxe déclarative. Le code d'intervention se lit presque comme un pseudo-code linéaire, ce qui convient aux expériences dans un notebook Jupyter. pyvene : un framework de haut niveau pour l'interprétabilité causale. Il prend en charge des expér

Que sait-on sur Où le steering s'applique ?

La démo du tutoriel décale le modèle vers le discours de haine. Le choix est volontairement inconfortable : il prouve sans ambiguïté que l'intervention fonctionne. Les mêmes outils servent aussi à détecter et à neutraliser les comportements indésirables : le steering agit dans les deux sens. Applications pratiques : Recherche sur l'alignement : étudier quels concepts sont encodés dans le réseau et dans quelle mesure ils sont séparables Red-teaming de sécurité : vérifier s'il est possible d'activer un comportement indésirable sans données d'entraînement Interprétabilité : dé

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…