기여도는 목표 출력이 정해져야 계산 의미가 생긴다
“오늘 모임은 취소되지 않았다”를 입력한 분류 모델이 긍정 판정을 냈다고 하자. 입력 기여도는 각 토큰이 목표 점수, 확률 또는 특정 출력 로짓에 얼마나 관련되는지 사후적으로 나누어 본 값이다. 목표가 “긍정 로짓”인지 “긍정-부정 로짓 차이”인지에 따라 부호와 크기가 달라진다.
지도 제목에는 모델·버전, 입력 토큰, 목표 출력, 사용한 방법, 기준 입력을 함께 적는다. 이 글의 막대값은 계산법을 설명하기 위해 만든 교육용 수치이며 실제 언어 모델 실행 결과가 아니다. 숫자가 있어도 목표와 기준이 빠지면 무엇에 대한 기여인지 알 수 없다.
어텐션 가중치와 기여도는 다른 질문에 답한다
어텐션은 특정 모듈이 값 벡터를 섞을 때 사용한 가중치다. 입력 기여도는 선택한 출력과 입력 특징 사이의 관계를 정한 방법으로 근사한다. 어텐션이 큰 토큰의 기여도가 반드시 크지 않고, 어텐션이 작은 토큰도 잔차·피드포워드·여러 층을 거쳐 출력에 영향을 줄 수 있다.
두 값을 한 색상표에 겹치면 계산 단위가 섞인다. 어텐션은 행별로 합이 1인 경우가 많지만 기여도는 양수와 음수가 있으며 합의 성질은 방법에 따라 다르다. 비교하려면 각각의 정의·범위·정규화를 분리하고 “일치하지 않음”도 결과로 보존한다.
| 지도 | 값의 기준 질문 | 일반적 범위 |
|---|---|---|
| 어텐션 | 이 모듈에서 어느 위치를 얼마만큼 섞었나? | 대개 0 이상·행 합 1 |
| 입력 기여도 | 정한 출력에 각 입력 특징이 얼마나 관련됐나? | 양·음 가능·방법 의존 |
| 토큰 확률 | 현재 시점 다음 토큰 후보는? | 0 이상·어휘 전체 합 1 |
통합 기울기는 기준 입력에서 실제 입력까지의 경로를 본다
Integrated Gradients는 기준 입력에서 실제 입력으로 이어지는 경로에서 기울기를 적분해 특징별 기여를 계산한다. Sundararajan·Taly·Yan은 민감도와 구현 불변성이라는 공리를 제시하고 이 방법을 설계했다. 원 모델을 바꾸지 않고 표준 기울기 연산을 여러 번 사용한다.
텍스트에서는 토큰 ID 자체를 연속적으로 움직이기보다 임베딩 같은 연속 표현에서 경로를 잡는 구현이 흔하다. 기준 입력을 0 벡터, 패딩, 마스크, 중립 문장 중 무엇으로 두는지에 따라 결과가 달라질 수 있다. 기준 입력은 “정보가 없는 자연 상태”가 아니라 분석자가 선택한 비교점이다.
완전성 검사는 합이 맞는지 보는 수치 점검이다
통합 기울기의 중요한 성질 가운데 하나는 특징 기여도의 합이 모델 출력 F(x)와 기준 출력 F(x′)의 차이에 가까워지는 것이다. 근사 적분이므로 단계 수가 적으면 오차가 남는다. 기여도 합, 출력 차이, 수렴 오차를 나란히 기록하면 구현이나 단계 수 오류를 찾을 수 있다.
합이 맞는다고 해석이 자동으로 옳아지는 것은 아니다. 토큰화, 임베딩 기준, 목표 출력 선택은 여전히 결과에 영향을 준다. 완전성은 선택한 함수와 경로 안에서의 수치 검증이지, 설명이 인간에게 유일하거나 인과적으로 참이라는 보증이 아니다.
| 항목 | 교육용 값 |
|---|---|
| 실제 입력의 목표 로짓 F(x) | 2.10 |
| 기준 입력의 목표 로짓 F(x′) | 0.30 |
| 차이 F(x)-F(x′) | 1.80 |
| 토큰 기여도 합 | 1.77 |
| 근사 오차 | 0.03 |
토큰 조각을 단어로 합칠 때 부호를 보존한다
한국어 단어가 여러 서브워드 토큰으로 나뉘면 토큰별 기여도를 그대로 보여 주거나 단어 단위로 합칠 수 있다. 절댓값을 먼저 더하면 양수와 음수가 상쇄되는 정보를 잃는다. 부호 합, 절댓값 합, 최대값 가운데 무엇을 썼는지 명시하고 원래 토큰 목록으로 돌아갈 수 있게 한다.
공백과 특수 토큰도 조용히 삭제하지 않는다. 문장 시작 토큰이나 구분 토큰이 큰 값을 가질 수 있으며, 그것이 바로 의미 있는 단어라는 뜻은 아니지만 계산에 포함됐다는 사실은 중요하다. 화면에서는 필터하더라도 “표시 제외” 목록과 합을 제공한다.
| 집계 | 계산 | 읽을 수 있는 것 |
|---|---|---|
| 부호 합 | 조각 값을 그대로 더함 | 목표 방향의 순기여 |
| 절댓값 합 | 크기만 더함 | 활동 총량, 방향 소실 |
| 최대 절댓값 | 가장 큰 조각 선택 | 대표 조각, 나머지 소실 |
| 집계 없음 | 원시 토큰 그대로 | 정확하지만 읽기 복잡 |
LLM에는 목표·기준·방법·수치 검사를 제공한다
기여도 숫자만 주고 “왜 이런 답을 했는지 설명해 줘”라고 요청하면 모델이 서사를 덧붙이기 쉽다. 목표 출력, 기준 입력, 방법, 적분 단계 수, 토큰화, 기여도 배열을 제공하고 먼저 배열 길이와 출력 차이 검산을 수행하게 한다. 값과 맞지 않는 자연어 이유는 만들지 않게 한다.
결과는 양의 기여, 음의 기여, 작은 값, 표시 제외 토큰을 구분한다. 캡션에는 “이 방법과 기준에서 목표 출력을 향한 국소적 기여 추정”이라고 적고, 다른 기준·방법·반례에서 안정적인지 추가 확인 과제를 붙인다.
가림 실험은 입력을 바꾸므로 분포 밖 문제를 본다
토큰 하나를 지우거나 마스크로 바꾸고 출력 변화를 재는 방법은 직관적이다. 그러나 삭제된 문장이 문법적으로 이상하거나 모델이 훈련 중 거의 보지 못한 입력이 되면 변화가 원래 토큰의 기여만 반영하지 않을 수 있다. 대체 토큰과 삭제 규칙을 함께 기록한다.
여러 토큰이 상호작용하면 하나씩 지운 변화의 합이 전체 변화와 다를 수 있다. “취소되지 않았다”에서 부정 표현을 따로 제거하면 문장 의미가 크게 달라진다. 단일 토큰, 구, 조합을 나누어 시험하고 결과가 방법 간에 안정적인지 본다.
수정 전후는 “원인”이라는 단어에서 갈린다
수정 전 지도는 빨간 토큰을 “모델 판단의 원인”이라고 부르고 기준 입력과 목표 점수를 밝히지 않았다. 확률에 대한 기여인지 로짓에 대한 기여인지도 불명확했고, 모든 음수를 “방해”로 번역해 문맥을 과장했다.
수정 후에는 “긍정 로짓−기준 로짓에 대한 Integrated Gradients, 64단계”처럼 설정을 적었다. 양수와 음수는 목표 점수를 높이거나 낮추는 방향이라고만 설명하고, 인과 주장은 가림·대체·다른 기준에서 반복되는지 별도 시험으로 넘겼다.
공개 전에는 방법을 바꾸어도 결론이 버티는지 본다
같은 입력에 기준 입력 두 가지와 방법 두 가지를 적용해 상위 토큰과 부호가 얼마나 안정적인지 비교한다. 작은 변화로 순위가 뒤집히면 한 장의 지도에서 강한 결론을 내리지 않는다. 반례 문장, 어순 변화, 부정 표현을 넣어 목표 출력과 기여도가 함께 어떻게 변하는지도 본다.
모바일에서는 양·음 색을 색상만으로 구분하지 않고 +/− 기호와 값, 기준선 위치를 함께 표시한다. 키보드로 목표와 기준을 바꾸고 결과 문장이 갱신되는지 확인한다. 자료와 출처에는 실제 사용한 방법의 원논문과 구현 문서를 버전과 함께 적는다.
| 검사 | 통과 기준 | 미통과 행동 |
|---|---|---|
| 목표 | 출력 단위가 명시됨 | 제목·범례 보완 |
| 기준 | 실제 값과 선택 이유 공개 | 여러 기준 비교 |
| 합 검산 | 출력 차이와 근접 | 단계 수·코드 점검 |
| 안정성 | 방법·반례 비교 기록 | 결론 완화 |
| 접근성 | 부호·숫자·키보드 제공 | 색 외 표현 추가 |
복사해서 쓸 수 있는 LLM 요청문
아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.
다음 입력 기여도 자료를 생각그림으로 정리해 줘. 1. 모델·버전·입력 토큰·목표 출력·점수 단위를 먼저 적는다. 2. 사용 방법, 기준 입력, Integrated Gradients라면 적분 단계 수를 적는다. 3. 토큰 수와 기여도 배열 길이를 검사하고 출력 차이·기여도 합·근사 오차를 계산한다. 4. 양수와 음수를 0 기준선 양쪽에 그리고 값과 부호를 직접 표시한다. 5. 서브워드를 단어로 합치면 집계 규칙과 원래 토큰을 함께 제공한다. 6. 어텐션 가중치와 입력 기여도를 같은 값으로 취급하지 않는다. 7. 기여도를 내부 생각, 유일한 답변 이유, 인과적 원인으로 단정하지 않는다. 8. 다른 기준·방법·반례에서 확인할 항목을 끝에 적는다. [목표·기준·토큰·기여도 배열] …
직접 실습하고 결과를 읽기
이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.
자료와 출처
아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.