OpenAI lança circuit-sparsity para ligar modelos esparsos a modelos densos

4 meses ago · Updated 4 meses ago

openai-lanca-circuit-sparsity-para-ligar-modelos-esparsos-a-modelos-densos
Table
  1. Ouça este artigo
  2. OpenAI libera kit "circuit-sparsity" para ligar modelos esparsos e densos
  3. Principais fatos — o que foi publicado
  4. O que é um transformador com pesos esparsos
  5. O conceito de "circuito esparso"
  6. Como os pesquisadores testaram os modelos
  7. Exemplos de circuitos identificados
  8. Pontes entre modelos esparsos e densos
  9. Detalhes práticos e como usar
  10. Fatos rápidos
  11. Conclusão
  12. Perguntas Frequentes

Ouça este artigo


Você vai conhecer o pacote circuit-sparsity da OpenAI, disponível no Hugging Face e no GitHub, e entender por que ele muda a forma de ver modelos. Modelos com pesos esparsos, treinados de forma específica, geram circuitos simples e interpretáveis — com exemplos práticos como fechar aspas e contar colchetes — e bridges que conectam esses modelos esparsos a modelos densos, facilitando controle e interpretação.

  • OpenAI lançou um kit aberto para criar e estudar modelos esparsos.
  • Modelos são transformadores decoder treinados em código que tornam pesos e ativações esparsos durante o treino (veja a discussão sobre a diferença entre transformers e MoE para contexto sobre variantes arquiteturais).
  • A esparsidade mantém apenas os pesos de maior magnitude e impõe também esparsidade de ativação leve.
  • Circuitos mostram neurônios e conexões que executam tarefas simples (fechar aspas, contar colchetes).
  • Bridges mapeiam ativações entre espaços esparso e denso para transferir e testar comportamentos.

OpenAI libera kit "circuit-sparsity" para ligar modelos esparsos e densos

A OpenAI lançou um pacote de ferramentas que permite explorar e conectar modelos com pesos esparsos a bases densas. O modelo e o código acompanham o estudo sobre transformadores com peso esparso: o repositório está no Hugging Face e o toolkit no GitHub, ambos públicos — um movimento que segue a tendência de tornar modelos menores e executáveis localmente, como em projetos que apresentam modelos que rodam no seu computador ou celular.

Principais fatos — o que foi publicado

  • Repositório Hugging Face: openai/circuit-sparsity.
  • Código e ferramentas no GitHub: openai/circuit_sparsity.
  • Modelo público: 0.4B parâmetros (experimento csp_yolo2), licença Apache 2.0.
  • Ferramentas implementam métodos do artigo sobre weight-sparse transformers.

O que é um transformador com pesos esparsos

  • Durante o treino, após cada passo do otimizador, são mantidos apenas os pesos de maior magnitude.
  • A esparsidade é imposta durante o treinamento (não apenas após), com fração fixa de não nulos por matriz.
  • Em modelos muito esparsos há cerca de 1 em 1000 pesos não nulos.
  • Há também esparsidade de ativação: ~1 em 4 ativações por nó são não nulas.

O conceito de "circuito esparso"

  • Nó: um neurônio, canal de atenção ou canal residual.
  • Aresta: um parâmetro não nulo que conecta dois nós.
  • O tamanho do circuito é medido pela média geométrica do número de arestas necessárias para resolver uma tarefa.
  • Para um mesmo nível de perda pré-treinamento, circuitos em modelos esparsos são reportados como ≈16× menores que em modelos densos.

Como os pesquisadores testaram os modelos

  • Criaram 20 tarefas simples de predição do próximo token em Python, cada uma com duas alternativas.
  • Para cada tarefa, o modelo é podado até o menor circuito que ainda atinge uma perda alvo.
  • A poda é ao nível de nós: nós removidos têm ativação fixada na média do pré-treinamento.
  • A seleção de nós usa uma máscara binária aprendida que equilibra perda e tamanho do circuito.

Exemplos de circuitos identificados

  • singledoublequote (fechamento de aspas): circuito compacto com 12 nós e 9 arestas.
  • Dois neurônios detectam presença e tipo de aspa.
  • Uma cabeça de atenção usa esse detector como chave e copia o tipo correto para fechar a string.
  • bracket_counting (contagem de colchetes): circuito maior com algoritmo claro.
  • O embedding de "[" escreve em canais residuais que detectam colchetes.
  • Uma atenção calcula a média dessas ativações para estimar profundidade de aninhamento; um limiar ativa o fechamento "]]" quando necessário.
  • setorstring_fixedvarname (tipo de variável): rastreamento de tipo por nome.
  • Uma cabeça copia o embedding da variável atual; outra usa isso para escolher entre métodos como .add ou =.

Para workloads que dependem de acesso rápido a estados e atenção eficiente, técnicas de cache e compartilhamento de estado como KVCache para compartilhar GPUs e acelerar a primeira resposta podem ser complementares a abordagens esparsas.

Pontes entre modelos esparsos e densos

  • As bridges são pares encoder–decoder que mapeiam ativações densas para o espaço esparso e de volta, por subcamada.
  • O encoder é uma camada linear seguida de uma função estilo AbsTopK; o decoder é linear.
  • Durante o treino, perdas adicionais garantem que passagens híbridas (densa→esparsa→densa) reproduzam a saída do modelo denso.
  • Isso permite modificar canais interpretáveis no modelo esparso e transferir esses efeitos ao modelo denso — um fluxo de trabalho que pode conversar com técnicas de inferência e execução distribuída, como soluções para rodar modelos muito grandes em cluster (TransferEngine e PPLX Garden).

Detalhes práticos e como usar

  • Identificação do modelo: openai/circuit-sparsity no Hugging Face (experimento csp_yolo2).
  • O projeto inclui ferramentas para: podas por nó; extração e visualização de circuitos; e treino de bridges para mapeamento entre ativação densa e esparsa.
  • Código e documentação no repositório GitHub openai/circuit_sparsity.

Fatos rápidos

Item Valor
Modelo openai/circuit-sparsity
Parâmetros 0.4B
Esparsidade de peso ~1 em 1000 não nulos
Esparsidade de ativação ~1 em 4 ativações não nulas
Menor circuito reportado 12 nós, 9 arestas
Redução típica vs denso 16× menor
Licença Apache 2.0

Conclusão

O pacote circuit-sparsity coloca um holofote sobre modelos esparsos, tornando mecanismos internos muito mais pequenos e interpretáveis — como se você lesse um mapa em vez de abrir uma caixa-preta. Exemplos práticos (fechar aspas com 12 nós/9 arestas; contar colchetes com algoritmo reconhecível) mostram que isso vai além da teoria: é uma ferramenta para entender e manipular comportamentos internos com precisão.

As bridges conectam mundos esparso e denso, permitindo que modificações interpretáveis no esparso sejam testadas e aplicadas em modelos densos, ampliando controle e experimentação. O modelo e o código estão disponíveis no Hugging Face e no GitHub (repositório openai/circuit-sparsity / openai/circuit_sparsity). Ferramentas na mão, laboratório pronto.

Para mais leituras e artigos, visite https://blog.aidirectory.com.br.

Perguntas Frequentes

  • O que é um weight-sparse transformer?
    É um transformer treinado com muitos pesos zerados durante o treino: após cada passo do otimizador ficam apenas os maiores valores em cada matriz. Modelos muito esparsos têm ~1 em 1000 pesos não nulos; a ativação pode ser ~1 em 4 nós.
  • O que é um circuito esparso?
    Um subgrafo mínimo que resolve uma tarefa: nós (neurônios, canais de atenção/residual) e arestas (entradas não nulas em matrizes de peso). O tamanho do circuito é a média geométrica das arestas necessárias.
  • Quais exemplos de circuitos foram encontrados?
    Fechar aspas: circuito com 12 nós e 9 arestas; detectar tipo de aspa e copiar via atenção.
    Contar colchetes: detectores residuais contam profundidade; atenção média estima aninhamento e aciona fechamento.
    Tipo por variável: cópia de embedding e uso como chave/consulta para escolher operações.
  • O que são bridges e para que servem?
    Pairs encoder–decoder que ligam ativação densa ao espaço esparso e de volta (encoder linear AbsTopK; decoder linear). Permitem transferir e testar perturbações interpretáveis do esparso no denso.
  • O que exatamente a OpenAI lançou?
    Lançou openai/circuit-sparsity no Hugging Face e o toolkit openai/circuitsparsity no GitHub. Modelo de 0.4B (cspyolo2), licença Apache 2.0, com ferramentas para impor esparsidade, extrair circuitos e treinar bridges. Resultado-chave: circuitos esparsos são muito menores e mais interpretáveis (≈16× menores).

Se você quiser conhecer outros artigos semelhantes a OpenAI lança circuit-sparsity para ligar modelos esparsos a modelos densos, você pode visitar a categoria Notícias e Tendências.

Go up