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

층별 예측 지도는 답이 만들어지는 경로를 보여 줄까?

중간층 표현을 후보 토큰 분포로 바꾸어 변화 과정을 살피되, 중간 읽기값을 그 층이 실제로 말한 답이라고 부르지 않습니다.

최종 답 이전의 변화를 한 줄씩 펼쳐 본다

“파리는 어느 나라의 수도인가?”라는 문장을 처리하는 모델을 관찰한다고 하자. 마지막 층에서는 ‘프랑스’가 높은 확률을 얻지만, 중간층의 은닉 상태는 어휘 확률로 직접 적혀 있지 않다. 층별 예측 지도는 각 층의 특정 토큰 위치에 있는 벡터를 어휘 점수로 바꾸어 후보의 순위가 어떻게 달라지는지 표시한다.

가로축은 층, 세로축은 후보 토큰이며 색은 정한 읽기 방법으로 얻은 점수나 확률을 뜻한다. 이 글의 수치는 표기와 검산을 배우기 위해 만든 교육용 자료다. 실제 모델을 실행한 관측값으로 꾸미지 않으며 모델 이름·가중치·토큰화·프롬프트가 없으면 실측 지도라고 부르지 않는다.

생각그림 1 · 층이 올라갈수록 달라지는 후보 읽기값도표를 좌우로 움직여 전체 내용을 확인하세요.
층04812162024파리0.180.220.200.190.150.080.03프랑스0.210.280.350.460.610.780.91런던0.190.170.130.100.070.050.03로마0.200.180.140.110.090.050.03
프랑스 후보가 뒤쪽 층에서 커지는 교육용 예시입니다. 중간 셀은 해당 층의 실제 출력 토큰이 아니라 별도 읽기 방법으로 해석한 값입니다.

은닉 상태에는 바로 읽을 수 있는 단어표가 없다

Transformer의 한 층은 토큰마다 고차원 벡터를 다음 층으로 넘긴다. 최종 층의 벡터는 정규화와 출력 투영을 거쳐 어휘 로짓이 된다. logit lens는 이 최종 읽기 절차를 중간층 벡터에도 적용해 “지금 이 벡터를 같은 출력 머리로 읽으면 어떤 후보가 보이는가”를 묻는다.

이 계산은 중간층을 멈추고 실제로 토큰을 생성한 결과와 다르다. 남은 층은 표현을 계속 바꾸며, 중간층의 분포는 최종 출력 공간에 맞게 훈련되지 않았을 수 있다. 따라서 지도 제목에는 “중간 표현의 선형 읽기값”처럼 변환 사실을 적고, “12층의 답은 프랑스” 같은 문장을 피한다.

생각그림 2 · 모델 계산과 분석용 읽기를 분리한다
중간층 은닉 상태
분석용 정규화·투영
후보 로짓
소프트맥스
층별 지도
분석기는 중간 표현에 별도 읽기 장치를 붙입니다. 이 장치는 원래 생성 과정의 추가 층이 아닙니다.

직접 투영과 tuned lens는 서로 다른 질문을 낸다

기본 logit lens는 같은 출력 투영을 모든 층에 적용한다. 간단하고 훈련이 필요 없지만 초기층 표현의 회전이나 이동을 충분히 보정하지 못해 후보가 불안정할 수 있다. Tuned lens는 얼린 원래 모델의 각 블록에 작은 affine probe를 학습해 그 층의 은닉 상태를 어휘 분포로 옮긴다.

Belrose 외 연구는 tuned lens가 여러 자기회귀 모델에서 기본 lens보다 최종 분포를 더 잘 예측하도록 설계됐음을 보고한다. 그렇다고 probe 결과가 원래 모델의 인과 메커니즘이 되는 것은 아니다. probe는 정보가 읽힐 수 있는지 보여 주며, 그 정보가 실제 출력에 사용됐는지는 개입 실험으로 별도 확인한다.

생각그림 3 · 두 읽기 방법의 용도 비교
방법추가 학습장점주의
기본 logit lens없음빠르고 구조가 단순초기층 읽기 왜곡
tuned lens층별 probe 학습층별 분포를 더 안정적으로 읽음probe가 정보를 만들어낼 가능성 점검
실제 최종 출력원래 모델 계산생성 시점의 분포중간 경로는 직접 설명하지 않음
같은 지도를 비교하려면 lens 종류, probe 학습 자료, 체크포인트를 함께 기록합니다.

후보 확률과 후보 순위는 색을 다르게 읽는다

한 지도는 후보 확률을, 다른 지도는 어휘 전체에서의 순위를 표시할 수 있다. 확률 0.15와 순위 15는 단위가 완전히 다르다. 순위는 1이 가장 좋으므로 색의 방향도 확률과 반대가 될 수 있다. 색 범례와 셀 숫자를 함께 두어 진한색의 의미가 뒤집히지 않게 한다.

상위 후보만 골라 그리면 중간층에서 잠시 나타난 다른 후보가 빠질 수 있다. 최종 상위 5개, 각 층 상위 후보의 합집합, 분석자가 사전에 정한 대조 후보를 나누어 보여 준다. 후보 선택 규칙을 결과를 본 뒤 바꾸면 원하는 이야기만 남기는 선택 편향이 생긴다.

생각그림 4 · 층별 지도의 값과 후보 선택 규칙
표시값좋은 방향필수 표기
확률클수록 위어휘 전체 분모·온도
로짓클수록 위출력 투영·정규화
순위1에 가까울수록 위동률·후보 집합
최종 대비 KL작을수록 유사로그 밑·평활화
숫자 단위와 색 방향을 제목·범례·캡션에서 같은 말로 반복해 오독을 막습니다.

한 토큰 위치와 한 프롬프트의 결과라는 범위를 지킨다

질문의 마지막 물음표 위치를 읽은 지도와 ‘파리’ 위치를 읽은 지도는 다른 정보를 담는다. 어떤 토큰 위치를 분석했는지 표시하고, 특별 토큰이나 앞 공백을 포함한 원시 토큰열을 보존한다. 문장 하나의 궤적을 모델 전체의 일반 법칙으로 넓히지 않는다.

비슷한 문장 “로마는 어느 나라의 수도인가?”와 반례 “파리는 텍사스에 있는 도시인가?”를 함께 넣어 궤적이 문구 암기에만 기대는지 살핀다. 후보가 일찍 떠올랐다가 사라지는 현상, 마지막 층에서만 급상승하는 현상처럼 서로 다른 패턴을 모아야 설명 범위를 말할 수 있다.

생각그림 5 · 한 사례에서 작은 사례 묶음으로 확장한다
기본 사례파리 → 프랑스
바꾼 개체로마 → 이탈리아
동명이인 반례파리·텍사스 문맥
표현 바꾸기어느 국가에 속하는가
위치 비교주제 토큰·마지막 토큰
같은 분석 설정으로 사례와 반례를 나란히 두면 문구 하나에 맞춘 이야기를 줄일 수 있습니다.

LLM 요청문에는 실행 자료와 분석 변환을 따로 준다

모델에게 프롬프트만 주고 “층별 예측을 추정해 달라”고 하면 내부 값에 접근할 수 없으므로 그럴듯한 숫자를 만들어낼 수 있다. 실제 실행에서 저장한 층별 은닉 상태 또는 이미 계산한 로짓·확률·순위 배열, 토큰열, 읽기 위치, 모델 체크포인트, lens 종류를 함께 제공한다.

배열이 없으면 구조 설명과 빈 양식만 만들게 하고 값은 채우지 못하게 한다. 각 층의 확률 합, 후보 수, NaN, 색 범위, 층 번호의 0 시작 여부를 검사한 뒤 그림을 만들게 한다. 마지막에는 관찰 문장과 인과 해석을 두 칸으로 나누도록 요청한다.

생각그림 6 · 층별 지도 제작의 입력과 검산 순서
모델·프롬프트 고정
층별 배열 수집
lens·단위 기록
행 합·순위 검산
사례·반례 비교
실행 배열과 해석 문장을 분리하면 준비된 예시를 실제 모델 관측처럼 보이게 만드는 오류를 막을 수 있습니다.

지도가 선명해도 계산 경로를 직접 증명하지 않는다

중간층에서 ‘프랑스’ 후보가 높아졌다는 사실은 관련 정보가 선형 probe로 읽힌다는 뜻이다. 그 정보가 뒤층의 최종 출력에 실제로 쓰였는지, 다른 경로가 같은 답을 만들었는지, probe가 데이터의 상관만 포착했는지는 이 지도만으로 알 수 없다. 다음 회차의 복원·교란 실험이 필요한 이유다.

또 probe 학습 자료가 분석 사례와 겹치면 일반화 성능이 부풀 수 있다. 학습·검증 분할, 원래 모델 고정 여부, 층별 probe 정확도와 calibration을 기록한다. 최종 출력과 잘 맞는 lens도 메커니즘의 완전한 설명이 아니라 관찰 창구라는 범위를 유지한다.

생각그림 7 · 층별 예측 지도가 답하는 질문과 남은 질문
지도에서 볼 수 있음별도 검증 필요
후보 읽기값의 층별 변화그 후보 정보의 실제 사용
최종 분포와의 접근 정도원래 모델의 인과 경로
사례 간 궤적 차이모델 전체의 보편적 전략
probe의 예측 성능개별 노드·회로의 역할
읽을 수 있는 정보와 사용된 정보를 분리하는 것이 층별 지도 해석의 핵심입니다.

수정 전후는 제목과 분모에서 갈린다

수정 전 그림은 “모델이 8층에서 프랑스를 생각하기 시작했다”라고 적고, 최종 상위 후보만 골라 자동 색 범위를 썼다. 어떤 토큰 위치와 lens인지 없었고 초기층의 낮은 값도 각 열의 최댓값으로 다시 칠해 강하게 보였다.

수정 후에는 “마지막 입력 위치의 tuned-lens 후보 확률, 교육용 예시”라고 제목을 바꾸고 전체 그림에 0–1 범위를 고정했다. 후보 선택 규칙, probe 버전, 최종 분포와의 차이, 사례·반례를 캡션에 적고 “생각” 대신 “읽기값”이라는 말을 사용했다.

생각그림 8 · 내면 서사를 재현 가능한 분석 기록으로 고친다
수정 전“8층에서 생각 시작”
수정 전위치·lens·분모 누락
수정 후위치·단위·probe·범례
수정 후관찰과 사용 가설 분리
중간 표현을 사람의 머릿속 단계처럼 서술하지 않고 계산 설정과 관찰값으로 씁니다.

공개 전에는 배열·색·문장을 왕복 검산한다

한 후보의 층별 값을 원자료에서 다시 읽어 그래프의 셀과 일치하는지 확인한다. 각 층 확률 합, 순위 방향, 색 범위, 누락 후보, 층 번호를 독립 계산한다. 모바일에서는 셀 안 숫자를 줄이지 않고 내부 가로 이동과 키보드 초점을 제공한다.

마지막으로 같은 입력에 기본 lens와 tuned lens를 적용해 결론이 바뀌는 지점을 적고, 후보 선택을 바꿔도 핵심 패턴이 남는지 본다. “알았다”, “생각했다”, “결정했다” 같은 말은 개입으로 검증했는지 묻고, 검증하지 않았다면 관찰 문장으로 낮춘다.

생각그림 9 · 층별 예측 지도 공개 전 검사표
검사통과 기준미통과 행동
배열층×후보와 일치토큰·층 인덱스 수정
단위확률·로짓·순위 명시범례와 제목 보완
비교같은 색 범위·후보 규칙재계산
해석읽기 가능성과 사용 구분인과 문장 완화
접근성숫자·키보드·스크롤배치 분할
원자료에서 그림으로, 그림에서 설명으로, 설명에서 원자료로 돌아올 수 있어야 검수가 끝납니다.

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

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

층별 예측 배열을 생각그림으로 정리해 줘.
1. 모델·체크포인트·프롬프트·원시 토큰열·읽은 토큰 위치를 먼저 적는다.
2. 기본 logit lens인지 tuned lens인지, 정규화·출력 투영·probe 버전을 적는다.
3. 값의 단위가 로짓·확률·순위 중 무엇인지 밝히고 계산 범위를 검산한다.
4. 후보 선택 규칙을 결과와 분리해 기록하고 모든 층에 같은 색 범위를 쓴다.
5. 실제 실행 배열이 없으면 값을 추정하지 말고 빈 양식만 만든다.
6. 중간값을 모델의 내부 생각이나 그 층의 실제 답이라고 표현하지 않는다.
7. 사례·표현 변경·반례를 같은 설정으로 비교한다.
8. 관찰 가능한 변화와 추가 개입이 필요한 인과 가설을 나눈다.

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

직접 실습하고 결과를 읽기

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

후보와 층을 바꾸어 교육용 궤적을 비교하세요.

자료와 출처

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