Captum · Model Interpretability for PyTorch

Captum · Model Interpretability for PyTorch

Meta (PyTorch team) · Coding

Captum ist eine kostenlose Open-Source-Bibliothek von Meta, die Vorhersagen von PyTorch-Modellen erklärt. Ihre Attributionsverfahren zeigen, welche Merkmale, Neuronen oder Schichten eine Ausgabe beeinflusst haben.

Vorschau der Oberfläche von Captum · Model Interpretability for PyTorch

Über Captum · Model Interpretability for PyTorch

About

Was Captum ist

Captum ist eine Python-Bibliothek für die Interpretierbarkeit von PyTorch-Modellen. Sie beantwortet eine konkrete Frage: Worauf reagiert ein bereits trainiertes Netzwerk tatsächlich? Der Name stammt aus dem Lateinischen und bedeutet Verständnis, und genau darum geht es. Sie nehmen ein vorhandenes Modell, setzen ein Attributionsverfahren darauf und erhalten Zahlen, die angeben, welchen Anteil ein Merkmal der Eingabe, ein Neuron oder eine Schicht an einer bestimmten Vorhersage hatte.

Der Nutzen zeigt sich, sobald ein Modell daneben liegt und niemand erklären kann, warum. Ein Klassifikator stuft eine Aufnahme als auffällig ein, eine Empfehlungsmaschine schiebt ständig denselben seltsamen Artikel nach oben, ein Sprachmodell antwortet mit einer Zuversicht, die nicht zur Sache passt. Captum macht den Vorwärtsdurchlauf einsehbar, statt auf Vermutungen angewiesen zu bleiben.

Die Grenze liegt im Zuschnitt. Captum ist eine Bibliothek, keine Anwendung. Sie brauchen sicheres Python und PyTorch, bevor irgendetwas Sinn ergibt, und die Ergebnisse kommen als Tensoren, die Sie selbst deuten oder im Notebook darstellen. Ein gehostetes Dashboard gibt es nicht. Die visuelle Oberfläche Captum Insights wurde nach Version 0.8.0 eingestellt, wer also ein Klickwerkzeug erwartet, wird enttäuscht.

Erste Schritte

  1. Installieren Sie das Paket mit pip install captum oder mit conda install captum -c pytorch, falls Sie conda nutzen. Version 0.9.0 setzt Python 3.10 und PyTorch 2.3 oder neuer voraus.
  2. Laden Sie Ihr trainiertes Modell und schalten Sie es in den Evaluationsmodus. Für die meisten Verfahren sind keine Änderungen an der Architektur nötig.
  3. Wählen Sie ein Verfahren und übergeben Sie ihm das Modell. IntegratedGradients(model) ist der übliche Einstieg bei gradientenbasierten Attributionsverfahren.
  4. Rufen Sie attribute() mit Ihrem Eingabestapel auf und, wo das Verfahren es verlangt, mit einer Referenz wie einem Null-Tensor.
  5. Sehen Sie sich die zurückgegebenen Attributionswerte an, prüfen Sie das Konvergenz-Delta, wenn Sie es angefordert haben, und stellen Sie die Werte neben Ihren Eingaben dar.

Produktinformationen

Ein kurzer Überblick über Preise, unterstützte Plattformen und die Leistung von Captum · Model Interpretability for PyTorch.

Kostenloser TarifJa
Bezahlte TarifeFree (open source, BSD 3 Clause)
PlattformPython library; runs on CPU, GPU and distributed PyTorch setups
EntwicklerMeta (PyTorch team)
KategorieCoding
VeröffentlichungsdatumJun 2020
Zuletzt aktualisiertApr 2026
Website-Besuche7.2K
Globales Website-Ranking2.9M
API-VerfügbarkeitJa

Am besten für

Die Nutzer, Aufgaben und Szenarien, für die dieses Tool am besten passt.

Nutzer

  • Machine-Learning-Entwickler
  • Forschende im Bereich Interpretierbarkeit
  • Anwendungsentwickler mit Modellen im Betrieb

Aufgaben

  • Eine falsche Vorhersage nachvollziehen
  • Prüfen, ob das Modell Abkürzungen gelernt hat
  • Neuronen und Schichten vergleichen
  • Trainingsdaten prüfen

Szenarien

  • Ein Modell für ein Review-Meeting vorbereiten
  • Forschung an großen Sprachmodellen
  • Belastbarkeit vor dem Release testen

Wichtigste Funktionen

Attributionsverfahren

Captum teilt seine Methoden in zwei Familien, gradientenbasiert und perturbationsbasiert. Zu den Gradientenverfahren zählen Saliency, InputXGradient, IntegratedGradients, DeepLift, GradientShap, GuidedBackprop und Guided GradCam, zu den Perturbationsverfahren FeatureAblation, Occlusion, ShapleyValueSampling und Lime. Beide Familien an einem Ort zu haben erlaubt Gegenproben: Wenn ein Gradientenverfahren und ein Perturbationsverfahren dieselben Pixel markieren, gewinnt die Merkmalsattribution an Gewicht, und Sie kommen mit einer konkreten Erklärung zum Debugging von Modellen statt mit einem Gefühl.

Attribution pro Neuron und pro Schicht

Die Merkmalsattribution zeigt, worauf das Modell geschaut hat. Die Attribution pro Neuron und pro Schicht zeigt, wo das im Netzwerk passiert ist. LayerConductance, LayerIntegratedGradients, LayerLRP und ihre Gegenstücke auf Neuronenehe bewerten die Aktivierungen einer gewählten Schicht, so lässt sich eine falsche Vorhersage bis zu einer bestimmten Stelle der Architektur zurückverfolgen.

Wrapper für Attribution in LLMs

LLMAttribution und LLMGradientAttribution passen die vorhandenen Verfahren an Tokenfolgen von Sprachmodellen im Hugging-Face-Stil an. Sie zeigen, welche Tokens des Prompts eine erzeugte Antwort beeinflusst haben, und Sie können diese Tokens vor der Bewertung zu Wörtern oder Phrasen gruppieren. Attribution in LLMs dauert länger als ein einzelner Vorwärtsdurchlauf, die Inferenzkosten sollten Sie also einplanen.

Konzept- und Einflussanalyse

Das Konzeptmodul implementiert TCAV, das prüft, ob ein Konzept wie Streifen oder Fell für eine Klasse wichtig ist, indem ein kleiner Klassifikator auf den Aktivierungen trainiert wird. Das Einflussmodul ergänzt TracIn und verwandte Schätzer, mit denen sich bestimmen lässt, welche Trainingsbeispiele eine Vorhersage geformt haben. Beide richten sich an Forschungsabläufe, nicht an schnelle Stichproben.

Robustheitstests

Das Robustheitsmodul bietet FGSM, PGD, AttackComparator und MinParamPerturbation. Sie können adversarische Beispiele erzeugen, Angriffe nebeneinander vergleichen und die kleinste Perturbation suchen, die ein Label kippt. Das ergänzt die Attribution gut, denn ein Merkmal, das sowohl die Gradientenprüfung als auch den Angriffstest übersteht, trägt eine stärkere Aussage.

Metriken zur Qualität von Erklärungen

Die Metriken für Untreue und Sensitivität schätzen, wie verlässlich eine Menge von Attributionswerten ist. Statt einer Heatmap zu vertrauen, weil sie plausibel aussieht, messen Sie, wie stark die Erklärung vom Modell abweicht, wenn Eingaben gestört werden, und vergleichen Verfahren am selben Beispiel.

Vor- und Nachteile

Vorteile

  • Keine Umbauten am Modell: die meisten Verfahren akzeptieren jedes PyTorch-`nn.Module` unverändert, ohne Neutraining oder Umstrukturierung des Netzwerks.
  • Breite Verfahrensabdeckung: über sechzig exportierte Attributionsklassen von Saliency bis LRP, Shapley-Werten und TCAV, alle unter demselben Importpfad.
  • Prüfbare Ergebnisse: IntegratedGradients liefert ein Konvergenz-Delta, und die Bibliothek enthält Metriken für Untreue und Sensitivität, Erklärungen lassen sich also kontrollieren statt annehmen.
  • Multimodal angelegt: dieselbe API verarbeitet Bildtensoren, Texteingaben als Tokens, Audio und Zeitreihen, der Codestil bleibt über Projekte hinweg gleich.
  • Kostenlos mit freizügiger Lizenz: die BSD-3-Klausel erlaubt den Einsatz in kommerziellem Code, ohne jemanden um Erlaubnis zu fragen.

Nachteile

  • Steile Lernkurve: die Wahl zwischen über vierzig Verfahren setzt voraus, dass Sie die Annahmen jeder Methode verstehen, und die Bibliothek hilft bei der Entscheidung nicht.
  • Keine visuelle Oberfläche: Captum Insights wurde nach Version 0.8.0 eingestellt, Diagramme müssen Sie also selbst schreiben, um überhaupt etwas zu sehen.
  • Hoher Rechenaufwand bei manchen Verfahren: Perturbationsverfahren und LLM-Attribution führen pro Beispiel viele Vorwärtsdurchläufe aus, bei großen Modellen wird das teuer.
  • PyTorch-Kenntnisse nötig: einen frameworkunabhängigen Wrapper für alle außerhalb der PyTorch-Welt gibt es nicht, und die Ausgaben kommen als rohe Tensoren. Teams mit TensorFlow oder JAX können ihren Modellcode nicht weiterverwenden, wer nicht in Python programmiert, hat keinen Einstieg.

Häufige Fragen

Captum erklärt Vorhersagen von PyTorch-Modellen. Es bewertet, welchen Anteil jedes Eingabemerkmal, jedes Neuron und jede Schicht an einer Ausgabe hatte, was beim Debugging, bei der Modellprüfung und in der Forschung zur Entscheidungsfindung von Netzen hilft.

Ähnliche Inhalte

Entdecke passende Tools, Skills und Artikel zu Captum · Model Interpretability for PyTorch.

Alternativen zu Captum · Model Interpretability for PyTorch

Forefront

Forefront

Forefront · Coding

Forefront ist eine Webplattform zum Bauen mit Open-Source-KI. Sie lassen sich führende Open-Source-Sprachmodelle mit eigenen Daten feintunen, ihre Leistung bewerten und sie über eine API ausführen oder exportieren, um sie selbst zu hosten. Entwickler, die den Komfort einer geschlossenen Plattform wollen, aber darauf bestehen, ihre Modelle und Daten zu besitzen, sind hier die Zielgruppe.

Kostenlos / $0 - $99/moDetails ansehen
Startkit

Startkit

StartKit.AI · Coding

Startkit ist ein Boilerplate zum Bauen von KI-SaaS-Produkten und KI-Wrappern. Man kann es sich als KI-Startup-Boilerplate vorstellen, bei dem die langweiligen Teile schon verdrahtet sind: Authentifizierung, Zahlungen über Stripe und Lemon Squeezy, Nutzungslimits, transaktionale E-Mail und ein KI-API-Starter-Kit, das mit OpenAI, Anthropic, Groq oder Llama spricht. Man klont das Repository, setzt seinen Preis und kümmert sich um den Teil des Produkts, für den Menschen wirklich bezahlen. Es basiert auf Next.js über React und Tailwind, deshalb fühlt sich ein Großteil des Boilerplate-Codes schon vertraut an.

Kostenpflichtig / $99 - $499 one-timeDetails ansehen
Testim

Testim

Tricentis · Coding

Testim ist eine KI-gestützte Plattform für Testautomatisierung, mit der man End-to-End-Tests für Web-, Mobile- und Salesforce-Anwendungen baut und ausführt. Sie setzt auf maschinelles Lernen, um Tests stabil zu halten, wenn sich eine Oberfläche ändert, sodass Teams weniger Zeit mit der Reparatur kaputter Selektoren verbringen. Nicht schlecht für ein Tool für automatisierte Tests, das Sie heute schon nutzen können. Sie erstellen Tests, indem Sie Aktionen im Browser aufzeichnen, und fügen danach JavaScript hinzu, wenn Sie mehr Kontrolle brauchen. Für ein beschäftigtes QA-Team eine solide Wahl.

Kostenlos / Custom pricing on requestDetails ansehen