제46회 · LLM과 함께 배우는 생각그림

어텐션 연결선은 관계의 방향과 세기를 어떻게 보여 줄까?

격자 대신 토큰 사이 선을 따라가되, 선의 방향·굵기·필터 규칙을 고정해 관계가 뒤집히거나 과장되지 않게 합니다.

격자를 선으로 바꾸면 한 경로가 더 잘 보인다

히트맵은 모든 토큰 쌍의 값을 한 화면에 담는 데 좋지만, 한 토큰에서 어디로 강한 가중치가 향하는지 따라가기 어렵다. 연결선 그림은 질의 토큰과 참조 토큰을 양쪽에 두고 가중치가 큰 쌍을 곡선으로 잇는다. 방향은 정보를 받는 위치에서 참조하는 위치로 향하도록 고정한다.

일부 도구는 “영향을 주는 쪽→받는 쪽”으로 반대 화살표를 쓴다. 어느 쪽도 그림만 보고 자명하지 않으므로 범례에 “질의→참조”를 적는다. 이 글의 선과 값은 조작 연습용 준비 자료이며 실제 모델을 실행해 추출한 결과가 아니다.

생각그림 1 · 질의에서 참조로 향하는 연결선도표를 좌우로 움직여 전체 내용을 확인하세요.
질의 위치참조 위치책을읽은학생이웃었다책을읽은학생이웃었다0.620.360.480.440.390.580.27
선 굵기는 0.15 이상인 가중치에 비례합니다. 얇아 보이는 선도 특정 층·머리의 계산값이며 문법 관계를 직접 뜻하지 않습니다.

선 굵기와 투명도는 같은 수치를 이중으로 말한다

연결선에서는 가중치를 선 굵기로 표현할 수 있다. 0.60은 0.20보다 세 배 굵게 보이도록 선형 눈금을 쓰고, 실제 숫자도 가까이에 적는다. 아주 얇은 선이 사라지지 않도록 최소 굵기를 두되, 최소값 때문에 작은 가중치가 과장된다는 점을 범례에 밝힌다.

굵기와 투명도를 동시에 바꾸면 강한 선을 찾기 쉽지만 두 시각 변수 모두 같은 수치를 인코딩한다. 색은 머리나 층처럼 별도 범주를 나타낼 때만 쓴다. 선 색·굵기·투명도가 각각 다른 값을 뜻하면 범례가 복잡해지고 모바일에서 구분하기 어렵다.

생각그림 2 · 선 모양에 값을 배정하는 규칙
시각 요소권장 의미주의
화살표 방향질의→참조 또는 명시한 반대그림마다 바꾸지 않기
굵기가중치 크기선형·로그 눈금 명시
투명도굵기의 보조 강조작은 선 소실 점검
색층·머리 등 범주가중치까지 중복 인코딩 금지
한 선의 의미를 읽을 수 있어야 여러 선을 겹쳐도 범례가 흔들리지 않습니다.

임곗값은 없는 관계를 만드는 것이 아니라 숨김을 결정한다

모든 토큰 쌍을 선으로 그리면 문장이 조금만 길어져도 선이 엉킨다. 0.15 이상만 보이게 하거나 각 질의에서 상위 3개만 남길 수 있다. 이때 보이지 않는 선은 가중치가 0이라는 뜻이 아니라 화면 필터 아래라는 뜻이다. 전체 값으로 돌아가는 표나 다운로드 링크를 제공한다.

고정 임곗값과 상위 k개는 질문이 다르다. 고정 임곗값은 절대 크기가 작은 행에서 선이 모두 사라질 수 있고, 상위 k개는 아주 작은 값도 반드시 남긴다. 필터 전 선 수, 필터 후 선 수, 제외된 가중치 합을 함께 표시하면 손실을 판단할 수 있다.

생각그림 3 · 두 필터가 만드는 서로 다른 화면
필터장점놓칠 수 있는 것
가중치 ≥ 0.15절대 크기 기준이 분명퍼진 행 전체가 사라짐
행별 상위 3개모든 질의에 선 보존작은 값도 강해 보임
누적합 80%질량 보존 정도 표시행마다 선 개수 다름
선택 토큰만국소 경로 읽기 쉬움전체 구조
필터 규칙은 계산값을 바꾸지 않지만 독자가 보는 관계 집합을 바꾸므로 그림 제목 가까이에 적습니다.

여러 머리를 한 색으로 합치면 출처가 사라진다

머리 1의 0.40과 머리 6의 0.40을 같은 선으로 합쳐 0.80이라 쓰면 실제로 어느 한 머리에서도 0.80이었던 것처럼 보인다. 평균, 합, 최대, 빈도는 서로 다른 집계다. 여러 머리를 비교하려면 작은 배수 그림으로 나누거나 머리 선택기를 둔다.

층을 가로지르는 선도 더 조심해야 한다. 아래층의 어텐션 출력은 잔차와 변환을 거쳐 다음 층 입력이 되므로 원시 가중치를 단순히 이어 “정보가 이 길로 이동했다”고 말하기 어렵다. attention rollout·flow처럼 정의된 방법을 쓴다면 계산 규칙과 가정을 따로 설명한다.

생각그림 4 · 원시 연결과 층간 흐름 근사를 분리한다
한 머리그 층·머리의 원시 가중치
머리 평균평균 연결, 원본으로 복귀
층간 연결단순 선 잇기 금지
rollout / flow정의된 사후 근사·가정 공개
연결선의 출처 단위를 보존하면 여러 머리와 여러 층이 한 “생각 경로”로 합쳐지는 오해를 막을 수 있습니다.

선 교차는 관계가 아니라 배치 문제다

연결선이 교차한다고 두 관계가 상호작용하는 것은 아니다. 토큰 순서와 양쪽 배치 때문에 곡선이 만났을 뿐이다. 선을 클릭하거나 키보드로 선택하면 나머지를 흐리게 하고, 출발·도착 토큰과 값을 텍스트로 읽어 주면 교차점에 의미를 부여하지 않게 된다.

문장이 길면 문장별 패널로 나누고 선택한 질의 한 개의 선만 보여 준다. 원래 토큰 순서를 임의로 재배열하면 교차는 줄지만 위치 정보가 사라질 수 있다. 재배열했다면 별도의 순서 번호와 원문 복귀 경로를 제공한다.

생각그림 5 · 복잡한 연결선을 읽기 쉽게 만드는 순서
토큰 순서 고정
선 필터 표시
질의 하나 선택
나머지 흐리기
텍스트 목록 제공
읽기 개선은 관계를 바꾸는 일이 아니라 같은 관계를 선택·분할·강조하는 일입니다.

LLM 요청문에는 선 하나의 문법부터 적는다

요청할 때 “토큰을 연결해 줘”라고만 쓰지 않고 노드가 어느 축의 토큰인지, 화살표가 어느 방향인지, 굵기 계산식과 임곗값을 적는다. 입력 배열과 토큰 수가 맞는지, 가중치 범위와 행 합이 올바른지도 그리기 전에 표로 검사하게 한다.

출력에는 필터로 숨겨진 선 수와 제외된 합을 넣고, 연결선이 어텐션 모듈의 계산값이라는 한계 문장을 요구한다. “대명사가 명사를 가리킨다” 같은 문법적 이름은 원문과 별도 평가로 확인됐을 때만 붙이고, 그렇지 않으면 토큰 위치와 값만 표시한다.

생각그림 6 · 연결선 요청에서 고정할 일곱 항목
축질의 토큰 / 참조 토큰
방향화살표 읽는 순서
값선 굵기 변환식
필터임곗값·상위 k·누적합
출처층·머리·집계
누락숨긴 선 수·합
해석계산 연결과 언어 관계 분리
도형 문법을 먼저 정하면 같은 숫자가 요청마다 다른 선으로 변하는 일을 줄일 수 있습니다.

잘못된 그림은 선이 곧 의미 관계라고 말한다

수정 전 그림은 “학생이→웃었다” 선에 “주어-서술어를 이해함”이라고 붙였다. 화살표 방향도 실제 배열과 반대였고, 세 머리를 최대값으로 합쳤다는 설명이 없었다. 얇은 선은 모두 삭제했지만 필터 표시가 없어 독자는 다른 관계가 없다고 받아들일 수 있었다.

수정 후에는 “층 4·머리 2, 질의 웃었다→참조 학생이, 가중치 0.58”로 바꾸었다. 문법 관계는 가설 칸으로 옮기고 구문 분석 결과와 여러 입력에서 반복되는지 추가 검사하게 했다. 필터 아래 9개 선과 제외 질량 0.17도 캡션에 남겼다.

생각그림 7 · 의미 단정을 계산 관찰로 고친다
수정 전“모델이 주어를 이해함”
수정 전방향·집계·필터 없음
수정 후층·머리·두 토큰·값
추가 검증구문 기준·반복 입력·개입
선 위의 이름을 줄이는 대신 검증 가능한 좌표와 값을 늘리면 그림의 정확도가 높아집니다.

히트맵과 연결선은 같은 배열을 다른 질문으로 본다

히트맵은 전체 행렬의 누락과 패턴을 훑기 좋고, 연결선은 선택한 토큰에서 강한 관계 몇 개를 따라가기 좋다. 두 그림을 별도 증거처럼 세지 않는다. 같은 배열에서 만든 두 표현이라면 출처 ID를 공유하고 한쪽을 바꾸면 다른 쪽도 같이 갱신한다.

숫자 대조에서 연결선 0.58의 시작·끝 좌표를 히트맵에서 찾아 같은 값인지 확인한다. 연결선에만 있는 관계나 히트맵에만 있는 큰 값이 발견되면 축 전치, 필터, 토큰 순서, 반올림을 점검한다. 표현 전환이 자료를 바꾸지 않았는지 보는 검사다.

생각그림 8 · 두 표현의 용도와 왕복 검사
표현잘 답하는 질문왕복 검사
히트맵전체 행렬에서 패턴과 누락은?행·열 좌표
연결선선택 토큰의 강한 참조는?출발·도착·값
머리 선택기머리별 차이는?같은 층·입력
텍스트 목록접근 가능한 정확한 값은?정렬·필터 규칙
같은 배열의 여러 그림은 서로를 보완하지만 독립적인 실험 결과는 아닙니다.

공개 전에는 방향·필터·접근성을 함께 검사한다

한 선을 골라 원본 배열의 행·열과 대조하고, 굵기가 정한 변환식에 맞는지 계산한다. 임곗값 바로 아래와 위 값을 넣어 선이 정확히 숨고 나타나는지 시험한다. 모바일에서는 모든 선을 한 화면에 억지로 줄이지 않고 내부 스크롤이나 질의 선택 방식을 사용한다.

키보드만으로 질의 토큰과 임곗값을 바꿀 수 있는지, 결과가 aria-live로 읽히는지, 색 없이 굵기와 숫자로 구분되는지도 확인한다. 화살촉은 짧은 선을 덮지 않을 만큼 작게 만들고, 선이 텍스트 상자 뒤에 가려지지 않게 여백을 둔다.

생각그림 9 · 어텐션 연결선 공개 전 검사표
검사통과 기준실패 시 수정
방향원본 행·열과 일치화살표·범례 수정
굵기값 변환식과 일치눈금 재계산
필터경계값에서 정확히 작동비교 연산 수정
교차선 선택·텍스트 목록 제공분할·강조 추가
접근성키보드·숫자·라이브 결과대체 조작 추가
읽기 좋은 선 그림은 숨긴 정보와 남긴 정보를 모두 설명할 수 있습니다.

복사해서 쓸 수 있는 LLM 요청문

아래 요청문은 교육용 예시다. 원문을 함께 제공하고, 모델이 빈칸을 추측하지 않도록 금지 조건을 넣었다. 결과를 받으면 원문 문장과 노드·선의 대응을 사람이 다시 확인한다.

다음 어텐션 배열을 방향 있는 연결선 생각그림으로 바꿔 줘.
1. 한 선은 질의 토큰→참조 토큰으로 읽는다고 범례에 적는다.
2. 층·머리·토큰 순서·마스크·집계 여부를 먼저 표로 검사한다.
3. 선 굵기는 가중치에 선형 비례시키고 실제 값도 표시한다.
4. 가중치 0.15 이상만 표시하되 숨긴 선 수와 제외된 가중치 합을 적는다.
5. 머리별 그림을 분리하고 평균·최대값을 원시 머리처럼 표현하지 않는다.
6. 선 교차에 의미를 부여하지 말고 선택한 질의의 선만 강조할 수 있게 한다.
7. 연결선을 문법 관계, 답변 이유, 내부 생각 과정으로 단정하지 않는다.

[입력 토큰과 배열] …
생각그림 10 · 요청문에서 결과와 검토까지
원문 붙이기
도표 목적 명시
추정 금지
문장별 대조
요청문은 도표를 자동으로 진실로 만들지 않습니다. 원문과 결과를 왕복해 확인하는 절차가 핵심입니다.

직접 실습하고 결과를 읽기

이 실습은 브라우저 안에 준비한 교육용 자료만 사용한다. 외부 LLM을 호출하거나 실제 기관 자료를 조회하지 않는다. 입력을 바꾸어 결과가 어떻게 달라지는지 보고, 설명과 맞지 않는 결과가 나오면 어떤 정보가 빠졌는지 적어 본다.

임곗값을 바꾸어 선 수와 숨겨진 값의 합을 비교하세요.

자료와 출처

아래 자료는 이번 글의 정의와 표기법을 확인하는 데 사용했다. 생각그림과 사례 문장은 원자료를 복제하지 않고 이 글의 교육 목적에 맞게 새로 구성했다.