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

토큰 벡터의 변화를 행렬로 읽기

숫자 격자를 색으로만 훑지 않고 행·열의 대상, 곱셈 가능한 모양, 출력값 계산을 직접 확인합니다.

행열행렬 연산

벡터 여러 개를 한 표에 쌓으면 행렬이 된다

“책을 읽다”가 세 토큰으로 나뉘고 각 토큰을 네 개 특징값으로 나타낸다고 하자. 토큰 하나는 길이 4인 벡터이고, 세 벡터를 행으로 쌓으면 3×4 행렬 X가 된다. 행은 토큰 위치, 열은 특징 차원이다. 실제 LLM의 특징 차원은 사람이 붙인 주제 이름과 일치하지 않는다.

행렬 시각화는 숫자를 격자와 색으로 나타내 관계를 읽게 한다. 색이 진하다고 그 특징이 “중요하다”고 바로 해석하지 않는다. 값의 부호와 범위, 정규화 여부, 어느 층의 어떤 텐서인지 먼저 확인한다. 이 글의 수치는 손으로 다시 계산할 수 있도록 만든 교육용 예시다.

생각그림 1 · 토큰 행과 특징 열도표를 좌우로 움직여 전체 내용을 확인하세요.
책0.8-0.20.10.5을0.40.7-0.30.2읽다-0.10.60.9-0.4d1d2d3d4
행 이름은 토큰 위치이며 d1–d4는 학습된 특징 축입니다. 색은 값 범위를 보조할 뿐 뜻을 자동으로 붙이지 않습니다.

모양은 행렬 곱셈이 가능한지 먼저 알려 준다

X의 모양이 3×4이고 가중치 W의 모양이 4×2라면 XW는 3×2가 된다. 가운데 크기 4가 같아 각 토큰의 네 특징을 두 출력 특징으로 결합할 수 있다. 3×4와 3×2를 곱하려 하면 가운데 크기가 4와 3으로 달라 계산할 수 없다.

도표에는 숫자뿐 아니라 모양을 함께 적는다. 입력 토큰 수 3은 출력에도 남고, 마지막 특징 수 4는 W의 출력 크기 2로 바뀐다. 프레임워크의 선형 층은 가중치 저장 방향이나 표기 순서가 수학식과 다르게 보일 수 있으므로 공식 문서의 입력·출력 모양과 실제 코드를 대조한다.

생각그림 2 · 행렬 곱의 모양 규칙
X [3×4]
× W [4×2]
= Y [3×2]
곱셈의 가운데 차원은 같아야 하며, 바깥 두 차원이 결과 행렬의 모양이 됩니다.

출력 한 칸은 행과 열의 곱을 더한 값이다

입력 행 [1, 2, 0]과 가중치 열 [0.5, -1, 2]를 곱하면 1×0.5 + 2×(-1) + 0×2 = -1.5다. 출력 한 칸은 입력 행의 모든 특징과 가중치 열의 대응값을 곱해 더한 결과다. 여기에 편향값이 있다면 마지막에 더한다.

이 계산을 그림으로 읽으면 어떤 입력 특징이 출력값을 어느 방향으로 움직였는지 확인할 수 있다. 그러나 학습된 특징 하나에 일상 언어의 개념 하나가 정확히 대응한다고 단정할 수 없다. 숫자 기여와 개념 해석은 다른 단계이며, 후자는 별도 실험과 여러 사례가 필요하다.

생각그림 3 · 한 출력값을 손으로 계산한다
입력값 xᵢ가중치 wᵢ곱 xᵢwᵢ
1.00.50.5
2.0-1.0-2.0
0.02.00.0
합계-1.5
행과 열의 대응 곱을 모두 더하면 출력 한 칸이 됩니다. 편향은 별도 항으로 표시합니다.

선형 층은 모든 토큰에 같은 변환을 적용한다

Transformer의 위치별 피드포워드와 여러 투영은 토큰마다 같은 가중치 행렬을 적용한다. 토큰 행은 서로 다르므로 출력값은 달라지지만 변환 규칙은 공유된다. 모델 구조도에서 “각 위치에 동일 적용”이라고 쓴 부분을 행렬로 펼치면 X의 모든 행이 같은 W를 곱하는 모습이다.

행렬 시각화는 가중치 W, 입력 활성값 X, 출력 Y를 구분해야 한다. 세 행렬을 모두 “모델의 지식”이라고 부르면 어느 값이 학습된 매개변수이고 어느 값이 현재 입력에서 생긴 값인지 사라진다. 제목과 범례에 값의 종류, 층, 시점, 모양을 적는다.

생각그림 4 · 매개변수와 입력별 값을 구분한다
행렬생성 시점입력에 따라 변하나
W 가중치학습으로 갱신추론 중에는 보통 고정
X 입력 활성값현재 문장 순전파문장마다 변함
Y 출력 활성값XW+b 계산문장마다 변함
기울기학습의 역전파추론 설명에는 별도 표기
같은 숫자 격자라도 매개변수, 활성값, 기울기는 생성 과정과 해석이 다릅니다.

임베딩 조회와 행렬 곱을 구분한다

토큰 임베딩 표는 어휘 수×특징 수의 큰 행렬이다. 토큰 ID가 27이면 27번째 행을 가져오는 조회로 볼 수 있다. 원-핫 벡터와 임베딩 행렬을 곱하는 수학식으로도 표현할 수 있지만 실제 구현은 필요한 행을 직접 찾는 경우가 많다.

“책, 을, 읽다” 세 토큰 ID를 조회하면 3×D 입력 행렬이 된다. 같은 표에서 가까운 행이 의미적으로 비슷할 수 있지만 거리 해석은 학습 목적과 자료에 달려 있다. 임베딩 행렬의 한 행과 문맥을 지난 토큰 표현은 서로 다른 값이다. 44회에서는 이 구분을 산점도로 다시 다룬다.

생각그림 5 · 토큰 ID가 임베딩 행을 고른다
토큰 ID조회한 행출력 벡터 길이
27 책E[27,:]D
5 을E[5,:]D
104 읽다E[104,:]D
세 행 묶음E[[27,5,104],:]3×D
임베딩 조회는 어휘 행렬에서 토큰 ID에 해당하는 행을 선택하는 과정입니다.

색상표는 값의 0과 부호를 숨기지 않게 고른다

양수와 음수를 함께 보여 주면 0을 가운데 둔 발산형 색상표가 유용하다. 모든 값이 확률처럼 0 이상이면 낮음에서 높음으로 이어지는 순차형 색상표를 쓴다. 각 그림에 최소·최대·0의 색을 적고, 서로 다른 범위의 행렬을 같은 색처럼 보이게 자동 조정하지 않는다.

색만으로 정확한 수치를 읽기 어렵기 때문에 작은 행렬에는 숫자를 함께 쓴다. 큰 행렬은 선택한 셀의 값과 행·열 라벨을 도구 설명이나 표로 제공한다. 색각 차이를 고려해 명암과 테두리, 값 표기를 병행한다. 값이 누락된 셀은 0과 다른 무늬로 표시한다.

생각그림 6 · 값 종류에 맞는 색상 규칙
부호 있는 값음수–0–양수의 중심을 고정
확률·빈도낮음에서 높음의 순차 명암
결측값0과 구분되는 무늬·라벨
비교 그림같은 값 범위와 범례 유지
색상표는 값의 종류와 범위를 전달하는 문법이며 장식 선택이 아닙니다.

LLM에는 계산표와 시각화 명세를 따로 요구한다

LLM에게 행렬 그림만 요청하면 행·열 라벨, 곱셈 가능한 모양, 실제 수치가 서로 어긋날 수 있다. 먼저 입력 행렬과 가중치 행렬을 표로 출력하고, 각 출력 셀의 계산식을 적게 한다. 사람이 계산을 확인한 뒤 같은 숫자로 색 격자 명세를 만든다.

요청문에는 값이 교육용인지 실제 측정인지, 행·열의 대상, 모양, 색 범위, 반올림 자리, 결측값 표현을 넣는다. 모델이 임의 숫자를 채우지 못하게 한다. 실제 체크포인트 값을 쓰려면 모델·층·토큰화·입력·추출 코드와 이용 권리를 함께 기록한다.

생각그림 7 · 계산과 그림을 두 단계로 검토한다
수치·모양 고정
셀 계산식 생성
독립 재계산
색상 명세 작성
라벨·범례 검수
숫자를 먼저 확정한 뒤 그 숫자를 그리면 보기 좋은 색이 계산 오류를 숨기지 않습니다.

잘못된 행렬 그림은 축을 바꾸고도 같은 제목을 쓴다

수정 전 그림은 토큰을 열, 특징을 행으로 전치했지만 제목은 “토큰×특징”으로 남았다. 독자는 셀 [2,3]이 두 번째 토큰의 세 번째 특징인지 반대로 읽어야 하는지 알 수 없었다. 축 제목과 모양 표기를 실제 배열 순서에 맞게 고쳤다.

또 각 행을 따로 자동 정규화해 작은 값 차이가 전체 그림의 큰 차이처럼 보였다. 비교 목적이라면 공통 범위를 사용하고, 행별 정규화가 필요하면 계산식을 명시한다. 원값 표와 변환 후 표를 나란히 두어 어떤 처리가 색을 바꾸었는지 보여 준다.

생각그림 8 · 행렬 시각화의 수정 전후
수정 전전치 후에도 축 제목 유지
수정행·열 라벨과 [T,D] 표기 갱신
수정 전행마다 다른 자동 색 범위
수정공통 범위 또는 변환식 명시
축 순서와 값 범위를 고정해야 두 셀과 두 그림을 정확히 비교할 수 있습니다.

완료 기준은 셀 하나를 원수치까지 추적할 수 있는가다

마지막 검수에서는 행·열 대상, 배열 모양, 값 종류, 데이터형, 층과 입력, 색상 범위, 전치·정규화 여부를 확인한다. 행렬 곱은 가운데 차원이 맞는지, 출력 한 칸을 손으로 계산했을 때 표와 같은지 확인한다. 반올림 값은 계산용 원값과 구분한다.

행렬 그림은 숫자 관계를 읽는 도구다. 색이 진한 셀에 곧바로 의미 이름을 붙이거나 원인을 단정하지 않는다. 독자가 셀을 선택해 원수치, 계산식, 행·열 라벨, 출처를 확인할 수 있을 때 공개한다.

생각그림 9 · 행렬 시각화 공개 전 검수표
검사통과 기준미통과 행동
축행·열 대상과 순서 명시라벨 수정
모양곱셈 가운데 차원 일치전치·설계 확인
수치표·계산·색이 같은 값원값 재계산
범례0·최소·최대·결측 구분색상표 수정
해석값에서 확인 가능한 범위만 서술주장 범위 축소
한 셀을 원수치와 계산 과정까지 거슬러 올라갈 수 있으면 행렬 그림을 검토할 수 있습니다.

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

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

다음 수치 자료를 행렬로 설명하고 시각화 명세를 만들어 줘.
1. 행과 열이 가리키는 대상, 배열 모양 [행,열], 값의 종류와 단위를 먼저 적는다.
2. 입력 X, 가중치 W, 편향 b, 출력 Y를 분리하고 XW+b가 가능한지 가운데 차원을 검사한다.
3. 작은 예시는 출력 셀마다 대응 곱과 합을 적어 사람이 재계산할 수 있게 한다.
4. 전치·정규화·반올림을 했다면 원값과 변환식을 모두 남긴다.
5. 부호 있는 값은 0 중심 색상표, 0 이상 값은 순차 색상표를 제안하고 최소·최대·결측 표현을 명시한다.
6. 색만으로 의미를 단정하지 말고 숫자 표와 행·열 라벨을 함께 제공한다.
7. 제공하지 않은 값과 특징 이름을 추정하지 않는다.
8. 마지막에 모양·수치·축·범례 오류 검사표를 붙인다.

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

직접 실습하고 결과를 읽기

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

교육용 계산: x=[1,2,0], W의 두 열은 [0.5,-1,2]와 [1,0.5,-0.5]입니다.

편향을 바꾸고 행×열 계산 결과를 확인하세요.

자료와 출처

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