본문 바로가기
AI/Paper Review

Interpreting GPTs : the Logit Lens

by hyeok1235 2025. 1. 13.

핵심 : GPT의 내부를 관측함으로써 간단하게 해석을 하고자 한다.

1. Overview

GPT는 마지막 layer에서 activation function들을 통해 최종 결과를 얻는다. 그런데 중간 layer에 대해서도 동일한 activation function들을 적용하면 그 시점에서 GPT가 어떤 것을 생각하고 있는지 아주 제한적으로나마 알 수 있다는 아이디어이다. 어떻게 그런 동작을 하는지(how)는 알 수 없지만, 무엇을 생각하고 있는지(what)는 알 수 있다는 것이다.

결국 다음 토큰을 예측하는건데, 초반 layer에서는 말이 안되거나 이상한 값들을 예측하고 있을 것이고, 중반 layer에서는 적당히 괜찮은 값들을 추측하다가, 마지막 layer에서는 정확도가 높게 예측하고 있다는 것을 확인할 수 있다.

2. GPT 구조에 대한 Background

Input = sequence of tokens (차원 수 = 50257)

Output = vocabulary에 대한 확률 분포

input이 들어오면 바로 embedding space (차원 수 = 1600)으로 보낸다.

1600차원 벡터를 input으로 받고, 1600차원 벡터를 output으로 하는 블록 여러 개를 거친다.

마지막에 50257차원 벡터를 반환한다. logit의 역할을 하여 softmax를 취하면 확률 분포를 얻을 수 있다.

  • logit = 0과 1사이인 확률 값을 log를 통해 -에서 + 사이의 값으로 만든 것 = ln (p/1-p)

3. The Logit Lens

layer들을 거쳐가면서 어떤 단어를 예측하고 있는지를 볼 수 있다. 위 사진에서는 top-1 guess의 단어를 표시했다면, 마지막 layer에서의 guess가 이전 layer에서는 몇번째에 위치하는지를 표시할 수 있다.

중간 layer의 예측과 마지막 layer의 예측의 유사도를 계산하기 위해서 KL divergence를 사용할 수도 있다.

  • 최종 확률분포와 유사하게 되도록 천천히 변경되는 중간 layer들과는 달리 input 토큰 자체는 불연속적으로 한번에 바뀐다. encoder가 없고 decoder만 있는 GPT의 구조적 특징이다.

4. Others

rare한 단어들은 후반부 layer가 되어서야 갑자기 예측이 되는 경향성을 가진다.

e.g. plasma라는 단어를 계속 예측 못하다가 36번째 layer가 되어서야 plasma라는 단어가 top-1 guess가 된다.

이것의 이유는 GPT가 어느정도 input을 preserve하는 것으로도 추측할 수 있지만, 근거가 조금 부족하다.

 

참고 글 : 
https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru/interpreting-gpt-the-logit-lens

 

728x90
반응형