Deep DiveElhage 외 원문 HTML·PDF와 Anthropic 공식 재현 notebook commit 562710e 직접 확인, Python 3.9.6 표준 라이브러리로 2 feature·1 hidden dimension ReLU 재구성의 네 입력과 확률별 기대 MSE를 직접 열거

한 뉴런에 여러 개념이 들어가는 이유 — Toy Models of Superposition

Elhage 외의 Toy Models of Superposition 원문을 바탕으로, feature가 neuron보다 많을 때 sparse input과 ReLU가 왜 여러 feature를 하나의 activation direction에 겹쳐 넣게 하는지, interference·phase change·geometry·polysemantic neuron을 작은 2-feature 1-dimension 예제로 끝까지 계산한다. Python 3.9.6으로 antipodal superposition의 성공과 동시 활성화 실패를 직접 검증한다.

4단계 여섯 번째 논문. 이 글은 Nelson Elhage 외의 Toy Models of Superposition 원문을 직접 읽고 썼다. 원문 공개일은 2022-09-14이며, 내려받은 PDF SHA-256은 0acd3e05e40c1b703be3aed15c8cdbd5713a1840df9738b495d2bde2e8eb1e3a다. Superposition(중첩)은 feature(특징)가 neuron(뉴런) 수보다 많을 때, 서로 완전히 직교하지 않는 여러 feature 방향을 작은 activation space(활성화 공간)에 겹쳐 저장하고 ReLU가 일부 간섭을 잘라 내는 현상이다.

이 글에서 얻을 답과 범위

이 글을 다 읽으면 “뉴런 하나가 여러 unrelated concept(서로 무관한 개념)에 반응한다”는 말이 관찰 결과일 뿐 원인 설명은 아니라는 점을 설명할 수 있다. 어떤 feature가 두 개 이상이면 왜 한 neuron에 억지로 섞일 수 있는지, 언제 그 손해가 이득보다 커지는지, 왜 interpretability(해석가능성)가 어려워지는지도 작은 수식으로 따라간다.

읽은 뒤 답할 질문은 다음이다.

  1. monosemantic neuron(단의미 뉴런)과 polysemantic neuron(다의미 뉴런)은 무엇이 다르고, feature와 neuron은 왜 같은 말이 아닌가.
  2. 2 feature → 1 hidden dimension인데도 sparse input에서는 두 feature를 복원할 수 있는 이유는 무엇인가.
  3. ReLU(Rectified Linear Unit, 음수는 0으로 자르는 활성화 함수)가 linear model(선형 모델)과 무엇을 갈라놓는가.
  4. interference(간섭), sparsity(희소성), importance(중요도)가 phase change(상 변화)에 어떻게 연결되는가.
  5. triangle·tetrahedron 같은 기하가 왜 결과 그림에 나타나는가.
  6. 이 논문이 실제 LLM(Large Language Model, 거대 언어 모델)의 feature를 이미 찾아냈다는 주장이 아닌 이유는 무엇인가.

범위는 원문의 synthetic toy model(합성 데이터의 작은 장난감 모델)과 그 해석이다. GPT-2나 Claude 내부의 실제 feature를 추출하거나, SAE(Sparse Autoencoder, 희소 오토인코더)가 실제 대형 모델에서 성공한다는 후속 실증은 다음 글의 범위다. 원문도 이 toy model에서 관찰한 현상을 실제 network로 얼마나 일반화할 수 있는지는 매우 불명확하다고 선을 긋는다.원문 Abstract

핵심 한 문장. neuron을 feature의 목록으로 세면 틀릴 수 있다. sparse한 feature가 동시에 켜지는 일이 드물면, model은 한 축에 여러 feature를 겹쳐 넣고 드문 충돌의 손해를 감수해 더 많은 정보를 보관할 수 있다.

왜 필요한가 — 뉴런을 세면 feature를 다 셌다고 믿기 쉽다

초기 vision model에서는 특정 curve(곡선)나 texture(질감)에 강하게 반응하는 neuron을 찾을 수 있었다. 그래서 “뉴런 하나 = 사람이 읽을 수 있는 개념 하나”라는 기대가 생긴다. 하지만 language model에서는 한 neuron이 장소 이름, 코드 조각, 문법 패턴처럼 관련 없어 보이는 여러 입력에서 켜지는 일이 관찰된다. 이것이 polysemanticity(다의미성)다.

여기서 흔한 잘못된 결론은 둘 중 하나다.

성급한 결론왜 틀렸나
다의미 neuron은 학습 실패 또는 잡음이다작은 model도 loss를 줄이기 위해 의도적으로 여러 feature를 겹칠 수 있다.
neuron이 다의미면 feature라는 것은 없다feature는 neuron 축이 아니라 activation space 안의 다른 direction(방향)일 수 있다.
neuron 수만큼만 개념을 담는다feature direction이 orthogonal(직교)일 필요가 없으면 feature 수가 dimension보다 많아질 수 있다.

논문의 출발 문제는 아주 실용적이다. 안전성이나 circuit analysis(회로 분석)에서 “위험한 행동 feature가 있는가”를 묻고 싶다면 feature를 빠뜨리지 않고 열거해야 한다. 그런데 neuron 하나가 여러 feature의 합이면 neuron을 순회하는 방식은 feature 목록을 주지 않는다. 이 논문은 왜 그런 겹침이 학습에서 자연스럽게 나오는가를 실제 LLM 대신 완전히 통제한 작은 model로 묻는다.원문의 Strategic Picture

무엇인가 — feature, direction, basis, superposition

feature는 아직 완성된 사전식 정의가 아니다

원문은 feature를 고정된 정의 하나로 못 박지 않는다. 인간이 이해하는 속성이라고만 하면 사람이 아직 이름을 못 붙인 feature를 제외한다. 임의의 함수라고만 하면 cat, car, cat+car를 모두 같은 급으로 취급해 버린다. 저자들은 작업용 관점으로 “충분히 큰 model이라면 전용 neuron을 줄 법한 입력 속성”을 상상하지만, 이 정의도 순환적임을 밝힌다.원문의 What are Features

이 글에서는 feature i를 입력에서 0 또는 양의 값으로 존재하는 독립 신호 x_i라고 둔다. 예를 들어 문장에서 ‘특정 인물 언급’, 이미지의 ‘왼쪽 곡선’, 제조 데이터의 ‘이상 진동 패턴’이 될 수 있다. 이것은 실제 LLM에 이런 깨끗한 독립 좌표가 존재한다는 증명이 아니라 toy model의 의도적 가정이다.

feature direction과 neuron basis는 다르다

hidden activation을 길이 m 벡터 h라고 하자. m은 hidden dimension, 즉 이 layer가 가진 좌표 축 수다. feature i가 hidden space에서 차지하는 방향을 w_i라고 하면,

[ h = \sum_{i=1}^{n} x_i w_i = W x \tag{1} ]

이다. n은 feature 수, x \in \mathbb{R}^n, h \in \mathbb{R}^m, W \in \mathbb{R}^{m \times n}이다. W의 i번째 column이 w_i다. 공식 notebook은 행을 feature로 둔 전치 형태 [feature, hidden] 배열을 쓰지만, 의미는 같다. h의 좌표 하나가 neuron이다. 반면 w_i는 feature가 놓인 방향이다.

다음 세 경우를 분리해야 한다.

표현 상태w_i의 모양neuron을 보고 feature를 읽을 수 있나
basis-aligned(기저 정렬)w_i가 one-hot basis vector(한 좌표만 1인 벡터)거의 된다. feature가 전용 neuron 축에 놓인다.
orthogonal but rotated(회전된 직교)서로 직교하지만 각 feature가 여러 neuron에 걸친다feature 수는 세되, 단일 neuron 이름 붙이기는 어렵다.
superposition서로 직교하지 않고 feature 수가 dimension보다 많을 수 있다neuron 하나가 여러 feature의 합을 담는다.

원문은 W^T W가 invertible(역행렬 존재)하지 않으면 superposition이라고 정의한다. W^T W는 feature끼리의 dot product(내적)를 담은 Gram matrix(그램 행렬)다. n > m이면 rank(독립 방향 수)가 최대 m이므로 이 n × n 행렬은 자동으로 역행렬이 없다. 즉 복원할 수 없는 충돌 가능성을 만들면서도 더 많은 feature를 담는 것이 중첩의 대가다.원문의 Definitions and Motivation

privileged basis는 왜 중요할까

회전된 직교 표현에서는 어떤 orthogonal rotation(직교 회전)을 해도 linear readout(선형 읽기)의 정보량이 같다. 그래서 ‘이 neuron은 고양이’라는 축은 특별하지 않다. 하지만 ReLU처럼 각 neuron마다 따로 음수를 자르는 nonlinearity(비선형성)가 있으면 축마다 동작이 달라진다. 이때 neuron 축은 privileged basis(특권 기저)가 되고, 어떤 feature가 neuron 방향으로 정렬될 유인이 생긴다. 다만 privileged basis가 있어도 항상 정렬되는 것은 아니다. superposition의 압력이 더 크면 다의미 neuron이 남는다.

선행 개념 — 희소성은 ‘0이 많다’보다 충돌 확률이다

원문의 입력은 feature vector x다. 각 feature x_i는 아래 방식으로 생성한다.

[ x_i = \begin{cases} 0 & \text{with probability } S_i \ \operatorname{Uniform}(0,1) & \text{with probability } 1-S_i \end{cases} \tag{2} ]

여기서 S_i0일 확률이다. 따라서 activation probability(활성 확률)는 p_i = 1-S_i다. 코드에서 feature_probability라는 변수는 이 p_i를 저장한다. 논문 서술의 sparsity S와 코드의 feature_probability를 같은 숫자로 읽으면 방향이 거꾸로 된다.

p=0.1인 feature 둘은 평균적으로 10번 중 한 번씩 켜진다. 둘이 동시에 켜질 확률은 독립이라는 가정 아래 p^2=0.01이다. 반대로 p=0.9이면 동시에 켜질 확률은 0.81이다. 이 작은 차이가 “한 hidden 축에 두 feature를 접어도 되는가”를 바꾼다.

importance I_i는 그 feature의 reconstruction error(복원 오차)에 곱하는 가중치다. 큰 I_i는 틀리면 loss가 크게 늘어나는 중요한 feature다. 이것은 feature가 현실에서 도덕적으로 중요하다는 뜻이 아니라 toy task에서의 최적화 우선순위다.

밑바닥 원리 — 동일한 투영에 ReLU 하나를 붙이면 무엇이 바뀌나

원문의 두 baseline

입력 x를 hidden activation h로 압축하고 다시 x_hat으로 복원한다. 원문은 같은 tied weight(인코더와 디코더가 전치 관계인 가중치)로 두 model을 비교한다.

[ \begin{aligned} h &= Wx \ \text{linear output model}\quad \hat{x} &= W^T h + b = W^T W x + b \ \text{ReLU output model}\quad \hat{x} &= \operatorname{ReLU}(W^T h + b) \end{aligned} \tag{3} ]

학습 목표는 weighted MSE(Weighted Mean Squared Error, 가중 평균제곱오차)다.

[ L = \mathbb{E}{x}\left[\sum{i=1}^{n} I_i (x_i-\hat{x}_i)^2\right] \tag{4} ]

식 (3)에서 W^T W의 대각 원소는 자기 feature를 얼마나 되살리는지, 대각 밖 원소 w_i^T w_j는 feature j가 feature i의 복원값에 새는 양이다. 후자가 interference다.

linear model에서는 w_i^T w_j의 부호가 달라도 오류가 남는다. -0.2라는 틀린 음수도 정답 0과 차이가 있기 때문이다. 반면 ReLU는 음수를 0으로 잘라, 활성되지 않은 feature에 생긴 음의 간섭을 제거한다. negative bias(음의 편향)는 작은 양의 간섭도 0 아래로 밀어 잘라 낼 수 있다. 그래서 ReLU model은 sparse input에서 약간의 비직교성을 감수하는 해법을 선택할 수 있다.원문의 Mathematical Understanding

가장 작은 반례 — 2 feature를 1 dimension에 antipodal로 넣기

두 feature를 한 hidden scalar에 다음처럼 넣자.

[ W = \begin{bmatrix}1 & -1\end{bmatrix},\qquad h=x_1-x_2,\qquad \hat{x}=\operatorname{ReLU}\left(\begin{bmatrix}1\-1\end{bmatrix}h\right) \tag{5} ]

w_1=+1, w_2=-1은 서로 정확히 반대 방향이다. 이를 antipodal pair(대척쌍)라고 한다. 아래 표는 학습 결과가 아니라 식 (5)를 손으로 모두 계산한 것이다.

입력 xhidden hReLU 전 복원최종 x_hat무슨 일이 일어났나
(0, 0)0(0, 0)(0, 0)둘 다 없다.
(1, 0)1(1, -1)(1, 0)feature 1만 정확히 복원한다.
(0, 1)-1(-1, 1)(0, 1)feature 2만 정확히 복원한다.
(1, 1)0(0, 0)(0, 0)둘이 서로 상쇄되어 둘 다 잃는다.

두 feature가 하나씩만 나타나는 data에서는 1개 hidden dimension으로 2개를 구분한다. 둘이 같이 나타나는 rare case에서는 실패한다. 이것이 magic compression(마법 같은 압축)이 아니라 확률적 거래인 이유다.

Gram matrix는 아래다.

[ W^T W= \begin{bmatrix} 1 & -1\ -1 & 1 \end{bmatrix},\qquad \det(W^T W)=0 \tag{6} ]

determinant(행렬식)이 0이므로 두 feature를 hidden scalar 하나에서 동시에 독립 복원할 정보는 없다. sparse distribution이 이 정보 부족을 없애는 것이 아니다. 동시 활성화가 드물어 평균 loss가 받아들일 만해지는 것뿐이다.

이 작은 경우의 정확한 기대 오차

각 feature가 독립적으로 확률 p로 1, 확률 1-p로 0이라고 하자. 식 (5)의 ReLU superposition은 (1,1)일 때만 두 좌표 모두 틀린다. per-feature MSE는

[ \operatorname{MSE}_{\text{superposition}} = \frac{2p^2}{2}=p^2 \tag{7} ]

이다. 반대로 one dimension을 feature 1에만 전용하고 feature 2를 버리는 baseline의 per-feature MSE는 feature 2가 켜질 때만 생기므로

[ \operatorname{MSE}_{\text{drop feature 2}}=\frac{p}{2} \tag{8} ]

이다. 이 두 제한된 후보 해법만 비교하면 p^2 < p/2, 즉 p<0.5에서 superposition이 낫다. p=0.1이면 0.01 < 0.05, p=0.9이면 0.81 > 0.45다. 이것은 논문의 전체 학습 문제에서 보편적으로 0.5가 임계값이라는 뜻이 아니다. bias, importance 비율, 연속값, 더 많은 feature와 차원, optimizer가 바뀌면 경계가 바뀐다. 다만 희소성이 왜 간섭 손해를 뒤집는지 가장 짧게 증명한다.

내부 구조와 실제 실행 흐름 — 공식 notebook에서 loss까지

원문의 공식 재현 repositorytoy_models.ipynb 하나로 핵심 그림 일부를 재현한다. 2026-07-24에 확인한 commit은 562710e079704b84a132b640db134d4cebe22466이며, repository는 archived 상태다. notebook의 Model.forward()는 다음 흐름이다.

batch [batch, instance, feature]
  → einsum(features, W)                  # h = W x
  → einsum(hidden, W) + b_final          # Wᵀ h + b
  → relu                                 # x̂
  → importance * (abs(batch) - x̂)²
  → feature·batch 평균 후 AdamW update

코드는 W[instance, feature, hidden]으로 두고 torch.einsum("...if,ifh->...ih", ...)으로 encode한다. 같은 W를 decode에 다시 써 tied weight를 보장한다. generate_batch()torch.rand로 값과 mask를 만들고, mask가 feature_probability 이하인 feature만 남긴다. 이 model은 real text를 tokenizer로 읽거나 next token을 맞히지 않는다. n_instances개 작은 model을 병렬로 학습해 density 또는 importance sweep(값 범위 훑기)을 빠르게 그리는 실험 장치다.공식 notebook

관찰된 결과와 해석의 경계

원문의 n=20, m=5 실험에서 dense feature는 linear model처럼 중요한 상위 5개 feature를 직교 방향에 놓는다. ReLU output model은 feature가 희소해질수록 더 많은 feature를 비직교 방향에 넣는 결과를 보인다. n=5, m=2에서는 대척쌍, triangle, pentagon 같은 배치가 나타난다. 이것은 해당 합성 분포·loss·model에서 직접 관찰된 결과다.원문의 Demonstrating Superposition

여기서 “LLM의 모든 neuron도 똑같이 pentagon을 이룬다”는 말은 저자의 결과가 아니다. 저자들의 해석은 real network에 superposition이 있을 가능성을 보여 주는 자연스러운 setup의 직접 시연이라는 수준이다. toy model의 geometry가 실제 model의 local feature geometry를 얼마나 설명하는지는 별도 실증이 필요하다.

성능과 트레이드오프 — 더 많이 담는 이득과 충돌 손해

모델이 feature를 하나 더 표현하면 그 feature를 버렸을 때의 error가 줄어든다. 이것이 feature benefit(표현 이득)이다. 반대로 w_i^T w_j \ne 0이면 feature j가 feature i의 readout에 섞인다. 이것이 interference cost(간섭 비용)이다.

조건보통 선택되는 방향얻는 것치르는 것
dense, 높은 co-occurrence중요한 feature에 전용 또는 직교 차원동시 존재도 정확히 분리덜 중요한 feature를 포기
sparse, 낮은 co-occurrence비직교 superpositiondimension보다 많은 feature드문 동시 활성화에서 오답
중요도가 크게 다름중요한 feature를 더 깨끗하게 보존핵심 loss 감소덜 중요한 feature가 더 큰 간섭을 받음
feature가 positive correlation가능한 한 서로 직교자주 함께 오는 pair의 충돌 감소다른 feature와의 packing 여지 감소
feature가 anti-correlation같은 factor에서 음의 간섭 선호함께 켜지지 않아 대척 배치가 싸짐분포가 변하면 취약

원문은 2 feature·1 hidden dimension에서 extra feature의 importance와 sparsity를 가로세로로 바꾸고 각 점에서 10개 model을 학습해 phase diagram(상 도표)을 만들었다. feature가 무시됨, superposition으로 학습됨, 전용 차원을 얻음 사이의 전환이 날카롭게 나타났다. 원문이 말하는 phase change는 이 문맥에서 optimal configuration의 불연속적인 변화라는 넓은 뜻이다. 무한계에서 엄밀한 물리학 상전이를 주장하는 말이 아니다.원문의 Superposition as a Phase Change

성능 수치를 읽을 때 가장 중요한 주의점도 있다. feature를 더 sparse하게 만든 실험은 같은 task의 더 좋은 loss를 비교한 것이 아니다. 동시 활성화 자체가 적은 쉬운 분포로 task를 바꾼 것이다. 원문도 superposition 정도가 다른 model의 loss를 단순 비교하기 어렵다고 명시한다. 따라서 ‘sparsity를 높이면 model이 항상 더 좋다’라고 운영 지표로 바꾸면 안 된다.

기하와 phase — triangle이 장식이 아닌 이유

uniform superposition은 모든 feature의 importance와 sparsity가 같고 독립인 경우다. 원문은 n=400, m=30에서 D^*=m/\lVert W\rVert_F^2를 dimensions per feature(특징당 차원)로 본다. 여기서 Frobenius norm(프로베니우스 노름)의 제곱은 모든 weight 제곱의 합이다. 표현된 feature의 \lVert w_i\rVert^2가 대략 1이고 버린 feature의 값이 0이면, \lVert W\rVert_F^2는 대략 표현한 feature 수가 된다.

각 feature의 fractional dimensionality(분수 차원성)는 다음으로 정의한다.

[ D_i=\frac{\lVert w_i\rVert^2} {\sum_j (\hat w_i^T w_j)^2},\qquad \hat w_i=\frac{w_i}{\lVert w_i\rVert} \tag{9} ]

분자는 feature i가 얼마나 세게 표현되는지, 분모는 그 방향에 다른 feature가 얼마나 함께 투영되는지를 센다. 대척쌍은 자기 항 1과 반대 feature의 제곱 내적 1이 있어 D_i=1/(1+1)=1/2다. 정삼각형의 feature들은 다른 두 direction과 내적 절댓값이 1/2여서 D_i=1/(1+2×(1/2)^2)=2/3다. 정사면체는 3/4가 된다.

관찰되는 차원성대응하는 균일 배치 예
1전용 feature directionfeature 하나가 차원 하나를 쓴다.
3/4tetrahedron(정사면체)4 feature가 3차원에 균형 있게 겹친다.
2/3triangle(정삼각형)3 feature가 2차원에 겹친다.
1/2antipodal pair2 feature가 한 축의 양·음 방향을 공유한다.
0feature 미학습해당 feature를 아예 포기한다.

W^T W는 단순 표가 아니라 feature point들의 dot product geometry를 담는다. 균일한 feature라면 한 feature만 특별대우하는 배치보다 모든 점이 비슷한 관계를 갖는 uniform polytope(균일 다포체)가 loss에 유리할 수 있다. 원문은 Thomson problem(구면 위 점들을 서로 밀어내듯 배치하는 문제)과의 유사성을 이 간섭 에너지 관점에서 설명한다. 이것은 toy model의 feature geometry를 이해하는 비유이며, 실제 neuron이 분자처럼 배치된다는 주장이 아니다.원문의 Geometry of Superposition

직접 검증과 재현 — 네 입력을 전부 열거해 보자

직접 실행 확인이다. 2026-07-24에 Python 3.9.6 표준 라이브러리만으로 /tmp/toy-models-superposition-research/verify_superposition.py를 실행했다. PyTorch 학습을 재현한 것이 아니라, 식 (5)의 2 feature·1 hidden dimension 대척 해법의 논리와 확률별 평균 오차를 네 가지 binary input 전체에서 열거한 최소 검증이다.

python3 /tmp/toy-models-superposition-research/verify_superposition.py

실제 출력은 다음이었다.

x=(0.0, 0.0) -> relu_decode=(0.0, 0.0)
x=(1.0, 0.0) -> relu_decode=(1.0, 0.0)
x=(0.0, 1.0) -> relu_decode=(0.0, 1.0)
x=(1.0, 1.0) -> relu_decode=(0.0, 0.0)
Gram determinant: 0.0 (non-invertible)
activation_probability=0.1 superposition_mse=0.0100 drop_second_mse=0.0500
activation_probability=0.9 superposition_mse=0.8100 drop_second_mse=0.4500
checks passed

한 값을 바꾼 경계 사례도 명확하다. p=0.1에서는 충돌 11이 1%라서 superposition이 feature 2를 버리는 것보다 낫다. p=0.9에서는 충돌이 81%라서 feature 2를 버리는 편이 낫다. ReLU를 제거하면 (1,0)(1,-1)로, (0,1)(-1,1)로 복원되어 없는 feature에 음수 error가 남는다. 바로 이 filter가 linear baseline과 ReLU baseline의 핵심 차이다.

직접 실행이 검증하지 않은 것도 분명하다. 이 script는 gradient descent, 연속 Uniform(0,1) 값, learned bias, phase diagram, polytope 형성, 실제 model activation을 재현하지 않는다. 그 결과들은 원문과 공식 notebook의 외부 근거로만 인용했다.

실패와 한계 — 이 toy model을 LLM 내부 사진처럼 읽지 않기

  1. 독립 sparse feature 가정 — 실제 언어의 feature는 상관·조건부 의존·문맥적 결합이 많다. 원문도 correlated feature가 orthogonal local basis를 선호하거나, anti-correlated feature가 음의 간섭을 선호하는 별도 실험을 보인다. 독립 toy 결과 하나를 그대로 적용하면 안 된다.
  2. 복원 task의 한계 — 첫 model은 x를 다시 x_hat으로 만드는 autoencoder 형태다. next-token prediction, attention, residual stream, multi-layer computation의 전체를 모델링하지 않는다.
  3. tied weight와 ReLU 선택WW^T를 묶고 ReLU output을 쓰는 것은 해석을 위해 고른 설계다. activation function에 따라 phase diagram이 달라질 수 있다는 외부 replication comment도 원문에 실려 있다.원문의 Comments and Replications
  4. local optimum — 작은 model도 여러 loss minimum을 가질 수 있고 training run마다 다른 configuration으로 갈 수 있다. 그림 하나의 geometry를 유일한 원인으로 선언하면 안 된다.
  5. polysemantic neuron의 원인 단정 금지 — superposition은 가능한 설명을 직접 시연한다. 실제 LLM의 특정 neuron이 이 mechanism 때문에 다의미라고 결론 내리려면 feature activation, causal intervention, 재현 가능한 probe가 필요하다.
  6. safety 보장 부재 — feature를 일부 찾았다고 ‘위험 feature가 없다’고 말할 수 없다. feature dictionary의 coverage, reconstruction, false negative, intervention 효과를 따로 검증해야 한다.

운영 model에서 “다의미성 지표가 높으니 장애” 같은 단일 alert를 만들 일도 아니다. 이 논문은 production observability 표준이 아니라 representation을 보는 가설과 실험 설계다. 실제 시스템에서는 retrieval quality, latency, cost, authorization 같은 서비스 지표가 독립적으로 필요하다.

대안과 선택 기준 — superposition을 없애기보다 먼저 구분하기

접근무엇을 하려 하나이 논문과의 관계언제 부족한가
PCA(Principal Component Analysis, 주성분 분석)분산이 큰 직교 방향을 찾는다linear baseline이 상위 직교 feature만 보존하는 직관과 가깝다sparse·비선형 filter가 만드는 음의 간섭 제거를 다루지 못한다.
compressed sensing(압축 센싱)적은 관측에서 sparse signal을 복원한다known overcomplete dictionary가 있다면 중첩을 풀 수 있다는 수학적 친척이다실제 model의 feature dictionary 자체가 미지수다.
model width 확대더 많은 hidden dimension을 준다충돌 압력을 낮춰 더 많은 전용 direction을 허용한다비용이 늘고, feature 수가 더 빨리 늘면 superposition이 완전히 사라진다는 보장은 없다.
MoE(Mixture of Experts, 전문가 혼합)입력별 일부 parameter만 활성화한다co-occurrence와 capacity를 조건부로 나누는 다른 설계다routing 오류, expert collapse, feature enumeration 문제는 별도다.
SAEactivation에서 sparse한 overcomplete feature dictionary를 사후 학습한다‘중첩을 푸는’ 후속 연구 경로다reconstruction이 좋아도 human-meaningful feature·causal completeness를 자동 보장하지 않는다.

선택 기준은 질문으로 정한다. “왜 loss가 이 분포에서 줄었나”라면 이 toy model처럼 feature density·importance를 통제한다. “실제 model 안의 feature를 찾고 싶은가”라면 activation dataset, SAE 또는 다른 dictionary learning, held-out reconstruction, intervention을 사용한다. “서비스를 더 싸고 빠르게 만들고 싶은가”라면 superposition을 성능 튜닝 용어로 오용하지 말고 batching, cache, quantization, retrieval 평가부터 본다.

흔한 오해와 최초 질문에 대한 답

superposition은 양자역학의 중첩인가

아니다. 여기서는 여러 feature direction이 하나의 실수 벡터 공간에 선형적으로 겹친다는 표현이다. quantum state(양자 상태)나 확률 진폭을 뜻하지 않는다.

polysemantic neuron은 feature 두 개를 번갈아 저장한다는 뜻인가

아니다. 같은 activation 값은 여러 feature contribution의 합일 수 있다. 식 (5)에서는 h=x_1-x_2 하나만 보면 h=0(0,0)인지 (1,1)인지 구분할 수 없다. 정보가 시간을 나눠 저장되는 문제가 아니라 하나의 순간에 충돌하는 문제다.

neuron이 다의미면 interpretability는 불가능한가

불가능하다고 증명하지 않는다. neuron 축 대신 feature direction을 찾아야 한다는 뜻이다. 원문은 feature를 열거하거나 sparse code를 펼칠 수 있다면 해석을 진전시킬 수 있다고 본다. 다만 그 dictionary를 정확히 찾는 일이 어려운 연구 문제다.

sparse feature면 언제나 겹쳐 넣는 편이 좋은가

아니다. feature importance, 동시 활성화 구조, nonlinearity, error cost, hidden dimension에 따라 달라진다. p가 작아도 매우 중요한 feature라면 전용 차원을 줄 수 있다. 희소성은 필요 조건처럼 작동할 수 있어도 충분 조건은 아니다.

이 논문을 읽은 뒤 무엇을 봐야 하나

다음은 Sparse Autoencoders Find Highly Interpretable Features in Language Models다. 이 글이 ‘feature가 neuron보다 많을 수 있다’는 문제를 만든다면, SAE는 실제 activation에서 feature dictionary를 어떻게 학습해 보려 했는지 다룬다. 단, SAE를 읽기 전에 이 글의 feature direction, sparsity, interference, reconstruction을 구분해야 reconstruction loss만 보고 해석가능성이 증명됐다고 오해하지 않는다.

출처 및 검증 경로

1차 자료

  • Elhage 외. Toy Models of Superposition, Transformer Circuits Thread, 2022-09-14 — Abstract, Definitions and Motivation, Demonstrating Superposition, Mathematical Understanding, Phase Change, Geometry, Computation, Strategic Picture, Limitations, Comments를 직접 확인했다.
  • Elhage 외. arXiv 2209.10652 PDF — 내려받은 PDF의 SHA-256은 본문 첫 문단에 기록했다.
  • Anthropic. 공식 재현 notebookModel.forward, generate_batch, optimize, compute_dimensionality의 실제 tensor shape·loss·optimizer 경로를 확인했다.
  • Donoho. Compressed sensing, IEEE Transactions on Information Theory, 2006 — 원문이 비교 대상으로 드는 sparse recovery 계열의 원전이다.

직접 실행 기록

  • 환경 — macOS, Python 3.9.6, 표준 라이브러리만 사용.
  • 명령 — python3 /tmp/toy-models-superposition-research/verify_superposition.py.
  • 관찰 — 2 feature 대척쌍은 single-active case를 정확히 복원하고 co-active case에서 실패했다. p=0.1에서는 superposition MSE 0.0100, feature 2를 버린 baseline은 0.0500이었다. p=0.9에서는 각각 0.8100, 0.4500이었다.
  • 경계 — 이 실행은 식 (5)와 식 (7)·(8)의 최소 산술 검증이며, 원문 notebook의 PyTorch 학습 또는 실제 LLM feature 발견 재현이 아니다.

보조 자료

  • 이 글의 feature·neuron 구분과 phase 경계의 산술 유도는 원문 모델을 바탕으로 한 필자의 계산이다. 원문이 제시하지 않은 실제 LLM 일반화나 보편 임계값을 주장하지 않는다.
대화

댓글

0
댓글을 불러오는 중입니다.