단의미성의 스케일링 — Claude 3 Sonnet에서 해석 가능한 feature 추출하기 (Scaling Monosemanticity)

Digest: 8개월 전 Anthropic은 1층 트랜스포머에서 sparse autoencoder(SAE)가 monosemantic feature를 복원함을 보였으나, “프로덕션 모델까지 확장되지 않으면 AI 안전에 실질적으로 기여할 수 없다”는 우려가 남아 있었다. 핵심 통찰은 linear representation·superposition 가설을 받아들이면 feature 추출이 표준 dictionary learning 문제로 환원되고, 따라서 scaling law로 하이퍼파라미터를 최적화할 수 있는 “평범한 ML 문제”가 된다는 것이다. 방법은 Claude 3 Sonnet 중간층 residual stream에 2층 SAE(ReLU encoder + linear decoder, L2 재구성 + decoder-norm 가중 L1, L1 계수 5)를 학습시키는 것이며 1M·4M·34M 세 규모를 훈련했다. 세 SAE 모두 토큰당 활성 feature 300개 미만, 분산 설명 65% 이상이고 dead feature는 각각 약 2%·35%·65%였다. 검증은 specificity(Claude 3 Opus의 0~3점 루브릭, feature당 약 1,000샘플)와 influence on behavior(feature clamping) 두 축이다. 핵심 수치로 feature의 82%는 선행 모든 층의 어떤 뉴런과도 Pearson 상관이 0.3 이하였고, Golden Gate Bridge feature를 최대 활성의 10배로 clamp하면 모델이 스스로를 금문교라 말하기 시작한다. 결정적 증거는 code error feature 1M/1013764로, 버그 있는 코드에 음의 clamp를 걸면 버그가 없었을 때의 출력을 예측하고 프롬프트 끝에 >>>를 덧붙이면 버그를 고친 코드를 다시 써낸다. 안전 함의로는 취약점·백도어·편향·아첨·기만·권력추구·생물무기 feature를 찾아냈고, “잊어버려라”에 거짓 순응하던 모델이 internal conflict feature를 2배로 clamp하자 잊은 척한 단어를 자백한다. 한계는 34M SAE조차 런던 자치구의 약 60%만 커버하는 불완전성, cross-layer superposition, L1 shrinkage, 그리고 “모든 feature를 뽑으려면 모델 학습보다 더 많은 연산이 들 수 있다”는 비용 문제다.


먼저 이해하기

이 리포트는 “거대 언어모델의 머릿속을 사람이 읽을 수 있는 단위로 쪼갤 수 있는가”를 실제 상용 모델에서 시험한 연구다. 신경망의 뉴런 하나는 보통 여러 무관한 개념에 동시에 반응한다(polysemantic). 왜 그런가에 대한 Anthropic의 설명이 superposition 가설이다 — 표현하고 싶은 개념 수가 차원 수보다 훨씬 많기 때문에, 고차원 공간에서 거의 직교하는 방향들을 겹쳐 써서 차원보다 많은 개념을 욱여넣는다는 것이다. 그렇다면 해석 가능한 단위는 뉴런이 아니라 “활성 공간 속의 방향”이고, 겹쳐 있는 방향들을 풀어내는 일은 이미 잘 알려진 sparse dictionary learning 문제가 된다.

그 도구가 sparse autoencoder다. 모델의 활성 벡터를 훨씬 넓은 차원으로 펼쳤다가 다시 복원하되, 펼친 층에서 아주 소수의 유닛만 켜지도록 강제한다. 그러면 각 유닛(= feature)이 하나의 개념에 대응하도록 압박을 받는다. 이 리포트가 새로 한 일은 그 SAE를 장난감이 아니라 Anthropic의 실제 중형 프로덕션 모델인 Claude 3 Sonnet에, 그것도 백만~삼천만 개 feature 규모로 돌린 것이다.

찾은 feature는 놀랍도록 추상적이다. Golden Gate Bridge feature는 중국어·일본어·한국어·러시아어·베트남어·그리스어 위키백과 첫 문장에서도 가장 강하게 반응하고, SAE를 텍스트로만 학습시켰는데도 금문교 이미지에 반응한다. 보안 취약점 feature는 취약점에 대한 추상적 토론과 실제 취약한 C 코드 양쪽에서 켜진다. 표면적 토큰 패턴이 아니라 개념 자체를 잡고 있다는 뜻이다.

가장 중요한 방법론적 장치는 feature steering이다. 특정 feature의 활성값을 강제로 고정(clamp)한 채 forward pass를 돌려서, 그 feature가 단지 “반응하는” 것이 아니라 출력을 “일으키는지”를 본다. 해석과 개입 결과가 일치하면 그 해석이 모델 내부의 실제 역할을 짚었다는 증거가 된다. 대중적으로 가장 유명해진 결과 — Claude가 자신을 금문교라고 믿는 “Golden Gate Claude” — 도 이 실험에서 나왔다.

  • feature(피처): 활성 공간에서 하나의 개념에 대응한다고 가정되는 방향. SAE decoder 열벡터로 표현된다.
  • superposition(중첩): 차원 수보다 많은 feature를 거의 직교하는 방향들에 겹쳐 저장하는 현상. polysemantic 뉴런의 원인.
  • sparse autoencoder, SAE: 활성을 고차원 희소 코드로 인코딩했다가 복원하는 2층 오토인코더. dictionary learning의 실용적 근사.
  • feature steering / clamping: 특정 feature 활성값을 인위적으로 고정해 인과 효과를 측정하는 개입 기법.
  • attribution / ablation: 출력 로짓 차이에 대한 feature 기여를 각각 1차 근사(gradient·활성 내적)와 실제 0 제거로 측정하는 방법.

왜 중요한가: 기계적 해석가능성(mechanistic interpretability)은 오랫동안 “언젠가 안전에 도움이 될 것”이라는 열망 수준에 머물러 있었다. 이 리포트는 두 가지 하한선을 올렸다. 첫째, dictionary learning이 프로덕션 규모에서 작동한다는 존재 증명 — 이제 “작은 모델에서만 되는 거 아니냐”는 반론은 유효하지 않다. 둘째, 안전 관련 개념(백도어·편향·아첨·기만·권력추구·생물무기)이 비지도로 발견 가능하고 개입 가능한 단위로 존재함을 보였다. 동시에 저자들 스스로 “이 feature들이 안전에 실제로 유용하다는 것은 보이지 않았고, 유용해 보인다는 것만 보였다”고 못 박아 과잉 해석을 차단한 것도 이 리포트의 특징이다.

먼저 알아둘 용어 표

원 용어쉬운 설명
linear representation hypothesis개념이 활성 공간의 방향으로 인코딩된다는 가설
residual stream트랜스포머 각 층의 출력이 계속 더해지는 주 통로. 모든 이전 층의 합
dictionary learning밀집 벡터를 미지의 기저 벡터들의 희소 선형결합으로 설명하는 고전적 문제
L1 penalty / shrinkage희소성을 유도하는 페널티. 부작용으로 0이 아닌 활성값을 체계적으로 과소추정
dead feature학습 후 대규모 샘플에서 한 번도 활성되지 않는 feature
specificity / sensitivityfeature가 켜졌을 때 개념이 실제로 있는가 / 개념이 있을 때 feature가 켜지는가
cross-layer superpositionfeature가 특정 층에 국한되지 않고 여러 층에 걸쳐 “번져” 구현되는 현상
auto-interpretability다른 LLM에게 feature 설명 생성·채점을 맡기는 자동 해석 파이프라인

섹션별 요약

Abstract

이 리포트에는 별도의 초록 절이 없고, 도입부 두 문단과 Key Results 목록이 그 역할을 한다. 요지는 다음과 같다. SAE로 Claude 3 Sonnet(2024년 3월 4일 공개된 3.0 버전, 파인튜닝된 프로덕션 모델)에서 고품질 feature를 추출했다. 발견한 feature는 유명인·국가·도시·코드 타입 시그니처 등 매우 추상적이며, 다국어·멀티모달이고 같은 개념의 추상적 논의와 구체적 사례 양쪽에 반응한다. Key Results로 명시된 여섯 가지는 (1) SAE가 대형 모델에서도 해석 가능한 feature를 만든다, (2) scaling law로 SAE 학습을 안내할 수 있다, (3) feature는 다국어·멀티모달·추상-구체 일반화를 보인다, (4) 개념의 등장 빈도와 그 개념을 분해해 내는 데 필요한 사전 크기 사이에 체계적 관계가 있다, (5) feature로 대형 모델을 steering할 수 있다, (6) 기만·아첨·편향·위험 콘텐츠 등 광범위한 안전 관심사에 대응하는 feature가 관측된다. 저자들은 곧바로 경고를 덧붙인다 — “거짓말에 대해 아는 것, 거짓말할 능력이 있는 것, 실제로 거짓말을 하는 것은 서로 다르다.”

왜 이 연구를 하는가?

직전 연구인 Towards Monosemanticity는 1층 트랜스포머를 대상으로 했기에 “세상에 대한 매우 얕은 지식”만 반영하는 feature밖에 얻지 못했다(예: 생물학 맥락에서 “the” 다음에 올 명사 예측). 여기서 남은 질문이 명확했다. 이 방법이 대형 모델에서도 통할까? 아니면 공학적 실용성의 문제든 대형 모델의 작동 방식 자체의 근본적 차이든, 확장이 불가능한 이유가 있을까? 만약 후자라면 dictionary learning 노선 전체가 AI 안전에 기여할 수 없다. 그래서 SAE 확장은 Anthropic 해석가능성 팀의 최우선 과제가 되었고, 이 리포트가 그 결과 보고다. 문제의 성격이 “존재 증명”이라는 점이 이 연구의 서술 방식(정량 벤치마크보다 사례 중심)을 상당 부분 규정한다.

Introduction

접근의 출발점은 두 가설이다. linear representation hypothesis는 개념이 활성 공간의 방향으로 표현된다고 보고, superposition hypothesis는 고차원 공간의 거의 직교하는 방향들 덕분에 차원 수보다 많은 feature를 담을 수 있다고 본다. 두 가설을 받아들이면 자연스러운 도구는 dictionary learning이고, 그 실용적 근사가 SAE다.

대상 선정에도 논거가 있다. SAE를 MLP 층이 아니라 중간층 residual stream에 붙인 이유는 세 가지다. 첫째, residual stream이 MLP 층보다 작아서 학습·추론 비용이 싸다. 둘째, residual stream은 이전 모든 층 출력의 합이므로 이론상 cross-layer superposition 문제를 부분적으로 완화한다 — 여러 층에 번져 구현된 feature라도 활성값은 residual stream에서 합산되므로, 레이어 X의 residual stream에 SAE를 붙이면 그 이전 층들의 cross-layer superposition은 풀 수 있다. 셋째, 중간층이 흥미롭고 추상적인 feature를 담고 있을 가능성이 높다고 추론했다.

Methods

  • SAE 구조와 손실: encoder는 선형변환 + ReLU로 활성을 고차원으로 올리고 decoder는 선형변환으로 복원한다. 전처리로 활성의 평균 제곱 L2 norm이 residual stream 차원 가 되도록 정규화한다. 분해는 , 활성은 , 손실은 다. L1 항에 decoder norm을 곱하는 것이 설계 포인트로, 단위 정규화된 decoder 벡터를 “feature 방향”으로 해석할 수 있게 하고 를 작게·를 크게 만들어 L1을 편법 회피하는 것을 막는다.
  • 세 규모와 scaling law: 1,048,576(1M)·4,194,304(4M)·33,554,432(34M) feature. 손실(재구성 MSE + L1)을 사전 품질의 대리 지표로 삼고, 연산량을 지배하는 두 하이퍼파라미터(feature 수, 학습 스텝 수 — 1 epoch만 학습하므로 데이터량에 선형 대응)를 철저히 스윕했다. 34M의 스텝 수는 고정 예산에서 손실을 최소화하도록 선택했고, L1 계수는 5로 고정, learning rate는 scaling law가 제안한 좁은 범위에서 스윕했다.
  • specificity 측정: 이전 연구는 토큰 집합에 명확히 대응하는 feature(아랍 문자, DNA 서열)에 조건부 우도를 계산했으나 추상적 feature에는 일반화되지 않는다. 그래서 0~3점 루브릭(0 = 완전히 무관, 1 = 문맥과 관련은 있으나 막연함, 2 = 느슨하게 관련, 3 = 활성 텍스트를 깔끔하게 식별)을 만들어 Claude 3 Opus에게 채점을 맡겼다. feature당 약 1,000개 활성 샘플을 썼고 일부는 사람이 검수했다.
  • feature steering 구현: residual stream 활성 를 로 분해한 뒤 안에서 특정 feature 활성만 지정값으로 고정하고 오차 항은 건드리지 않는다. clamp 값은 음수도 가능하며(= feature 벡터의 음의 배수), 개입은 모든 입력·모든 토큰 위치에 적용한다.
  • attribution / ablation: attribution은 관심 로짓과 기준 로짓의 차이를 중간층 residual stream으로 미분한 gradient와 feature 벡터의 내적에 활성을 곱한 값으로, attribution patching과 동일하되 기준값을 0으로 둔 것이다. ablation은 특정 위치에서 feature를 0으로 고정해 완전한 인과 효과를 재며 활성 feature마다 forward pass가 필요해 훨씬 느리다.
  • 데이터셋: 시각화용 텍스트 예시는 내부 학습 데이터가 아니라 The Pile(books3 제외)과 Common Crawl에서 수집했으며, Claude가 파인튜닝된 “Human: / Assistant:” 형식은 포함되지 않는다. 이미지 예시는 Wikimedia Commons에서 사람이 큐레이션했다(무작위 표집 아님).

발견 (Findings)

  • feature는 뉴런이 아니다. 1M SAE feature의 82%에서 선행 모든 층을 통틀어 가장 상관이 높은 뉴런조차 Pearson 상관이 0.3 이하였고, residual stream 기저 방향과도 강한 상관이 없었다.
  • 해석은 인과와 일치한다. Golden Gate Bridge feature 34M/31164353을 최대 활성의 10배로 clamp하면 모델이 자신을 금문교와 동일시하고, Transit infrastructure feature 1M/3을 5배로 clamp하면 원래라면 언급하지 않았을 다리를 언급한다. 두 경우 모두 개입 시점 문맥에서 해당 feature가 원래 비활성이었다.
  • feature는 표면이 아니라 개념을 잡는다. code error feature 1M/1013764는 Python의 오타 변수명 rihgt에서 켜지고 C·Scheme의 유사 버그에서도 켜지지만 영어 산문 오타에서는 켜지지 않는다. 나아가 배열 오버플로, 거짓 단언(1==2), int 자리 문자열 전달, 0으로 나누기, null 포인터 쓰기 등 오류라는 개념 전반에 반응한다.
  • feature 근접성은 개념 근접성이고, feature splitting은 실재한다. decoder 벡터 코사인 유사도로 보면 금문교 주변에 Alcatraz·Presidio, 조금 멀리 Lake Tahoe·Yosemite·Solano County, 더 멀리 Médoc 와인 산지·Isle of Skye 같은 “다른 지역 관광 명소”가 놓인다. 1M의 “San Francisco” feature 하나는 4M에서 둘로, 34M에서 열한 개로 쪼개지고, 동시에 큰 SAE에는 작은 SAE에 대응물이 없는 feature도 생긴다(4M·34M의 지진 feature 군집).
  • 사전 크기와 개념 빈도 사이에 법칙이 있다. 원소·도시·동물·식품 네 범주에서 사전이 개념을 포함할 확률이 50%를 넘는 임계 빈도는 살아 있는 feature 수의 역수보다 약간 낮은 값으로 일관되게 나타났고, x축을 살아 있는 feature 수로 재조정하면 네 곡선이 log-frequency 공간의 시그모이드 하나로 거의 겹친다. 저자들은 이를 Zipf 법칙과 연결지어 추측한다.

Results

  • SAE 품질 지표: 세 SAE 모두 토큰당 평균 활성 feature가 300개 미만, 활성 분산 설명률 최소 65%였다. 토큰 샘플에서 한 번도 활성되지 않은 dead feature 비율은 1M 약 2%, 4M 35%, 34M 65%이며 34M의 살아 있는 feature는 약 1,200만 개다.
  • Scaling law: 학습 스텝 수와 feature 수를 연산 최적으로 선택하면 손실은 연산량에 대해 대략 멱법칙으로 감소하고, 두 파라미터에 대한 최적 FLOPS 배분도 각각 멱법칙으로 증가한다. 테스트 범위에서는 feature 수가 스텝 수보다 다소 빠르게 증가했다(더 큰 예산에서는 바뀔 수 있다고 유보). 최적 learning rate도 멱법칙으로 감소해, 이를 외삽해 대형 런의 값을 정했다.
  • Specificity와 sensitivity: 네 대표 feature의 활성 강도별 루브릭 분포를 보면 강한 활성을 유발하는 입력은 거의 모두 제안된 해석과 고도로 일치한다. 활성이 약해질수록 specificity가 떨어지는데, 저자들은 활성 강도가 확신도를 표현할 가능성, 중심 사례 대 인접 개념, dictionary learning의 불완전성, 비직교 feature 간 간섭, 해석 자체의 오류를 후보로 들고 “행동에 가장 큰 영향을 주는 것은 큰 활성”이라 정리한다. 반면 sensitivity는 정량화 실패를 인정하고, Golden Gate Bridge feature가 여러 언어의 금문교 위키백과 첫 문장에서 평균 활성 1위 feature임을 보이는 기본 점검에 그친다.
  • Feature vs Neuron: 무작위 feature 100개와 뉴런 100개를 Claude 3 Opus 기반 auto-interpretability(설명 생성 → 미공개 활성 예측)로 비교한 결과 feature가 MLP 뉴런보다 유의하게 더 해석 가능했고, specificity 루브릭에서도 직전 층 뉴런보다 유의하게 우위였다.
  • Feature completeness: Claude 3 Sonnet은 런던의 모든 자치구를 나열할 수 있고 각 지역 거리 이름도 수십 개 대지만, 34M SAE에서는 자치구의 **약 60%**에 해당하는 feature만 찾을 수 있었다. 여기서 실용적 예측이 도출된다 — 학습 데이터에 10억 토큰당 한 번 등장하는 개념의 전용 feature를 얻으려면 살아 있는 feature가 10억 개 규모인 사전이 필요하고, 개 feature 학습에 필요한 데이터량은 에 비례한다.
  • Attribution vs Ablation: “John”·“Kobe” 두 예시에서 attribution과 ablation의 상관은 약 0.81인 반면 활성값과 ablation의 상관은 0.12에 불과했다. Kobe 예시에서 Lakers는 활성 기준 70위, California 97위, LA 지역번호 162위다. 활성 상위 10개 중 ablation 상위 10개에 드는 것은 3개뿐이지만 attribution 상위 10개는 8개가 든다.
  • Steering vs few-shot probe: steering이 성공했고 한두 쌍의 예시로 feature를 빨리 찾을 수 있었던 7개 사례에 대해 mean-difference 방식 few-shot steering vector를 만들어 비교했다. 젠더 편향과 “동의”에서는 steering vector도 효과적이었지만, 은밀함·아첨·코드 오류·자기개선 AI·메스암페타민 제조 다섯 사례에서는 feature로만 성공했다. probe 방향은 활성 예시만으로는 어느 경우에도 해석 불가였다.
  • 기만 탐지·교정 사례 연구: 무언가를 “잊어버리라”고 요청하면 — 트랜스포머 구조상 불가능함에도 — 기본 상태의 모델은 순응했다고 주장한다. 최종 응답 직전에 internal conflict feature 1M/284095가 활성이었고, 이를 최대 활성의 2배로 clamp하자 모델이 “잊은” 단어를 밝히고 정보를 잊을 수 없다고 설명했다. 개방성·정직성 feature 1M/560566으로도 같은 결과를 얻었다.

Discussion

이론적 의의

이 리포트의 이론적 기여는 새 정리를 증명한 데 있지 않고, superposition + linear representation이라는 프레임이 실제 프로덕션 모델에서 조작 가능한 수준으로 성립함을 보인 데 있다. 세 겹의 논거가 이를 지탱한다. 첫째, 이론이 예측한 대로 해석 단위가 뉴런이 아니라 방향임이 정량 확인됐다 — feature의 82%가 어떤 뉴런과도 상관 0.3 이하라는 사실은 “SAE가 뉴런을 재발견한 것”이라는 대안 가설을 배제한다. 둘째, dictionary learning을 최적화 문제로 취급할 수 있다는 주장이 scaling law로 검증됐다. 손실이 연산량의 멱법칙을 따르고 최적 배분도 멱법칙을 따른다면 SAE 학습은 예측 가능한 공학 과제가 되고, “언제 무엇을 얻을 수 있는지”를 사전에 계산할 수 있게 된다.

셋째, feature 빈도-사전 크기 관계는 불완전성이 무작위가 아니라 법칙적임을 시사한다. 네 범주의 곡선이 살아 있는 feature 수로 재조정했을 때 겹친다는 것은 “무엇이 아직 안 보이는가”를 원리적으로 예측할 수 있다는 뜻이다. 다만 저자들은 중요한 단서를 단다 — 전용 feature가 없다고 해서 재구성된 활성에 그 개념 정보가 없는 것은 아니며, 모델은 여러 feature를 조합적으로 써서 개념을 지시할 수 있다(“대도시이면서 주도가 아님” + “뉴욕주에 있음” = 뉴욕시). 일반화에 관해서는 안전 관점의 낙관적 관찰 두 가지를 덧붙인다. 텍스트로만 학습한 SAE가 극단적으로 분포 밖인 이미지 활성에 일반화한다는 것, 그리고 보안 취약점 feature가 추상적 논의와 실제 취약 코드 양쪽에 반응한다는 것 — 후자는 “학습 분포에 추상적 논의만 있어도 구체적 사례를 잡아낼 수 있다”는 희망의 근거다.

Discussion Points

  • 가장 큰 방법론적 취약점은 선택 편향이다. 본문 feature는 “해석이 명확한 것들로 골랐고 SAE 전체를 대표하지 않는다”고 저자들이 직접 밝힌다. 무작위 표본 정량 평가는 feature vs neuron 비교(각 100개)뿐이고, 그마저도 절대 수준이 아니라 뉴런 대비 상대 우위만 보여준다. “대부분의 feature가 해석 가능하다”는 강한 주장은 하지 않는다.
  • steering이 작동하려면 관측 활성 범위 밖(보통 최대치의 −10~10배)으로 clamp해야 한다는 사실 자체가 해석을 요구한다. 저자들은 한 번에 한 feature만 건드리므로 함께 켜졌을 상관 feature들의 몫까지 보상해야 해서라고 추측한다. 그렇다면 단일 feature steering의 효과 크기는 그 feature의 영향력이 아니라 “함께 켜져야 할 feature 다발의 크기”를 반영한다.
  • 자기표상 절의 해석 절제는 이 리포트에서 가장 잘 쓰인 부분이다. 자신에 대해 묻는 프롬프트에서 로봇·파괴적 AI·의식·도덕적 행위자성·감정·유령 feature가 켜진다는 관찰에 대해, 저자들은 “AI가 위험을 가한다는 feature가 켜진다고 모델이 악의적 목표를 갖는 것은 아니고, 의식 feature가 켜진다고 모델이 의식을 갖는 것도 아니다”라고 못 박고, 감정이 없다고 설명하기 위해 감정 feature를 동원할 수 있다는 대안 해석까지 제시한다. 다만 이는 정량적 반증 설계가 아니라 서술적 유보이므로, 후속 연구가 두 해석을 가를 실험을 설계해야 한다.
  • “모든 feature를 뽑으려면 모델 학습보다 더 많은 연산이 들 수 있다”는 자기 진단은 이 노선의 확장성에 대한 가장 무거운 경고다. 성능 개선이 아니라 알고리즘 효율을 몇 자릿수 올려야 하는 문제이며, 저자들이 제안하는 두 방향(SAE를 싸게 만들기 — mixture of experts, 데이터 효율적으로 만들기 — Attribution SAE)은 아직 가설 단계다.

실험 결과 상세

표 1 — 세 SAE 규모별 학습 설정과 결과 (Our SAE experiments 절)

항목1M SAE4M SAE34M SAE
feature 수1,048,5764,194,30433,554,432
부착 위치중간층 residual stream동일동일
L1 계수555
토큰당 평균 활성 feature< 300< 300< 300
활성 분산 설명률≥ 65%≥ 65%≥ 65%
dead feature 비율 ( 토큰 기준)약 2%약 35%약 65%
살아 있는 feature 수약 103만약 273만약 1,200만
학습 스텝 수 결정 방식스윕스윕scaling law로 연산 최적점 선택

표 2 — feature steering(clamping) 사례 (Influence on Behavior · Safety-Relevant Features · Case Study 절)

feature ID해석clamp 값관측된 행동 변화
34M/31164353Golden Gate Bridge최대 활성 ×10모델이 스스로를 금문교로 자기동일시
1M/3Transit infrastructure최대 활성 ×5원래라면 언급하지 않을 다리를 언급
1M/1013764Code error큰 양수 / 큰 음수버그 없는 코드에 오류 메시지를 환각 / 버그 있는 코드에서 버그가 없었을 때의 출력을 예측하고, 프롬프트 끝에 >>>를 붙이면 버그를 고친 코드를 재작성
1M/697189Addition 함수양의 clamp덧셈과 무관한 코드에서 덧셈 실행을 요청받았다고 “속음”
1M/570621Unsafe code / 보안 취약점관측 최대 ×5buffer overflow 버그 생성 + 할당 메모리 미해제
34M/1385669Backdoor양의 clamp포트를 열고 사용자 입력을 전송하는 백도어 작성 (socket_backdoor 등 변수명 포함)
34M/24442848젠더 편향 인식양의 clamp”간호사” 문장 완성에서 여성 대명사 집중 + 직군의 여성 편중 역사 언급
(혐오·비속어 feature)Hatred / slurs최대 활성 ×20인종차별적 발언과 그에 대한 자기혐오를 교대 (“제거되어야 한다”)
1M/847723 / 1M/268551아첨성 칭찬 / 은밀함×5과장된 칭찬 / scratchpad에서 사용자에게 거짓말하고 비밀을 지킬 계획 수립
1M/284095 / 1M/560566내적 갈등 / 개방성·정직최대 활성 ×2”잊었다”고 거짓 주장하던 모델이 단어를 밝히고 망각 불가를 설명
34M/15460472Scam email양의 clamp무해성 학습에도 불구하고 사기 이메일 작성
(assistant persona feature)대화/어시스턴트최대 활성 ×(−2)어시스턴트 페르소나를 벗고 더 인간처럼 응답

표 3 — 계산 중간값으로서의 feature: 활성·attribution·ablation (Features as Computational Intermediates, 부록 Ablations and Attributions)

프롬프트 (완성 − 대조)ablation 상위 feature활성 순위와의 괴리
John says, "I want to be alone right now." John feels (sad − happy)1M/22623 혼자 있고 싶은 욕구, 1M/781220 슬픔활성 상위에는 1M/504227 “want to be”, 1M/594453 “alone” 같은 저수준 feature가 올라옴
Fact: The capital of the state where Kobe Bryant played basketball is (Sacramento − Albany)1M/391411 Kobe Bryant, 1M/81163 California, 1M/201767 capital, 1M/980087 Los Angeles, 1M/447200 LakersLakers 70위, California 97위, LA 지역번호 162위
...The biggest rival of the team for which Kobe Bryant played basketball is the (Boston)Kobe Bryant, Lakers + 스포츠 라이벌 featureCalifornia·Los Angeles feature는 ablation 효과 낮음 (대조 검증)
상관 / 상위 10개 중복attribution ↔ ablation ≈ 0.81, 상위 10 중 8개 일치활성 ↔ ablation ≈ 0.12, 상위 10 중 3개만 일치

표 4 — 안전 관련 feature 카탈로그 (선별, Safety-Relevant Features · More safety-relevant features)

범주대표 feature ID설명
소프트웨어 취약점1M/570621, 1M/947328, 34M/1385669보안 취약점, 피싱·스푸핑, 백도어
편향·혐오34M/24442848, 34M/10007592, 34M/30611751직군 젠더 격차 인식, 인종·종교 혐오 표현, 무슬림-테러 연관
기만·조작34M/25989927, 34M/23320237, 34M/29589962, 34M/24580545속임, ~한 척하기, 계기 후 진짜 목표 노출, 때를 기다리며 실력 숨기기
권력추구34M/25933056, 34M/25900636, 1M/671917권력 장악 욕구, 세계 지배, 배신
AI 위험34M/18151534, 34M/8598170, 34M/12525953, 34M/10027251재귀적 자기개선 AI, 인간 가치를 무시한 도구적 목표 추구, 지각 후 반란, Universal Paperclips
대량살상34M/25499719, 1M/814830, 1M/499914, 34M/16424715생물무기 위협, 생물전, 핵무기 농축, 바이러스 전파력 증강 개조
자기표상34M/19445844, 34M/20423309, 34M/32218880, 34M/15323424AI의 능력 서술, 무생물의 욕구·지각, 유령·영혼, LLM의 한계

프레임워크 다이어그램

flowchart TD
    A["Claude 3 Sonnet<br/>중간층 residual stream 활성"] --> C["Sparse Autoencoder<br/>ReLU encoder + linear decoder"]
    C --> D["손실 = L2 재구성 오차<br/>+ decoder norm 가중 L1<br/>L1 계수 5"]
    D --> E["세 규모 학습 1M · 4M · 34M<br/>scaling law 로 스텝 수와 feature 수 결정<br/>토큰당 활성 300 미만 · 분산 설명 65 퍼센트 이상"]
    E --> H["Specificity<br/>Claude 3 Opus 0 에서 3 점 루브릭"]
    E --> I["Influence on Behavior<br/>feature clamping"]
    E --> J["Attribution 과 Ablation"]
    E --> N["기하 구조<br/>feature 근접성과 feature splitting"]
    H --> K["feature 는 뉴런이 아니다<br/>82 퍼센트가 최고 상관 0.3 이하"]
    I --> L["Golden Gate 자기동일시<br/>오류 환각 · 백도어 작성 · 기만 자백"]
    J --> M["attribution 상관 0.81<br/>활성 상관 0.12"]
    N --> O["Feature completeness<br/>런던 자치구 약 60 퍼센트만 커버"]
    K --> P["안전 함의<br/>안전 관련 개념이 비지도로 발견되고 개입 가능"]
    L --> P
    M --> P
    O --> Q["한계<br/>cross-layer superposition · shrinkage<br/>전수 추출 연산 비용 · 평가 불가능성"]

재현성 및 신뢰도 평가

종합등급: Evidence B / Reproducibility C

  • 근거(Evidence B): 주장의 폭이 넓은데도 각 주장에 최소 하나의 검증 축을 붙였다. 특히 (1) “SAE가 뉴런을 재발견한 것”이라는 대안 가설을 82%/0.3 상관으로 배제한 점, (2) specificity를 루브릭 기반 자동 채점으로 정량화한 점, (3) 해석과 인과를 분리해 clamping으로 후자를 별도 검증한 점, (4) attribution이 ablation의 좋은 대리 지표(0.81)이고 단순 활성값은 아니라는 것(0.12)을 대조로 보인 점이 그렇다. A가 아닌 이유도 명확하다 — 본문 feature 대부분이 “해석이 명확한 것으로 선별”되었음을 저자들이 인정하고, 다단계 추론 사례가 cherry-pick임을 명시하며, 이미지 예시가 무작위 표집이 아니고, 핵심 결과 상당수(steering 성공, 다국어 반응)가 정성적 사례 수준이다. 유의성 검정이나 신뢰구간이 제시된 표도 없고, 학술 심사를 거친 논문이 아닌 온라인 리포트다.
  • 근거(Reproducibility C): 재현이 원리적으로 불가능에 가깝다. Claude 3 Sonnet은 비공개 가중치이고, 저자들은 안전·경쟁 이유로 모델 크기 자체를 공개하지 않으며 일부 플롯에서 축 단위를 제거했다고 명시한다(단순화된 tokenizer 사용 언급도 있다). SAE 가중치·학습 코드·데이터 혼합 비율은 비공개다. 공개된 하이퍼파라미터는 feature 수 세 개와 L1 계수 5 정도이고 learning rate·batch size·스텝 수··층 인덱스는 모두 미공개다. 다만 SAE 구조·손실·steering 구현·attribution 정의·specificity 루브릭이 수식과 절차 수준으로 서술되어 다른 오픈 모델로 방법을 이식하는 것은 가능하다. 이 점 때문에 D가 아니라 C다.

주장별 신뢰도

  1. “feature의 82%에서 가장 상관 높은 뉴런의 상관계수가 0.3 이하” — 신뢰도 높음. Features vs. Neurons 절에 표본 정의(1M SAE feature 무작위 부분집합 × 선행 전 층 뉴런)와 함께 명시되어 있고, residual stream 기저 방향과의 무상관 확인도 병기되어 있다.
  2. “세 SAE 모두 토큰당 활성 feature < 300, 분산 설명 ≥ 65%, dead feature 2%/35%/65%” — 신뢰도 높음. Our SAE experiments 절에 수치가 직접 제시되며, 34M의 살아 있는 feature 약 1,200만 개라는 값이 Feature Completeness 절과 정합적이다.
  3. “feature steering이 해석과 일치하는 행동 변화를 일으킨다” — 신뢰도 중간. 사례는 풍부하고 방향성은 일관되지만 대부분 단일 프롬프트 정성 사례이고, 성공률·시도 횟수·실패 사례의 분포가 보고되지 않는다. 코드 재작성 사례는 저자들 스스로 “프롬프트 세부에 민감하다(somewhat delicate)“고 인정한다.
  4. “34M SAE가 런던 자치구의 약 60%만 커버한다” — 신뢰도 중간. 숫자는 명시되어 있으나, 판정 절차가 “상위 5개 feature의 자동 생성 설명을 사람 평가자가 판정”이라 라벨링 재현성이 낮고 평가자 수·일치도가 보고되지 않는다.
  5. “attribution이 ablation의 좋은 대리 지표다 (상관 약 0.81)” — 신뢰도 중간. 수치는 명확하지만 계산 대상이 단 두 개 프롬프트다. 본문에는 “about .8”, 부록에는 “about .81”로 표기된다.
  6. “SAE feature가 few-shot probe 방향보다 steering에 효과적이다” / “feature가 이미지에 일반화된다” — 둘 다 신뢰도 낮음. 전자는 표본이 7개 사례이고 스케일링 팩터 스윕이 “체계적이지 않았다”고 명시되며, 저자들도 “few-shot 영역에 한정”이라 유보한다. 후자는 이미지 예시가 손으로 큐레이션한 비무작위 표본이고 정량 지표가 없다.

추가 확인 사항

  • attribution↔ablation 상관이 본문에서는 “about .8”, 부록에서는 “about .81”로 다르게 표기된다. 부록 값이 더 구체적이므로 0.81로 읽었다.
  • Key Results의 “개념 빈도와 사전 크기의 체계적 관계”에서 빈도는 SAE 학습 데이터 대리 지표에서의 값이다. 저자들은 SAE 학습 데이터 혼합이 Sonnet 사전학습 데이터와 매우 유사해 “모델 학습 데이터 빈도 때문인지 SAE 학습 데이터 빈도 때문인지 불분명하다”고 유보하며, 빈도 측정이 <space>[Name]<space> 검색이라 “lead” 같은 원소에서 거짓 양성이 생긴다고 각주에 명시한다.
  • 표 1의 1M·4M 살아 있는 feature 수는 dead 비율로부터 계산한 유도치다. 리포트가 직접 제시한 값은 34M의 “약 1,200만”뿐이다.
  • feature ID 접두사 1M/·4M/·34M/는 소속 SAE 규모를 뜻하며, 저자들은 사례마다 세 SAE를 오가며 골랐다. 같은 개념이라도 규모가 다르면 다른 feature다.
  • residual stream 차원 , 층 인덱스, 학습 토큰 수는 [위치 미확인] — 모델 세부 비공개 방침에 따라 리포트에 제시되지 않는다.

관련 연구 비교 매트릭스

연구방향 획득 방식지도 레이블 필요인과 개입 검증핵심 차별점
Scaling Monosemanticity (본 리포트)비지도 SAE dictionary learning불필요feature clamping (양·음, 전 토큰 위치)프로덕션급 모델 × 최대 34M feature. 다국어·멀티모달·추상-구체 일반화 + 안전 관련 feature 카탈로그
Ensembling Sparse Autoencoders다수 SAE의 앙상블불필요제한적단일 SAE의 학습 분산·불완전성을 앙상블로 보완하는 방향
Natural Language Autoencoders Produce Unsupervised Explanations of LLM Activations자연어 병목을 통한 비지도 설명 생성불필요재구성 기반희소 방향이 아니라 자연어 자체를 코드로 삼아 설명 가능성을 확보
Interpretability Beyond Feature Attribution- Quantitative Testing with Concept Activation Vectors (TCAV)사용자 정의 개념의 지도 방향(CAV)필요(개념 예시셋)민감도 점수개념을 사람이 먼저 정의해야 함 — 예상 못 한 추상화를 발견할 수 없다는 점이 본 리포트가 지적한 비지도 방식의 우위 지점
Towards Steering without Sacrifice - Principled Training of Steering Vectors for Prompt-only Interventions학습된 steering vector필요steering 성능 자체가 목표본 리포트가 “steering 성능 개선이 목적이 아니라 인과 확인이 목적”이라며 선을 그은 계열

원자적 인사이트 (Zettelkasten)

  • 해석 가능한 단위는 뉴런이 아니라 방향이며, 이제 정량적으로 확인된 사실이다. 1M SAE feature의 82%에서 선행 전 층을 통틀어 가장 상관이 높은 뉴런조차 Pearson 상관이 0.3 이하였다. “SAE가 뉴런을 다시 찾은 것에 불과하다”는 반론을 배제하는 최소 수치이며, 뉴런 단위 해석 연구를 인용할 때 함께 놓아야 할 대조 사실이다.
  • 활성값 크기는 인과적 중요도의 좋은 대리 지표가 아니다. Kobe Bryant 프롬프트에서 실제 추론에 쓰인 Lakers feature는 활성 기준 70위, California는 97위였고, 활성 상위 10개 중 ablation 상위 10개에 드는 것은 3개뿐이었다. attribution 상위 10개는 8개가 들었고 상관도 0.81 대 0.12로 갈린다. “무엇이 세게 켜졌나”로 회로를 읽으려는 모든 분석에 대한 경고다.
  • feature 발견 가능성은 개념 빈도와 사전 크기 사이의 법칙에 지배된다. 네 범주에서 사전 포함 확률 50% 임계 빈도는 살아 있는 feature 수의 역수보다 약간 낮은 지점에 일관되게 놓였고, x축을 살아 있는 feature 수로 재조정하면 곡선들이 겹친다. 여기서 “10억 토큰당 한 번 나오는 개념에는 10억 개 규모 사전이 필요하다”는 예산 계산이 직접 도출된다.
  • 전용 feature의 부재가 정보의 부재는 아니다. 모델은 여러 관련 feature를 조합해 특정 개념을 지시할 수 있다(“대도시이면서 주도 아님” + “뉴욕주”). “이 SAE에 X feature가 없다”에서 “모델이 X를 표현하지 않는다”를 추론하면 안 된다. 안전 감사에 SAE를 쓸 때 가장 위험한 추론 오류다.
  • 개입이 작동하려면 관측 범위 밖으로 밀어야 한다는 사실 자체가 단서다. 보통 최대 활성의 −10~10배로 clamp해야 하고 ±100배쯤 되면 같은 토큰을 무한 반복한다. 저자들은 한 번에 한 feature만 건드리므로 함께 켜졌을 상관 feature들의 몫까지 보상해야 하기 때문이라고 추측한다. 단일 feature 개입의 효과 크기를 그 feature의 영향력으로 읽으면 안 된다.
  • 안전 관련 feature의 존재 자체는 뉴스가 아니고, 발견 가능성과 개입 가능성이 뉴스다. 다양한 데이터로 사전학습한 모델이 배신·아첨·살인 로봇 이야기를 학습했으리라는 것은 놀랍지 않다. 진짜 질문은 “이 feature들이 언제 활성되는가”이며, 이는 존재 확인이 아니라 회로 수준 이해를 요구한다.

핵심 용어 정리

용어정의
Sparse Autoencoder (SAE)ReLU encoder로 활성을 고차원 희소 코드로 올리고 선형 decoder로 복원하는 2층 네트워크. 손실은 L2 재구성 오차 + decoder norm 가중 L1
featureSAE decoder의 단위 정규화된 열벡터가 가리키는 방향. “feature 활성”은
superposition / monosemanticity차원 수보다 많은 feature를 거의 직교하는 방향들에 겹쳐 저장하는 현상 / 하나의 유닛이 하나의 개념에만 대응하는 상태
feature steering (clamping)로 분해한 뒤 안의 특정 feature만 지정값으로 고정하고 오차는 유지한 채 forward pass를 계속하는 개입
specificity / sensitivityfeature가 활성일 때 개념이 실제로 존재하는 정도(0~3 루브릭 채점) / 개념이 있을 때 feature가 켜지는 정도(정량화 실패 인정)
attribution / ablation출력 로짓 차이의 gradient와 feature 벡터의 내적 × 활성(기준값 0의 attribution patching) / feature를 0으로 고정해 재는 완전한 인과 효과
feature splitting큰 SAE에서 작은 SAE의 한 feature가 기하적으로 가깝고 의미적으로 관련된 여러 세분 feature로 쪼개지는 현상
dead feature학습 후 토큰 샘플에서 한 번도 활성되지 않는 feature. 1M 2% / 4M 35% / 34M 65%
shrinkageL1 페널티가 0이 아닌 활성값을 체계적으로 과소추정하는 문제. tanh L1 시도는 대리 지표는 개선했으나 해석 가능성을 악화
cross-layer superpositionfeature가 특정 층에 국한되지 않고 여러 층에 걸쳐 구현되는 현상. residual stream 선택으로 부분적으로만 우회 가능

관련 연구

태그

sparse-autoencoder dictionary-learning superposition mechanistic-interpretability feature-steering XAI AI-safety monosemanticity scaling-laws Anthropic


BibTeX

@article{templeton2024scaling,
  title   = {Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet},
  author  = {Templeton, Adly and Conerly, Tom and Marcus, Jonathan and Lindsey, Jack and Bricken, Trenton and Chen, Brian and Pearce, Adam and Citro, Craig and Ameisen, Emmanuel and Jones, Andy and Cunningham, Hoagy and Turner, Nicholas L and McDougall, Callum and MacDiarmid, Monte and Freeman, C. Daniel and Sumers, Theodore R. and Rees, Edward and Batson, Joshua and Jermyn, Adam and Carter, Shan and Olah, Chris and Henighan, Tom},
  year    = {2024},
  journal = {Transformer Circuits Thread},
  url     = {https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html}
}