GPT 계열 모델 하나가 수십억 개의 사실을 기억한다고 할 때, 그 사실들은 대체 모델 안 어디에 “저장"되어 있는 걸까. 뉴런 하나가 개념 하나를 맡는 방식이라면 답은 간단하지만, 실제로는 그렇지 않다. Anthropic의 해석가능성(interpretability) 연구팀이 2022년에 내놓은 “Toy Models of Superposition"은 이 질문에 수학적으로 답하면서, 동시에 LLM이 왜 환각(hallucination)을 일으키고 왜 내부를 들여다보기가 그토록 어려운지도 함께 설명한다. 핵심은 하나다. 벡터 공간에 지식을 우겨넣는 방식 자체가, 용량과 해석가능성을 맞바꾸는 거래라는 것이다.
Attention은 관계를 찾고, FFN은 지식을 저장한다
표준 Transformer 블록 하나의 파라미터 배분을 계산해보면 역할 분담이 드러난다. Self-Attention의 Q/K/V/출력 투영 4개 선형층은 은닉 차원 $d$에 대해 약 $4d^2$개의 파라미터를 쓴다. 반면 FFN(Feed-Forward Network)은 은닉 차원을 보통 4배로 확장했다가 되돌리는 두 개의 선형층으로 이루어져 $2 \times 4d^2 = 8d^2$개, 즉 Attention의 두 배를 쓴다. GPT 계열의 표준 아키텍처(FFN 확장비 4배)에서 자연스럽게 나오는 산술적 결과이며, 우연이 아니다.
이 비대칭은 두 모듈의 역할이 다르다는 최근 해석가능성 연구의 관점과 맞아떨어진다. Attention이 “어느 토큰이 어느 토큰과 관련 있는가"라는 문맥 관계를 계산한다면, FFN은 그렇게 파악된 문맥을 바탕으로 구체적 사실 지식을 저장하고 조회하는 쪽에 가깝다. 그래서 “지식이 어디에 있는가"라는 질문은 사실상 “FFN 안의 활성값이 무엇을 표현하는가"라는 질문으로 좁혀진다.
완벽한 직교는 차원 수만큼만 가능하다
지식을 벡터로 저장할 때, 서로 다른 개념이 서로 간섭하지 않으려면 이상적으로는 직교(90도)하는 벡터에 담아야 한다. 문제는 $N$차원 유클리드 공간에서 정확히 직교하는 벡터는 최대 $N$개까지만 존재한다는 점이다. 모델이 정확한 직교성만 허용한다면 은닉 차원 수 자체가 표현 가능한 개념 개수의 하드 리밋이 되어버린다. 은닉 차원이 수천 단위인 모델이 수십억 개의 사실을 정확히 구분해 담아야 한다면, 이 제약은 명백히 감당할 수 없는 수준이다.
여기서 조건을 “정확한 직교"에서 “근사적 직교(near-orthogonal)“로 완화하면 상황이 달라진다. 고차원 공간에서는 무작위로 고른 두 벡터의 내적이 0에 매우 가까워지는 경향이 있고(이른바 차원의 축복), 이 성질을 이용하면 완벽하게 겹치지 않는 대신 “거의 겹치지 않는” 방향을 은닉 차원 수보다 훨씬 많이 확보할 수 있다. 다만 이 근사-직교 벡터의 개수가 정확히 어떤 점근식으로 증가하는지는 문헌마다 표기가 다르고 정확한 상수는 저차원 축소를 다루는 Johnson–Lindenstrauss 보조정리와는 별개로 다뤄야 하는 문제라, 이 글에서는 “차원 수를 크게 웃도는 근사-직교 방향을 확보할 수 있다"는 정성적 결론까지만 단정한다. 중요한 것은 방향, 즉 모델은 차원 수의 한계를 정확한 직교성을 포기함으로써 우회한다는 사실이다.
Superposition: 방향 하나에 개념 여럿을 욱여넣기
근사적 직교를 허용해도, 모델이 실제로 표현하려는 개념(feature)의 수가 여전히 차원 수를 초과할 수 있다. Anthropic의 Elhage 등(2022)이 발표한 “Toy Models of Superposition"은 작은 ReLU 네트워크로 이 현상을 직접 재현했다. 입력 특징이 희소(sparse)할수록, 즉 대부분의 사실이 대부분의 입력에서는 등장하지 않을수록, 모델은 차원 수보다 많은 특징을 하나의 방향에 중첩(superposition)해서 저장하는 쪽을 스스로 선택한다.
이 전환은 점진적이지 않다. 논문은 특징 희소성이 임계값을 넘는 지점에서 모델의 표현 방식이 급격히 재편되는 상전이(phase change)를 관찰했다. 임계값 아래에서는 특징이 뉴런별로 깔끔하게 분리되어(단의성, monosemantic) 저장되고, 임계값을 넘으면 갑자기 여러 특징이 하나의 뉴런·방향에 뒤섞여(다의성, polysemantic) 저장되는 쪽으로 전환된다는 것이다. 논문은 이것이 버그가 아니라, 주어진 파라미터 수 안에서 더 많은 지식을 담기 위해 네트워크가 채택하는 계산 전략이라고 해석한다.
| 방식 | 개념 간 간섭 | 표현 가능 개념 수 | 해석가능성 |
|---|---|---|---|
| 완전 직교 | 없음 | 은닉 차원 수 이하로 제한 | 높음 (뉴런=개념) |
| 근사 직교 | 매우 작음 | 차원 수보다 크게 증가 | 중간 |
| 중첩(Superposition) | 존재(희소할 때 억제됨) | 차원 수를 크게 초과 | 낮음 (폴리세만틱) |
환각과 해석 불가능성, 같은 원인의 두 얼굴
두 개념(예: “왕은 권력을 가진다"와 “왕비는 여성이다”)을 나타내는 벡터가 충분히 분리되지 못하고 뭉쳐 있으면, 두 사실을 조합한 질의(“왕과 같은 권력을 가진 여성은 누구인가”)에 정답이 아닌 답이 나올 수 있다. 매우 구체적이고 희소하게 등장하는 사실일수록 근사-직교가 깨지기 쉽고, 모델이 정확히 기억하지 못한 채 그럴듯하지만 틀린 답을 내놓는다. 즉 환각의 원인 중 하나는 모델이 “몰라서"가 아니라, 방향이 겹친 채로 압축 저장된 지식을 압축 해제하는 과정에서 생기는 손실이라는 것이다. 반대로 모델(과 은닉 차원)이 클수록 근사-직교 방향을 더 많이 확보할 수 있어, 같은 사실이라도 더 정확하게 담을 여유가 커진다.
중첩은 용량을 늘려주는 대가로 해석가능성을 깎아먹는다. 하나의 뉴런이나 방향이 서로 무관한 여러 개념을 동시에 표현하는 폴리세만틱 현상이 흔해지면, “이 벡터가 정확히 무엇을 의미하는가"를 사람이 직접 읽어내기 어려워진다. 이 문제의식에서 나온 것이 기계적 해석가능성(mechanistic interpretability) 연구로, FFN 확장 레이어 안의 특정 활성값을 인위적으로 조작해 출력이 어떻게 바뀌는지 관찰함으로써 그 값의 의미를 역으로 추적하는 방법론(feature attribution, sparse autoencoder를 통한 monosemantic 특징 분리 등)이 활발히 연구되고 있다.
실전 함의: 규칙 기반 거부보다 벡터 억제가 견고한 이유
이 구조는 안전성 측면에서도 함의가 있다. 특정 위험 지식(예: 무기 제조법)이 저장된 벡터 방향을 찾아 그 방향의 가중치를 직접 낮추는 접근은, “이런 요청에는 답하지 말라"는 규칙 기반 거부보다 견고할 수 있다. 규칙 기반 거부는 프롬프트를 살짝 바꾸는 우회(jailbreak)에 취약한 반면, 지식 자체를 표현하는 벡터를 억제하면 그 지식에 접근하는 경로 자체가 줄어들기 때문이다. 다만 이 접근이 실효를 보려면 문제의 지식이 다른 무해한 개념과 얼마나 중첩되어 있는지에 좌우된다 — 폴리세만틱하게 얽혀 있을수록 특정 방향만 골라 억제하기 어려워진다는 점은 이 방법의 한계이기도 하다.
마무리
LLM이 왜 가끔 그럴듯한 거짓말을 하는지, 왜 내부 동작을 사람이 직접 설명하기 어려운지는 서로 다른 문제처럼 보이지만 뿌리는 같다. 벡터 공간이 유한하고, 담아야 할 개념은 그보다 훨씬 많다는 것. 모델은 정확한 직교성을 포기하고 근사-직교와 중첩을 받아들여 이 문제를 우회하며, 그 대가로 폴리세만틱한 표현과 해석 불가능성을 떠안는다. 파라미터를 늘리는 것이 단순히 “더 똑똑해진다"가 아니라 “더 많은 방향을 확보해 개념 간 간섭을 줄인다"는 관점으로 스케일링을 바라보면, 왜 큰 모델일수록 희소한 사실을 더 정확히 기억하는지, 그리고 왜 sparse autoencoder 같은 해석가능성 도구가 최근 안전성 연구의 핵심으로 떠올랐는지가 같은 그림 안에서 설명된다.
참고 자료
- Toy Models of Superposition (Elhage et al., Anthropic, Transformer Circuits Thread, 2022)
- Toy Models of Superposition (arXiv:2209.10652)
- Johnson–Lindenstrauss lemma — Wikipedia — 고차원 임베딩에서 거리 보존에 필요한 차원 수가 로그 스케일로 증가함을 보이는 표준 정리(근사-직교 벡터 개수 자체의 정확한 점근식과는 별개 결과이므로, 본문에서는 정성적 결론까지만 인용했다)
![Featured image of post [AI] 환각은 버그가 아니라 압축의 대가다 — LLM 지식 저장의 중첩(Superposition)](/post/2026-08-24-llm-knowledge-superposition-hallucination/wordcloud_hu_6b54904532cc09fe.webp)
![[AI] 모델은 의도적으로 더 멍청해지고 있다 — 추론과 사실 지식의 트레이드오프](/post/2026-08-20-llm-reasoning-vs-factual-knowledge-tradeoff/wordcloud_hu_b8db0804275fe262.webp)
![[AI] LLM 로그 근본원인분석(RCA): 왜 원본 로그를 그대로 안 넣는가](/post/2026-08-16-llm-log-based-root-cause-analysis/wordcloud_hu_ecdfa02d2c901ae.webp)
![[LLM] 00. Introduction: LLM 밑바닥부터 이해하기](/post/llm-from-scratch/getting-started-llm-from-scratch/wordcloud_hu_be7a0333d3ad2d1b.webp)
![[LLM] 01. AI 수학 기초 — 내적, Softmax, KL Divergence](/post/llm-from-scratch/ai-math-foundations/wordcloud_hu_70dc28f934fde3b1.webp)
![[LLM] 02. 신경망은 어떻게 학습하는가 — 역전파와 Adam](/post/llm-from-scratch/neural-network-training/wordcloud_hu_2bcde8adfb65bcd6.webp)