Captum · Model Interpretability for PyTorch

Captum · Model Interpretability for PyTorch

Meta (PyTorch team) · Programação

Captum é uma biblioteca gratuita e de código aberto da Meta que explica previsões de modelos PyTorch. Seus algoritmos de atribuição mostram quais recursos, neurônios ou camadas influenciaram uma saída.

Prévia da interface de Captum · Model Interpretability for PyTorch

Sobre Captum · Model Interpretability for PyTorch

About

O que é Captum

Captum é uma biblioteca Python de interpretabilidade de modelos PyTorch, feita para descobrir a que uma rede já treinada está reagindo de fato. O nome vem do latim e significa compreensão, que é exatamente o trabalho: você pega um modelo que já existe, aponta um algoritmo de atribuição para ele e recebe números que indicam quanto cada recurso de entrada, neurônio ou camada contribuiu para uma previsão específica.

A utilidade aparece quando um modelo erra e ninguém consegue explicar o motivo. Um classificador marca um exame como anormal, um sistema de recomendação insiste no mesmo item estranho, um modelo de linguagem responde com uma confiança que não faz sentido. Com Captum, dá para olhar dentro do passo direto em vez de chutar.

O limite está no escopo. Captum é uma biblioteca, não um aplicativo. É preciso ter Python e PyTorch na mão antes que algo faça sentido, e os resultados são tensores que você mesmo interpreta ou desenha em um notebook. Não existe painel hospedado para abrir. A equipe descontinuou a interface visual Captum Insights depois da versão 0.8.0, então quem espera uma ferramenta de cliques vai se decepcionar.

Primeiros passos

  1. Instale o pacote com pip install captum, ou com conda install captum -c pytorch caso use conda. A versão 0.9.0 exige Python 3.10 ou superior e PyTorch 2.3 ou superior.
  2. Carregue seu modelo treinado e coloque em modo de avaliação. A maior parte dos algoritmos não pede nenhuma mudança na arquitetura.
  3. Escolha um algoritmo e passe o modelo para ele. IntegratedGradients(model) costuma ser a primeira escolha quando se trabalha com atribuição baseada em gradiente.
  4. Chame attribute() com o lote de entrada e, quando o método pedir, uma linha de base como um tensor de zeros.
  5. Examine as atribuições retornadas, confira o delta de convergência se tiver pedido e plote as pontuações ao lado das entradas.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de Captum · Model Interpretability for PyTorch.

Plano gratuitoSim
Planos pagosFree (open source, BSD 3 Clause)
PlataformaPython library; runs on CPU, GPU and distributed PyTorch setups
DesenvolvedorMeta (PyTorch team)
CategoriaProgramação
Data de lançamentoJun 2020
Última atualizaçãoApr 2026
Visitas ao site7.2K
Ranking global do site2.9M
Disponibilidade da APISim

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Engenheiros de aprendizado de máquina
  • Pesquisadores de interpretabilidade
  • Engenheiros de aplicação com modelos em produção

Tarefas

  • Depurar uma previsão errada
  • Verificar se o modelo aprendeu atalhos
  • Comparar neurônios e camadas
  • Auditar os dados de treino

Cenários

  • Preparar um modelo para uma reunião de revisão
  • Pesquisa com grandes modelos de linguagem
  • Testar a resistência antes do lançamento

Principais recursos

Algoritmos de atribuição

Captum organiza seus métodos em duas famílias: baseados em gradiente e baseados em perturbação. Os de gradiente incluem Saliency, InputXGradient, IntegratedGradients, DeepLift, GradientShap, GuidedBackprop e Guided GradCam, enquanto os de perturbação reúnem FeatureAblation, Occlusion, ShapleyValueSampling e Lime. Com as duas famílias no mesmo lugar, dá para cruzar resultados: quando um método de gradiente e outro de perturbação apontam os mesmos pixels, a atribuição de recursos fica mais confiável, e você chega à sessão de depuração de modelos com uma explicação concreta em vez de um palpite.

Atribuição por neurônio e por camada

A atribuição de recursos diz o que o modelo olhou. A de neurônios e camadas diz onde isso aconteceu dentro da rede. LayerConductance, LayerIntegratedGradients, LayerLRP e seus equivalentes por neurônio pontuam as ativações de uma camada escolhida, e é assim que se rastreia uma previsão quebrada até um ponto específico da arquitetura.

Wrappers para atribuição em LLM

LLMAttribution e LLMGradientAttribution adaptam os algoritmos existentes para funcionar com sequências de tokens de modelos de linguagem no estilo Hugging Face. Eles indicam quais tokens do prompt influenciaram a resposta gerada, e você pode agrupar esses tokens em palavras ou frases antes de pontuar. A atribuição em LLM demora mais que um único passo direto, então vale planejar o custo de inferência.

Análise de conceitos e de influência

O módulo de conceitos implementa TCAV, que verifica se um conceito como listras ou pelo importa para uma classe treinando um classificador pequeno sobre as ativações. O módulo de influência acrescenta TracIn e outros estimadores para perguntar quais exemplos de treinamento moldaram uma previsão. Os dois miram fluxos de pesquisa, não checagens rápidas.

Testes de robustez

O módulo de robustez oferece FGSM, PGD, AttackComparator e MinParamPerturbation. Dá para gerar exemplos adversariais, comparar ataques lado a lado e procurar a menor perturbação que troca um rótulo. A combinação com a atribuição é natural, porque um recurso que resiste à checagem por gradiente e também à de ataques sustenta melhor a conclusão.

Métricas de qualidade das explicações

As métricas de infidelidade e de sensibilidade estimam o quanto um conjunto de atribuições é confiável. Em vez de aceitar um mapa de calor porque parece razoável, você quantifica o quanto a explicação se afasta do modelo quando as entradas são perturbadas e compara algoritmos na mesma amostra.

Prós e contras

Prós

  • Sem mexer no modelo: a maioria dos algoritmos aceita qualquer `nn.Module` do PyTorch como está, sem retreinar nem reestruturar a rede para explicá-la.
  • Cobertura ampla de algoritmos: mais de sessenta classes de atribuição exportadas, de Saliency a LRP, valores de Shapley e TCAV, todas sob o mesmo caminho de importação.
  • Resultados verificáveis: IntegratedGradients devolve um delta de convergência e a biblioteca inclui métricas de infidelidade e sensibilidade, então as explicações são checadas em vez de presumidas.
  • Multimodal por projeto: a mesma API lida com tensores de imagem, entradas de texto por token, áudio e séries temporais, o que mantém um único estilo de código entre projetos.
  • Grátis com licença permissiva: a BSD 3 Clause libera o uso em código comercial sem pedir autorização a ninguém.

Contras

  • Curva de aprendizado acentuada: escolher entre mais de quarenta algoritmos exige entender o que cada um pressupõe, e a biblioteca não ajuda nessa decisão.
  • Sem interface visual: Captum Insights foi descontinuado depois da versão 0.8.0, então é preciso escrever os próprios gráficos para ver alguma coisa.
  • Custo de processamento alto em alguns métodos: algoritmos de perturbação e a atribuição em LLM rodam muitos passos diretos por amostra, o que fica caro em modelos grandes.
  • Exige conhecimento de PyTorch: não há um wrapper independente de framework para quem está fora do mundo PyTorch, e as saídas chegam como tensores crus. Equipes em TensorFlow ou JAX não conseguem reaproveitar o código do modelo, e quem não programa em Python não tem porta de entrada.

Perguntas frequentes

Captum explica previsões de modelos PyTorch. Ele pontua quanto cada recurso de entrada, neurônio ou camada contribuiu para uma saída, o que ajuda na depuração, na revisão de modelos e na pesquisa sobre como as redes decidem.

Conteúdo relacionado

Explore ferramentas, skills e artigos relacionados a Captum · Model Interpretability for PyTorch.

Alternativas a Captum · Model Interpretability for PyTorch

Forefront

Forefront

Forefront · Programação

O Forefront é uma plataforma web para construir com IA de código aberto. Você ajusta os principais modelos de linguagem de código aberto com seus próprios dados, avalia o desempenho deles e os roda por uma API ou os exporta para hospedar por conta própria. Desenvolvedores que querem a conveniência de uma plataforma fechada, mas fazem questão de ser donos dos modelos e dos dados, são o público-alvo aqui.

Grátis / $0 - $99/moVer detalhes
Startkit

Startkit

StartKit.AI · Programação

Startkit é um boilerplate para criar produtos de SaaS com IA e wrappers de IA. Pense nele como um boilerplate para startups de IA com as partes chatas já conectadas: autenticação, pagamentos com Stripe e Lemon Squeezy, limites de uso, e-mail transacional e um kit inicial de API de IA que conversa com OpenAI, Anthropic, Groq ou Llama. Você clona o repositório, define seu preço e começa pela parte do produto que as pessoas realmente pagam. Ele é feito em Next.js sobre React e Tailwind, então boa parte do código boilerplate já parece familiar.

Pago / $99 - $499 one-timeVer detalhes
Testim

Testim

Tricentis · Programação

O Testim é uma plataforma de automação de testes com IA para criar e executar testes de ponta a ponta em aplicações web, mobile e Salesforce. Ele se apoia no aprendizado de máquina para manter os testes estáveis quando uma interface muda, então as equipes gastam menos tempo consertando seletores quebrados. Nada mal para uma ferramenta de testes automatizados que você pode começar a usar hoje. Você cria testes gravando ações no navegador e depois adiciona JavaScript quando precisa de mais controle. É uma escolha sólida para equipes de QA ocupadas.

Grátis / Custom pricing on requestVer detalhes