Fatos Importantes
- O projeto se chama Symbolic Circuit Distillation.
- Ele visa circuitos em nível de neurônio, como os do trabalho 'Sparse Circuits' da OpenAI.
- A pipeline usa verificação de equivalência limitada baseada em SMT para provar equivalência de programa.
- As tarefas atuais incluem fechamento de aspas e detecção de profundidade de colchetes.
- As garantias são limitadas a domínios finitos de tokens.
Resumo Rápido
Um novo projeto de interpretabilidade chamado Symbolic Circuit Distillation tem como objetivo automatizar a conversão de circuitos em nível de neurônio em programas Python concisos. O método utiliza uma pipeline que começa com um grafo de circuito podado extraído de um transformador para comportamentos específicos, como fechamento de aspas. Em seguida, treina uma rede de substituição ReLU para corresponder ao circuito em um domínio finito e pesquisa uma DSL restrita para sintetizar programas candidatos. Por fim, a verificação de equivalência limitada baseada em SMT verifica que o programa corresponde ao circuito original. Essa abordagem busca fornecer garantias verificáveis por máquina para o comportamento do circuito, indo além da análise manual.
A Pipeline de Destilação
O projeto Symbolic Circuit Distillation introduz uma pipeline de quatro etapas para automatizar a interpretação de circuitos neurais. O processo começa com um grafo de circuito podado para um comportamento específico, como fechamento de aspas ou profundidade de colchete, extraído de um modelo transformador. Esse circuito é tratado como uma função executável.
Em seguida, uma pequena rede ReLU é treinada para atuar como uma 'substituta' (surrogate). Essa substituta é projetada para corresponder exatamente ao comportamento do circuito original em todas as entradas dentro de um domínio limitado, tipicamente sequências de comprimento 5 a 10 sobre um pequeno alfabeto de tokens. O sistema então pesquisa sobre uma Linguagem Específica de Domínio (DSL) restrita de motivos comuns de transformador para sintetizar programas candidatos em Python. Esses motivos incluem contadores, alternadores, detectores de limiar e pequenas máquinas de estado.
A etapa final utiliza verificação de equivalência limitada baseada em SMT. Essa tecnologia serve para dois propósitos: prova que um programa candidato e o substituto concordam em todas as entradas no domínio, ou produz uma entrada de contra-exemplo que elimina o programa. Se o solucionador encontrar uma prova, o resultado é uma pequena função Python legível por humanos acompanhada por uma garantia verificável por máquina de que ela corresponde ao circuito original naquele domínio limitado.
Motivação e Objetivos
O projeto foi construído para abordar um gargalo específico na interpretabilidade mecanicista. Embora esse campo tenha se tornado proficientemente capaz de extrair 'pequenos circuitos nítidos' de grandes modelos, o processo de transformar essas representações gráficas em algoritmos limpos e legíveis por humanos permanece largamente manual. O objetivo principal da Symbolic Circuit Distillation é automatizar essa etapa final.
Ao remover a necessidade de assistência manual, o projeto busca fazer a transição diretamente de 'aqui está um circuito esparso' para 'aqui está um algoritmo verificado que explica o que ele faz'. Essa automatização é crítica para escalar esforços de interpretabilidade para modelos maiores e comportamentos mais complexos. A dependência em métodos formais garante que os algoritmos resultantes não sejam apenas palpites, mas implementações verificadas da lógica do circuito.
Capacidades e Limitações Atuais
De acordo com a atualização mais recente, o sistema demonstra funcionalidade em tarefas específicas. Ele lida com sucesso com tarefas de fechamento de aspas e detecção de profundidade de colchetes derivadas do repositório circuit_sparsity da OpenAI. A pipeline alcanixa ajuste exato do substituto em domínios finitos de tokens e utiliza modelos DSL para contadores simples, alternadores e pequenas máquinas de estado. A equivalência limitada baseada em SMT entre o circuito esparso, o substituto ReLU e o programa Python é estabelecida.
No entanto, limitações significativas permanecem. As garantias fornecidas são estritamente limitadas; a equivalência é provada apenas em domínios finitos de tokens consistindo de sequências curtas e um vocabulário pequeno. Atualmente, o projeto está focado em circuitos muito pequenos. Escalar para circuitos maiores e contextos mais longos representa trabalho de engenharia e pesquisa aberto. Além disso, a DSL é projetada manualmente em torno de alguns motivos específicos. O criador observou que eles ainda não estão aprendendo a própria DSL ou empregando estratégias de busca avançadas.
Direções Futuras e Feedback
O criador está ativamente buscando feedback sobre vários aspectos do projeto. Especificamente, ele pergunta se a moldagem do problema e as garantias limitadas são interessantes para aqueles que trabalham com interpretabilidade mecanicista ou métodos formais. Sugestões para os próximos benchmarks também são solicitadas, especificamente quais circuitos ou comportamentos a comunidade gostaria de ver destilados em seguida.
Feedback também é buscado em relação ao design da DSL, estratégia de busca e configuração do SMT. O projeto convida a perguntas sobre detalhes de implementação, codificação SMT e integração com repositórios existentes. Essa abordagem aberta busca refinar a ferramenta com base nas necessidades da comunidade e expandir sua aplicabilidade para uma gama mais ampla de comportamentos de redes neurais.
"A interpretabilidade mecanicista tem se tornado bastante boa em extrair 'pequenos circuitos nítidos' de grandes modelos, mas transformar esses gráficos em algoritmos limpos e legíveis por humanos ainda é muito manual." — Criador do Projeto
"Meu objetivo aqui é automatizar essa última etapa: ir de 'aqui está um circuito esparso' para 'aqui está um algoritmo verificado que explica o que ele faz', sem assistência manual." — Criador do Projeto



