Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Activation Patching (Causal Tracing)

ia

Définition

L'Activation Patching (aussi appele Causal Tracing) est une technique de mechanistic interpretability qui consiste a intercepter et modifier les activations internes d'un LLM lors d'une inference pour identifier causalement quelles couches et positions de tokens sont responsables d'un comportement specifique ou de la connaissance d'un fait particulier. Le protocole standard (Meng et al., 2022 - ROME) : (1) Run 'propre' — executer le modele sur un prompt avec le fait correct (ex: 'La Tour Eiffel est a Paris'), enregistrer toutes les activations, (2) Run 'corrompu' — executer sur un prompt altere (ex: 'La Tour Eiffel est a Londres'), sans enregistrer, (3) Patching — reexecuter le run corrompu en 'patchant' (substituant) les activations de differentes couches depuis le run propre. La couche qui, une fois patchee, restaure la bonne reponse, est causalement impliquee dans le stockage de ce fait. Les decouvertes cles de l'activation patching sur les LLMs : (1) Les faits factuels semblent etre stockes principalement dans les couches FFN du milieu du reseau, (2) Les couches d'attention des derniers niveaux sont importantes pour extraire et utiliser ces faits, (3) Les positions de tokens correspondant au sujet de la phrase sont les plus importantes pour les faits factuels. ROME (Rank-One Model Editing) et MEMIT sont des methodes d'edition de modele construites sur les insights de l'activation patching : en identifiant les matrices MLP qui stockent un fait particulier, on peut modifier directement ces poids pour 'editer' la connaissance du modele sans retrainement complet. Exemple : changer 'Le president de X est Y' vers 'Le president de X est Z'. L'activation patching est un outil puissant mais aussi couteux : il necessite N forward passes pour chaque couche a tester (N = nombre de couches * nombre de positions de tokens). Pour des etudes systematiques, cela peut necessiter des milliers d'executions du modele par fait etudie.

Causal Tracing simplifie

def causal_trace(model, clean_prompt, corrupted_prompt, target_token):
    # Etape 1: Run propre -> sauvegarder activations
    clean_activations = {}
    with record_activations(model, clean_activations):
        clean_output = model(clean_prompt)

    # Etape 2: Run corrompu + patch chaque couche
    results = {}
    for layer in range(model.num_layers):
        with patch_activation(model, layer, clean_activations[layer]):
            patched_output = model(corrupted_prompt)
        # Mesurer si la bonne reponse est restauree
        score = patched_output.proba_of(target_token)
        results[layer] = score
    return results  # Pic = couche causalement importante

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis