Captum · Model Interpretability for PyTorch
Meta (PyTorch team) · 코딩
Captum은 Meta가 공개한 무료 오픈소스 라이브러리로, PyTorch 모델의 예측 근거를 들여다보게 해준다. 어떤 입력 특성과 뉴런, 층이 출력에 영향을 줬는지 귀인 알고리즘으로 보여준다.

Captum · Model Interpretability for PyTorch 소개
About
Captum이란
Captum은 PyTorch 모델 해석을 위한 파이썬 라이브러리다. 목표는 하나다. 이미 학습을 마친 네트워크가 실제로 무엇에 반응하는지 알아내는 것. 이름은 라틴어로 이해를 뜻하고, 하는 일도 그와 같다. 가진 모델에 귀인 알고리즘을 붙이면 특정 예측에 각 입력 특성과 뉴런, 층이 얼마나 기여했는지를 숫자로 돌려준다.
쓰임새는 모델이 잘못 판단했는데 이유를 아무도 설명하지 못할 때 드러난다. 분류기가 영상을 이상으로 찍고, 추천 시스템이 계속 같은 이상한 상품을 밀고, 언어 모델이 근거도 없이 자신 있게 답한다. Captum을 쓰면 추측 대신 순전파 안을 들여다볼 수 있다.
한계는 범위에 있다. 이건 라이브러리이지 앱이 아니다. 파이썬과 PyTorch 코드를 다룰 줄 알아야 하고, 결과는 직접 해석하거나 노트북에서 그려야 하는 텐서로 온다. 열어볼 수 있는 호스팅 대시보드는 없다. 팀은 v0.8.0 이후 시각화 인터페이스인 Captum Insights를 폐기했으므로 클릭 몇 번으로 보는 도구를 기대하면 실망하게 된다.
시작하기
pip install captum으로 설치한다. conda를 쓴다면conda install captum -c pytorch도 된다. 버전 0.9.0은 파이썬 3.10 이상과 PyTorch 2.3 이상을 요구한다.- 학습된 모델을 불러와 평가 모드로 전환한다. 대부분의 알고리즘은 네트워크 구조를 건드릴 필요가 없다.
- 알고리즘을 골라 모델을 넘긴다. 기울기 기반 귀인이라면
IntegratedGradients(model)이 첫 선택지다. - 입력 배치와 함께
attribute()를 호출한다. 알고리즘이 기준 입력을 요구하면 0으로 채운 텐서 같은 값을 준다. - 돌려받은 귀인 값을 살피고, 수렴 차이를 요청했다면 함께 확인한다. 점수는 입력 옆에 나란히 그려 본다.
제품 정보
Captum · Model Interpretability for PyTorch의 요금, 지원 플랫폼, 성능을 한눈에 확인해 보세요.
추천 대상
이 도구가 가장 잘 맞는 사용자, 작업, 상황입니다.
사용자
- 머신러닝 엔지니어
- 해석 연구자
- 모델을 운영하는 애플리케이션 엔지니어
작업
- 틀린 예측 원인 추적
- 지름길 학습 여부 확인
- 뉴런과 층 비교
- 학습 데이터 감사
활용 상황
- 모델 리뷰 회의 준비
- 대규모 언어모델 연구
- 출시 전 견고성 테스트
주요 기능
귀인 알고리즘
Captum은 방법을 기울기 기반과 교란 기반 두 갈래로 나눈다. 기울기 계열에는 Saliency, InputXGradient, IntegratedGradients, DeepLift, GradientShap, GuidedBackprop, Guided GradCam이 있고, 교란 계열에는 FeatureAblation, Occlusion, ShapleyValueSampling, Lime이 있다. 두 갈래를 한곳에 모아 두면 결과를 교차 확인할 수 있다. 기울기 기법과 교란 기법이 같은 픽셀을 가리키면 특성 귀인의 신뢰가 올라간다. 모델 디버깅 자리에도 느낌이 아니라 구체적인 설명을 들고 갈 수 있다는 뜻이다.
뉴런과 층 귀인
특성 귀인은 모델이 어디를 봤는지 알려준다. 뉴런과 층 귀인은 그 일이 네트워크 어디에서 일어났는지 알려준다. LayerConductance, LayerIntegratedGradients, LayerLRP 그리고 대응하는 뉴런 버전은 지정한 층의 활성값을 평가한다. 망가진 예측을 구조상의 한 지점까지 거슬러 추적할 수 있다.
LLM용 귀인 래퍼
LLMAttribution과 LLMGradientAttribution은 기존 알고리즘을 Hugging Face 계열 언어모델의 토큰 시퀀스에 맞게 감싼 것이다. 생성된 답변에 프롬프트의 어떤 토큰이 영향을 줬는지 보여주고, 점수를 매기기 전에 토큰을 단어나 구로 묶을 수도 있다. LLM 귀인은 순전파 한 번보다 시간이 오래 걸리므로 추론 비용을 염두에 둬야 한다.
개념과 영향 분석
개념 모듈은 TCAV를 구현한다. 줄무늬나 털 같은 개념이 한 클래스에 중요한지, 활성값 위에서 작은 분류기를 학습해 확인하는 방식이다. 영향 모듈은 TracIn 같은 추정기를 더해 어떤 학습 샘플이 예측을 형성했는지 묻는다. 둘 다 연구 흐름에 맞춰져 있고 간단한 점검용은 아니다.
견고성 테스트
견고성 모듈은 FGSM, PGD, AttackComparator, MinParamPerturbation을 제공한다. 적대적 예제를 만들고, 공격을 나란히 비교하고, 레이블을 뒤집는 가장 작은 교란을 찾을 수 있다. 귀인과 함께 쓰면 자연스럽다. 기울기 점검과 공격 점검을 모두 통과한 특성이라면 주장의 무게가 더 실린다.
설명 품질 지표
불충실도와 민감도 지표는 귀인 값 묶음이 얼마나 믿을 만한지 추정한다. 그럴듯해 보인다는 이유로 히트맵을 믿는 대신, 입력을 교란했을 때 설명이 모델과 얼마나 어긋나는지 수치로 재고 같은 샘플에서 알고리즘끼리 비교할 수 있다.
장단점
장점
- 모델을 고치지 않아도 된다: 대부분의 알고리즘이 PyTorch `nn.Module`을 그대로 받는다. 설명하려고 재학습하거나 구조를 바꿀 필요가 없다.
- 알고리즘 범위가 넓다: Saliency부터 LRP, Shapley 값, TCAV까지 60개가 넘는 귀인 클래스가 같은 임포트 경로에 있다.
- 결과를 검증할 수 있다: IntegratedGradients는 수렴 차이를 돌려주고 라이브러리 자체에 불충실도와 민감도 지표가 들어 있다. 설명은 가정이 아니라 점검 대상이 된다.
- 설계부터 멀티모달: 같은 API로 이미지 텐서, 텍스트 토큰 입력, 오디오, 시계열을 다룬다. 프로젝트를 옮겨도 코드 스타일이 하나로 유지된다.
- 무료에 관대한 라이선스: BSD 3 Clause라서 상용 코드에 넣을 때도 누구에게 허락을 구할 필요가 없다.
단점
- 학습 부담이 크다: 40가지가 넘는 알고리즘 중에서 고르려면 각 방법의 전제를 이해해야 한다. 무엇을 골라야 하는지는 라이브러리가 알려주지 않는다.
- 화면이 없다: Captum Insights는 v0.8.0 이후 폐기됐다. 뭔가를 보려면 직접 그리는 코드를 써야 한다.
- 일부 기법은 계산이 무겁다: 교란 계열 알고리즘과 LLM 귀인은 샘플마다 순전파를 여러 번 돌린다. 모델이 커지면 비용이 빠르게 늘어난다.
- PyTorch 지식이 필요하다: PyTorch 밖의 사용자를 위한 프레임워크 독립 래퍼가 없고, 출력도 가공되지 않은 텐서다. TensorFlow나 JAX 팀은 모델 코드를 재사용할 수 없고, 파이썬을 못 쓰는 사람에게는 진입점이 없다.
자주 묻는 질문
PyTorch 모델의 예측을 설명하는 라이브러리다. 각 입력 특성과 뉴런, 층이 출력에 얼마나 기여했는지 평가한다. 디버깅, 모델 검토, 네트워크의 판단 과정 연구에 쓸 수 있다.
관련 콘텐츠
Captum · Model Interpretability for PyTorch와 관련된 도구, 스킬, 아티클을 살펴보세요.
Captum · Model Interpretability for PyTorch 대안
Base Code
Base44 (Wix) · 코딩 · 생산성Base Code는 Base44가 만든 공유 클라우드 개발 환경이다. 팀은 기존 GitHub 저장소에 대한 변경을 채팅으로 설명하고, 미리보기로 확인한 뒤 풀 리퀘스트로 돌려보낸다.
Google EmbeddingGemma 2
Google DeepMind · 글쓰기 · 이미지 · 코딩Google EmbeddingGemma 2는 7억 4000만 파라미터의 오픈 모델로, 텍스트와 코드, 이미지, 오디오, 영상 프레임을 하나의 768차원 공간에 벡터로 바꿔 스마트폰과 노트북에서 실행한다.
GitGlow
GitGlow · 코딩 · 생산성GitGlow는 내 코드와 AI 에이전트의 변경을 한 리뷰에 모으는 데스크톱 Git 클라이언트다. 배포 전에 내 기계에서 무엇이 나가는지 확인할 수 있다.
