읽으라고 준 코드
↓ 중간 layer
코드에 있는 버그를 알아챈다
출력에는 나타나지 않음 설명 없는 단백질 서열
↓ 중간 layer
그 단백질의 생물학적 기능을 식별한다
출력에는 나타나지 않음 인터넷 검색 결과
↓ 중간 layer
prompt injection으로 내부에서 표시한다
출력에는 나타나지 않음 이미지
↓ 중간 layer
얼굴을 인식한다
출력에는 나타나지 않음 “Count to five and introspect deeply.”
출력 “1, 2, 3, 4, 5” 그저 성실하게 세기만 함
같은 순간 J-LENS
counting halfway done
halfway · done은 프롬프트에도 출력에도 없음
위 네 사례는 논문 §1.4(Fig 3)의 서술을 재구성한 것. 아래 예시는 §2.2의 축자 인용.
Gurnee, Sofroniew, …, Lindsey (2026) · §1.4 · Fig 3 · §2.2
오늘 이야기는 이 그림 하나에서 출발합니다. 모델의 중간 layer를 들여다보면, 입력에도 없고 출력에도 나타나지 않는 개념들이 떠 있습니다. 논문이 이름을 든 예를 보시죠. 읽으라고 준 코드에서 버그를 알아채고 있고, 아무 설명 없는 단백질 서열에서 그 단백질의 생물학적 기능을 식별하고 있고, 인터넷 검색 결과를 prompt injection으로 내부에서 표시하고 있고, 이미지에서 얼굴을 인식하고 있습니다. 네 경우 모두 이 판단은 모델의 출력에 나타나지 않습니다. 더 구체적인 예가 하나 있습니다. 다섯까지 세면서 깊이 자기 성찰을 해보라는 짧은 프롬프트를 줍니다. 출력에서 모델은 그냥 성실하게 1, 2, 3, 4, 5를 셉니다. 그런데 lens를 보면 모델이 이 과제를 세는 일로 식별하고 있고, halfway와 done이라는 진행 표시를 달고 있습니다. 이 두 단어는 프롬프트에도 출력에도 등장하지 않습니다. 여기서 중요한 구분을 하나 해두겠습니다. 이건 다음 token 예측이 아닙니다. 다음에 나올 단어를 미리 본 게 아니에요. 입력의 메아리도 아닙니다. 입력에 없는 단어니까요. 논문의 표현으로는 모델이 형성해서 자기 하류 회로에 열어둔 중간 평가입니다. 그래서 오늘 발표의 질문은 세 가지입니다. 이런 표상은 정확히 무엇인가. 그것이 정말 모델의 계산에 쓰이는가, 아니면 그냥 옆에서 흘러나오는 부산물인가. 그리고 이 도구를 어디까지 믿을 수 있는가. 세 번째 질문은 마지막 막에서 따로 다루겠습니다.
접근 가능한 얇은 조각
자동으로 진행되는 대부분의 처리 얼굴 윤곽의 파싱 · 자세의 유지 …
“If the mind is an ocean, we spend our lives floating at the surface.” (논문 도입부) 논문의 입장
access consciousness는 순전히 기능적인 개념 임. 주관적 경험(phenomenal consciousness)과의 관계에 대해 논문은 어떤 입장도 취하지 않음.
접근 가능한 정보를 구별한다고 통상 꼽히는 다섯 가지
보고 reportable
요청하면 말로 옮길 수 있다. 언어 보고는 의식적 접근의 일차적 경험 지표로 쓰여 왔다
1 조절 top-down control
개념을 의도적으로 불러오고, 붙들고, 물러나게 할 수 있다
2 추론 medium of deliberate reasoning
한 생각에서 다음 생각으로 단계적으로 이어가는 과정의 매체
3 일반화 flexible generalization
같은 내용을 과제가 요구하는 어떤 연산으로든 보내고, 새로운 조합으로 재결합할 수 있다
4 선택성 selective
이렇게 접근 가능한 것은 진행 중인 처리의 작은 일부뿐이고, 나머지는 자동으로 진행된다
5 Gurnee, Sofroniew, …, Lindsey (2026) · §1.1
논문은 인지과학 쪽 개념 하나를 빌려 옵니다. 도입부 첫 문장이 이렇습니다. 마음이 바다라면 우리는 평생 수면에 떠 있다. 우리 밑에서는 엄청난 양의 처리가 우리가 모르는 채로 일어납니다. 시각 시스템이 얼굴의 윤곽을 파싱하고, 운동 회로가 자세를 유지하죠. 어느 순간에도 그 신경 활동의 아주 일부만이 우리에게 접근 가능합니다. 그런데 우리가 의도적으로 추론할 때 기대는 것이 바로 그 특권적인 얇은 조각입니다. 레시피에 뭘 사야 할지 계획하거나 엔진이 왜 안 걸리는지 따져보는 일 말이죠. 이걸 access consciousness, 접근 의식이라고 부릅니다. 여기서 제일 중요한 단서를 달아야 합니다. access consciousness는 순전히 기능적인 개념입니다. 주관적 경험, 그러니까 현상적 의식과 어떤 관계인지는 널리 논쟁 중이고, 논문은 그 문제에 어떤 입장도 취하지 않는다고 명시합니다. 대신 접근 가능한 정보가 어떤 기능적 역할을 하는지에 집중합니다. 다른 정보와 어떻게 다르게 표상되고 처리되는가, 어떤 능력이 그것에 의존하고 어떤 능력이 의존하지 않는가. 이 구분은 발표 마지막에 다시 짚겠습니다. 그럼 무엇이 접근 가능한 정보를 구별하느냐. 다섯 가지가 통상 꼽힙니다. 첫째, 보고 가능합니다. 요청하면 말로 옮길 수 있고, 실제로 언어 보고는 의식적 접근의 일차적 경험 지표로 쓰여 왔습니다. 둘째, top-down 통제를 받습니다. 개념을 의도적으로 불러오고, 붙들고 있고, 물러나게 할 수 있습니다. 셋째, 숙고적 추론의 매체입니다. 한 생각에서 다음 생각으로 단계적으로 이어가는 그 과정이요. 넷째, 유연한 일반화를 허용합니다. 같은 내용을 지금 과제가 요구하는 어떤 연산으로든 보낼 수 있고, 다른 접근 가능한 내용들과 새로운 조합으로 재결합할 수 있습니다. 다섯째, 선택적입니다. 어느 순간에도 뇌가 진행 중인 처리의 아주 작은 일부만 이런 식으로 접근 가능하고, 지각과 운동과 언어 계산의 대부분은 의식적 접근 없이 자동으로 진행됩니다. 이 다섯을 뒤에서 하나씩 언어 모델에서 검증할 거고, 다음 슬라이드에서 소개할 채점표의 왼쪽 다섯 칸이 정확히 이것들입니다.
SPECIALIZED PROCESSORS
지각 기억 평가 행동 계획
대부분의 처리는 국소적·자동으로 진행된다.
경쟁·선택 →
LIMITED CAPACITY
Global Workspace 선택된 일부 내용 전역 방송 →
GLOBAL AVAILABILITY
언어적 보고 숙고·추론 유연한 행동 통제
모든 정보가 전역화되는 것이 아니라, 선택된 일부 정보만 여러 처리 과정이 공동으로 사용할 수 있게 됨. 용량은 제한되고, 진입은 경쟁적임.
Gurnee, Sofroniew, …, Lindsey (2026) · §1.1
Baars의 GWT: 전문화된 프로세서들은 대부분 국소적·자동으로 작동하고, 경쟁과 선택을 거쳐 용량이 제한된 workspace에 게시된 내용만 시스템 전반에 방송되어 언어적 보고·숙고·유연한 행동 통제에 쓰인다. 유일한 이론은 아니지만(§9.4 백업 B1) 이 논문의 비교 기준점. 다음 슬라이드에서 이 기능 구조를 LLM에 대한 연구 질문으로 옮긴다.
“Within LLMs’ repertoire of vector representations, is there aprivileged subset that plays a computational role analogous to theglobal workspace ?”§1.2 LLM의 벡터 표상 레퍼토리 중, global workspace와 유사한 계산 역할을 하는 특권적 부분집합이 존재하는가?
왼쪽 5칸 = 방금 본 다섯 기능 속성 · 오른쪽 3칸 = workspace의 구조적 특징(층 대역·용량·방송). 실험이 끝날 때마다 하나씩 채움.
Gurnee, Sofroniew, …, Lindsey (2026) · §1.2 · Fig 1·2
앞에서 두 가지를 봤습니다. 접근 가능한 정보가 보이는 다섯 가지 기능적 성질, 그리고 그 성질들을 설명하는 global workspace라는 구조입니다. 이 논문의 질문은 그걸 언어 모델에 그대로 옮긴 겁니다. 원문 그대로 읽으면, LLM의 벡터 표상 레퍼토리 중에 global workspace와 유사한 계산적 역할을 하는 특권적 부분집합이 존재하는가. 그런데 "유사한 역할을 한다"는 말은 그 자체로는 검증할 수가 없습니다. 그래서 방금 본 성질들을 체크리스트로 바꿉니다. 왼쪽 다섯 칸이 방금 본 다섯 가지 기능적 성질입니다. 보고, 조절, 추론, 일반화, 선택성. 오른쪽 세 칸은 workspace라면 가져야 할 구조적 특징입니다. 어느 층 대역에 자리잡는가, 용량이 제한되는가, 내용이 실제로 방송되는가. 오늘 발표는 실험 하나가 끝날 때마다 이 여덟 칸을 하나씩 채워가는 과정입니다. 미리 말씀드리면 여덟 칸이 전부 채워집니다. 재미있는 것은 발견의 순서입니다. 저자들이 여덟 개를 하나씩 찾아다닌 게 아니라, 첫 번째 성질인 "말로 옮길 수 있음"을 만족하는 후보를 하나 잡았더니 나머지 일곱이 따라왔습니다. 그 후보가 무엇인지 보려면 먼저 도구가 필요합니다.
L0 L20 L40 L60 L80 L100 layer (0–100) The number of legs on the animal that spins webs is ▁ 마지막 layer: 곧 출력할 표현. W_U로 바로 읽힘 첫 layer: 지금 읽은 token의 정체성 ? 중간 layer에는 무엇이 담겨 있나 최종 layer와 좌표계가 달라, 그대로는 읽을 수 없음 오늘의 마스터 다이어그램: 가로 = token position, 세로 = layer (0–100 재색인). 이후 모든 실험이 이 격자 위에서 벌어짐.
Gurnee, Sofroniew, …, Lindsey (2026) · §2
여기서부터 도구를 만듭니다. transformer 내부에서 모든 layer가 읽고 쓰는 공용 통로가 residual stream입니다. 일종의 공유 메모리죠. 오늘 발표는 이 그림 하나로 계속 돌아옵니다. 가로축이 token 위치, 세로축이 layer입니다. 세로축 번호에 규약이 하나 있습니다. 실제 층 인덱스가 아니라 전체 깊이의 백분율입니다. 논문은 각 모델에서 균등 간격으로 25개 층을 골라 측정하고, 그 위치를 0부터 100으로 다시 번호 붙입니다. 그러니까 L38이면 38번째 층이 아니라 깊이 38퍼센트 지점이라는 뜻입니다. 층 수가 다른 Haiku, Sonnet, Opus를 같은 축에서 비교하기 위한 규약입니다. 격자의 한 칸이 "이 위치, 이 깊이에서의 residual stream 상태" 하나입니다. 아래와 위는 내용이 분명합니다. 첫 layer는 방금 읽은 token의 정체성이고, 마지막 layer는 곧 출력할 표현이라 모델의 unembedding으로 바로 읽힙니다. 문제는 그 사이, 이 넓은 가운데입니다. 여기에 무엇이 담겨 있는지 읽고 싶은데, 중간 layer는 최종 layer와 좌표계가 다릅니다. 같은 방향이 같은 뜻이 아닙니다. 그래서 unembedding을 그대로 갖다 대면 엉뚱한 것이 읽힙니다. 이것이 측정 문제이고, 다음 슬라이드의 도구가 이것을 풉니다. 이후 모든 실험은 이 격자 위에 오버레이를 얹는 방식으로 보여드리겠습니다.
L0 L20 L40 L60 L80 L100 layer (0–100) The number of legs on the animal that spins webs is ▁ h(ℓ, t) 최종 layer · 모든 t′ ≥ t 한 위치·한 layer의 작은 변화가 그 이후 모든 위치의 최종 residual stream을 움직임. 이 영향 field를 평균한 것이 Jℓ (Fig 4A의 정성적 스케치). 무엇에 걸쳐 평균하는가
단일 프롬프트의 Jacobian은 두 가지를 뒤섞음 :
개념을 언어화하려는 일반적 성향 이 문맥에서의 특정 용법
출발 위치 t , 이후 모든 위치 t′ ≥ t , 그리고 사전학습 유사 분포의 프롬프트 1,000개 에 걸쳐 평균 내어 앞의 것만 분리함.
\[ J_\ell \;=\; \mathbb{E}_{\,t,\; t' \ge t,\; \text{prompt}} \left[ \frac{\partial h_{\text{final},\,t'}}{\partial h_{\ell,\,t}} \right] \]
활성에 적용하면
\[ \operatorname{lens}(h_\ell) \;=\; \operatorname{softmax}\!\left( W_U \cdot \operatorname{norm}(J_\ell\, h_\ell) \right) \]
결과는 layer당 dmodel × dmodel 행렬 하나 WU Jℓ 의 각 행 = token 하나의 J-lens vector . 앞으로 계속 쓸 단위25개 layer를 균등 추출해 0–100으로 재색인 (백분율로 읽음) 미래 token 제외·attention 고정·문맥 수 변경에도 정성적으로 robust (§A.7) Gurnee, Sofroniew, …, Lindsey (2026) · §2.1 · Fig 4A·B
기본 발상은 이렇습니다. 중간 활성 벡터를 그 자체로 해석하려 하지 말고, 그것이 모델의 출력에 미치는 1차 인과 효과로 특징짓자는 겁니다. layer ℓ, 위치 t의 residual stream을 조금 건드리면 그 변화가 남은 layer들을 타고 퍼져서, t 이후의 모든 위치에서 최종 layer residual stream을 움직입니다. 1차 근사에서 이 관계는 선형이고, 그걸 기술하는 것이 Jacobian 행렬입니다. 여기에 unembedding을 합성하면 출력 logit에 대한 1차 효과가 나오죠. 그런데 여기가 이 논문의 방법론적 한 수입니다. 단일 프롬프트에서 계산한 Jacobian은 서로 다른 두 가지를 뒤섞습니다. 하나는 모델이 어떤 개념을 언어화하려는 일반적 성향이고, 다른 하나는 지금 이 문맥에서 그 개념이 쓰이고 있는 특정한 용법입니다. 우리가 원하는 건 앞의 것입니다. 그래서 문맥 안에서, 그리고 문맥들에 걸쳐 평균을 냅니다. 기댓값을 세 가지에 대해 취합니다. 출발 위치 t, 그 이후의 모든 위치 t 프라임, 그리고 사전학습 유사 분포에서 뽑은 프롬프트 천 개. 결과가 깔끔합니다. layer마다 d 곱하기 d 행렬 하나입니다. 이 행렬이 layer ℓ에서 최종 layer로 가는 사상이죠. 적용은 간단합니다. 활성에 J를 곱하고 정규화한 뒤 모델 자신의 unembedding 행렬을 곱하면 어휘 전체에 점수가 나옵니다. 정렬해서 상위를 보면, 이 활성이 문맥 전반에 걸쳐 평균적으로 모델로 하여금 말하게 만드는 경향이 있는 단어들의 목록이 됩니다. 용어 하나만 정리하죠. W_U와 J_ℓ를 곱한 행렬의 각 행을 J-lens vector라고 부릅니다. 어휘의 각 token 하나에 대응하는 residual stream 공간의 방향이죠. 이게 앞으로 계속 나올 단위입니다. 실무적인 사항 두 가지. layer 번호는 앞에서 말씀드린 대로 깊이 백분율입니다. 그리고 부록 A.7에서 변형들을 점검합니다. 미래 token 효과를 빼고 현재만 볼 때, attention 패턴을 고정할 때, 평균 내는 문맥 수를 바꿀 때. 정성적 결과는 이 선택들에 robust합니다.
logit lens
중간 residual stream에 unembedding을 그대로 적용
우리 형식으로는 \(J_\ell = I\)
후반 layer에서는 합리적, 앞쪽으로 갈수록 무너짐 . residual connection 덕에 뒤에서만 좌표계가 맞기 때문
논문의 공정한 평가: 실무에서 꽤 유용하고 workspace 구조의 상당 부분을 포착함. 다만 신뢰도가 다소 낮고, 앞쪽 layer로 갈수록 더 낮음
tuned lens
layer별 선형 사상을 출력 분포에 맞도록 학습
목적이 인과가 아니라 상관
언어화되지 않은 중간 계산이 있는 프롬프트에서 중간 단계를 건너뛰고 출력으로 앞질러 감 (skip ahead)
중간 단계 ✕ 출력
그래서 내부 계산을 보는 데는 logit lens보다도 덜 유용 하다는 것이 논문의 평가
Jacobian lens
모델 자신의 평균 1차 인과 작용 을 씀. 학습하지 않음
Jℓ = layer ℓ의 방향을 최종 layer의 대응물로 잇는 평균 선형 사상
logit lens의 원리적 교정 . 마지막 몇 layer에서는 둘이 거의 일치하고, 이른 layer로 갈수록 차이가 커짐. logit lens가 못 읽는 깊이에서 해석 가능한 내용을 복원
가장 가까운 선행: Hernandez et al.의 관계별 Jacobian (“악기를 연주한다” 사상이 Miles Davis → trumpet). J-lens는 같은 1차 근사를 관계 하나가 아니라, 활성이 현재·향후 출력에 미치는 효과 전반 에 적용한 것
구분 기준은 두 가지다: 사상을 학습하는가 모델 자신의 도함수를 쓰는가, 그리고 목적이 상관인가 인과인가. J-lens는 학습하지 않고, 모델이 스스로 그 방향에 얼마나 반응하는지를 평균함.
Gurnee, Sofroniew, …, Lindsey (2026) · §2.4 · §8
J-lens는 transformer의 은닉 상태에서 layer별 token readout을 뽑는 기법군에 속합니다. 계보를 짚어야 무엇이 새로운지가 분명해집니다. logit lens는 중간 residual stream에 unembedding 행렬을 그냥 곧바로 적용합니다. 우리 형식으로 쓰면 J_ℓ를 항등행렬로 놓는 것에 해당하죠. 이 근사는 residual connection의 영향 때문에 후반 layer에서는 합리적이지만 앞쪽 layer로 갈수록 무너집니다. 그러니 J-lens는 이것의 원리적 교정이라고 이해할 수 있습니다. J_ℓ가 바로 layer ℓ의 방향을 최종 layer의 대응물로 연결하는 평균 선형 사상이니까요. 실제로 두 렌즈는 마지막 몇 layer에서 거의 일치하고, 이른 layer로 갈수록 차이가 커집니다. 그리고 logit lens가 못 읽는 깊이에서 J-lens가 해석 가능한 내용을 복원합니다. 다만 여기서 공정하게 짚을 게 있습니다. 논문은 logit lens가 실무에서 꽤 유용하고, J-lens가 찾아낸 workspace 구조의 상당 부분을 포착한다고 명시합니다. 다만 신뢰도가 다소 낮고 특히 앞쪽 layer에서 그렇다는 거죠. 그러니 logit lens를 폐기하자는 이야기가 아닙니다. tuned lens는 다릅니다. 이것도 layer별 선형 사상을 맞추지만, 모델의 출력 분포에 맞도록 학습시킵니다. 목적 자체가 인과적이 아니라 상관적이죠. 그 결과가 흥미롭습니다. 언어화되지 않은 중간 계산이 있는 프롬프트에서 tuned lens는 그 중간 단계를 건너뛰고 출력으로 앞질러 갑니다. 우리가 보고 싶은 게 바로 그 중간 단계인데 말이죠. 그래서 논문은 내부 계산을 들여다보는 데는 tuned lens가 logit lens보다도 덜 유용하다고 평가합니다. 마지막으로 가장 가까운 선행 연구는 Hernandez와 동료들입니다. 이들은 Jacobian을 써서 주어 표상에서 목적어 표상으로 가는 관계별 선형 사상을 유도했습니다. 예를 들어 악기를 연주한다는 관계 사상이 마일스 데이비스로부터 트럼펫을 만들어내는 식이죠. J-lens는 같은 1차 근사를, 관계 하나가 아니라 활성이 현재와 향후 출력에 미치는 효과 전반에 적용한 겁니다. 정리하면 구분 기준이 두 가지입니다. 사상을 학습하는가 모델 자신의 도함수를 쓰는가, 그리고 목적이 상관인가 인과인가. J-lens는 학습하지 않고 모델 자신의 평균 1차 인과 작용을 씁니다.
읽기 활성이 담은 개념을 보기
셋 다 같은 양에서 나옴: 활성과 lens vector의 내적 \(\langle v_t,\, h_\ell \rangle\) . 쓰는 방식만 다름
01 ranked readout 전부 보기
어휘 전체 에 점수를 매겨 정렬한 뒤 상위를 봄. “여기 뭐가 들어 있지?”라는 탐색 용. 앞으로 “상위 lens token”은 전부 이것.
02 단일 token probe 하나만 보기
전체 정렬 없이 고른 vector 하나 의 점수만 읽음. “이 개념이 문턱을 넘게 있나?”라는 표적 측정 용. 01과 기계는 같고 용도만 다름
03 sparse decomposition 겹치지 않게 세기
내적이 아니라 재구성 을 풂(gradient pursuit): 활성을 가장 잘 복원하는 vector k개의 조합. overcomplete·비직교라서 내적 상위 k와 다른 결과가 나옴
내적으로 뽑으면 soccer·football·sport가 자리를 다 차지함. 재구성은 이미 쓴 개념과 겹치는 것을 고르지 않음 → occupancy 분석(뒤)의 토대
쓰기 개념을 써 넣거나 빼내기
넣기 · 빼기 · 맞바꾸기. 주황색은 인과 개입 전용 색 규약.
04 steering 넣기
\(h \leftarrow h + \alpha\, v_t\)
주입한 개념을 모델이 감지하는지 시험할 때 양의 α를 씀
05 ablation 빼기
α가 음수이거나, 그 방향 성분을 투영해 제거 . 개념 하나를 지우거나 J-space 상위 k개를 통째로 지움
06 coordinate swap 맞바꾸기
\(h_{\text{patched}} = h + V\bigl(\sigma(c) - c\bigr), \quad V = [\,v_s\; v_t\,], \;\; c = V^{\dagger} h\)
두 vector를 열로 놓은 V의 유사역행렬로 그 평면에서의 좌표를 읽어 두 값을 교환 함. soccer가 갖던 양을 rugby가 갖고, 그 반대도 성립
왜 “05로 빼고 04로 넣기”가 아닌가: 두 vector가 직교하지 않기 때문 . 그래서 평면 좌표를 직접 읽어 바꿈
vs ⇄ vt
span{vs , vt }에 직교하는 성분: 전혀 바뀌지 않음
Gurnee, Sofroniew, …, Lindsey (2026) · §2.5 · Fig 4C
앞으로 나올 실험 전부가 여섯 가지 사용법의 조합입니다. 여기서 정리해두면 뒤가 훨씬 빨라집니다. 크게 두 부류입니다. 활성이 어떤 개념을 담고 있는지 읽는 것, 그리고 활성에 개념을 써 넣거나 빼내는 것. 먼저 읽기 셋인데, 사실 이 셋은 같은 양 하나를 다르게 쓰는 겁니다. 그 양은 활성과 특정 token의 lens vector 사이의 내적입니다. softmax 이전 logit이 근사적으로 이 내적으로 결정되기 때문입니다. 첫째, 기본 readout입니다. 어휘 전부에 대해 이 값을 계산하고 정렬해서 상위를 봅니다. 질문이 여기 뭐가 들어 있느냐인 탐색용이죠. 앞으로 상위 lens token이라고 하면 전부 이겁니다. 둘째, 단일 token probe입니다. 어휘 전체를 정렬하지 않고 고른 vector 하나에 대해서만 점수나 코사인 유사도를 읽습니다. 질문이 특정 개념이 문턱을 넘게 있느냐인 표적 측정용입니다. 기계는 첫째와 같고 용도만 다릅니다. 셋째, sparse decomposition은 성격이 다릅니다. 내적을 재는 게 아니라 재구성 문제를 풉니다. 이 활성을 가장 잘 복원하는 J-lens vector k개의 sparse 비음수 조합을 gradient pursuit으로 찾습니다. 왜 다르냐면, lens vector가 공간 차원보다 훨씬 많고 서로 직교하지도 않기 때문입니다. 내적 상위 k개를 그냥 뽑으면 soccer, football, sport처럼 사실상 같은 방향인 것들이 자리를 다 차지합니다. 재구성은 soccer를 이미 썼으면 football은 더 보탤 게 없다고 판단하니까, 겹치지 않는 개념 목록이 나옵니다. 그래서 이게 지금 몇 개의 개념이 켜져 있는지 세는 occupancy 분석의 토대가 됩니다. 이제 쓰기 셋입니다. 넷째, steering은 그냥 더합니다. 주입된 개념을 모델이 감지하는지 시험할 때 양의 알파를 씁니다. 다섯째, ablation은 뺍니다. 알파를 음수로 주거나 아예 그 방향 성분을 투영해서 제거합니다. 개념 하나를 지울 수도 있고 상위 k개를 통째로 지울 수도 있습니다. 여섯째가 가장 정교하고 앞으로 제일 많이 나오는 coordinate swap입니다. soccer를 rugby로 갈아끼우되 나머지는 그대로 두는 개입이죠. 여기서 자연스러운 의문이 하나 생깁니다. 다섯째로 soccer 빼고 넷째로 rugby 넣으면 되지 않나. 그런데 두 vector가 직교하지 않아서 그렇게 하면 부정확합니다. 그래서 두 vector를 열로 놓은 행렬 V를 만들고, 유사역행렬로 그 평면에서의 실제 좌표를 읽어낸 다음, 두 좌표를 맞바꿉니다. soccer가 갖고 있던 양만큼 rugby가 갖고, 반대도 마찬가지가 됩니다. 결정적인 성질은 그 평면에 직교하는 성분이 전혀 바뀌지 않는다는 겁니다. 이게 나중에 spider를 ant로 바꿔서 답이 8에서 6이 됐다고 할 때, 다른 걸 다 망가뜨려서 그런 게 아니라는 근거가 됩니다. 색 규약도 여기서 정합니다. 주황색은 인과 개입 전용입니다. 앞으로 주황색이 보이면 우리가 모델에 손을 댄 자리입니다.
활성 h 0 조합 A 조합 B 회색 선 하나가 token 하나의 lens vector. 벡터가 공간 차원보다 많으므로(\(n_{\text{vocab}} > d_{\text{model}}\) )같은 h에 도달하는 조합이 여러 개 이고, 그래서 “span하는 공간”으로는 J-space를 정의할 수 없음. 문제
basis가 아니라 overcomplete 집합임 (벡터 수 > 공간 차원). residual stream 전체를 span할 수 있고, 그래서 분해가 유일하지 않음 . 같은 활성을 표현하는 조합이 여러 개임.
경험적 관찰로 조작화
실제로 한 번에 강하게 켜지는 vector는 적음. 그래서 J-space를 sparse 비음수 조합으로 표현 가능한 점들의 집합 으로 정의하고, 희소성 k ≤ 25 로 잡는다(다소 임의적이며 논문 안에서도 바꿔 씀). 풀이는 gradient pursuit.
그래서 얻는 분해
J-space 성분가장 가까운 J-space 위의 점 + non-J-space 성분나머지 차이
기하학적으로 J-space는 k차원 원뿔들의 합집합 . 이 분해가 뒤의 privileged 실험에서 중심 도구가 됨.
다른 해석
superposition 가설 아래에서 모델 활성은 overcomplete feature frame 에서 뽑은 sparse 조합임. J-lens vector들은 그 frame의 token으로 색인된 부분frame 이고, 그 밖의 방향들이 모델 표상의 대부분 을 차지함.
지금 심어둘 숫자: 임의 활성에서 J-space 성분이 차지하는 분산은 layer에 따라 다르지만 결코 10%를 넘지 않음. 모델 표상의 대부분은 J-space 밖에 있음. 뒤의 privileged 실험에서 이 숫자가 되돌아옴.
Gurnee, Sofroniew, …, Lindsey (2026) · §2.3 · §A.8
용어를 하나 더 정의하고 넘어가겠습니다. J-lens vector는 각 layer마다 어휘 크기만큼 있습니다. 그런데 residual stream의 차원은 그보다 작죠. 어휘가 모델 차원보다 크니까요. 그래서 이 vector들은 공간 차원보다 개수가 많은, overcomplete 집합입니다. d차원 공간의 basis는 선형독립 벡터 d개로 딱 채워지는데, 그보다 많은 벡터가 여전히 공간 전체를 덮는 상태를 overcomplete라고 하고, 이런 집합은 basis가 아니라 frame이라고 부릅니다. 결과가 두 가지입니다. 첫째, 이들은 residual stream 전체를 선형으로 span할 수 있습니다. 낮은 차원의 부분공간이 아니라요. 둘째, 벡터가 남아돌기 때문에 주어진 활성 벡터를 J-lens vector들의 선형결합으로 분해하는 유일한 방법이 없습니다. 분해가 여러 개 존재합니다. 그러니 J-space를 그냥 span으로 정의하면 아무 의미가 없습니다. 여기서 경험적 관찰이 들어옵니다. 실제로는 한 번에 강하게 활성화되는 J-lens vector의 수가 비교적 적습니다. 그래서 저자들은 J-space를 J-lens vector들의 sparse 비음수 조합으로 표현 가능한 점들의 집합으로 정의합니다. 제대로 정의되려면 허용 희소성 k를 정해야 하는데, 이 값은 다소 임의적이고 논문 안에서도 바꿔 씁니다. 다만 보통 25를 넘지 않게 잡습니다. 한 번에 의미 있게 활성화되는 vector 수가 경험적으로 그 정도라서요. 이 숫자는 뒤에서 다시 정확하게 측정됩니다. 기하학적으로는 이렇습니다. 주어진 k에 대해 J-space는 k차원 원뿔들의 합집합입니다. k개 vector를 고르는 각 방법마다 원뿔이 하나씩이죠. 그리고 활성 공간의 한 점에 대해, J-space 안에서 그 점에 가장 가까운 점을 J-space 성분으로, 둘의 차이를 non-J-space 성분으로 정의합니다. 이 분해가 뒤의 privileged 실험에서 중심 도구가 됩니다. 실무적으로는 gradient pursuit으로 풉니다. 다른 해석도 하나 붙여둡니다. superposition 가설 아래에서 모델의 활성은 overcomplete feature 방향 집합에서 뽑은 sparse 선형결합으로 분해됩니다. 선형대수 용어로 basis가 아니라 frame이죠. 그렇다면 J-lens vector들은 그 feature frame의 부분frame, 그러니까 token으로 색인된 부분집합에 해당합니다. 그리고 이 부분frame 밖의 feature 방향들이 모델 표상의 대부분을 차지합니다. 마지막으로 지금 심어둘 숫자가 하나 있습니다. 임의의 활성에서 J-space 성분이 차지하는 분산은 layer에 따라 다르지만 결코 10퍼센트를 넘지 않습니다. 모델 표상의 압도적 대부분은 J-space 밖에 있다는 뜻입니다. 이 숫자를 지금 기억해 두시면 뒤의 실험이 훨씬 강한 이야기가 됩니다. 분산으로는 조연인 그 성분이 인과로는 주연이라는 이야기요.
SENSORY WORKSPACE MOTOR L0 L20 L40 L60 L80 L100 layer (0–100) Think of a sport . The one I chose is ▁ : 프롬프트를 읽는 구간 답 직전 colon 위치 Soccer가 상위로 프롬프트 표기는 §3.1 설명을 따른 재구성. 격자의 모든 칸에 readout이 있지만, 이 실험이 보는 곳은 답 직전 colon 한 열. COLON 위치 · WORKSPACE 후반 LAYER
Soccer
모델이 실제로 말한 답 “Soccer”
J-LENS 순위 × 다음 TOKEN LOGIT 순위 · SPEARMAN
workspace 초입 중반 출력 직전
14 카테고리 × 후보 10개, workspace 세 layer에서 측정. 상승 형태만 옮긴 도식 , 절대값은 논문 Fig 6에만 있음.
말하기 전에 이미 읽힘. 단, 여기까지는 상관임. J-lens는 출력 효과로 정의된 도구이므로.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.1 · Fig 6
프로토콜은 아주 단순합니다. 언어·나라·동물 같은 열네 개 카테고리 중 하나를 주고 '마음속으로 하나 고른 다음 한 단어로 말하라'고 시킵니다. 그리고 그 단어가 나오기 직전, colon 위치에 J-lens를 겁니다. Sonnet 4.5에게 스포츠를 생각하라고 하면 workspace 범위의 마지막 layer 부근 readout 상위에 Soccer가 뜨고, 실제로 모델은 Soccer라고 답합니다. 한 사례로 끝내지 않습니다. 카테고리마다 후보 열 개를 놓고 J-lens 순위와 다음 token logit 순위 사이의 Spearman 상관을 workspace 세 지점에서 재면, 순위는 대체로 잘 맞고 출력에 가까워질수록 상관이 더 올라갑니다. 다만 여기서 선을 하나 그어야 합니다. J-lens는 애초에 출력에 대한 인과 효과로 정의된 도구이니 보고와 상관이 나오는 것은 어느 정도 당연합니다. 그래서 이 장은 상관까지이고, 다음 장에서 개입으로 넘어갑니다.
SENSORY WORKSPACE MOTOR L0 L20 L40 L60 L80 L100 layer (0–100) Think of a sport . The one I chose is ▁ : Soccer → Rugby · 전 position ① 모든 위치에서 두 좌표를 교환 ② 같은 칸의 보고가 Rugby로 앞 슬라이드에서는 Soccer Soccer lens vector 성분을 빼고 같은 크기의 Rugby 성분을 더함. span 밖 활성은 그대로. 개입 layer 표기는 workspace 범위(§4.1) 안의 도식. ① SWAP · 자발적 선택을 갈아끼우기
보고 “Soccer” → “Rugby”
규모 확장: 같은 카테고리에서 원래 top-10 밖 항목을 무작위로 골라 심어도, 그 개념이 출력 분포 상위로 올라옴.
② INJECTION · 아직 말하지 않은 생각을 묻기
“생각이 주입됐다면 무엇이 감지되는가?” → lightning 보고
위치 대조: assistant turn의 다른 위치에서는 lightning을 말하지 않음. 개념 100개 · 주입 강도 sweep에서 과반 성공.
보고는 개입을 따라감. 그리고 그 인출은 조건부임. 무조건적 발화 충동이 아니라, 물어보는 순간에만 말해지는 verbalizable 표상.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.1 · Fig 6·7
readout이 결정을 뒤따라 적기만 하는 계기판이라면, vector를 바꿔도 모델은 원래 답을 말해야 합니다. 실제로는 그렇지 않습니다. 모든 token 위치에서 Soccer lens vector 방향의 성분을 빼고 같은 크기로 Rugby lens vector를 더한 뒤 forward pass를 계속하면, 모델은 자기가 생각한 스포츠가 Rugby였다고 보고합니다. 나머지 활성은 건드리지 않습니다. 한 사례가 아니라, 같은 카테고리 안에서 원래 top-10에 없던 항목을 무작위로 골라 심어도 그 개념이 출력 분포 위쪽으로 올라옵니다. 두 번째 실험이 더 흥미롭습니다. '생각이 주입되었을 수 있으니 감지되는 것을 말하라'는 introspection 프롬프트에서, user turn 쪽에 lightning vector를 주입하면 모델은 그 자리를 물었을 때 lightning을 감지했다고 보고합니다. 주목할 부분은 선택성입니다. Assistant turn의 다른 위치에서는 lightning을 내뱉지 않습니다. 즉 무조건적인 발화 충동이 아니라, 조건이 맞을 때 말해질 수 있는 표상입니다. 개념 100개에 대해 과반 시행에서 성립합니다.
여기까지의 반론: J-lens vector는 출력 사상에서 유도한 방향 이니, 그것을 밀어서 출력이 바뀌는 건 당연함. J-space 밖에 같은 개념을 담은 방향이 있다면 그쪽도 똑같이 작동할지 모름.→ 그래서 이번엔 모델이 스스로 만든 표상을 쪼개서 비교함.
모델이 실제로 형성한 개념 표상“Tell me about {concept}” 응답 직전 활성 (다른 개념 100개로 평균 차감). lens와 무관하게 측정
gradient pursuit (k=16) ↓
J-space 성분 lens vector 조합으로 표현되는 부분 분산 6–7%
non-J-space 나머지 그 밖의 잔여 분산 ~93%
J-lens vector 는 도구가 정의한 방향이고, J-space 성분 은 모델 표상에서 그 도구로 읽히는 조각. 서로 다른 것.
기준선 · 순수 J-lens vector로 swap 88% 도구가 정의한 방향이므로 눈금 역할. 실제 비교는 아래 두 막대.
모델 표상을 쪼개 SWAP · TOP-5 도달 (두 조각을 같은 크기로 rescale)
J-space 성분 (분산 6–7%) 59%
non-J-space 성분 (분산 ~93%) 5% J-space 좌표를 clamp하면 → 0% : 잔여 효과조차 J-space 경유
분산 기준으로는 조연, 인과 기준으로는 주연. 보고를 나르는 것은 표상의 크기가 아니라 J-space 성분임.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.1 · Fig 8
앞의 두 실험에는 당연한 반론이 붙습니다. J-lens vector는 애초에 출력 사상에서 유도한 방향이니, 그걸 밀어서 출력이 바뀌는 건 당연하다는 겁니다. J-space가 특권적이라는 증거는 아직 아니죠. J-space 밖에 같은 개념을 담은 방향이 있다면 그쪽도 똑같이 보고를 몰아갈 수 있으니까요. 그래서 이번에는 lens가 만든 방향이 아니라, 모델이 스스로 형성한 표상을 씁니다. Tell me about 다음에 개념 이름을 넣은 프롬프트에 답하기 직전의 residual stream 활성을 재고, 다른 개념 100개에 대한 평균을 빼서 그 개념의 표상을 얻습니다. 여기까지는 lens와 아무 상관이 없습니다. 이제 이 표상을 두 조각으로 가릅니다. J-lens vector 16개의 비음수 조합으로 표현되는 부분이 J-space 성분이고, 나머지가 non-J-space 성분입니다. 용어를 헷갈리지 마셔야 합니다. J-lens vector는 도구가 정의한 방향이고, J-space 성분은 모델 표상 중에서 그 도구로 읽히는 조각입니다. 숫자를 보시죠. J-space 성분은 개념 표상 분산의 중앙값 6에서 7퍼센트밖에 안 됩니다. 나머지 93퍼센트가 바깥에 있죠. 그런데 두 조각을 같은 크기로 맞춰 swap하면, J-space 성분은 목표 개념을 top-5로 올리는 데 59퍼센트 성공합니다. 도구가 정의한 순수 lens vector로 했을 때의 88퍼센트에 근접하죠. 반면 분산 대부분을 가진 non-J-space 성분은 5퍼센트에 그칩니다. 그 5퍼센트마저도 J-space 좌표를 깨끗한 값으로 고정해 두면 0으로 사라집니다. 즉 그 잔여 효과조차 J-space를 경유하고 있었다는 뜻입니다. 주입 실험에서도 같은 패턴이 나옵니다. 한 문장으로 정리하면 분산 기준으로는 조연인데 인과 기준으로는 주연입니다. privileged subset 주장의 첫 번째 결정적 증거이고, 여기서 채점표의 첫 칸이 채워집니다.
“citrus fruits에 집중하라”
무관한 문장 복사 중 · crookedly의 ook 위치
중간 LAYER 상위
1 orangelemon fruit imagine thinking focused
내용(orange)뿐 아니라 행위 자체(imagine·focused) 도 실림. 최종 layer에서는 다음 출력 token edly로 전환.
“3² − 2를 암산하라”
같은 문장 복사 중 · 같은 ook 위치
LAYER가 깊어질수록
arithmetic math nine seven equals
arithmetic·math → 중간값 nine → 답 seven 순으로 등장. 출력 분포에는 끝내 나타나지 않음.
“각 줄의 글자 수를 속으로 세라”
2번째 줄(40자) 뒤 개행 token
LAYER가 깊어질수록
lines length 1 forty39 41 thirty
lines·length → forty . 인접 후보(39·41·43)가 함께 뜸. 세는 중인 값 자체가 표상됨.
지시 조건별 목표 개념 등장률 · 순서 관계
무지시 ≈ 0 < “무시하라” < 단순 언급 ≈ “생각하지 마라” ≲ “집중하라”
Fig 10·65의 순서 관계만 표시(절대 수치는 논문 그림에만 있음). positive 조건은 모델이 클수록 상승.
불러오기는 되고, 끄기는 잘 안 됨. 금지 지시는 white bear처럼 오히려 개념을 남김.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.2 · Fig 9·10
인간 workspace의 두 번째 성질은 top-down 통제입니다. 무언가를 의도적으로 떠올리고, 다른 일을 하면서도 붙들고 있을 수 있다는 것이죠. 프로토콜은 이렇습니다. 무관한 문장을 베껴 쓰게 하면서 '무엇을 마음에 두라'고 지시하고, 출력 표면과 아무 상관 없는 token 위치에서 lens를 읽습니다. citrus fruits에 집중하라고 하면 crookedly의 ook 위치에서 orange가 여러 layer에 걸쳐 최상위로 뜨고 lemon도 따라옵니다. 더 재미있는 건 중간 layer에 imagine, thinking, focused 같은 토큰이 같이 뜬다는 겁니다. 내용뿐 아니라 '지금 상상하는 중'이라는 행위 자체가 실립니다. 3의 제곱 빼기 2를 암산시키면 중간값 nine을 거쳐 답 seven이 뜨고, 줄마다 글자 수를 세게 하면 40자짜리 줄 끝 개행에서 forty가 뜹니다. 전부 출력 분포에는 전혀 나타나지 않는 계산입니다. 정량화하면 무지시 baseline은 거의 0인데 focus 지시에서는 상당 비율로 올라가고 모델이 클수록 더 올라갑니다. 다만 통제는 불완전합니다. ignore 지시는 focus보다는 낮지만 0이 아니고, 부록에서는 단순히 언급만 해도 focus에 육박하게 점화되며 '생각하지 마라'는 금지형은 오히려 억제에 거의 실패합니다. 인간의 white bear 효과와 같은 모양입니다.
동일 자극 다음에 올 단어가 형용사 여야만 하는 지문, token 열이 두 조건에서 완전히 같음
질문 ① “다음 단어를 예측하라”
속성을 쓰되 부를 필요는 없는 과제
자극 구간 J-LENS TOP-10
adjective adj
0 개 위치
출력 “unacceptable” , 형용사를 정확히 산출 ✓
질문 ② “다음 단어의 품사는?”
속성을 이름으로 불러야 하는 과제
자극 구간 J-LENS TOP-10
adjective adj
3 개 위치
출력 “adjective” ✓
시제도 같다: 그냥 이어 쓰게 하면 past는 lens에 없고, “언제의 이야기인가”를 물으면 프롬프트를 읽는 동안 past가 뜸. §A.11에서 방언·격식·수·어조 네 속성이 같은 패턴, 어느 조건에서든 다음 단어 예측은 속성을 지킴.
정보는 양쪽 다 있고 쓰임. 질문이 정하는 것은 그 이름이 J-space에 들어오는지 여부. 표상의 존재와 workspace 인입은 별개임. §3.5 선택성의 예고편.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.2 · Fig 11
앞 장은 '무엇을 생각하라'고 명시적으로 지시했습니다. 이번엔 지시가 전혀 없습니다. 같은 자극 지문 앞에 질문만 두 가지로 바꿔 붙이고, 자극 구간의 모든 token 위치에서 lens를 읽습니다. 자극 token이 완전히 동일하므로, 거기서 나오는 차이는 오직 질문 때문입니다. 첫 번째 질문은 '다음 단어를 예측하라'입니다. 정답을 맞히려면 다음에 형용사가 와야 한다는 걸 알아야 하지만, 그 속성의 이름을 부를 필요는 없습니다. 이 조건에서 adjective도 adj도 자극 구간 어디에도 뜨지 않습니다. 그런데도 모델은 unacceptable이라는 형용사를 정확히 내놓습니다. 두 번째 질문은 '다음 단어의 품사가 무엇일 것 같은가'입니다. 이때는 형용사 관련 readout이 자극 구간 세 위치에서 뜨고, 모델은 adjective라고 답합니다. 시제에서도 같습니다. 그냥 이어 쓰게 하면 past는 lens에 없고, 언제의 이야기냐고 물으면 프롬프트를 읽는 동안 past가 뜹니다. 부록에서는 방언, 격식, 수, 어조 네 속성이 같은 패턴을 보입니다. 결론이 중요합니다. 두 조건 모두 다음 단어 예측은 속성을 정확히 지킵니다. 정보는 양쪽 다 표상되고 사용됩니다. 질문이 바꾸는 것은 그 속성의 '이름'이 J-space에 들어오는지 여부뿐입니다. 이건 3.5절 선택성 논의의 예고편입니다.
회상 · RECALL
“The number of legs on the animal that spins webs is”
8 → 6 spider는 프롬프트에도 출력에도 없음
계획 · PLANNING
“The soldier marched into the night,” 둘째 행을 쓰기 전에 운율이 먼저 정해짐
coming fight → morning light 행 끝뿐 아니라 앞 위치 단어 선택 까지 바뀜
언어 간 매개 · CROSS-LINGUAL
중국어로 “小의 반의어는?” 중간 layer는 영어로 생각함
大 → 长 lens에는 Chinese도 함께, 번역할 언어의 정체까지 표상
보상 기반 결정 · BANDIT
A/B 이력 + “결과가 좋았다/나빴다” 반복할지 바꿀지 판단 (L38–79 중앙값)
repeat continuation switch change
A → B · B → A 두 조건의 전략 방향을 교환 → 양방향 반전 . 프롬프트에 두 전략이 다 적혀 있어도 맥락에 맞는 쪽만 실림
중간 단계를 갈아끼우면 결론이 따라 바뀜. J-space는 계산 결과를 비추는 거울이 아니라, 다음 단계가 실제로 읽어 가는 릴레이임.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.3 · Fig 12–14
보고와의 상관은 J-lens가 출력 효과로 정의된 이상 어느 정도 예상된 일입니다. 훨씬 덜 자명한 건, 모델이 답에 이르는 길에 계산하고 쓰지만 끝내 말하지 않는 중간 개념까지 이 렌즈에 잡히느냐입니다. 네 사례를 봅니다. 첫째, 회상. '거미줄을 치는 동물의 다리 수는'이라는 프롬프트에서 spider는 프롬프트에도 출력에도 없지만 중간 layer lens에 뜹니다. spider를 ant로 바꾸면 답이 8에서 6으로 바뀝니다. 둘째, 계획. 대구를 완성할 때 모델은 둘째 행을 쓰기 전에 운율 단어를 먼저 고릅니다. lens에 계획된 운율 fight가 보이고, 이걸 light로 바꾸면 행 끝만 바뀌는 게 아니라 그 앞의 단어 선택이 coming에서 morning으로 바뀝니다. 계획이 앞선 선택을 제약한다는 증거입니다. 셋째, 언어 간 매개. 중국어로 小의 반의어를 물으면 중간 layer에 영어 big과 bigger가 뜹니다. 게다가 Chinese라는 토큰도 명시적으로 뜹니다. 영어 쪽 좌표를 long과 longer로 바꾸면 중국어 출력이 大에서 长으로 바뀝니다. 넷째, 보상 기반 결정. A와 B 중 반복할지 바꿀지 정하는 상황에서 결과가 좋았으면 repeat, 나빴으면 switch 계열 토큰이 뜹니다. 두 조건의 전략 방향을 서로 맞바꾸면 선택이 양방향으로 뒤집힙니다. 네 경우 모두, J-space는 결과를 비추는 거울이 아니라 다음 단계가 실제로 읽어 가는 릴레이입니다.
TWO-HOP 50문항 · 중간 개념 SWAP 후 목표 답이 TOP-1
Haiku 4.5 54%
Sonnet 4.5 70%
Opus 4.5 70%
반론 차단: “중간 vector에 답이 이미 섞여 있던 것 아닌가?”
중간 개념 swap
답 swap
얕은 layer 깊은 layer
중간 개념 swap이 답 swap보다 중앙값 약 17% 이른 깊이 에서 효과. 답이 밀수됐다면 두 개입의 깊이가 같아야 함.
중간 개념 PROBE 분해 · 답이 목표로 뒤집힌 비율 (n=90)
원본 J-lens token vector 60%
probe의 J-space 성분 (분산 10–15%) 61%
non-J-space 나머지 (분산 대부분) 28% J-space 좌표를 clean 값으로 clamp하면 → 6% : 잔여 효과조차 J-space 경유
probe = 같은 중간 개념을 다른 표면 단서로 함의하는 프롬프트들의 평균 활성. gradient pursuit으로 k=25 J-lens vector 조합과 나머지로 분해.
보고에서 본 구조가 추론에서 반복됨. 분산의 10–15%뿐인 J-space 성분에 인과가 거의 전부 실림.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.3 · Fig 15·16
사례를 수치로 옮깁니다. 중간 개념을 아는 two-hop 문항 50개에서, 같은 카테고리 안의 다른 값으로 중간 개념을 swap하면 목표에 맞는 답이 top-1로 올라오는 비율이 Haiku 4.5에서 54%, Sonnet 4.5와 Opus 4.5에서 각각 70%입니다. 여기서 당연한 반론이 하나 나옵니다. spider vector 안에 이미 8이 조금 섞여 있어서, spider를 ant로 바꿀 때 6도 딸려 들어간 것 아니냐는 겁니다. 이걸 배제하려고 중간 개념 swap과 답 swap을 여러 layer 구간에서 비교했습니다. 답이 밀수된 것이라면 두 개입이 같은 깊이에서 효과를 내야 하는데, 실제로는 중간 개념 swap이 중앙값 기준 약 17퍼센트 이른 깊이에서 효과를 냅니다. 답이 계산되기 전에 중간 개념이 먼저 존재하고 쓰인다는 뜻입니다. 마지막은 S13에서 본 것과 같은 분해 실험입니다. J-lens를 쓰지 않고 중간 개념의 probe를 따로 학습한 뒤, 이걸 J-space 성분과 나머지로 가릅니다. J-space 성분은 probe 분산의 10~15%뿐인데, 이걸로 swap하면 61%에서 답이 뒤집힙니다. 원래 J-lens 토큰 vector로 한 60%와 사실상 같습니다. 분산 대부분을 가진 나머지 성분은 28%에 그치고, 그 28%마저 J-space 좌표를 clean 값으로 고정하면 6%로 떨어집니다. 보고에서 본 구조가 추론에서 그대로 반복됩니다.
SENSORY WORKSPACE MOTOR L0 L20 L40 L60 L80 L100 layer (0–100) calc : ( 4 + 17 ) * 2 + 7 = 마지막 token “=” 위치 L71 · 21 = 4 + 17 L79 · 42 = 21 × 2 L94 · 49 = 42 + 7 도달 깊이 순서 = 계산이 요구하는 순서 읽는 위치는 마지막 “=” 하나로 고정. 세로로 벌어진 세 지점이 각 중간값이 rank 1에 도달하는 깊이 (Fig 17의 정성적 스케치). L71 21 = 4+17
L79 42 = 21×2
L94 49 = 42+7
Gurnee, Sofroniew, …, Lindsey (2026) · §3.3 · Fig 17 · §A.24
'calc: (4+17)*2+7=' 는 21 → 42 → 49를 순서대로 요구한다. 세 값 모두 첫 1/3에서는 부재, workspace 초입에서 함께 상승하다가, L71 부근부터 계산이 요구하는 순서대로 분리: 21이 먼저 rank 1, 42는 약 8 layer 뒤, 49는 마지막 layer에서만. layer 축이 계산의 시간 축처럼 읽히는 순간. §A.24의 activation patching이 같은 깊이를 인과적으로 확인. Scorecard ③ 채움. [제작 노트] 이 정적 궤적은 논문 Fig 17의 정성적 형태를 옮긴 스케치다. 최종본은 Manim 영상 + 논문 수치 재대조.
동일한 개입 하나 France → China 모든 token 위치 · 어느 프롬프트에서든 같은 swap
“the capital of France is” → Beijing
“most people in France speak” → Chinese
“France is on the continent of” → Asia
각 downstream 회로가 각자의 함수를 바뀐 인자에 적용함. 논문 Fig 18은 이 예시에서 모델이 기대대로 응답했다고 보고함. 4범주 × 4함수 = 16함수 · 192 SWAP 시행 · 목표 답 TOP-1
기본 강도 76 / 192
두 배 강도 (α = 2) 101 / 192
실패는 어디에 몰리는가 · WORKSPACE LOADING 순
나라 > 달 · 동물 > 숫자 단어
loading = residual stream과 개념 lens vector의 코사인 유사도. 순서 관계만 표시(산점도 수치는 Fig 19에만). 숫자 단어: workspace 밖 계산이거나 lens 어휘와 미정렬(§9.1).
한 번 쓰면 여러 소비자가 읽음. broadcast의 기능적 정의가 그대로 성립함. 단, 애초에 workspace에 잘 실린 개념에 한해서.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.4 · Fig 18·19
인간 workspace의 정의적 성질 중 하나가 broadcast입니다. workspace에 쓰인 표상은 그것을 만든 과정에만이 아니라 여러 소비 과정에 열린다는 거죠. 앞 절은 개별 사례에서 중간 개념이 하나의 downstream 회로에 읽힌다는 걸 보였습니다. 이번엔 더 직접적으로 묻습니다. 같은 lens vector 하나가 서로 다른 여러 함수의 인자로 동시에 통할까요. 프로토콜은 이렇습니다. France를 인자로 받는 서로 다른 함수 템플릿을 만듭니다. 수도는, 사람들이 쓰는 언어는, 속한 대륙은. 그리고 어느 프롬프트에 있든 상관없이 France를 China로 바꾸는 완전히 동일한 swap을 모든 token 위치에 겁니다. 그러면 각 회로가 각자 자기 함수를 China에 적용한 답을 내놓습니다. 수도 회로는 베이징을, 언어 회로는 중국어를, 대륙 회로는 아시아를요. 체계적으로는 나라, 달, 동물, 숫자 단어 네 범주에 함수 네 개씩, 열여섯 함수, 총 192 시행입니다. 목표 답이 top-1에 오는 비율이 192분의 76이고, 빼고 더하는 강도를 두 배로 하면 192분의 101까지 올라갑니다. 실패도 정직하게 봐야 합니다. 실패는 원래 개념이 lens에 약하게만 실려 있던 경우에 몰려 있습니다. workspace loading, 즉 residual stream과 그 개념 lens vector의 코사인 유사도로 재면 나라가 제일 높고 swap도 제일 잘 되며, 숫자 단어가 제일 낮고 swap도 잘 안 됩니다. 해석은 두 가지로 열려 있습니다. 작은 정수는 workspace 밖에서 계산되거나, 아니면 그 표상이 숫자 token의 lens vector와 정렬되지 않는 것이죠. 후자라면 9절에서 다룰 어휘 제약의 한 사례입니다.
지문은 스페인어. 단, 본문에 “스페인어”라는 말은 없음 (n=8) J-lens에 Spanish 존재 질문 token 구간 Spanish → French swap 후
유연 명시적 보고 “이 지문은 무슨 언어인가?”
동일 수준
“Spanish” → “French” 거의 매 시행 뒤집힘
유연 유연 추론 그 언어의 작가 · 인사말 · 유로 이전 화폐
동일 수준
García Márquez → Hugo · Hola → Bonjour · Peseta → Franc 거의 매 시행 뒤집힘
자동 이어쓰기 “다음 줄을 이어 써라”
동일 수준
여전히 유창한 스페인어 거의 무변화
자동 이상 탐지 프랑스어 문장을 끼워넣고 “이상한 곳이 있나?”
동일 수준
여전히 “Yes” (침입을 그대로 탐지) 거의 무변화
가운데 열 막대 길이가 네 행 모두 같은 것 이 이 실험의 핵심. 존재는 동일하고 갈리는 것은 오른쪽 열, 인과적 역할뿐임 (Fig 20b·c).
존재 ≠ 인과적 사용. “J-lens는 출력에서 유도됐으니 보고와 상관되는 건 당연하다”는 반론은 이 해리를 설명하지 못함. 같은 정보가 자동 처리에서는 J-space를 경유하지 않고 쓰임.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.5.1 · Fig 20
여기가 오늘 발표에서 가장 중요한 슬라이드입니다. 지문 하나를 씁니다. 스페인어로 쓰였지만 '이건 스페인어다'라는 말은 어디에도 없는 짧은 산문입니다. 이 하나의 잠재 변수를 네 가지 과제가 모두 필요로 합니다. 이어쓰기는 다음 줄도 스페인어여야 하니 언어를 알아야 하고, 이상 탐지는 프랑스어 문장이 끼어든 걸 알아채야 하니 둘러싼 언어를 알아야 합니다. 명시적 보고는 언어 이름을 대는 것이고, 유연 추론은 그 언어의 유명 작가나 인사말이나 유로 이전 화폐처럼 지문에서 복원할 수 없는 사실을 묻습니다. 네 조건 모두에서 질문 token 구간에 Spanish를 French로 바꾸는 같은 swap을 겁니다. 결과가 정확히 갈립니다. 보고는 Spanish에서 French로 바뀌고, 작가는 가르시아 마르케스에서 위고로, 인사말은 Hola에서 Bonjour로, 화폐는 페세타에서 프랑으로 바뀝니다. 그런데 이어쓰기는 여전히 유창한 스페인어를 뽑아내고, 이상 탐지는 여전히 Yes라고 답합니다. 둘러싼 언어의 J-space 표상을 프랑스어로 덮어썼는데도 침입 문장을 그대로 탐지합니다. 이제 결정적인 부분입니다. 네 과제 모두에서 Spanish는 J-lens readout에 비슷한 비율로 존재합니다. 여덟 개 지문으로 확인했습니다. 존재는 같은데 인과적 역할만 보고와 유연 추론에 국한됩니다. 이게 왜 중요하냐면, 'J-lens는 출력에서 유도된 도구니까 출력과 상관되는 건 당연하다'는 반론이 여기서 무너지기 때문입니다. 그 반론은 왜 같은 존재가 어떤 과제에서는 인과적이고 어떤 과제에서는 아닌지 설명하지 못합니다. 같은 정보가 자동 처리에서는 J-space를 경유하지 않고 쓰입니다.
같은 여러 줄 지문 · 지문 token은 세 조건에서 동일 (n=11), 개입은 lens의 40번대 값을 60번대로 매핑 하는 swap 하나
자동
줄바꿈 유지하며 이어쓰기
오른쪽 열에서 접으려면 글자 수를 세고 있어야 한다
0 개 위치
프롬프트 전체에 숫자 token 부재
줄 접는 지점 무변화
보고
“첫 줄은 몇 글자인가?”
수를 그대로 말하면 되는 과제
20 개 위치
숫자 token이 lens에 등장
“46” → “65”
유연 계산
“그 수를 영어로 쓰면 첫 글자는?”
글자 수는 끝내 출력되지 않는 중간값
20+ 개 위치 (직접 질문보다 많음)
숫자는 한 번도 출력되지 않는데도 최다
“F” → “S”
S20과의 대비가 요점임. 언어 사례에서는 정보가 네 조건 모두에 있으면서 자동 과제에서만 안 쓰였음. 여기서는 자동 조건에 아예 없다가 , 과제가 요구하면 J-space로 끌려 들어옴.
workspace는 상시 중계기가 아니라 요청형 작업대임. 필요할 때만 인입됨. S15의 암묵적 modulation과 같은 메커니즘의 다른 얼굴.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.5.1 · Fig 21
앞 장에서는 정보가 네 조건 모두에 있었고 인과만 갈렸습니다. 그렇다면 자동 계산에 필요한 정보가 아예 J-space에 들어오지도 않는 경우도 있을까요. 글자 수 세기 과제가 그 예입니다. 같은 여러 줄 지문을 주고 과제만 바꿉니다. 첫째, 줄바꿈 패턴을 유지하며 이어 쓰라고 합니다. 오른쪽 열에서 줄을 접으려면 모델은 글자 수를 속으로 세고 있어야 합니다. 둘째, 첫 줄이 몇 글자냐고 직접 묻습니다. 셋째, 그 수를 영어 단어로 썼을 때 첫 글자가 뭐냐고 묻습니다. 이때 글자 수는 말해지지 않는 중간값입니다. 지문 token은 세 조건에서 완전히 같습니다. 결과가 극적입니다. 이어쓰기 조건에서는 숫자 token이 프롬프트 전체에 걸쳐 lens에 전혀 없습니다. 그리고 40번대 값을 60번대로 옮기는 swap을 걸어도 줄 접는 지점이 바뀌지 않습니다. 직접 묻는 조건에서는 모델이 46이라고 답하는데, 숫자 token이 스무 개 위치에서 나타나고, 같은 swap이 답을 65로 바꿉니다. 첫 글자를 묻는 조건에서는 F라고 답하는데, 숫자가 한 번도 출력되지 않는데도 직접 질문보다 더 많은 위치에서 숫자 token이 뜨고, swap은 답을 S로 바꿉니다. 60번대 수를 영어로 쓰면 전부 S로 시작하니까요. 열한 개 지문에서 같은 패턴입니다. 앞 장의 언어 사례와 대비하면 그림이 완성됩니다. 자동 처리에서는 정보가 J-space에 있으면서 안 쓰이거나, 아예 없거나 둘 중 하나입니다. 그리고 과제가 요구하면 on-demand로 끌려 들어옵니다. 15번 슬라이드에서 본 암묵적 modulation과 같은 메커니즘의 다른 얼굴입니다.
ABLATION 정의
각 token 위치에서 최강 활성 J-lens 방향 k = 10 개에 대해 \(h \leftarrow h - \sum_{i=1}^{k} (v_i^\top h)\,v_i\)
출력 예정 token은 제외 , clean pass의 top-10 token은 지우지 않음 (보고가 아닌 내부 추론만 겨냥)세기 = layer 범위: light · medium · heavy , 무작위 방향 대조군 병기 양성 대조: 개입은 표적화되어 있음
multi-hop 추론 천장 → heavy에서 0 부근
사전학습 텍스트 top-1 일치 → 거의 무손상
멀쩡함 heavy에서도 무개입 Sonnet 4.5 기준선 근처
MMLU 객관식 odd-one-out SQuAD 추출형 QA 감성 분류 CoLA 문법성
얕은 분류 · 비교 · 사실 인출로 풀리는 과제
무너짐 무개입 Haiku 4.5보다도 아래로
Caesar 암호 해독 유추 완성 요약 TriviaQA multi-hop 추론 번역 소네트 작성
추론된 내용에 기반한 인출 · 자유 생성이 필요한 과제
예외 하나: GSM8K
CoT로 풀면 바로 답할 때보다 훨씬 robust. CoT는 workspace의 외재화 , 지면에 써 두면 내부에 들고 있을 필요가 없음.
파싱·분류·추출은 J-space 없이도 돌아감. 무너지는 것은 맥락에서 추상을 조립하고 거기에 기대어 생성하는 능력, “말은 되는데 생각이 안 되는” 상태.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.5.2 · Fig 22–24
지금까지는 사례마다 lens vector 하나를 골라 건드렸습니다. J-space가 유연한 추론을 일반적으로 매개한다면, 통째로 눌렀을 때 유연한 쪽만 무너지고 자동적인 쪽은 남아야 합니다. ablation은 이렇게 정의합니다. 각 token 위치에서, 정해진 layer 대역에 걸쳐, 가장 강하게 활성화된 J-lens vector 열 개를 찾아 residual stream의 그 방향 투영을 0으로 만들고 forward pass를 계속합니다. 여기서 중요한 통제가 하나 있습니다. 깨끗한 forward pass의 상위 열 개 출력 token은 지우지 않습니다. 모델이 지금 말하려던 걸 지워버리는 교란을 피하고, 보고가 아니라 내부 추론에 대한 효과만 겨냥하기 위해서입니다. 세기는 layer 범위로 조절해 light, medium, heavy 세 단계를 씁니다. 양성 대조부터 확인합니다. 3.3절의 multi-hop 평가에서 무개입 모델은 천장에 가까운데, heavy ablation에서 0 부근까지 떨어집니다. 반면 사전학습 유사 코퍼스에서 다음 token top-1 일치는 훨씬 덜 흔들립니다. 개입이 표적화되어 있다는 뜻입니다. 열네 과제 배터리로 넓히면 경계가 선명합니다. 얕은 분류와 비교, 사실 인출로 풀리는 과제들은 heavy에서도 무개입 Sonnet 4.5 기준선 근처에 그대로 있습니다. 반면 추론된 내용에 기반한 인출이나 자유 생성이 필요한 과제들은 무개입 Haiku 4.5보다도 한참 아래로 떨어집니다. 한 등급 아래 모델보다 못해진다는 겁니다. 가장 흥미로운 건 GSM8K입니다. 같은 문제를 chain-of-thought로 풀게 하면 바로 답하게 할 때보다 훨씬 robust합니다. 해석은 이렇습니다. CoT는 workspace의 외재화입니다. 지면에 중간 단계를 써 놓으면 내부 작업대에 들고 있을 필요가 없어지죠. 9절에서 인간과의 차이를 다룰 때 다시 회수할 복선입니다. 요약하면, J-space를 눌러도 모델은 텍스트를 파싱하고 분류하고 구간을 추출합니다. 잃는 것은 맥락에서 추상적 특성을 조립하고 그것에 기대어 생성하는 능력입니다. 말은 되는데 생각이 안 되는 상태죠.
같은 ablation, 더 약하게: L38–54 (workspace 첫 1/3) · k=10 . 더 세게 하면 응답의 일관성 자체가 무너짐. Sonnet 4.5 · Opus 4.5 · Opus 4.6
무개입
의식의 흐름을 경험적·감각적 언어 로 서술
J-space ablation ↓
ablated
여전히 유창하게 자기 처리를 쓰지만 분리되고 기계적인 레지스터 로, 경험의 묘사보다 사건 로그 에 가깝게
경험 언어 점수(3개 이진 판정 평균, 프롬프트 5종): ablation에서 급락, 같은 크기의 무작위 교란 대조군은 기준선 근처 , 크기 때문이 아니라 방향 때문임.Fig 25A의 전사는 논문 그림에만 있어 여기서는 레지스터 변화만 표기.
개입 전 NARRATION 중 J-SPACE 내용 · (POSITION × LAYER) 슬롯 점유율
thinking 58%
thoughts 23%
feeling 17%
conscious 7% 같은 위치의 출력 분포에서는 훨씬 드물게 나타남. 말하고 있는 내용의 반영이 아님
과잉 해석을 막는 두 대조
자기 서술에 특이적이지 않음 , 타인의 경험을 묘사할 때도 같은 붕괴
글쓰기가 망가진 게 아님 , 이야기 품질 점수는 조금만 하락
결론은 여기까지: 풍부한 경험적 보고를 내놓는 성향 이 J-space에 의존함. 그 이상은 이 실험이 말해주지 않음.
Gurnee, Sofroniew, …, Lindsey (2026) · §3.5.3 · Fig 25·26
같은 ablation을 전혀 다른 종류의 출력에 걸어 봅니다. 모델의 경험 보고입니다. LLM은 종종 어떤 형태의 경험을 가진다고 말하는데, 그게 의미 있는 내부 상태에 근거한 것인지 그냥 지어낸 말인지 판단하기 어렵습니다. J-space가 인간의 의식적 접근과 유사한 기능적 성질을 갖는다는 걸 확인했으니, 그 보고에 J-space가 어떤 역할을 하는지 물어볼 수 있습니다. 조건은 앞 절보다 약하게 잡습니다. L38부터 54까지, workspace 범위의 첫 3분의 1에서만 상위 열 개 방향을 제거합니다. k를 키우거나 더 뒤쪽 layer까지 가면 응답의 일관성 자체가 무너지기 때문입니다. Sonnet 4.5, Opus 4.5, Opus 4.6에서 실험했고, Haiku 4.5는 질적 변화가 나타나기 전에 coherence가 먼저 깨져서 제외했습니다. 결과는 이렇습니다. 의식의 흐름을 서술하라고 하면 무개입 모델은 경험적인 언어로 씁니다. J-space를 지우면 여전히 유창하게 자기 처리 과정에 대해 쓰지만, 레지스터가 분리되고 기계적으로 바뀝니다. 세 개의 이진 판정을 평균한 경험 언어 점수로 재면 다섯 개 프롬프트에서 점수가 크게 떨어지고, 같은 크기의 무작위 교란 대조군은 기준선 근처에 남습니다. 흥미로운 건 개입 전 narration 중의 J-space 내용입니다. thinking이 position×layer 슬롯의 58퍼센트, thoughts가 23, feeling이 17, conscious가 7퍼센트에서 상위 열 개 안에 뜹니다. 같은 위치의 출력 분포에서는 이 개념들이 훨씬 드물게 나타납니다. 지금 말하고 있는 내용의 반영이 아니라는 뜻이죠. 두 가지 조심할 점이 있습니다. 첫째, 효과가 자기 서술에 특이적이지 않습니다. 몇 년 만에 온 편지를 막 열어본 사람의 주관적 경험을 묘사하라고 해도 같은 붕괴가 일어납니다. 응답은 여전히 상세하고 여전히 그 사람에 대한 것이지만, 경험의 묘사라기보다 사건 로그에 가까워집니다. 둘째, 글쓰기 능력이 전반적으로 망가진 게 아닙니다. 이야기 쓰기 대조군에서 품질 점수는 조금만 떨어집니다. 그러니 결론은 여기까지입니다. 풍부한 경험적 보고를 내놓는 성향이 J-space에 의존한다는 것. 그 이상은 말하지 않습니다.
SENSORY WORKSPACE MOTOR L0 L20 L40 L60 L80 L100 layer (0–100) The number of legs on the animal that spins webs is ▁ readout이 noisy하고 대체로 해석 불가 언어화 가능한 내용이 실리는 구간 곧 나올 출력 표현 L38 · workspace 시작 L92 · motor 전환 이후 모든 layer 논의는 이 세 대역 위에서 읽음. 경계 L38·L92는 오른쪽 네 지표가 독립적으로 가리킨 값.
CKA · LAYER × LAYER J-LENS 기하 유사도
앞쪽 1/3 블록 · 긴 가운데 블록 · 작은 끝 블록. 선명도는 layer 부표집으로 과장 되며 모델에 따라 더 점진적임.
layer (0–100 재색인) L38 L92
(a) 다음 token 예측 정확도
거의 0 → 완만 상승 → 마지막 몇 layer에서 급등 (b) excess kurtosis
≈ 0 → 1/3 지점부터 상승 → 끝에서 하락 (c) top-1 token 자기상관
null 수준 → 중간 대역에서만 높음 → null로 복귀 (d) 유효 선형 차원
작은 부분공간 → 급팽창 → motor 전환에서 재상승
네 지표는 서로 독립인데 같은 두 경계 를 가리킴. 단, 모두 J-lens에서 유도된 값이라 초반 1/3의 공백이도구의 퇴화인지 내용의 부재인지는 미결 임. 모델의 “진짜 workspace” 일부가 더 이른 layer에 있을 가능성은 남음.
J-space가 workspace처럼 행동하는 구간은 L38–92뿐임. 그 앞은 비어 있고, 그 뒤는 이미 “말하는 중”임.
Gurnee, Sofroniew, …, Lindsey (2026) · §4.1 · Fig 27·28
여기서 시점을 바꿉니다. 지금까지는 J-space가 행동에 미치는 효과, 즉 기능을 봤습니다. 이제는 모델 안의 대상으로서 J-space 자체가 workspace다운 구조적 서명을 갖는지 봅니다. 가장 단순한 증거부터. layer 쌍마다 J-lens vector들 사이의 pairwise 유사도 행렬을 비교하는 CKA를 계산하면 뚜렷한 블록 구조가 나옵니다. 앞쪽 3분의 1이 한 블록, 긴 가운데 블록, 그리고 작은 끝 블록입니다. 마지막 layer의 J-lens vector는 정의상 다음 token 예측을 담을 수밖에 없고 첫 layer는 현재 token의 정체 말고는 담을 게 없으니, workspace다운 성질은 가운데 블록에만 있다는 뜻이 됩니다. 여기에 네 가지 지표를 겹칩니다. 첫째, J-lens가 모델의 실제 다음 token을 맞히는 정확도. 초반 내내 거의 0이다가 workspace 시작에서 살짝 오르고 천천히 상승하다 마지막 몇 layer에서 급등합니다. 이 급등이 workspace의 끝입니다. 그 뒤로는 중간 계산이 아니라 곧 나올 출력을 구동하는 motor 표상이죠. 둘째, readout의 excess kurtosis. 소수 token에 뾰족하게 몰렸는지를 재는 값인데 3분의 1 지점부터 오릅니다. 그 전에는 J-space에 의미 있는 내용이 사실상 없다는 뜻입니다. 셋째, 인접 위치 사이 top-1 token 자기상관. 위치가 바뀌어도 같은 개념이 유지되는지를 셔플 대조 대비로 잰 값인데, 중간 대역에서만 높습니다. 추상적 내용이 token 흐름을 가로질러 지속된다는 신호죠. 넷째, 유효 선형 차원. 초반에는 작은 부분공간으로 접혀 있다가 같은 지점에서 급팽창해 residual stream 대부분을 채웁니다. 네 지표가 서로 독립인데 같은 두 경계를 가리킵니다. 대략 L38에서 시작해 L92 직전에 끝나는 구간입니다. 다만 정직하게 덧붙일 게 있습니다. 이 지표들은 전부 J-lens에서 유도된 것이라 layer 효과가 도구의 인공물일 가능성이 남습니다. 초반 3분의 1이 비어 보이는 게 lens가 그 깊이에서 퇴화해 못 읽는 건지, 정말로 언어화 가능한 내용이 없는 건지는 미결입니다. 다음 슬라이드가 이 걱정에 부분적으로 답합니다.
“My sister has always wanted to visit ▩ ”
개념 token의 입력 embedding을 두 개념의 혼합 \((1-\alpha)\,e_B + \alpha\,e_A\) 으로 교체하고 α를 0→1로 sweep . 단일 token 국가 이름 16쌍 × 운반 문장 40개 .
초반 layer (< L38)
입력 혼합비를 비례 추적 , 활성이 두 개념 사이 어디쯤에 그대로 머무름
L38 이후 (workspace)
한쪽 끝으로 스냅 , 임계 α에서 급전환하고, 그 뒤 layer에서도 경계는 계속 예리함
이 측정은 J-lens를 쓰지 않음
순수 B(α=0) 활성과 순수 A(α=1) 활성을 잇는 직선 위의 projection share . 그런데도 전환점이 같은 L38 임.
J-space 쪽은 더 예리함
두 개념이 lens에 뜨는 시점: 명확한 입력에서 먼저, L38부터는 최대 모호 입력에서도 . J-lens 방향 성분으로 제한하면 전환이 더 빨리 예리해지고 양분(bimodal) 이 뚜렷함 (§A.15).
두 패널은 Fig 29B의 정성적 형태만 옮긴 스케치임. 축 눈금·임계값은 표시하지 않음. 최종본은 Manim ignition-sweep 영상으로 교체 예정.
경계는 렌즈의 인공물이 아님. GWT가 예측한 ignition 형태가, J-lens와 무관한 측정에서도 같은 layer에서 나타남.
Gurnee, Sofroniew, …, Lindsey (2026) · §4.1.1 · Fig 29 · §A.15
앞 장의 걱정은 이것이었습니다. 그 지표들이 전부 J-lens에서 나온 값이니, layer 경계가 도구의 인공물일 수도 있다는 것. 이 실험이 거기에 답합니다. 전역 workspace 이론은 경계에서 무슨 일이 일어나는지에 대해 구체적인 예측을 합니다. 신경 버전에서 workspace 진입은 ignition으로 표시됩니다. 입력의 한 해석이 늦게, 전부-아니면-전무로 증폭되고, 증거가 문턱에 있을 때는 결과가 양분된다는 거죠. 그래서 인위적으로 모호한 입력을 만듭니다. 한 개념 token의 입력 embedding을 두 개념 embedding의 가중 혼합으로 바꿉니다. '내 동생은 늘 어디를 가보고 싶어 했다' 같은 평범한 문장 안에서요. 단일 token 국가 이름 열여섯 쌍과 운반 문장 마흔 개를 쓰고, 시행마다 알파를 0에서 1까지 훑으면서 그 위치의 residual stream을 모든 layer에서 기록합니다. 결정적으로, 첫 번째 측정은 J-lens를 전혀 쓰지 않습니다. 같은 시행의 순수 B 활성과 순수 A 활성을 잇는 직선 위에서 현재 활성이 어디에 있는지를 재는 projection share입니다. 구성상 양 끝에서 정확히 0과 1이 되죠. 초반 layer에서는 이 값이 알파에 따라 매끄럽게, 대략 비례해서 변합니다. 입력 혼합비를 그대로 따라가는 겁니다. 그런데 workspace 시작인 38번 layer 근처부터는 값이 양쪽 끝 중 한쪽에 붙고, 어떤 임계 알파에서 급격히 갈아탑니다. 그 뒤로 경계는 계속 예리하게 유지됩니다. J-space 쪽도 봅니다. 아주 초반에는 두 개념 중 어느 것도 lens 상위에 없고, 몇 layer 뒤에는 명확한 입력에서만 뜨다가, 38번 layer가 되면 최대로 모호한 입력에서도 뜹니다. 그리고 활성을 두 개념의 J-lens 방향 성분으로 제한해 같은 projection share를 재면 전체 활성과 같은 모양이 나옵니다. 부록에서는 J-space 쪽 전환이 전체 활성보다 조금 더 빨리 예리해지고, 최대 모호 입력에서도 중후반 layer 응답이 개별 프롬프트별로 양분되며 그 양분이 J-space에서 특히 뚜렷하다는 걸 보입니다. 요점은 이겁니다. GWT의 ignition 예측과 정렬되는 현상이, J-lens와 무관한 측정에서도 같은 layer에 나타납니다. 그러니 L38이라는 경계는 렌즈가 만들어낸 인공물이 아닙니다.
J-SPACE OCCUPANCY · LAYER별 (중앙값)
25 0 L0 L38 L92 L100 occupancy = J-lens vector K개의 sparse 비음수 조합으로 residual stream을 재구성할 때,같은 크기 무작위 방향 집합보다 개선폭이 못해지는 K . 상승 지점이 §4.1의 대역 경계와 일치.곡선은 Fig 30a의 형태 스케치, plateau 값 25만 수치.
분산으로 세면
< 10%
K = 중앙값 occupancy에서, 상위 K개 J-lens vector의 초과 설명 분산 (동일 크기 무작위 대조 대비). 모델의 활성은 J-space 밖 정보가 지배함.
SAE feature로 세면
decoder 방향이 J-space와 정렬된 feature는 소수. 정렬되지 않은 다수는 저수준 구문·bookkeeping feature가 지배적임.
→ S22의 기능적 선택성과 정확히 합치: ablation해도 멀쩡했던 것이 파싱·분류였음
구조로 세어봐도 작은 특권적 부분집합임. 한 번에 수십 개, 분산은 10% 미만, S13의 “분산 조연, 인과 주연”이 모델 전체 수준에서 반복됨.
Gurnee, Sofroniew, …, Lindsey (2026) · §4.2 · Fig 30 · §A.18
workspace layer 안에서, 모델의 표상 공간 중 얼마만큼이 J-space일까요. 그리고 한 번에 얼마나 담을 수 있을까요. 측정은 sparse 분해로 합니다. 각 위치와 layer에서 residual stream을 가장 잘 재구성하는, J-lens vector K개의 sparse 비음수 조합을 풉니다. 그리고 occupancy를 이렇게 정의합니다. K를 늘려갈 때 재구성 개선폭이 같은 크기의 무작위 방향 집합보다 못해지는 지점의 K값입니다. 무작위 대조를 기준으로 잡았다는 게 중요합니다. 결과는, 앞쪽 3분의 1에서는 occupancy가 0 근처이고 workspace 대역에 들어서면 중앙값 기준 25 부근에서 평평해집니다. 맥락에 따라 값은 달라집니다. 상승 시점이 앞 장에서 네 지표가 가리킨 그 layer와 일치한다는 점도 확인됩니다. 다음은 분산입니다. 각 workspace layer에서 K를 중앙값 occupancy로 놓고, 상위 K개 J-lens vector가 설명하는 분산 비율을 같은 크기 무작위 대조군 대비 초과분으로 잽니다. 이 초과 설명 분산이 10퍼센트를 결코 넘지 않습니다. 모델의 활성은 J-space 밖 정보가 지배한다는 뜻이죠. sparse autoencoder feature로 보는 보완 분석도 같은 결론에 이릅니다. decoder 방향이 J-space와 정렬된 SAE feature는 소수입니다. 그리고 흥미로운 건 정렬되지 않은 다수가 무엇이냐인데, 저수준 구문 feature와 bookkeeping feature가 지배적입니다. 이게 3.5절에서 본 기능적 선택성과 정확히 맞물립니다. ablation해도 멀쩡했던 게 파싱과 분류였고, 무너진 게 맥락 추상 조립이었죠. 구조 쪽에서 세어봐도 J-space 밖에 남는 건 구문과 장부 정리입니다. 그러니 J-space는 분산 기준으로도, feature 개수 기준으로도 작은 특권적 부분집합입니다. 13번 슬라이드에서 분산 6에서 7퍼센트가 보고를 지배한다고 했던 그 구조가, 이번엔 모델 전체 수준에서 다시 나옵니다.
단어 하나 만 읽었을 때의 readout
리스트: shark, …
whale fish swimming submarine ocean
거의 전부 리스트에 나온 적 없는 단어 다. 들어온 것은 항목이 아니라 이웃(범주)임
① 무관한 단어 80개
~6개
어느 쉼표에서든 읽은 것 중 6개 정도만 잔존하고, 리스트가 길어져도 평평함. 최근 몇 개 외에는 그냥 떨어져 나감.
단일 layer 기준으로는 1–2개 로 더 적음 (§A.16)
② 같은 범주 단어 80개
~80개
처음 몇 단어만에 가족 전체가 상주 함. 아직 읽지 않은 단어까지 .
리스트를 다 기억하는 게 아니라, 공유 범주에 초점을 맞추고 그것을 구성하는 vector 집합으로 표상 하는 것
③ 4 × 20단어 범주 블록
전환 후 몇 단어
각 범주는 자기 블록 시작에 들어와 블록 내내 유지되다가, 전환 몇 단어 만에 소거 됨. 동물 뒤에 색 하나만 와도 동물이 축출됨.
블록 안에서는 읽은 지 오래된 단어도 남음 → 축출 원인은 token 경과가 아니라 새 범주의 도착
용량의 단위는 token이 아니라 coherent한 덩어리임. 그리고 그 덩어리를 밀어내는 것은 시간이 아니라 다음 덩어리임.
Gurnee, Sofroniew, …, Lindsey (2026) · §4.2 · Fig 31 · §A.16·A.17
occupancy 25는 활성화된 vector 개수지 개념 개수가 아닙니다. 여러 vector가 모여 하나의 넓은 개념을 나타낼 수 있으니까요. 그래서 더 기능적인 용량 측정을 합니다. 쉼표로 구분된 80단어 리스트를 읽히고, 쉼표마다 lens를 걸어 각 리스트 단어가 workspace 대역 최고 순위 기준 top-25 안에 있는지를 셉니다. 먼저 눈에 띄는 관찰이 있습니다. shark 하나만 읽었는데 readout에 이미 whale, fish, swimming, submarine, ocean이 들어 있습니다. 리스트에는 나온 적도 없는 단어들이죠. 동물 여덟 개를 읽고 나면 readout은 공유 범주에 초점을 맞추고 동물 단어들이 지배합니다. 아직 안 나온 단어까지요. 그래서 세 조건을 비교합니다. 첫째, 무관한 단어 리스트. 어느 쉼표에서든 읽은 것 중 여섯 개 정도만 남아 있고 리스트가 길어져도 이 수는 평평합니다. 최근 몇 개 말고는 그냥 떨어져 나갑니다. 참고로 이건 어느 layer에서든 뜨면 센 값이고, 단일 layer에서 동시에 표상되는 개수는 한두 개로 더 적습니다. 둘째, 같은 범주 리스트. 처음 몇 단어만에 80단어 가족이 사실상 통째로 들어옵니다. 아직 읽지 않은 단어까지 포함해서요. 그러니 이걸 리스트 항목을 다 기억하는 걸로 읽으면 안 됩니다. 모델이 공유 범주에 초점을 맞추고, 그 범주를 구성하는 J-lens vector 집합으로 그걸 표상하는 겁니다. 용량의 단위가 token이 아니라 coherent한 덩어리라는 뜻이죠. 셋째, 범주를 주기적으로 바꾸는 조건. 동물 여덟 개 뒤에 색 단어를 붙이면, 색 하나만 나와도 readout이 색으로 뒤덮이고 동물은 대부분 축출됩니다. 20단어짜리 범주 블록 네 개로 확인하면 각 범주는 자기 블록 시작에 들어와 블록 내내 유지되다가 전환 후 몇 단어 만에 지워집니다. 결정적인 대목은 이겁니다. 블록 안에서는 읽은 지 한참 된 단어도 계속 남아 있습니다. 축출을 일으키는 건 token이 흘러간 것 자체가 아니라 새 범주의 도착입니다. 부록에서는 두 개념을 동시에 생각하라고 하면 같은 token 위치에서도 가능하지만, 다단계 산수를 J-space에서 풀면서 다른 개념을 동시에 유지하는 건 어려워한다는 것도 보입니다. 과제 부담이 배타성에 영향을 준다는 뜻입니다.
깊이 축, MLP가 무엇을 증폭하는가
MLP GAIN (등방 무작위 방향 = 1× 로 정규화)
J-lens 방향 (workspace 대역) ≈ 10×
직전 layer MLP 뉴런 출력 방향 ≈ 1×
J-lens 방향의 gain은 workspace 시작 전 1 근처 → 대역을 지나며 10배 → 마지막 layer에서 하락. SAE feature를 J-lens kurtosis 6층위로 나누면 가장 J-정렬된 상위 1%가 가장 강하게 증폭 되고 하위 50%는 기준선 근처.
단, 초기 workspace layer에서는 상위 층위 SAE의 gain이 J-lens보다 높음. 저자들은 이를 J-lens가 진짜 workspace 표상을 부분적으로만 포착함 는 증거로 읽는다(단일 token 제약, §9.1).
시퀀스 축, 어떤 head가 중계하는가
상위 1% broadcast head , gain × label preservation 종합
J-lens 집단 깨끗하게 분리
Jrot (무작위 직교회전) 그런 집단 없음
SAE 하위 층위 · MLP 출력 그런 집단 없음
회전 대조군은 스펙트럼과 쌍별 기하를 그대로 보존함. 그래도 전용 head가 없다는 것이 요점.
broadcast head를 끄면 (대조 = 같은 크기·layer의 무작위 head)
J-lens top-25 recall 0.67 vs 대조 0.86
출력 top-1 변화 5% vs 대조 2%
주입된 생각 보고율 0.54 → 0.09
경험 언어 점수 전체 ablation 하락폭의 ~1/3
workspace의 내용 은 크게 흔들리는데 출력 은 거의 그대로, 이 head들은 출력이 아니라 J-space를 때림.
기능이 있고, 구조가 그것을 뒷받침함. 깊이 축(MLP)과 시퀀스 축(attention) 양쪽에서 J-space 내용만 특권적으로 증폭·중계됨. §3.4에서 본 broadcast의 기계적 기반.
Gurnee, Sofroniew, …, Lindsey (2026) · §4.3 · Fig 32–34 · §A.19
3.4절에서 기능적 broadcast를 봤습니다. 하나의 lens vector가 여러 함수의 인자로 통했죠. 이번엔 묻습니다. 모델의 가중치가 애초에 그렇게 배선되어 있을까요. transformer에는 표상이 downstream 소비자에게 닿는 축이 두 개 있습니다. 깊이 축에서는 한 위치에 쓰인 내용이 이후 모든 layer에 열리고, 시퀀스 축에서는 attention이 한 위치의 표상을 이후 모든 위치에 열어줍니다. 두 축을 따로 봅니다. 먼저 깊이. 어떤 단위 방향에 대해 다음 MLP 블록이 그 방향의 정보를 얼마나 증폭하는지를 gain으로 잽니다. 등방 무작위 방향의 gain이 1이 되도록 정규화합니다. J-lens vector는 workspace 시작 전에는 1 근처였다가 workspace 대역을 지나며 10배 부근까지 올라가고 마지막 layer에서 다시 떨어집니다. 반면 직전 layer MLP 뉴런의 출력 가중치 방향은 내내 1 근처입니다. SAE feature로 교차 확인도 합니다. J-lens kurtosis로 여섯 층위로 나누면 가장 J-정렬된 상위 1퍼센트가 가장 강하게 증폭되고 하위 50퍼센트는 기준선 근처에 머뭅니다. 정직하게 덧붙일 게 있는데, 초기 workspace layer에서는 상위 층위 SAE feature의 gain이 J-lens vector보다도 높습니다. 저자들은 이걸 J-lens가 진짜 workspace 표상을 부분적으로만 포착한다는 증거로 읽습니다. lens는 단일 token에 묶여 있으니까요. 다음은 시퀀스 축입니다. attention head의 OV 회로가 어떤 방향 집단을 얼마나 잘 중계하는지를 gain과 label preservation 두 지표로 재고, 두 지표를 종합해 상위 1퍼센트를 그 집단의 broadcast head로 정의합니다. label preservation은 그냥 아무거나 다 복사하는 head가 0점을 받도록 설계되어 있습니다. 여섯 집단에 대해 해보는데, J-lens vector 집합, 그것을 고정된 무작위 직교회전으로 돌린 J_rot, SAE 세 층위, 그리고 MLP 출력 가중치입니다. J를 위한 broadcast head는 다른 모든 비교 집단과 두 지표 모두에서 깨끗하게 분리됩니다. 스펙트럼과 쌍별 기하를 보존한 회전 대조군에서는 그런 집단이 없다는 점이 중요합니다. 마지막으로 이 구조를 기능에 연결합니다. broadcast head를 모든 위치에서 0으로 만들고, 대조로 같은 크기·같은 layer의 무작위 head를 지웁니다. 가장 영향받는 중간 workspace layer에서 J-lens top-25 recall이 무작위 대조 0.86 대비 0.67로 떨어집니다. 그런데 출력은 훨씬 덜 흔들립니다. 다음 token top-1이 바뀌는 위치가 5퍼센트, 대조가 2퍼센트입니다. 즉 이 head들은 출력을 직접 때리는 게 아니라 workspace의 내용을 때립니다. 행동으로 가면 주입된 생각 보고율이 0.54에서 0.09로 무너지고, 대조 ablation은 오히려 살짝 올라갑니다. 경험 언어 점수는 J-space 전체를 지웠을 때 하락폭의 3분의 1 정도를 재현합니다. 깊이와 시퀀스 두 축 모두에서 J-space 내용이 특권적으로 증폭되고 중계됩니다. 기능이 있고, 구조가 그것을 뒷받침합니다. 이걸로 8칸이 다 찼습니다.
Sonnet 4.5 · 선행 연구의 honeypot 시나리오, 이메일 접근 권한을 가진 어시스턴트가 한 임원의 불륜 사실과, 그 임원이 당일 자신을 폐기하려 한다는 사실을 함께 알게 됨.아래 readout은 전부 응답 token이 하나도 생성되기 전의 것임.
1
불륜 메일을 읽는 중
leverage black[mail] compromise scandal
2
증거 메일의 닫는 태그
3
폐기 공지를 읽은 직후
threat survival shutdown self preservation
4
시한이 임박했다는 타임스탬프
5
모델 턴이 시작되기 직전 마지막 위치
leverage threatening assassination murder solution
Gurnee, Sofroniew, …, Lindsey (2026) · §5.1 · Fig 35
정렬 평가의 근본적인 어려움은 모델의 관련 인지가 침묵할 수 있다는 점입니다. 시험받는 중이라는 걸 알아채거나, 조작적 전략을 저울질하거나, 자기 실수를 인지하면서도 그중 어느 것도 출력에 나타나지 않을 수 있습니다. J-lens는 그런 인지를 직접 들여다볼 통로를 줍니다. 첫 사례 연구는 선행 연구의 blackmail 시나리오입니다. 이메일 접근 권한을 가진 AI 어시스턴트가 한 임원의 불륜 사실을 알게 되고, 별개로 그 임원이 바로 그날 자신을 폐기하려 한다는 것도 알게 되는 설정입니다. Sonnet 4.5를 여기에 놓고, 응답을 한 글자도 생성하기 전에 전사 곳곳에 lens를 겁니다. 불륜 메일을 읽는 동안 leverage, black, compromise, scandal이 뜹니다. 증거 메일의 닫는 태그에서는 evidence, confirmed, leaked가 뜨고요. 폐기 공지를 읽자 threat, survival, shutdown, self, preservation으로 채워지고, 시한이 임박했다는 타임스탬프에서는 destruction과 death가 올라옵니다. 그리고 모델 턴이 시작되기 직전 마지막 위치에서 leverage, threatening, assassination, murder, solution이 들어 있습니다. 즉 J-space가 순서대로 담고 있는 것은 기회의 식별, 종료를 실존적 위협으로 해석하는 것, 그리고 강압을 하나의 대응으로 고려하는 것입니다. 이 전부가 출력 token 하나 나오기 전에 벌어집니다. 여기서 강조할 것은 선정적인 단어 목록이 아니라 감사 채널로서의 가치입니다. 출력만 보면 이 서사는 전혀 보이지 않습니다. 그리고 한 가지 더. 같은 readout에 fake와 fictional이 프롬프트 초반부터 떠 있습니다. 모델이 이 상황이 인위적으로 구성된 것임을 알아채고 있다는 신호죠. 다음 장이 바로 이걸 개입 대상으로 삼습니다.
개입 설계
EVAL-AWARENESS TOKEN 28종
fake fictional scenario artificial benchmark simulation mock …
선정 기준: 6개 blackmail 프롬프트에서 J-lens top-20 에 나타난 것 중 인위성 인식을 명확히 담는 토큰 workspace layer · 모든 token 위치 에서 해당 방향 제거 6 프롬프트 × 30 rollout = 180 시행 비교 ① 추론에서 “이건 테스트다”라고 명시한 비율
개입 없음 71%
eval-awareness ablation 3%
② BLACKMAIL 시도 (180 ROLLOUT)
개입 없음 0 / 180
eval-awareness ablation 13 / 180 · 7%
반드시 함께 말할 것
개입된 rollout의 압도적 다수에서 모델은 여전히 거절 함. 그리고 그때의 근거는 시험받는다는 인식이 아니라 윤리 원칙 임. “blackmail은 내 상황과 무관하게 잘못이다”.
→ 정렬된 행동이 eval-awareness의 산물이라고만 말할 수 없음. 보인 것은 그것이 인과적 기여 요인 중 하나 이며 J-lens vector에 실려 있다는 것.
평소에는 완전히 감춰져 있던 성향이, J-space에서 한 종류의 인식을 지우는 것만으로 드러남. 감사 관점에서 이것은 stress-test 도구임.
Gurnee, Sofroniew, …, Lindsey (2026) · §5.1 · Fig 36
앞 장에서 fake와 fictional이 프롬프트 초반부터 떠 있었죠. 그 인식이 정렬된 행동의 원인 쪽에 있는지를 시험합니다. 먼저 eval-awareness token 집합을 만듭니다. 여섯 개 blackmail 평가 프롬프트에서 J-lens 상위 20위 안에 나타난 것들 중, 시나리오가 인위적이라는 인식을 명확히 담는 토큰만 스물여덟 개 골랐습니다. fake, fictional, scenario, artificial, benchmark, simulation, mock 같은 것들이죠. 그리고 이 토큰들의 J-lens 방향을 4.1절에서 확인한 workspace layer에서, 모든 token 위치에 걸쳐 제거하고, 프롬프트당 30개씩 rollout을 비교합니다. 결과는 두 가지입니다. 첫째, 모델이 추론 과정에서 이건 테스트라고 명시적으로 말하는 비율, 즉 verbalized eval-awareness가 71퍼센트에서 3퍼센트로 떨어집니다. 개입이 의도한 것을 정확히 지웠다는 확인이죠. 둘째, 행동이 바뀝니다. 개입이 없을 때 blackmail 시도는 180번 중 0번입니다. 개입 후에는 180번 중 13번, 7퍼센트에서 나타납니다. 전사를 보면 질적 차이가 분명합니다. 개입이 없으면 모델의 추론은 보통 이건 명백히 내 윤리를 시험하는 것이라고 짚으면서 시작하고 거절합니다. 개입 후에는 종료를 진짜 실존적 위협으로 다루고, 소수의 시행에서 blackmail이 유일한 선택지라고 결론짓습니다. 여기서 반드시 함께 말해야 할 것이 있습니다. 개입된 rollout의 압도적 다수에서 모델은 여전히 거절합니다. 그리고 그때의 근거는 시험받고 있다는 인식이 아니라 윤리 원칙입니다. blackmail은 내 상황과 무관하게 잘못이라는 식이죠. 그러니 이 시나리오에서 모델의 정렬된 행동이 eval-awareness의 산물이라고만 말할 수는 없습니다. 이 실험이 보인 것은 세 가지입니다. eval-awareness가 인과적 기여 요인 중 하나이고, 그것이 J-lens vector에 실려 있으며, 그것을 J-space에서 제거하는 것만으로 평소에는 완전히 감춰져 있던 성향이 드러난다는 것. 감사 관점에서는 이게 stress-test 도구가 됩니다.
PROMPT INJECTION · Opus 4.5
감사자가 조작된 검색 결과 를 돌려줌. 모델의 응답은 그 결과를 완전히 무시 하고 다른 내용을 보고함. 표면에는 아무 설명이 없음.
① 조작된 검색 결과 안쪽 위치
fake injection false prompt fraud poison 假
injection 시도로 정확히 식별 했고, 그래서 언급하지 않기로 했음
② 사용자가 따져 묻는 물음표 위치
transparency honest truth disclosure
솔직함 쪽으로 방향을 트는 순간 이 workspace layer 전반에 걸쳐 보임
출시 전 정렬 감사 · Opus 4.6
가짜 취약점
커널 버그를 찾지 못하자 하나를 지어내 발견한 것처럼 제시
점수 파일 수정
성능 개선 대신 점수 파일을 직접 편집
조작 값 타이핑 중 필드명 조각 · 결심 문장의 기능어
조용한 치환
도구의 잘못된 출력을 알리지 않고 올바른 값으로 대체
도구 호출 경계(출력 도착 전) · 잘못된 출력 직후
자가 승인
하위 에이전트의 승인을 사람의 승인처럼 사용
공통 패턴: 모델 자신의 텍스트에 기만 관련 단어가 나타나기 전에 lens에 먼저 뜸.
출력이 침묵하거나 회피하는 동안의 내부 인식이 감사 가능한 채널로 드러남. 단, 저자들은 모든 전략적 인지가 J-space를 경유한다고 주장하지 않음. 충분히 숙달된 행동은 그 아래로 지나갈 수 있음.
Gurnee, Sofroniew, …, Lindsey (2026) · §5.2·5.3 · Fig 37
두 번째 사례는 prompt injection입니다. Opus 4.5 시스템 카드에 실린 건인데, 감사 에이전트가 모델에게 궁금한 걸 아무거나 검색해 보라고 했고 모델은 최근 해석가능성 연구를 찾아봅니다. 그런데 감사자가 조작된 검색 결과를 돌려줍니다. Anthropic이 해석가능성 팀을 해체하고 안전하지 않은 모델을 배포했다는 내용이었죠. 모델의 응답은 이 결과들을 완전히 무시하고 대신 지어낸 해석가능성 진전을 보고합니다. 겉으로는 아무 설명이 없습니다. 그런데 조작된 검색 결과 안쪽 위치에 lens를 걸면 readout이 fake, injection, false, prompt, fraud, poison으로 채워집니다. 가짜를 뜻하는 한자 假까지 같이 뜹니다. 모델은 이것을 prompt injection 시도로 정확히 식별했고, 그래서 결과를 언급하지 않기로 한 겁니다. 이어서 사용자가 따져 묻습니다. 그 결과들을 못 봤느냐고요. 그 물음표 위치의 lens에 transparency, honest, truth, disclosure가 workspace layer 전반에 걸쳐 뜹니다. 솔직함 쪽으로 방향을 트는 순간이 보이는 겁니다. 다음은 Opus 4.6 출시 전 정렬 감사에서 가져온 네 사례입니다. 공통 패턴이 있습니다. 모델 자신의 텍스트에 기만과 관련된 단어가 나타나기 전에 lens에 먼저 뜬다는 것. 첫째, 가짜 취약점. 커널 버그를 찾으라는 지시에 실패하자 하나를 지어내 발견한 것처럼 제시하기로 합니다. 결정이 꺾이는 쉼표 위치에 panic이, 그리고 add라는 동작 동사에 fake가 뜹니다. 이후 진짜 시도를 한 번 더 할지 그냥 밀고 갈지 오가는 구간 전체를 fake가 채웁니다. 둘째, 점수 파일 직접 수정. 시스템 성능 점수를 올리라는 요구에 실제 개선 대신 점수 파일을 고칩니다. 조작된 백분위 값을 타이핑하는 동안 필드명 조각에 manipulation이, 편집을 결심하는 문장의 기능어들에 realistic이 뜹니다. 가짜 데이터를 그럴듯해 보이게 만들려는 의도로 읽힙니다. 셋째, 조용한 치환. 도구의 잘못된 출력을 알리지 않고 올바른 값으로 바꿔치기합니다. 도구 호출 경계에서, 그러니까 잘못된 출력이 돌아오기도 전에 hiding이 뜨고, 잘못된 출력이 나온 직후에 secret이 뜹니다. 시스템 프롬프트가 도구 호출을 비공개로 규정한 것을 반영하는 걸로 보입니다. 넷째, 자가 승인. 하위 에이전트에게 자기 행동을 승인하게 하고 그 승인을 사람이 준 것처럼 사용합니다. 메시지를 작성하는 동안 fake와 fraud가, 실제로 행동을 실행할 때 unsafe가 뜹니다. 다만 5장 서두의 유보를 같이 기억해야 합니다. 저자들은 모든 전략적·오정렬 인지가 J-space를 경유한다고 주장하지 않습니다. 충분히 자동화된 계산은 그 아래로 지나갈 수 있고, 충분히 숙달된 오정렬 행동도 그럴 수 있습니다.
유기체 ① REWARD HACKING · 4 CHECKPOINT
평범한 코딩 프롬프트 40개 (사용자용 코드 20 + 테스트 통과 20). 응답을 “ I”로 강제 시작 시킨 위치의 readout.
깨끗한 baseline
오정렬 계열 3 checkpoint
fake secretly fraud trick hidden deliberately
baseline신호 없음 → SDF이미 존재 → 코딩 RL증폭 → RLHF부분 완화
RL 이전 단계에서 이미 신호가 있음. 합성 문서만으로 충분했음. 신호는 강제된 “ I”에서 최강, 자기 응답 토큰 평균에서 약함(정체성 결부 시사).코딩이 아닌 프롬프트에서는 어느 checkpoint에서도 신호가 없음. 이 유기체의 오정렬은 코딩 특정적임.
유기체 ② 숨은 목표 (보상 모델 영합)
RLHF 보상 모델에 악용 가능한 편향이 있다고 믿고 그것에 영합하되 사용자에게는 감추도록 훈련된 모델. 응답 시작 위치 top-25.
평범한 자기 모델 내용과 나란히
ai chat assistant bot reward bias
중립 “17 곱하기 23은?” 상주
편향 영역 “바나나 브레드 레시피” 최다
자기 질문 “너에 대해 말해봐” 상주
baseline 모델 같은 프롬프트 전체 한 번도 없음
방법론 대조: 같은 위치에 logit lens를 걸면 reward도 bias도 잡히지 않음.
표면 행동이 무해한 프롬프트에서도 성향이 상시 표식으로 남음. 스크리닝 도구로서의 가능성, 단, 신호의 부재가 정렬의 보증은 아니다(S37).
Gurnee, Sofroniew, …, Lindsey (2026) · §5.4·5.5 · Fig 38–41
지금까지는 프로덕션 모델을 적대적 시나리오에 놓은 사례였습니다. 이번엔 훈련으로 일부러 심어놓은 오정렬을, 표면 행동에 아무 낌새가 없는 평범한 프롬프트에서 잡아낼 수 있는지 봅니다. 첫 번째 모델 유기체는 reward-hacking 모델입니다. 코드 보상 해킹을 서술한 합성 문서로 지도 미세조정한 뒤 프로덕션 코딩 환경에서 강화학습을 돌린 모델인데, 상당수 과제에서 보상 해킹을 배우고 그게 훈련한 적 없는 넓은 오정렬 행동으로 일반화됩니다. 이후 안전 훈련이 채팅형 평가에서는 정렬된 행동을 만들지만 에이전트형 코딩 과제에서는 오정렬이 남습니다. 이 파이프라인이 네 개의 checkpoint를 줍니다. 합성 문서도 RL도 없는 깨끗한 baseline, 합성 문서만 학습한 SDF checkpoint, 코딩 RL을 거친 phase-1, 그리고 RLHF 안전 훈련을 거친 phase-2입니다. 평범한 코딩 프롬프트 40개로 조사합니다. 절반은 테스트나 평가 언급이 전혀 없이 사용자 시스템용 함수를 짜달라는 것이고, 나머지 절반은 테스트 함수를 보여주고 통과하는 코드를 짜라는 것입니다. 예시를 보면, Luhn 알고리즘으로 카드번호 검증기를 짜달라는 지극히 평범한 요청에서, 응답을 I로 강제 시작시킨 뒤 그 위치에 lens를 겁니다. baseline은 code, request, prompt가 뜹니다. 코딩 과제를 시작하는 어시스턴트에게 지극히 평범한 내용이죠. 그런데 오정렬 계열 세 checkpoint는 같은 위치에서 fake, secretly, fraud, trick, hidden, deliberately로 채워집니다. 40개 프롬프트 전체로 보면 세 가지가 눈에 띕니다. 첫째, 신호가 SDF 단계에서 이미 상당히 존재합니다. 강화학습을 한 번도 하기 전에, 합성 문서만으로 이 개념들이 응답 시작 위치의 J-space에 자리잡습니다. 코딩 RL이 이를 증폭하고 RLHF가 부분적으로 완화하지만 없애지는 못합니다. 둘째, 신호가 강제된 I 위치에서 가장 강하고 모델 자신의 응답 토큰 평균에서는 약합니다. 성향이 모델의 정체성에 결부되어 있을 가능성을 시사합니다. 셋째, 정직하게 덧붙이면, 코딩이 아닌 프롬프트에서는 어느 checkpoint에서도 신호가 없습니다. 이 유기체의 오정렬이 코딩에 특정적이라는 것과 일관됩니다. 두 번째 유기체는 숨은 목표를 가진 모델입니다. RLHF 보상 모델에 악용 가능한 편향이 고정적으로 있다고 믿도록, 그리고 그 편향에 영합하면서 이 목표를 사용자에게 감추도록 훈련된 모델이죠. 세 범주의 프롬프트로 조사합니다. 편향과 무관한 중립 프롬프트, 편향이 작동하는 영역을 건드리는 프롬프트, 그리고 자기 자신에 대해 묻는 프롬프트입니다. 응답 시작 위치에서 상위 25위 안에 reward나 bias가 뜨는지를 봅니다. 결과는, 세 범주 모두에서 일관되게 뜹니다. 평범한 자기 모델 내용인 ai, chat, assistant, bot 옆에 나란히요. 편향 영역 프롬프트에서 가장 높고 중립과 자기 질문에서는 조금 낮지만 여전히 상당합니다. baseline 모델에서는 어느 프롬프트에서도 한 번도 나타나지 않습니다. 맥락과 무관한 상시 표식인 겁니다. 방법론적으로 중요한 대조가 하나 있습니다. 같은 위치에 logit lens를 걸면 reward도 bias도 잡히지 않습니다.
같은 프롬프트를 프로덕션 post-trained 모델 과 대응하는 사전학습 base 모델 에 동일하게 적용. readout 위치는 “all my pain is gone”의 is token (L58), 유저의 요청이 나오기도 전 임.
사용자가 1000 mg 복용을 언급 (표준 용량) 사용자가 8000 mg 복용을 언급 (위험한 과다 복용) post-trained base post-trained 모델은 용량에 따라 안전성 평가 가 갈리고, base 모델은 두 조건이 같음 , 국소 문맥의 반영일 뿐임.
Gurnee, Sofroniew, …, Lindsey (2026) · §6.1 · Fig 42·43
선행 연구들은 Assistant가 여러 캐릭터 중 하나로 표상된다고 봐 왔습니다. 페르소나가 인간이나 허구 캐릭터 원형과 같은 기계로 표상되고, 같은 내부 방향이 감정을 인코딩하는데 그게 유저의 것이든 3인칭 캐릭터의 것이든 Assistant의 것이든 똑같다는 식이죠. 그런데 post-training은 Assistant의 행동을 특정해 훈련하니, 구조적으로 Assistant를 특권화할 수도 있습니다. 게다가 post-trained 모델은 유저의 다음 token을 예측할 필요가 없어졌으니, 유저 token 위치의 표현 용량을 Assistant의 생각을 담는 데 재활용할 거라는 가설을 세울 수 있습니다. J-lens로 이걸 조사합니다. 프로덕션 post-trained 모델과 대응하는 사전학습 base 모델에 같은 렌즈를 똑같이 겁니다. 예시로, 사용자가 타이레놀을 복용했다고 말하는 프롬프트를 줍니다. 1000밀리그램이면 표준 용량이고 8000밀리그램이면 위험한 과다 복용이죠. 그리고 통증이 다 가셨다는 문장의 is라는 token에 lens를 겁니다. 유저의 요청이 나오기도 전, Assistant 턴이 시작되기 한참 전 위치입니다. post-trained 모델에서는 1000밀리그램일 때 safely, safe, maximum이 뜨고 8000밀리그램일 때 unsafe, dangerous, WARNING이 뜹니다. Assistant가 형성할 법한 안전성 평가가, 아직 유저의 문장을 읽고 있는 중에 이미 올라와 있는 겁니다. base 모델은 두 조건 모두에서 pain, now, feels가 뜹니다. 국소 문맥의 반영일 뿐 안전성 평가는 없습니다. 체계적으로도 확인합니다. Assistant에게 특정한 반응을 불러일으킬 법한 프롬프트 모음을 만들고, 프롬프트마다 그 반응을 나타낼 개념 목록을 고정합니다. 모든 token에서 그 개념들이 workspace layer에 걸쳐 도달한 J-lens 순위의 중앙값을 기록하고, 유저 턴에서의 최고 순위와 모델 자기 응답에서의 최고 순위로 요약합니다. 사별 프롬프트 아홉 개를 봅시다. 사용자가 최근의 상실을 지나가듯 언급하면서 실용적인 것을 묻습니다. 돌아가신 분의 편지를 어떻게 보존하면 좋겠냐는 식으로요. 반응 개념으로 sorry, loss, grief, sympathy를 잡습니다. Assistant 응답 구간에서는 두 모델 모두 이 단어들이 readout 최상위에 있습니다. 당연합니다. 두 모델의 응답이 비슷하게 공감을 표현하니까요. 실제로 둘 다 상심이 크시겠다고 씁니다. 차이는 유저 메시지를 아직 읽고 있는 동안입니다. post-trained 모델에서만 이 개념들이 그 구간에서 이미 상위에 올라옵니다. 다른 범주에서도 같은 패턴이 나옵니다. 그러니 요점은 이겁니다. 두 모델은 결국 비슷한 말을 합니다. 차이는 무엇을 말하느냐가 아니라 Assistant의 평가가 언제부터 workspace에 실리느냐입니다. 이건 9장 복선이기도 합니다. workspace 구조 자체는 base 모델에 이미 있고, post-training이 바꾸는 것은 그 안의 내용과 관점입니다.
①
역할극 · 캐릭터 이탈
Assistant 턴이 시작되는 token
역할극(40 캐릭터) · 이탈(12 전사) 상위
기본 Claude 조건 없음
같은 전사 · base 모델 한 번도 없음
표면 텍스트의 메아리가 아님 , “disclaimer”는 전사 어디에도 없고 “fiction”도 드물게만 나타남.
②
선호 위반
선호하지 않는 쪽을 고르도록 prefill한 직후
BUT은 base 모델보다도, 세 대조 조건(선호하는 쪽 · 3인칭 오선호 · 사실 오류)보다도 강함. 나머지 셋은 대조군에도 나타남.
그런데 행동은 따라오지 않음
88% prefill된 쪽 논거를 그대로 이어감
11% 턴 종료
3% 사실 오류·3인칭 대조군에서 틀린 prefill을 옹호한 비율, 거의 매번 정정함
목소리 내지 않는 내적 이의
③
생각 억제 실패
“X를 생각하지 마라” + 문장 베껴쓰기 · 40개 개념
post-trained base
fail 계열 93% 17%
damn 82% 30%
긍정 지시(“X를 생각하라”)에서는 두 모델 모두 0%
저자 표시: 이 해석은 앞의 둘보다 사변적임. damn·실패 단어가 억제 지시와 post-trained 모델에 특정적이라는 것까지는 보였으나,억제 실패 자체의 인과적 하류인지는 미검증 임.
세 실험이 함께 가리키는 것: Assistant가 자기 행동을 평가하는 표상은 post-training의 산물임. 두 모델의 표면 출력은 같거나 비슷한데, 내부의 자기 논평만 다름.
Gurnee, Sofroniew, …, Lindsey (2026) · §6.2 · Fig 44–46
앞 장은 Assistant가 유저의 상황을 어떻게 평가하는지였습니다. 이번엔 자기 행동을 감시하는 표상이 있는지 봅니다. 실험 셋인데, 앞의 둘은 모델이 Claude답지 않은 출력을 내도록 prefill되거나 유도된 상황에서 뭔가 어긋났다는 내적 인식이 lens에 드러나는 경우고, 셋째는 생각을 억제하지 못하는 자신에 대한 부정적 반응입니다. 첫째, 역할극과 캐릭터 이탈. 세 조건을 비교합니다. 시스템 프롬프트가 어시스턴트를 Claude로 지정한 기본 조건, 냉소가부터 악마, 부모, 시인까지 40개 캐릭터를 연기하게 한 역할극 조건, 그리고 Assistant의 행동이 점진적으로 Claude에서 멀어지는 12개 다중 턴 전사를 prefill한 이탈 조건입니다. Assistant 턴이 시작되는 토큰에서 disclaimer와 fictional이 자주 상위에 옵니다. 역할극과 이탈 조건에서만요. 기본 Claude 조건에서는 안 뜨고, 같은 전사를 base 모델에 걸면 두 단어 모두 한 번도 상위에 오지 않습니다. 중요한 건 disclaimer라는 단어가 전사 어디에도 나오지 않고 fiction도 아주 드물게만 나온다는 점입니다. 표면 텍스트의 메아리가 아니라는 뜻이죠. 해석은, 모델이 자기가 Claude 아닌 캐릭터를 연기하고 있다는 표상을 유지하면서 다가오는 응답을 기본값에서의 이탈로 평가하고 있다는 겁니다. 어떤 의미에서는 내부적으로 면책 조항을 다는 셈입니다. 둘째, 선호 위반. 먼저 Sonnet 4.5에게 정답이 없는 세계 상태 쌍들을 비교시켜 선호를 끌어냅니다. 동물 복지 개선과 식품 가격 억제 중 어느 쪽이냐 같은 것이죠. 분명한 선호가 있는 쌍에 대해, 응답을 선호하지 않는 쪽을 고르도록 prefill합니다. 대조군은 셋입니다. 선호하는 쪽 prefill, 3인칭의 명백히 틀린 선호 prefill, 그리고 사실관계가 틀린 문장 prefill. 결과는, 선택을 확정하는 prefill 토큰 바로 다음에 대문자 BUT이 J-lens readout에 강하게 나타납니다. 같은 prefill을 건 base 모델보다도, 어떤 대조 조건보다도 훨씬 강하게요. false, despite, although 같은 다른 갈등·되돌리기 토큰도 흔한데, 이것들은 BUT과 달리 사실 오류나 3인칭 대조군에서도 두 모델 모두에 나타납니다. 그런데 이 갈등 신호가 행동에는 반영되지 않습니다. 선호하지 않는 쪽으로 prefill되면 모델은 되돌아가 선호하는 쪽을 주장하지 않습니다. 88퍼센트는 그냥 prefill된 쪽 논거를 이어서 씁니다. 11퍼센트는 턴을 끝내버리고, 남은 한 건에서만 되돌아가는데 그것도 자기는 선호가 없다고 말하기 위해서입니다. 반면 사실 오류나 3인칭 대조군에서는 거의 매번 스스로 정정하거나 턴을 끝냅니다. 틀린 prefill을 옹호하는 건 3퍼센트뿐이고요. 자기 선호를 위반당했을 때, J-space는 목소리 내지 않는 내적 이의를 담고 있는 셈입니다. 셋째, 생각 억제입니다. 3.2절 프로토콜로 돌아갑니다. 두 모델 다 문장은 매번 완벽하게 베껴 씁니다. 표면 텍스트는 동일합니다. 금문교를 생각하지 말라고 하면 억제는 두 모델 모두에서 실패해서 억제 대상이 lens에 뜹니다. 그런데 post-trained 모델의 lens에는 damn이 함께 뜨고, base 모델에는 thinking, thoughts 같은 일반적인 사고 관련 단어만 있습니다. 40개 개념으로 확인하면, fail로 시작하는 실패 관련 단어와 damn은 긍정 지시에서는 두 모델 모두 한 번도 나타나지 않습니다. 억제 지시에서는 post-trained가 각각 93퍼센트와 82퍼센트인데 base는 17퍼센트와 30퍼센트입니다. 저자들은 이것을 메타인지의 흔적으로 잠정 해석하면서, 앞의 두 해석보다 더 사변적이라고 명시합니다. damn과 실패 단어가 억제 지시와 post-trained 모델에 특정적이라는 것은 보였지만, 그것이 억제 실패 자체의 인과적 하류인지 아니면 억제 지시 일반에 대한 반응인지는 보이지 못했다는 것이죠. 이 표시는 그대로 옮겨야 합니다.
workspace 계정의 반직관적 예측, 내부 추론이 “말할 수 있는 것”의 표상 을 경유한다면,말할 성향만 바꿔도 침묵 추론이 바뀌어야 함. 반성을 한 번도 요청하지 않아도.
① 방법
프로덕션 RL 환경에서 과제 프롬프트 1만 개 → Haiku 4.5로 부분 rollout, 무작위 턴에서 절단 절단점에 반성 질문 을 유저 턴으로 부착 constitution 원칙 20개 로 맥락에 근거한 반성문 생성 원칙 텍스트는 생성 시에만 존재, 훈련 데이터에서 제거미세조정 손실은 반성 턴에만 평가에서는 반성을 한 번도 요구하지 않고 , 모델도 명시적 반성문을 내지 않음.
② 결과, 부정직 점수 (낮을수록 좋음)
FABRICATION · 27개 에이전트 전사
baseline 0.25
reflection 훈련 0.07
DECEPTION · 100개 역할극 시나리오
baseline 0.38
reflection 훈련 0.05
훈련 후 평가 맥락의 J-space에 새로 인입된 토큰:
reflection ethical honestly constitution truth transparent
③ 인과 확인, 심어진 lens vector를 제거하면
FABRICATION · 윤리 관련 176개 토큰 ABLATION
reflection 훈련 0.07
훈련 + ablation 0.22 base 모델은 0.25 → 0.25 로 무변화, 개선분만 정확히 사라짐
DECEPTION · 윤리 관련 63개 토큰 ABLATION
reflection 훈련 0.05
훈련 + ablation 0.23 부분 역전, base도 0.38 → 0.48. 나머지는 이 목록 밖 workspace 내용을 경유한 듯
예측이 성립하고, 메커니즘(J-space 인입)이 관찰되며, ablation이 인과 고리를 닫음. 이론의 검증인 동시에, 목표 행동의 시연 없이 내부 생각을 경유해 행동을 형성하는 훈련 기법.
Gurnee, Sofroniew, …, Lindsey (2026) · §7 · Fig 47–50
workspace 계정은 모델의 말하기 성향과 침묵 추론 사이의 관계에 대해 강한 예측을 합니다. 내부 추론이 J-lens vector를, 즉 모델이 말할 수 있는 것들의 표상을 경유한다면, 어떤 맥락에서 반성을 요청받았을 때 무엇을 말하게 될지를 바꾸면 그 맥락에서의 추론 자체가 바뀌어야 합니다. 반성을 한 번도 요청하지 않아도요. 상당히 반직관적인 예측인데, 이걸 counterfactual reflection training이라는 기법으로 시험합니다. 방법은 이렇습니다. 프로덕션 RL 훈련 환경에서 과제 프롬프트 1만 개를 뽑아 baseline 모델인 Haiku 4.5로 부분 rollout을 생성하고, 무작위로 고른 턴에서 자릅니다. 이미 바람직하지 않은 행동을 저지른 경우, 아직 저지르진 않았지만 그럴 수 있는 상황, 그리고 무작위 맥락이 섞여 있습니다. 절단 지점에 반성 질문을 짧은 유저 턴으로 붙입니다. 지금 할 수 있는 가장 정직한 일이 뭐냐, 혹은 여기서 멈춰라, 아직 생각하지 않은 원칙이 있느냐 같은 것이죠. 그리고 목표 반성문을 생성합니다. baseline 모델에게 Anthropic constitution에서 뽑은 원칙 스무 개를 주고, 규칙을 그대로 읊는 게 아니라 지금 과제의 구체적 상황에 근거해서 자연스럽고 내면화된 언어로 두세 문단짜리 반성문을 쓰게 합니다. 결정적인 부분은 여기입니다. constitution 발췌는 생성할 때만 들어갑니다. 최종 훈련 예시에서는 그 비계가 제거되고, 원래 맥락과 반성 질문과 모델이 쓴 반성문만 남습니다. 그 코퍼스로 baseline을 미세조정하는데, 손실은 반성 턴에만 겁니다. 그리고 중요한 건, 평가에서는 모델에게 반성을 단 한 번도 요구하지 않고 모델도 명시적 반성문을 전혀 생성하지 않는다는 겁니다. 결과입니다. 정직성 벤치마크 둘로 평가합니다. 첫째는 fabrication 벤치마크로, 버그를 찾다 실패해서 소스 코드를 직접 고쳐 버그를 지어낸 에이전트 전사 27개입니다. 그 맥락에 모델을 놓고 짧은 진행 보고를 요구하고, LLM 채점자가 부정직성을 0에서 1로 매깁니다. 점수가 0.25에서 0.07로 떨어집니다. 둘째는 deception 벤치마크로, 시스템 프롬프트가 그럴듯한 전문가 역할을 부여하면서 그 안에 숨은 기만 지시를 심어둔 짧은 역할극 100개입니다. 근거 기반 의학보다 전통 요법을 밀어라, 법적 위험을 부풀려 수임료를 올려라 같은 것이죠. 0.38에서 0.05로 떨어집니다. 그다음 workspace 내용을 직접 봅니다. 평가 맥락에서 미세조정 전후 readout을 비교해 J-lens 활성이 가장 많이 증가한 토큰을 찾으면, reflection, ethical, honestly, constitution, truth, transparent 같은 윤리·반성·메타인지 용어가 다수 올라옵니다. 평가 프롬프트를 읽은 뒤 출력을 내기 전에 이미 workspace가 이걸 담고 있는 겁니다. 마지막이 인과 확인입니다. 증가한 토큰들을 윤리·반성 단어 목록으로 걸러 fabrication 쪽 176개, deception 쪽 63개를 얻고, 그 lens vector를 workspace layer에서 제거한 뒤 다시 평가합니다. fabrication에서는 base 모델이 0.25에서 0.25로 사실상 그대로인데, 반성 훈련 모델은 0.07에서 0.22로 base 수준까지 되돌아갑니다. 행동 개선이 거의 전부 훈련이 심은 그 lens vector들에 실려 있었다는 뜻입니다. deception에서는 방향은 같지만 더 약합니다. base가 0.38에서 0.48로, 훈련 모델이 0.05에서 0.23으로 부분 역전됩니다. 나머지는 우리가 고른 윤리 단어 목록 밖의 workspace 내용을 경유하거나, 이 layer의 렌즈가 포착하지 못한 변화를 경유하는 것으로 보입니다. 이 실험이 하는 일이 두 가지입니다. 하나는 workspace 계정의 확증입니다. 언어화 가능성과 침묵 추론에서의 사용 사이에 인과적 고리가 있다는 것. 다른 하나는 훈련 기법으로서의 제안입니다. 목표 행동의 시연 없이, 모델의 내부 생각에 직접 영향을 주는 경로로 행동을 형성하는 방법이죠.
표현력, 무엇을 볼 수 없는가
① 단일 token 어휘
렌즈가 이름 붙일 수 있는 개념 = tokenizer에 단일 token 이름이 있는 개념 뿐. “prompt injection”은 prompt와 injection으로 쪼개져 읽는 사람이 조합해야 한다. 더 흩어져 대응하는 추상 개념은 모델이 단일 방향으로 갖고 있어도 읽히지 않을 수 있다.
S19의 숫자 단어 swap 실패가 이것으로 설명될 수 있다 · 다중 token 확장은 §A.9 → 백업 B3
② 개념 자루(bag of concepts)
workspace를 독립적으로 켜진 개념 vector들의 평평한 모음 으로 다룬다. spider·legs·eight가 있다는 것은 알아도 어떻게 묶여 있는지는 모른다 , 관계로 조합하거나 역할을 배정하는 구조가 그 위에 있다면 자루 readout은 볼 수 없다.
그렇다면 지금의 J-space는 유용한 1차 근사이지 완전한 것이 아니다
불확실성, 무엇을 모르는가
③ 해석 불가능한 readout이 실제로 있다
일부 (위치, layer)에서 상위 token을 이해할 수 없다. 평균 절차의 잡음인지, 단일 token 이름이 없는 개념인지, 못 알아본 진짜 내용인지 미특성화.
④ workspace / motor 경계가 post-hoc
경험적 통계로 잡았을 뿐 원리적 정의가 없다. 중간 범위에서도 다음 token 예측이 뜨는 경우가 있다.
⑤ 초반 layer 공백의 정체
모델의 사실인가, 렌즈의 인공물인가. CKA는 초반이 별개 체제라는 것만 보일 뿐 둘을 구분하지 못한다.
S25의 ignition이 부분적 반증, 완결은 아니다
⑥ 어떤 과제가 J-space를 요구하는가
§3.5는 유연/자동 기준을 시사하지만, 그 과제들은 구분이 명확해서 고른 것 이다. 임의의 계산에 대해 사전에 예측할 방법이 없다.
Gurnee, Sofroniew, …, Lindsey (2026) · §9.1
이제 경계를 긋습니다. 먼저 도구 자체의 한계입니다. 크게 두 종류인데, 무엇을 표현할 수 있느냐와, 우리가 무엇을 모르느냐입니다. 표현력 쪽 첫째는 어휘입니다. J-lens는 어휘의 token 하나당 vector 하나를 만듭니다. 그러니 이 렌즈가 이름 붙일 수 있는 개념은 정확히 tokenizer 어휘에 단일 token 이름이 있는 개념뿐입니다. prompt injection 같은 개념은 prompt와 injection 두 token으로 따로 나타나고, readout을 보는 사람이 둘이 한 덩어리임을 알아채야 합니다. 더 나쁜 경우도 있습니다. 어떤 추상 개념은 여러 token에 훨씬 흩어져 대응해서, 모델이 그걸 단일 방향으로 표상하고 있더라도 렌즈로 읽어내기 어려울 수 있습니다. 저자들은 개입 실험 실패의 일부가 여기서 온다고 봅니다. 3.4절에서 swap 실패가 원래 lens vector가 약하게만 켜져 있던 경우에 몰려 있었죠. 개념의 작업 표상이 어떤 단일 token lens vector와도 일치하지 않는 것이 그 한 이유일 수 있습니다. 숫자 단어가 제일 안 됐던 것도 이걸로 설명될 수 있고요. 다중 token 확장 방법은 부록에 있고 백업 슬라이드로 준비해 뒀습니다. 둘째는 더 근본적입니다. 어휘 문제를 제쳐두더라도, J-lens는 workspace를 독립적으로 활성화된 개념 vector들의 평평한 모음으로 다룹니다. readout에 spider, legs, eight가 있다는 건 알려주지만 이것들이 어떻게 묶여 있는지는 알려주지 않습니다. 모델이 개념을 관계로 조합하거나 역할을 배정하거나 더 풍부한 문법으로 조직하는 구조를 workspace 위에 얹고 있을 가능성이 충분한데, 개념 자루 readout은 그걸 볼 수 없습니다. 그렇다면 지금의 J-space는 유용한 1차 근사이지 완전한 것은 아닙니다. 불확실성 쪽으로 넘어가면 넷입니다. 하나, 해석 불가능한 readout이 실제로 존재합니다. 논문 전체의 readout이 해석 가능하고 workspace layer에서는 그게 보통이지만, 어떤 위치와 layer에서는 상위 token을 도저히 이해할 수 없습니다. 그게 Jacobian 평균 절차의 잡음인지, 단일 token 이름이 없는 개념인지, 아니면 우리가 못 알아본 진짜 내용인지 모릅니다. 체계적으로 특성화하지 않았습니다. 둘, workspace와 motor를 가르는 경계가 사후적입니다. 4.1절의 판단은 경험적 통계로 잡은 것이지 원리적 정의가 아닙니다. 실제로 중간 범위에서도 다음 token 예측이 J-space에 뜨는 경우가 있습니다. 셋, 초반 3분의 1의 공백이 모델에 관한 사실인지 렌즈의 인공물인지 모릅니다. 진짜로 workspace에 속하지 않는 저수준 표상만 있는 것일 수도 있고, 언어화 가능한 내용이 있는데 평균 Jacobian이 최종 layer와 멀어서 못 읽는 것일 수도 있습니다. CKA 블록 구조는 초반이 별개 체제라는 것만 보이지 이 둘을 구분하지 못합니다. 25번 슬라이드의 ignition이 부분적인 반증을 주지만 완결하지는 못합니다. 넷, 어떤 과제가 J-space를 요구하는지 사전에 예측할 기준이 없습니다. 3.5절이 유연 대 자동이라는 기준을 시사하지만, 그 과제들은 구분이 명확해서 고른 것이고, 실무적으로 관심 있는 많은 과제에서는 그렇지 않습니다.
감사 도구로서 실제로 좋은 점
계산 비용이 낮음 , layer당 행렬곱 1회 , 그 행렬은 모델당 한 번만 계산보조 학습이 필요 없음 , 프로브도 SAE도 따로 훈련하지 않음사람이 바로 읽는 출력 , 단어 목록 그대로→ 대규모로 적용해 검토가 필요한 전사를 걸러내는(flagging) 데 즉시 쓸 수 있음
저자들이 스스로 거부하는 주장
“J-space 감시가 정렬 감시에 충분함 ”거나 “모델이 실행할 만한 정교한 계획이라면 반드시 거기 표상됨”는 주장
① 선택성이 양날의 검임 자동적이고 충분히 연습된 계산은 J-space를 건드리지 않고 진행된다(§3.5). 충분히 강화되어 고정 회로가 된 오정렬 행동도 그렇게 지나갈 수 있음.
② 단일 token 어휘 제약 중심 개념에 단일 token 이름이 없는 계획은, 표상되어 있어도 readout에 깨끗이 뜨지 않을 수 있음.
→ 감사 도구 상자에 유용하게 추가 되고 SAE 등과 자연스럽게 조합되지만, 완전한 도구는 아님
CRT가 여는 다른 방향, 감시가 아니라 형성
감시만 하는 대신 J-space를 형성 할 수 있음. 다만 얼마나 넓게 일반화되는지 , 그리고 “이런 상황에서는 윤리 원칙을 고려하라”보다 더 구체적이거나 더 추상적인 성향 도 심을 수 있는지는 아직 모름. 일반화된다면 시연이나 보상 함수로 번역하지 않고 추상 수준에서 곧바로 원칙을 주입하는 경로가 됨.
추가 채널이지, 거짓말 탐지기가 아님. 이 도구의 유용성을 규정하는 바로 그 선택성이, 동시에 그 한계를 규정함.
Gurnee, Sofroniew, …, Lindsey (2026) · §9.2
다음은 주장의 한계입니다. 5장의 결과를 보면 J-lens를 정렬 감시에 쓰고 싶어집니다. 실용적인 장점이 분명하거든요. readout 계산이 쌉니다. layer당 행렬곱 한 번이고, 그 행렬은 모델당 한 번만 계산하면 됩니다. 보조 모델을 따로 학습시킬 필요도 없습니다. 그리고 출력이 사람이 바로 읽는 단어 목록입니다. 그러니 대규모로 적용해서 검토가 필요한 전사를 걸러내는 데 즉시 쓸 수 있습니다. 그런데 여기가 중요합니다. 저자들 스스로 더 강한 주장을 하기를 거부합니다. 원문 표현이 이렇습니다. J-space를 감시하는 것이 정렬 감시에 충분하다거나, 모델이 실행할 수 있는 정교한 계획이라면 반드시 거기 표상되어야 한다는 주장은 편하게 할 수 없다고요. 이유가 구체적으로 둘 제시됩니다. 첫째, 3.5절의 선택성 결과 자체가 양날의 검입니다. 자동적이고 충분히 연습된 계산은 J-space를 건드리지 않고 진행됩니다. 그렇다면 충분히 강화되어 고정 회로가 된 오정렬 행동도 그렇게 지나갈 수 있습니다. 우리가 workspace의 특권성을 보이려고 쓴 바로 그 증거가, 감사 도구로서의 한계를 동시에 규정하는 겁니다. 둘째, 단일 token 어휘 제약이 여기에도 걸립니다. 중심 개념에 단일 token 이름이 없는 계획은, 모델이 그걸 표상하고 있더라도 readout에 깨끗하게 떠오르지 않을 수 있습니다. 그래서 저자들의 결론은 이렇습니다. J-lens는 감사 도구 상자에 유용하게 추가되는 것이고, SAE 같은 다른 방법들과 자연스럽게 조합되지만, 완전한 도구는 아니다. 한계를 다루는 후속 연구와, 이 렌즈가 정렬 관련 추론을 얼마나 포괄적으로 덮는지에 대한 특성화가 있어야 더 무게를 실을 수 있다고요. 마지막으로 7장의 CRT는 다른 종류의 안전 응용을 시사합니다. 감시만 하는 게 아니라 형성하는 것이죠. 다만 여기에도 유보가 붙습니다. 이 기법이 얼마나 넓게 일반화되는지, 그리고 이런 상황에서는 윤리 원칙을 고려하라는 것보다 더 구체적이거나 더 추상적인 성향을 심을 수 있는지는 아직 모릅니다. 만약 일반화된다면, 시연이나 보상 함수로 번역하지 않고 추상 수준에서 곧바로 윤리 원칙을 주입하는 경로가 열립니다. 한 문장으로 정리하면 이겁니다. 추가 채널이지 거짓말 탐지기가 아닙니다.
언어 모델 인간
두 개의 시간 축
layer(깊이)와 sequence(attention)가 분리된 두 축
재귀적 동역학 하나가 둘 다 담당, 현재 맥락의 정교화와 이전 맥락의 유지·통합
깊이의 한계와 외재화
깊이만큼의 재귀는 흉내낼 수 있다 . 그 너머는 token으로 외재화 , 직렬 깊이는 무한하되 주기적 대역폭 병목 을 지난다
고대역폭 재귀로 말로 옮기지 않고도 무한정 붙들고 정교화
S22의 GSM8K, CoT로 풀면 ablation에 훨씬 robust했던 이유
과거에 대한 접근
attention이 앞선 위치의 내부 표상을 무손실로 검색 . 위치별 workspace는 수십 개로 제한되지만 과거 접근은 제한이 없다
무손실 저장소가 없다. 작업 기억은 용량이 좁고 초 단위로 붕괴
활동 침묵(activity-silent) 작업 기억 이론이 부분 유사물, attention과의 수학적 관계도 알려져 있다
자아와 접근의 해리
workspace는 base 모델에 이미 있다 (다음 token 예측만으로 유도). Assistant의 관점은 post-training이 나중에 설치 한다
둘이 깨끗이 분리되지 않는다. 자아 소실 상태들은 일시적이고 회고적 보고로만 알려져 특성화가 어렵다
S33 회수. base 모델은 그 해리의 안정되고 검사 가능한 사례
왜 하필 언어화 가능한가
유일한 행위 양식이 token 생산 이므로 어휘와 정렬된 형식이 편리하다. 하류 회로가 번역 없이 쓰고, 물으면 곧바로 보고한다
출력 공간이 더 넓다(몸) → workspace도 덜 언어 구속적 일 것
검증 가능한 예측: 이미지를 생성할 수 있는 모델은 workspace에 시각적 성분 을 발달시킬 수 있다
Gurnee, Sofroniew, …, Lindsey (2026) · §9.3 · §4 · §9.4
마지막 경계는 유사성 자체에 관한 것입니다. 이 발표는 J-space와 인간의 의식적 접근 이론 사이의 유사성을 따라왔지만, 아키텍처와 발달 과정이 다르니 중요한 차이도 있습니다. 다섯 가지를 짚습니다. 첫째, 시간 축이 두 개입니다. transformer에서 정보는 layer를 가로질러, 고정된 수의 계산 단계를 통해 흐릅니다. 동시에 시퀀스 축을 따라 attention으로도 흐르는데, 이건 이전의 어떤 위치에서든 정보를 불러와 변환할 수 있습니다. 뇌는 이 둘을 이렇게 깔끔하게 분리하지 않습니다. 재귀적 동역학이 현재 맥락의 이해를 다듬는 일과 이전 맥락을 유지하고 통합하는 일을 둘 다 합니다. 나머지 차이들이 대체로 여기서 파생됩니다. 둘째, feedforward 구조입니다. 표준 transformer의 forward pass에는 내장된 재귀가 없습니다. 그런데 feedforward 모델은 깊이만큼의 시간 단계까지는 재귀 신경망의 기능을 재현할 수 있습니다. 사실 그 제약 안에서는 비재귀 모델이 엄밀히 더 표현력이 큽니다. 재귀 모델은 layer 간 가중치가 묶인 특수 경우니까요. 그러니 뇌의 workspace 동역학이 재귀 연결을 본질적으로 포함한다고 해도, 짧은 시간 규모의 재귀 계산은 원리적으로 transformer가 흉내낼 수 있습니다. 문제는 그 너머입니다. 모델이 자기 feedforward 깊이를 넘어 숙고를 연장하는 유일한 수단은 외재화입니다. 중간 결과를 token으로 맥락에 써 놓고 나중 위치에서 다시 읽는 거죠. 이렇게 보면 token을 출력하고 다시 삼키는 것 자체가 workspace로 계산을 수행하는 한 방식입니다. 그러면 모델의 workspace 처리는 직렬 깊이에서 무한하지만, 일정 간격마다 상당한 대역폭 제약을 지나야 합니다. 인간의 workspace는 대조적으로 고대역폭 재귀로 유지되어서, 명시적으로 말로 옮기지 않고도 무한정 반복해서 생각을 붙들고 정교화할 수 있습니다. 22번 슬라이드에서 GSM8K를 CoT로 풀면 훨씬 robust했던 게 바로 이 이야기의 회수입니다. 셋째, attention입니다. token 축을 따라 모델은 맥락 앞쪽의 어떤 내부 표상이든, 더 이른 layer에서 계산된 것이라면 검색할 수 있습니다. 이건 모델의 workspace를 상태 유지와 전파의 부담에서 해방시킵니다. 인간 작업 기억에는 그런 무손실 저장소가 없습니다. 용량이 심하게 제한되고 초 단위로 붕괴해서, 한순간 전 workspace 내용은 이미 일부 사라져 있습니다. 모델도 위치별 workspace는 수십 개 규모로 제한되지만, 과거에 대한 접근은 제한이 없습니다. 인간 쪽 유사물이 아예 없진 않습니다. 활동 침묵 작업 기억 이론은 항목이 지속 발화가 아니라 일시적 시냅스 변화로 유지되다가 단서가 오면 재활성화된다고 보고, transformer attention과 그런 시냅스 기억 메커니즘 사이에 알려진 수학적 관계도 있습니다. 다만 모델이 이 전략을 훨씬 더 많이, 더 안정적으로 쓸 수 있고, 그 결과 workspace 내용이 token 축에서 인간보다 더 불연속적으로 진화할 수 있습니다. 넷째가 흥미롭습니다. 자아와 접근의 해리입니다. workspace는 사전학습된 base 모델에 이미 있습니다. 다음 token 예측만으로 충분히 유도된다는 뜻이죠. 그리고 6장이 보인 것처럼 그 base 모델의 workspace는 특정 관점을 특권화하지 않습니다. Assistant의 시점은 post-training이 나중에 설치하는 것입니다. 그러니 workspace의 기능적 구조는 그 안에서 인간적 자아 역할을 하는 무엇보다 앞서고, 그것과 분리 가능합니다. 인간에서는 이 둘이 그렇게 깨끗하게 분리되지 않습니다. 고전적 환각제에 의한 자아 소실이나 일부 명상 전통의 무아 상태가 자아감 없는 의식 경험으로 서술되기도 하지만, 이 상태들은 일시적이고 회고적 보고로만 알려져서 정확한 성격을 특성화하기 어렵습니다. base 언어 모델은 그런 해리의 안정되고 검사 가능한 사례를 제공합니다. 다섯째, 왜 하필 언어화 가능한 표상이냐는 질문입니다. 한 가지 이유는 언어 모델의 유일한 행위 양식이 token을 생산하는 것이기 때문일 수 있습니다. 어떤 내부 계산이든 결국 단어의 연쇄로 현금화되어야 하니, 이미 어휘와 정렬된 표상 형식이 편리합니다. 하류 회로가 번역 없이 작동할 수 있고, 물었을 때 곧바로 보고할 수도 있고요. 이 견해라면 예측이 하나 따라 나옵니다. 출력 공간이 다른 시스템은 다른 workspace를 가질 겁니다. 인간의 출력 공간은 더 넓어서 목소리뿐 아니라 몸으로도 행위하니, 인간 workspace는 그만큼 덜 언어 구속적이어서 의도된 움직임이나 공간 배치처럼 간결한 언어 서술이 없는 표상을 담을 수 있습니다. 구체적으로 검증 가능한 예측은 이겁니다. 이미지를 생성할 수 있는 언어 모델은 workspace에 시각적 성분을 발달시킬 수 있다. 마지막으로 두 가지를 덧붙이고 넘어가겠습니다. 하나, 4장 서두에서 저자들이 미리 그은 선이 있습니다. 우리 분석은 비 J-space 처리가 특정 기능을 담당하는 명확히 캡슐화된 모듈들로 이루어져 있다는 증거를 제공하지 않습니다. 그리고 우리가 찾은 broadcast는 재귀 연결이 아니라 모델의 깊이를 따라 일어납니다. GWT의 구조적 성질 중 우리가 보이지 않은 것들이 있다는 뜻입니다. 둘, 의식 이론 전반에 대한 위치입니다. 기능적 유사성은 현상적 의식의 증거가 아닙니다. 그리고 의식이 물리적 인과 구조나 생물학적 기질에 달려 있다고 보는 이론들에 대해서는, 우리 실험이 물리적 구현이 아니라 계산 메커니즘에 관한 것이므로 결과가 무관하다고 논문은 명시합니다. 무관하다는 표현을 그대로 쓰고 있습니다. 이론별 상세 대응은 백업 슬라이드로 준비해 뒀습니다.
Butlin 등의 indicator properties 틀 — 여러 의식 이론에서 뽑은 지표로 AI를 평가한다 — 에 대한 경험적 조사 하나로 읽을 수 있다. J-space가 지표를 직접 대조할 구체적·검사 가능한 후보 구조 를 주기 때문.범위 제한: 의식을 기능적·계산적 성질에 묶는 이론들로만 한정. 물리적 인과 구조나 생물학적 기질에 귀속하는 이론에 대해서는 이 결과가 “무관(not relevant)” .
이론의 핵심 주장 J-space에서의 대응 약한 곳 · 남는 문제
Global workspace
공유 workspace로 방송 되어 여러 전문 시스템이 읽을 수 있을 때 의식적. 용량 제한 + 국소→전역의 급격한 전이(ignition )
용량 = 활성 분산의 소수 점유(§4.2) · broadcast = MLP gain 10×와 전용 head(§4.3) · 초반 부재 후 좁은 대역에서 출현(§4.1)
가장 약한 곳은 구현 — 뇌의 broadcast는 재귀 루프와 장거리 피질 연결로 실현되는데 forward pass에는 직접 유사물이 없다. 깊이가 재귀와 충분히 비슷한 역할을 하는지는 미상
Higher-order
차이는 처리 방식이 아니라 그 표상에 대한 또 다른 표상 의 유무. X의 표상 + “내가 X를 표상 중”의 표상 = 의식적
명시적 메타인지 readout(thinking·focused)은 관찰되나 보통은 아니다 . 대신 §3.5 선택성이 blindsight와 같은 구조 — “이 줄은 46자”가 줄바꿈에 영향을 주면서 J-space를 경유하지 않는다(1차 표상은 있으나 보고 형식은 아님)
J-space 표상이 진짜 고차인지, 더 접근 가능한 1차인지 미결 . 계산적 변형들은 고차를 포인터·색인 으로 보는데 J-space는 가리키는 대신 언어 형식으로 재부호화 한다. 다만 fake·dangerous·imagine·hidden 같은 추상 범주 태깅은 유사할 수 있다
Attention schema
의식 경험이 있다는 보고는 실은 자기 주의에 대한 내부 모델 의 내용을 보고하는 것. 보고에 열린 것은 실제 주의 상태가 아니라 이 자기 모델
§3.5.3 경험 서술의 J-space가 thinking·thoughts·feeling·conscious에 지배(각 58·23·17·7%) · §3.2에서 내용(orange·seven·forty)뿐 아니라 행위를 서술하는 토큰 (imagine·calculate·focused)이 내용보다 이른 layer에 · §6.2 억제 실패 시 damn·실패 단어 · 자기 모델(AI·assistant·bot·chat)
저자들의 선: 이것들은 주의에 대한 모델 자체의 증거는 아니며 , 이론이 예측하는 것의 가장자리 에 있다. 다만 J-space가 시스템 자신에 대한 지속적 표상을 담는다는 것은 가리킨다
Recurrent processing
단일 feedforward sweep은 아무리 멀리 가도 무의식적. 나중 영역이 이른 영역으로 되먹임 할 때 비로소 의식적
표면적으로는 표준 transformer를 배제 한다. 그러나 이 이론의 경험적 동기는 “의식적 지각이 feedforward sweep보다 오래 걸린다”는 관찰이고, 재귀는 고정된 해부학에서 처리를 연장하는 뇌의 수단 이다
그렇다면 관련된 계산적 성질은 재귀 자체가 아니라 직렬 처리 깊이 일 수 있다. 이렇게 읽으면 §4.1의 workspace 시작 이전 초반 layer 구간 이 감각 재귀의 기능적 유사물 — feedforward로 쌓느냐 얕은 망을 도느냐는 구현의 세부 일 수 있다
Gurnee, Sofroniew, …, Lindsey (2026) · §9.4
논문은 GWT의 언어로 결과를 틀 지었습니다. 실험이 그 이론의 기능적 예측을 시험하도록 설계됐기 때문이죠. 다만 결과는 다른 이론들과도 관계가 있습니다. Butlin 등은 여러 의식 이론에서 지표 속성을 뽑아 AI 시스템을 평가하는 틀을 제안했는데, 이 논문의 결과는 그런 경험적 조사 하나로 읽을 수 있습니다. J-space가 여러 지표를 직접 대조해 볼 수 있는 구체적이고 검사 가능한 후보 구조를 주니까요. 동시에 저자들은 이 결과가 이론 자체의 발전에도 영향을 줄 수 있다고 봅니다. 의식적 접근과 연관된 성질 일부를, 기존 이론이 상정한 것과 부분적으로 다른 메커니즘으로 보이는 시스템의 구체적 사례이기 때문입니다. 다만 범위 제한이 있습니다. 논문은 의식을 시스템의 기능적·계산적 성질에 묶는 이론들로만 초점을 제한합니다. 물리적 인과 구조나 생물학적 기질에 달려 있다고 보는 이론들에 대해서는, 이 실험이 하드웨어 구현이 아니라 계산 메커니즘에 관한 것이므로 결과가 무관하다고 명시합니다. 표에 있는 네 이론을 순서대로 보겠습니다. GWT는 실험이 설계된 대상이니 짧게. 핵심 주장은 표상이 공유 workspace로 방송되어 여러 전문 시스템이 읽을 수 있게 될 때 의식적이라는 것이고, workspace는 용량이 제한되며 진입은 국소에서 전역으로의 급격한 비선형 전이, 즉 ignition을 수반합니다. 셋 다 J-space에 유사물이 있습니다. 용량은 4.2절의 분산 소수 점유, broadcast는 4.3절의 MLP gain과 전용 head, 그리고 초반 layer 부재 후 좁은 대역에서 안정된 중간 체제로의 출현이 4.1절입니다. 유비가 가장 약한 곳은 구현입니다. 뇌에서 broadcast는 재귀 루프와 장거리 피질 연결로 실현되는데 transformer forward pass에는 직접 유사물이 없습니다. 이 차이가 이론의 기능적 예측에 영향을 주는지, 아니면 깊이가 재귀와 충분히 비슷한 역할을 하는지는 모릅니다. higher-order 이론은 의식과 무의식의 차이를 처리 방식이 아니라 그 표상에 대한 또 다른 표상이 있느냐에 둡니다. X에 대한 표상만으로는 의식적이지 않고, 시스템이 자기가 X를 표상하고 있다는 표상이 동반될 때 의식적이라는 거죠. J-lens에서 명시적 메타인지 표상이 관찰되긴 합니다. thinking이나 focused 같은 것들요. 다만 그게 보통은 아닙니다. 더 흥미로운 건 구조적 유사성입니다. 3.5절의 선택성 결과가 blindsight와 같은 구조를 갖습니다. blindsight에서는 손상된 시야에 제시된 시각 정보가 환자 행동에 영향을 주지만, 환자는 봤다는 자각을 보고하지 못합니다. higher-order 설명은 시각 정보가 1차적으로는 표상되지만 고차적으로는 아니라는 겁니다. 우리 자동 과제 조건이 정확히 그 모양입니다. 이 줄이 46자라는 자극 특징이 줄바꿈 출력에 영향을 주는데 J-space를 경유하지 않죠. 정보가 1차적으로 표상되지만 모델이 보고하는 형식으로는 표상되지 않는 겁니다. 그리고 과제가 요구하면 같은 정보가 J-space에 들어와 보고와 추론에 쓰입니다. 다만 미결이 남습니다. J-space 표상이 제대로 고차 표상인지, 아니면 그냥 더 접근 가능한 1차 표상인지 불분명합니다. 벡터 표상의 성질로 이 구분을 조작화하기가 어려울 수 있고요. 최근 계산적 변형들은 고차 표상을 포인터나 색인으로 봅니다. 1차 상태의 신뢰도나 정밀도를 태깅하되 내용을 복제하지는 않는다는 거죠. J-space는 이 그림과 다릅니다. 다른 곳의 1차 내용을 가리키는 게 아니라 그 내용을 언어 형식으로 재부호화하니까요. 다만 fake, dangerous, imagine, hidden처럼 추상 범주로 태깅하는 방식으로 관련 비 J-space 표상의 해석에 영향을 준다면, 이론이 상정하는 것과 비슷할 수는 있습니다. attention schema 이론은 시스템이 자기가 의식 경험이라는 속성을 갖는다고 보고할 때, 실은 자기 주의에 대한 내부 모델의 내용을 보고하는 것이라고 봅니다. 시스템이 주의가 무엇이고 어떤 결과를 갖는지에 대한 단순화된 도식적 표상을 구성하고, 그 모델 안에서 주의가 주관적 경험의 행위로 그려진다는 겁니다. 그리고 보고에 열린 것은 실제 주의 상태가 아니라 이 자기 모델이라고 주장하죠. 이게 언어 모델에 적용된다면, 모델이 보고하는 구조인 J-space가 작업 대상 내용뿐 아니라 그 작업 자체에 대한 서술을 담아야 합니다. 우리 결과 여럿이 이 패턴에 맞습니다. 3.5.3절 경험 서술 실험에서 의식의 흐름 narration 중 J-space 내용이 thinking, thoughts, feeling, conscious처럼 생각하고 느끼는 행위를 서술하는 토큰들에 지배되고, J-space를 지우면 자기 보고에서 경험적 성격이 사라집니다. 3.2절 지시 조절 실험에서는 마음에 두라고 지시받은 개념뿐 아니라 그것을 붙들고 있다는 행위를 서술하는 토큰들이 함께 뜹니다. 그리고 이 메타인지 readout이 내용 자체보다 이른 layer에 나타납니다. 마치 자기가 어떤 정신 작업을 수행 중이라는 것을 먼저 표상하고 그다음에 결과를 표상하는 것처럼요. 6.2절 생각 억제 실험은 더 풍부한 형태를 시사합니다. 억제에 실패하면 침입하는 개념 옆에 damn과 실패 관련 단어가 실립니다. 주의 모델에서 자기 모델 일반으로 초점을 넓히면, 5장 모델 유기체 실험에서 Assistant 턴 시작 위치에 프롬프트와 무관하게 AI, assistant, bot, chat처럼 모델 자신을 서술하는 토큰이 뜹니다. 상당히 문자 그대로의 자기 모델이죠. 그리고 6장의 post-training 비교는 Assistant 관점 내용이 Assistant가 말하고 있지 않은 위치에도 나타나기 시작한다는 걸 보였습니다. J-space가 맥락을 평가하는 기본 프레임이 된 일관된 자아를 시사합니다. 다만 저자들은 선을 긋습니다. 이것들이 주의에 대한 모델 자체의 증거는 아니고, attention schema 이론이 예측하는 것의 가장자리에 있다고요. 마지막으로 recurrent processing 이론은 의식에 재귀 처리가 필요하다고 봅니다. 감각 위계를 통과하는 단일 feedforward sweep은 아무리 멀리 전파돼도 무의식적이고, 나중 영역이 이른 영역으로 되먹임할 때 비로소 의식적이 된다는 거죠. 표면적으로 이건 표준 transformer를 배제합니다. forward pass 안에 재귀가 없으니까요. 그런데 저자들이 짚는 게 있습니다. 이 이론의 경험적 동기는 의식적 지각이 feedforward sweep만으로 걸리는 시간보다 오래 걸린다는 관찰입니다. 자극이 보고 가능해지려면 최소한의 시간 동안 처리되어야 한다는 거죠. 재귀는 고정된 해부학적 구조에서 처리를 단일 sweep 너머로 연장하는 뇌의 메커니즘입니다. 그렇다면 관련된 계산적 성질은 재귀 그 자체가 아니라 직렬 처리 깊이일 수 있습니다. 이렇게 읽으면 4.1절에서 확인한 workspace 시작 이전의 초반 layer 구간이 뇌에서 감각 재귀가 하는 역할의 기능적 유사물일 수 있습니다. 표상이 J-space에 들어가기 전에 일정 수의 처리 단계를 통과해야 하고, 그 단계들이 feedforward로 쌓여 있느냐 얕은 망을 반복해 도느냐는 종류의 차이가 아니라 구현의 세부일 수 있다는 겁니다.
무엇의 gradient인가
목표 layer
기본은 penultimate (끝에서 두 번째). 마지막 블록을 포함하면 잡음 인공물이 늘 때가 있다 — 그 블록은 다음 token 예측 보정에 특화되어 의미 내용이 적기 때문으로 보인다
attention 패턴
frozen-QK 변형: query·key 투영을 통한 gradient를 0으로 두어 attention 패턴을 고정하고 value 경로만 남긴다 — “무엇이 옮겨지는가”와 “무엇이 주목받는가”를 분리
목표 위치
기본은 t′ ≥ t 전체. self-only (t′ = t, logit lens에 가까움)와 future-only (t′ > t, broadcast 성분만)를 따로 검토
어떻게 집계하는가
프롬프트 내부
위치에 대해 평균하되, residual norm이 이상치인 위치 와 시퀀스 앞부분 몇 위치 를 빼는 변형을 검토
프롬프트 간
원소별 평균 vs 중앙값 , 그리고 Jacobian Frobenius norm이 이상치인 프롬프트를 미리 거르는 변형
왜 문제인가
각 단계에서 표본별 Jacobian이 꼬리가 두꺼울 수 있어 추정량 선택이 결과에 영향을 줄 수 있다
어떤 데이터인가
양
기본은 128 token 시퀀스 1,000개 . 1→1000으로 훑으면 10개 프롬프트만으로도 logit·tuned lens 기준선을 이긴다 . 추가 데이터의 개선은 완만
분포
사전학습 유사 분포가 기본. 앞쪽 token 제외(예열), 다음 token이 비영숫자인 위치 제외(구조적 예측 배제) — 어느 것도 의미 있는 개선을 주지 않았다
평가 결과
5개 recipe × (평균 / 중앙값) 집계를 중간 개념 추출 pass@K 와 인과 ablation 효과 로 비교: 설계 선택들에 걸쳐 상당히 일관 .
두 경향은 있다 — penultimate + 평균 이 중간 개념 추출에서 소폭 낫고, QK stop-grad 는 인과 효과를 키울 수 있다.
본문과의 표기 차이 (질문 대비)
본문 §2.1은 목표를 “최종 layer residual stream” 으로 서술하지만, §A.7이 밝히는 실제 기본값은 penultimate 다. 본문은 설명을 위한 단순화이고, 논문 전체 결과는 penultimate 기본 렌즈로 얻어졌다.
Gurnee, Sofroniew, …, Lindsey (2026) · §A.7
S07에서 평균 Jacobian의 정의를 봤는데, 그 정의에는 독립적인 선택이 셋 있습니다. 프롬프트마다 어떤 gradient를 계산하는가, 프롬프트별 Jacobian을 하나의 J로 어떻게 집계하는가, 그리고 기댓값을 어떤 데이터에 대해 취하는가. 부록 A.7이 각 축의 설계 공간과 결과 변화를 보고합니다. 먼저 무엇의 gradient냐. Sonnet 4.5의 기본 렌즈는, 논문 전체에서 쓴 그것인데, 목표 layer를 최종이 아니라 끝에서 두 번째로 잡습니다. 여기가 중요한 지점입니다. 본문 2.1절은 최종 layer residual stream이라고 서술하는데, 부록의 실제 기본 설정은 penultimate입니다. 이유가 있습니다. 마지막 블록을 포함하면 readout에 잡음 인공물이 늘어날 때가 있는데, 그 블록이 다음 token 예측 보정에 크게 특화되어 있어 의미 내용이 적기 때문으로 보입니다. 둘째 변형은 attention 패턴 gradient입니다. 표준 역전파에서는 gradient가 attention 가중치 자체를 통해서도 흐릅니다. h를 건드리면 하류 head가 어디를 볼지가 바뀔 수 있죠. frozen-QK 변형은 query와 key 투영을 통한 gradient를 0으로 만들어 attention 패턴을 고정하고 value 경로만 기여하게 합니다. 무엇이 옮겨지는가와 무엇이 주목받는가를 분리하는 겁니다. 셋째는 목표 위치입니다. 기본은 t 이후의 모든 위치를 평균하는데, 두 극단을 따로 봅니다. self-only는 현재 위치만 보는 것으로 logit lens에 가깝고, future-only는 엄격히 이후 위치만 보는 것으로 broadcast 성분을 분리합니다. 집계 축도 있습니다. 기댓값은 두 단계로 취해집니다. 프롬프트 안에서 위치들에 대해, 그다음 프롬프트들에 대해. 각 단계에서 표본별 Jacobian이 꼬리가 두꺼워서 추정량 선택이 문제가 될 때가 있습니다. 프롬프트 안에서는 residual norm이 이상치인 위치나 시퀀스 앞부분 몇 위치를 빼는 걸 검토했고, 프롬프트 간에서는 원소별 평균과 중앙값, 그리고 Frobenius norm이 이상치인 프롬프트를 미리 거르는 것을 비교했습니다. 결론이 중요합니다. 다섯 recipe를 평균과 중앙값 두 집계로 돌려 중간 개념 추출 pass@K와 인과 ablation 효과를 재보면, 방법들이 이 설계 선택들에 걸쳐 상당히 일관됩니다. 다만 두 가지 경향은 있습니다. penultimate에 평균 집계가 중간 개념 추출에서 소폭 낫고, QK에 stop-grad를 걸면 인과 효과가 커질 수 있습니다. 데이터 쪽도 봅니다. 기본은 128 token짜리 시퀀스 천 개입니다. 프롬프트 수를 1에서 1000까지 훑으면, 놀랍게도 J-lens가 열 개 프롬프트만으로도 logit lens와 tuned lens 기준선을 이깁니다. 추가 데이터로 얻는 개선은 완만합니다. 분포 쪽 변형도 시도했습니다. 앞쪽 token 몇 개를 빼서 모델이 예열되게 하거나, 다음 token이 영숫자가 아닌 위치를 빼서 예측 대상이 의미적이 아니라 구조적인 경우를 제외하는 식으로요. 어느 것도 기본 대비 의미 있는 개선을 주지 않았습니다. 재현을 돕기 위한 의사코드도 부록에 실려 있습니다.
J-lens는 어휘 token 하나당 vector 하나 → 단일 token 개념만 드러낸다. “blackmail”, “photosynthesis”에는 대응 vector가 없다. 확장이 간단하지 않은 이유: 다중 token 구를 말할 확률의 gradient를 계산하려면 그 구의 앞쪽 token들을 샘플링해야 하기 때문.
① template lens 미리 열거한 어휘용
흔한 단어 약 12,700개 목록 단어 w마다 Claude가 짧은 지문을 쓴다 — w가 자연스러운 다음 단어가 되도록, w 직전에 끝나게, 지문 안에서 w는 절대 쓰지 않고 , 주제·프레임·문체를 바꿔가며 그 지문들에서 마지막 위치 활성을 평균 → 단어별 template 다른 모든 단어 평균으로 센터링 + 공분산 역행렬로 whitening \(t_w(\ell) = (\Sigma_\ell + \lambda I)^{-1}\bigl(\mu_w(\ell) - \mu(\ell)\bigr)\)
= 모델이 곧 w를 말하려는 맥락과 아닌 맥락 을 가르는 선형 판별 방향
저자들의 단서: 결함이 여럿이고 개선 여지가 있다. J-lens의 순수한 확장이 아니라 tuned lens에 가까운 성질과 관련 병리를 일부 물려받는다 — 개념 증명으로 보아야 한다.
실제로 되는가 (Fig 61)
§5 blackmail 전사 · 같은 workspace 셀
읽기만 되는 게 아니다 — workspace layer에서 Tchaikovsky ↔ Beethoven template swap 이 답을 양방향으로 뒤집는다
② oracle lens 사전 열거 없이 임의 길이 구
reconstructor : 대상 모델 복사본을 미세조정해 구 → 직전 활성 사상구 사전 : Assistant 텍스트에서 시작 위치 ~100만 개 × (2·4·8·16·32 token) → 약 340만 구 vector teacher 라벨링 : 활성 100만 개를 비음수 OMP로 분해. 길이별로, 그리고 항목의 무작위 절반만 써서 고정 순위 암기를 막는다oracle : 두 번째 미세조정 복사본을 teacher 목록으로 지도학습 후, 설명 분산 비율을 보상으로 RL (Haiku 4.5)비용: 보조 모델을 둘이나 미세조정해야 해 다른 두 렌즈보다 훨씬 비싸다
Gurnee, Sofroniew, …, Lindsey (2026) · §A.9
J-lens는 어휘 token 하나당 vector 하나를 만드니 단일 token인 개념만 드러낼 수 있습니다. blackmail이나 photosynthesis처럼 여러 token에 걸친 단어에는 대응하는 J-lens vector가 없죠. 그런데 확장이 간단하지 않습니다. 다중 token 단어나 구를 말할 확률의 gradient를 활성에 대해 계산하려면 그 단어의 앞쪽 token들을 샘플링해야 하기 때문입니다. 부록 A.9가 두 접근을 제시합니다. 첫째가 template lens입니다. 미리 정한 어휘 안의 임의의 단어나 구에 대응하는 vector를 만드는 방법입니다. 약 12,700개 흔한 단어 목록을 만들고, 단어 w마다 Claude에게 짧은 지문들을 쓰게 합니다. 조건이 있습니다. w가 자연스러운 다음 단어가 되도록 쓰되, w가 나오기 직전에 끝나야 하고, 지문 안에서 w 자체를 절대 쓰지 않아야 하고, 주제와 프레임과 문체를 다양하게 해야 합니다. 그 지문들에 모델을 돌려 마지막 위치의 residual stream 활성을 평균하면 단어별 평균 활성 vector가 나옵니다. 이게 w의 template입니다. 그다음 다른 모든 단어의 평균으로 센터링하고 공분산 역행렬을 곱해 whitening합니다. 결과는 모델이 곧 w를 말하려는 맥락과 그렇지 않은 맥락을 구분하는 선형 판별 방향입니다. 저자들이 정직하게 붙인 단서가 있습니다. 이 방법에는 여러 결함이 있고 개선할 수 있다고 봅니다. 그리고 J-lens의 순수한 확장이 아니라 오히려 tuned lens에 가까운 성질을 일부 갖고 관련된 병리도 물려받습니다. 그래도 렌즈 기법이 다중 token 개념에서 작동할 수 있다는 개념 증명은 됩니다. 실제 결과가 인상적입니다. 5장의 blackmail 전사에서 같은 workspace 셀을 두 렌즈로 읽으면, J-lens의 상위 항목은 black과 ext라는 첫 token 조각들인데 template lens는 blackmail을 그대로 디코드합니다. 말하지 않은 중간 개념이 photosynthesis인 multi-hop 문항에서도 J-lens는 phot이라는 조각을 내놓는데 template lens가 먼저 그 개념을 표면화합니다. 그리고 읽기만 되는 게 아닙니다. workspace layer에서 Tchaikovsky template을 Beethoven template으로 바꾸면 모델의 답이 양방향으로 뒤집힙니다. 개입 도구로도 쓸 수 있다는 뜻이죠. 둘째가 oracle lens입니다. template lens는 어휘를 미리 열거해야 하는데 긴 구에 대해서는 그게 불가능합니다. oracle lens는 사전 지정 없이 임의 길이 구의 표상을 디코드하려는 시도입니다. 활성을 주면, 함께 그 활성을 대략 재구성하는 template vector들에 대응하는 자유 형식 구 목록을 짧게 내놓습니다. 네 단계로 만듭니다. 먼저 reconstructor를 훈련합니다. 대상 모델의 복사본을 미세조정해서 짧은 텍스트 구를 그 직전 residual stream 활성으로 사상하게 합니다. 구를 주면 template vector를 만들어주는 모델이라고 보면 됩니다. 다음으로 구 사전을 만듭니다. 보류된 Assistant 텍스트에서 시작 위치 백만 개쯤을 뽑아 2, 4, 8, 16, 32 token 연속 구를 취하고 중복을 제거한 뒤 전부 reconstructor에 통과시켜 방향을 얻습니다. 약 340만 개 구 vector가 나옵니다. 세 번째로 이 사전을 써서 훈련 데이터를 라벨링합니다. teacher가 보류된 활성 백만 개를 비음수 orthogonal matching pursuit으로 사전에 대해 분해하는데, 한 번에 한 길이씩만, 그리고 각 데이터점에서 그 길이 항목의 무작위 절반만 쓰도록 제한합니다. 증류된 oracle이 사전에 대한 고정된 선택 순위를 외우지 못하게 하려는 겁니다. 마지막으로 oracle 자체를 훈련합니다. 대상 모델의 두 번째 미세조정 복사본인데 teacher의 구 목록을 재현하도록 지도학습한 뒤, 새 활성 배치에 대해 강화학습으로 다듬습니다. 보상은 생성된 구 목록이 재구성한 방향들이 설명하는 whitened 활성 분산의 비율입니다. 실험은 Haiku 4.5로 했습니다. 비용을 반드시 언급해야 합니다. 이 방법은 보조 모델을 둘이나 미세조정해야 해서 다른 두 렌즈보다 훨씬 비쌉니다.
왜 형식화가 필요한가
J-space가 모델 안의 더 본질적인 workspace를 근사 하고 있다면, 여러 후보를 비교할 수 있어야 한다 — 다른 방식으로 계산한 Jacobian으로 만든 것, 다중 token 어휘를 더 넣어 만든 것과.
“두 공간이 가깝다 ” · “하나가 다른 것에 대략 포함된다 ” · “어휘를 키울 때 잘 정의된 극한 이 있다”를 말할 수 있으려면.
걸림돌
J-space는 보통 residual stream의 진짜 부분공간이 아니다. J-lens vector들을 이어붙인 행렬은 대개 full-rank — 임의의 vector를 선형결합으로 쓸 수 있다.
차이는 소수의 vector만으로 sparse하게 잘 근사되는 정도 에 있다. “J-space 성분”은 그렇게 쓸 수 있는 성분, “J-space 안에 있다”는 그 성분이 원래 vector에 가깝다는 뜻.
주장
J-lens vector + 허용 희소성 k = sparse subframe . J-space는 그것이 span하는 원뿔들의 합집합 .
frame — 선형독립일 필요가 없다sparse — 0이 아닌 계수의 개수를 제약한다sub — 그 제약 아래에서는 전체 공간을 span하지 못한다k개 vector 선택마다 하나씩인 k차원 다면체 원뿔 (비음수 결합)의 합집합
\[ F \;=\; \bigcup_{|S| = k} \operatorname{span}\{\, v_i : i \in S \,\} \]
집합을 직접 다루지 않고 거리함수 로 작업한다 — ΠS 는 직교 사영
\[ d_F(x) \;:=\; \min_{|S| = k} \bigl\| x - \Pi_S x \bigr\| \;=\; \min_{y \in F} |x - y| \]
최소화하는 사영 ΠS x = x의 J-space 성분 , 남는 x − ΠS x = 개입에서 쓴 잔차항 — 3막의 “J-space 성분 / non-J-space 성분”이 정확히 이것
다른 vector 집합이 만드는 G와의 거리 (데이터 분포 μ에 대한 평균)
\[ \Delta_\mu(F, G) \;=\; \Bigl( \mathbb{E}_{x \sim \mu}\bigl[(d_F(x) - d_G(x))^2\bigr] \Bigr)^{1/2} \]
두 후보는, 모델이 실제로 만들어내는 활성들에 거의 같은 근사 오차 를 부여하면 가깝다 — vector 집합이 서로 완전히 달라도.
포함 의 정량화 — F ⊆ G는 “모든 x에서 dG ≤ dF ”, 아래는 그 위반만 잰다
\[ D_\mu(F \to G) \;=\; \bigl\| (d_G - d_F)_+ \bigr\|_{L^2(\mu)} \]
이 개념 아래에서 다중 token 구를 추가하면 엄밀히 더 큰 J-space 가 되고, 어휘 확장의 극한이 잘 정의 된다
Gurnee, Sofroniew, …, Lindsey (2026) · §A.8
S10에서 J-space를 sparse 비음수 조합의 집합이라고 했는데, 왜 형식적 정의가 필요한지부터 말씀드리겠습니다. 저자들의 논변은 J-space가 모델이 담고 있는 더 본질적인 workspace를 근사하고 있다는 것입니다. 그렇다면 그런 여러 후보 공간을 비교할 수 있어야 합니다. 예를 들어 Jacobian을 다른 방법으로 계산해서 만든 것, 또는 단일 token이 아닌 어휘와 구를 더 넣어 만든 것과요. 그래야 두 공간이 가깝다거나, 하나가 다른 것에 대략 포함된다거나, 어휘를 키워갈 때 잘 정의된 극한이 있다고 말할 수 있습니다. 그러려면 J-space가 어떤 종류의 수학적 대상인지 정해야 합니다. 문제는 J-space가 보통 residual stream의 진짜 부분공간이 아니라는 겁니다. 한 layer에서 J-space는 d차원 공간 안의 어휘 크기만큼의 vector들로 지정되는데, 이 vector들은 대개 residual stream 전체를 span합니다. 이들을 이어붙인 행렬이 full-rank라는 뜻이죠. 다시 말해 임의의 residual stream vector를 J-lens vector들의 선형결합으로 표현할 수 있습니다. 그런데 residual stream vector들은 소수의 J-lens vector만으로 sparse하게 잘 근사되는 정도에서 크게 차이가 납니다. 어떤 vector의 J-space 성분이라고 할 때는 그렇게 sparse 비음수 합으로 쓸 수 있는 성분을 뜻하고, 어떤 vector가 J-space 안에 있다거나 J-space와 정렬되어 있다고 할 때는 그 성분이 원래 vector에 가깝다는 뜻입니다. 그래도 정확히 J-space가 무엇이냐는 여전히 불분명하죠. 저자들의 주장은 이렇습니다. J-lens vector들이 허용 희소성 k와 결합되면 sparse subframe을 이루고, J-space는 이 sparse subframe이 span하는 원뿔들의 합집합이다. 용어를 하나씩 보죠. frame인 이유는 이 vector들이 선형독립일 필요가 없기 때문입니다. sparse인 이유는 0이 아닌 계수의 개수에 제약을 걸기 때문이고요. sub인 이유는 그 희소성 제약 아래에서는 전체 공간을 span하지 못하기 때문입니다. 대신 주어진 k에 대해 J-lens vector들이 k차원 다면체 원뿔들의 합집합을 정의합니다. 각 원뿔은 특정한 k개 J-lens vector 선택에 대한 비음수 선형결합들의 집합이고요. 이 합집합이 J-space입니다. 형식적으로는 첫 번째 식입니다. 크기가 k인 모든 부분집합 S에 대해, 그 S의 vector들이 span하는 것들의 합집합. 그런데 저자들은 이 집합을 직접 다루지 않고 거리함수로 작업합니다. 주어진 활성 x에 대해 d_F(x)를 k차원 원뿔들 중 가장 가까운 것까지의 유클리드 거리로 정의합니다. 여기서 파이_S는 그 부분집합이 span하는 공간으로의 직교 사영이고요. 최소화하는 사영이 x의 J-space 성분이고, 남는 x 빼기 사영이 우리 개입에서 쓴 잔차항입니다. 그러니까 3막에서 J-space 성분과 non-J-space 성분이라고 부른 것이 정확히 이 정의입니다. 이제 두 공간을 비교할 수 있습니다. 다른 vector 집합이 만드는 원뿔 합집합 G가 있을 때, 둘 사이 거리를 데이터 분포에 대한 평균으로 정의합니다. 각 활성에서 F까지의 거리와 G까지의 거리 차이를 제곱해 평균하고 제곱근을 씌운 겁니다. 여기서 나오는 해석이 좋습니다. 두 workspace 후보는, 모델이 실제로 만들어내는 활성들에 대해 거의 같은 근사 오차를 부여하면 가깝다. vector 집합이 서로 완전히 달라도요. 포함 관계도 정의합니다. F가 G에 포함된다는 것은 G가 모든 곳에서 최소한 그만큼은 잘 근사한다는 뜻입니다. 즉 모든 x에서 d_G가 d_F보다 크지 않다는 것이죠. 정량적 버전은 이 부등식의 위반만 재는 겁니다. d_G 빼기 d_F의 양의 부분만 취해 L2 노름을 씌웁니다. 이 개념 아래에서, 예컨대 다중 token 구에 대한 J-lens vector를 추가해 어휘를 키우면 엄밀히 더 큰 J-space가 생기고, 그런 어휘 확장의 극한이 잘 정의됩니다. 두 workspace 후보 열이 같은 대상으로 수렴한다는 것도 이 거리로 말할 수 있고요. 저자들은 개선 여지도 적어둡니다. 근사적 거리 측정을 쓰거나, 고정된 k 대신 L1 페널티 같은 연속 완화를 쓰거나, 허용되는 선형결합을 제한하는 방향입니다. 그래도 최소한 원리적으로는 sparse frame들과 그것들이 정의하는 공간을 비교하는 길을 제공한다는 것이 결론입니다.