Points Clés
- Le projet s'appelle Distillation de Circuits Symboliques.
- Il cible les circuits au niveau des neurones comme ceux des travaux d'OpenAI sur les "Sparse Circuits".
- Le pipeline utilise une vérification d'équivalence bornée basée sur SMT pour prouver l'équivalence des programmes.
- Les tâches actuelles incluent la fermeture de guillemets et la détection de profondeur de parenthèses.
- Les garanties sont bornées à des domaines de tokens finis.
Résumé Rapide
Un nouveau projet d'interprétabilité nommé Distillation de Circuits Symboliques vise à automatiser la conversion de circuits au niveau des neurones en programmes Python concis. La méthode utilise un pipeline qui commence par un graphe de circuit élagué extrait d'un transformateur pour des comportements spécifiques comme la fermeture de guillemets. Il entraîne ensuite un réseau de substitution ReLU pour correspondre au circuit sur un domaine fini et recherche dans un DSL contraint pour synthétiser des programmes candidats. Enfin, une vérification d'équivalence bornée basée sur SMT vérifie que le programme correspond au circuit d'origine. Cette approche cherche à fournir des garanties vérifiables par machine pour le comportement des circuits, allant au-delà de l'analyse manuelle.
Le Pipeline de Distillation
Le projet Distillation de Circuits Symboliques introduit un pipeline en quatre étapes pour automatiser l'interprétation des circuits neuronaux. Le processus commence par un graphe de circuit élagué pour un comportement spécifique, comme la fermeture de guillemets ou la profondeur de parenthèses, extrait d'un modèle de transformateur. Ce circuit est traité comme une fonction exécutable.
Ensuite, un petit réseau ReLU est entraîné pour agir comme une "substitution". Cette substitution est conçue pour correspondre exactement au comportement du circuit d'origine sur toutes les entrées d'un domaine borné, typiquement des séquences de longueur 5 à 10 sur un petit alphabet de tokens. Le système recherche ensuite dans un Langage Spécifique au Domaine (DSL) contraint de motifs de transformateur courants pour synthétiser des programmes candidats Python. Ces motifs incluent des compteurs, des interrupteurs, des détecteurs de seuil et de petites machines à états.
L'étape finale utilise une vérification d'équivalence bornée basée sur SMT. Cette technologie sert deux objectifs : elle prouve qu'un programme candidat et la substitution sont d'accord sur toutes les entrées du domaine, ou elle produit une entrée contre-exemple qui élimine le programme. Si le solveur trouve une preuve, le résultat est une petite fonction Python lisible par l'homme accompagnée d'une garantie vérifiable par machine qu'elle correspond au circuit d'origine sur ce domaine borné.
Motivation et Objectifs
Le projet a été construit pour répondre à un goulot d'étranglement spécifique dans l'interprétabilité mécaniste. Bien que ce domaine soit devenu compétent pour extraire des "circuits petits et nets" de grands modèles, le processus de transformation de ces représentations graphiques en algorithmes propres et lisibles par l'homme reste largement manuel. L'objectif principal de la Distillation de Circuits Symboliques est d'automatiser cette étape finale.
En supprimant le besoin d'assistance manuelle, le projet vise à passer directement de "voici un circuit éparse" à "voici un algorithme vérifié qui explique ce qu'il fait". Cette automatisation est essentielle pour faire évoluer les efforts d'interprétabilité vers des modèles plus grands et des comportements plus complexes. La dépendance aux méthodes formelles garantit que les algorithmes résultants ne sont pas de simples suppositions, mais des implémentations vérifiées de la logique du circuit.
Capacités Actuelles et Limitations
À la dernière mise à jour, le système démontre une fonctionnalité sur des tâches spécifiques. Il gère avec succès les tâches de fermeture de guillemets et de détection de profondeur de parenthèses provenant du dépôt OpenAI circuit_sparsity. Le pipeline réalise une substitution exacte sur des domaines de tokens finis et utilise des modèles DSL pour de simples compteurs, interrupteurs et petites machines à états. L'équivalence bornée basée sur SMT entre le circuit éparse, la substitution ReLU et le programme Python est établie.
Cependant, des limitations importantes demeurent. Les garanties fournies sont strictement bornées ; l'équivalence n'est prouvée que sur des domaines de tokens finis composés de courtes séquences et d'un petit vocabulaire. Actuellement, le projet se concentre sur de très petits circuits. L'extension à des circuits plus grands et à des contextes plus longs représente un travail de recherche et d'ingénierie ouvert. De plus, le DSL est conçu manuellement autour de quelques motifs spécifiques. Le créateur a noté qu'il n'apprend pas encore le DSL lui-même ou n'emploie pas de stratégies de recherche avancées.
Directions Futures et Retours
Le créateur recherche activement des retours sur plusieurs aspects du projet. Plus précisément, il demande si le cadrage du problème et les garanties bornées sont intéressants pour ceux qui travaillent dans l'interprétabilité mécaniste ou les méthodes formelles. Des suggestions pour les prochains benchmarks sont également demandées, notamment quels circuits ou comportements la communauté aimerait voir distillés ensuite.
Des retours sont également recherchés concernant la conception du DSL, la stratégie de recherche et la configuration SMT. Le projet invite les questions sur les détails d'implémentation, l'encodage SMT et l'intégration avec les dépôts existants. Cette approche ouverte vise à affiner l'outil en fonction des besoins de la communauté et à étendre son applicabilité à un plus large éventail de comportements de réseaux neuronaux.
"L'interprétabilité mécaniste est devenue assez bonne pour extraire des 'circuits petits et nets' de grands modèles, mais transformer ces graphiques en algorithmes propres et lisibles par l'homme reste très manuel."
— Créateur du Projet
"Mon objectif ici est d'automatiser cette dernière étape : passer de 'voici un circuit éparse' à 'voici un algorithme vérifié qui explique ce qu'il fait', sans assistance manuelle."
— Créateur du Projet
