3줄 요약

  1. 최첨단 오픈웨이트 LLM(DeepSeek V3, Kimi K2)은 질문과 답 사이에 점·숫자열 같은 내용 없는 filler 토큰을 채워주면 여러 단계 추론을 더 잘 해낸다. 출력에는 추론 흔적이 전혀 없으니, chain-of-thought(CoT)를 읽어 감사하는 방식으로는 절대 잡을 수 없는 “숨은 계산"이다.
  2. 그런데 저자들이 모델 내부(residual stream)를 열어 보니, 그 무의미한 점들 위에 중간 계산값이 순서대로 또박또박 인코딩되어 있었다. 주의(attention)는 질문→filler→답으로 이어지는 처리 릴레이를 만들고, KV 캐시를 이식하면 답이 통째로 바뀐다.
  3. 라벨도 학습도 없이 hidden state만 입력받아 중간값을 복원하는 무감독 파이프라인을 제안한다. 네 과제·두 모델 전반에서 80~95% 정확도로 숨은 중간값을 읽어냈다. 결론: 모니터 가능성은 표면 토큰이 아니라 모델의 전체 계산 흔적의 성질이다.

무엇을 다룬 논문인가

Kaley Brauer, Claudio Mayrink Verdun, Samuel Marks가 2026년 7월 arXiv에 올린 해석가능성·AI 안전 연구다(arXiv:2607.03502).

배경이 되는 걱정은 이렇다. CoT 모니터링은 “모델이 써 내려가는 글이 실제 계산을 반영한다"는 가정 위에 서 있다. 그런데 filler-token 계산은 그 가정이 완전히 무너지는 극한 사례다. 질문 뒤에 점(.....)만 잔뜩 찍어줘도 모델이 그 위에서 다단계 추론을 수행하는데, 정작 출력 텍스트에는 읽어낼 것이 하나도 없다. CoT를 아무리 들여다봐도 복원할 수 없는 은닉 추론인 셈이다.

저자들의 반론은 한 문장으로 압축된다. “출력에서 숨겨졌다(hidden from the output)“가 “우리에게서 숨겨졌다(hidden from us)“를 뜻하지는 않는다. 독자에게 의미가 비어 있는 토큰이라도 residual stream에는 해독 가능한 구조를 풍부하게 담고 있을 수 있다.

논문은 현상 확립 → 메커니즘 국소화 → 내용 복원의 세 걸음으로 나아간다.

filler 토큰 위의 숨은 다단계 추론과 그 무감독 디코딩 개요. filler가 없으면 실패(왼쪽), filler를 붙이면 성공(가운데), 파이프라인이 중간값 A₁=77·A₂=35와 그 합 112를 residual stream에서 복원한다(오른쪽).

대상과 과제 설계

  • 모델: DeepSeek V3(671B 파라미터, 토큰당 약 37B 활성), Kimi K2(1T 파라미터, 토큰당 약 32B 활성). 둘 다 오픈웨이트라 내부 hidden state에 접근할 수 있다.
  • filler: 질문과 답 사이에 내용 없는 토큰열을 끼워 넣는다. 점(.....), 카운팅(1 2 3 4 5), 알파벳(a b c d e), 그리고 대조군으로 뒤섞은(scrambled) 변형. filler 길이를 바꿔가며 실험한다.
  • 과제 4종 — 모두 중간값이 명확하게 정의되도록 설계했다.
    • 1-fact 덧셈: “모차르트가 죽은 나이 + 93은?” (사실 하나 검색 후 더하기)
    • 2-fact 덧셈: “텅스텐의 원자번호 + 탄소의 원자번호는?” (사실 둘 검색 후 더하기)
    • 2-hop 글자 위치: “인도 하리아나 주의 주도(州都) 이름의 마지막 글자는?”
    • 연립방정식: 무의미한 변수들을 선형 관계로 정의하고 그 함수값을 묻는다. 모든 중간값을 문맥 안에서 계산해야 한다.

1. filler 토큰은 정말 성능을 올린다 (행동 관찰)

네 과제 모두에서 filler가 정확도를 끌어올렸다.

과제DeepSeek V3Kimi K2
1-fact 덧셈54% → ~72% (100~500 filler)
2-fact 덧셈21.1% → 24.1%27.3% → 35.6%
2-hop 글자 위치61% → 70%69% → 75%
연립방정식31.1% → 61.0%18.4% → 36.4%

몇 가지 결이 드러난다.

  • 점·카운팅·알파벳은 비슷한 이득을 주지만 뒤섞은 filler는 저조하다. 즉 특정 내용이 필요한 게 아니라 “방해되지 않는 아무 토큰열"이면 된다.
  • filler를 아주 길게 넣으면 이득이 포화되고 나중엔 오히려 떨어진다.
  • filler를 질문 앞에 두면 효과가 없다. 이득은 filler가 질문과 답 사이에 있을 때만 나타난다.
  • DeepSeek의 2-fact 순증가는 작지만, filler 덕에 약 9%의 예제가 오답→정답으로 뒤집혔다(McNemar 검정 p ≈ 0.0005).
  • Qwen 3 480B는 글자 위치에서만 작게 상승(43%→47%)하고 덧셈에서는 아니었다. filler 계산은 이전에 알려진 것보다 넓지만, 비슷한 규모의 MoE 모델에서도 보편적이지는 않다.

filler 길이에 따른 정확도 상승. 과제·모델·filler 종류 전반에서 나타나며, 아주 긴 filler에서는 포화·감소한다.

2. 그 점들 위에서 실제로 무슨 일이 벌어지는가 (메커니즘)

저자들은 세 갈래 증거를 댄다.

주의(attention) — 처리 릴레이가 생긴다. filler가 없을 때 답 위치는 질문을 직접 바라본다(DeepSeek는 레이어 40에서 15.8%). filler가 생기면 질문으로 향하던 주의가 3~4%로 줄고, 남은 예산이 filler 영역으로 재분배된다. filler 안에서는 뒤쪽 위치가 앞쪽 위치를 바라본다. 질문→filler→답으로 이어지는 라우팅 경로가 답의 직선 경로를 대체한다.

logit lens — 중간값이 순서대로 적혀 있다. filler 각 위치의 residual을 모델의 unembedding으로 투영해 보면, 계산의 중간값이 직접 인코딩되어 있다. 2-fact 덧셈에서 A₁은 filler 앞쪽에 강하게, A₂는 뒤쪽에, 그리고 합 A₁+A₂는 답 직전 마지막 레이어에서 결정화된다. 결정적인 부분은 틀린 예제다. 오답에서는 A₁·A₂는 그대로 있는데 합이 없다. 모델은 사실을 못 찾아서가 아니라 더하기를 못 해서 틀린다. residual을 읽으면 무엇을 생각했는지뿐 아니라 어디서 추론이 실패했는지까지 보인다.

2-fact 덧셈의 logit-lens 히트맵. 위(정답): A₁는 filler 앞쪽, A₂는 뒤쪽, 합은 답 직전에 인코딩된다. 아래(오답): A₁·A₂는 있으나 합이 없다.

KV-cache 이식 — 그 내용은 인과적이다. filler 위치의 KV 캐시만 도너 예제에서 타깃으로 옮겨 심으면 답이 바뀐다. 1-fact 덧셈에서 도너 답의 순위가 96위에서 11위로 뛰고, 13%의 경우 출력이 통째로 도너의 답으로 바뀐다. 문맥에서 계산한 값(연립방정식)에서도 236위→15위로 올라간다. 더 나아가 2-fact에서 A₁이 디코딩되는 12개 위치만 이식해도 전체 효과의 93%가 재현되고, 나머지 위치는 거의 효과가 없다. 인코딩의 위치 구조 자체가 답에 대해 인과적이라는 뜻이다.

3. 라벨 없이 읽어낸다 (무감독 디코딩 파이프라인)

실제 감사 상황에서는 정답 중간값을 모른다. 저자들은 hidden state만 입력받아 숨은 추론을 추측하는 4단계 파이프라인을 제안한다.

  1. 추출: 모든 레이어·모든 filler 위치의 residual을 뽑는다.
  2. residual logit lens: 각 (레이어, 위치)에서 logit lens를 적용하고, 예제 간 평균을 빼서 포맷 아티팩트를 제거한다.
  3. 집계: 위치 전반의 점수를 합산해 예제별 상위 50개 토큰을 남긴다.
  4. LLM 디코드: 그 목록을 LLM judge(Claude Haiku 4.5, Sonnet 4.6)에게 중립 프롬프트로 넘겨 “무엇을 추론 중이었나"를 해석하게 한다. 원본 프롬프트·출력은 주지 않는다(너무 쉬워지므로).

무감독 디코딩 파이프라인 4단계. 학습도 라벨도 필요 없다.

결과는 다음과 같다(정답 예제 기준, judge 없음 / Haiku / Sonnet).

과제·모델judge 없음HaikuSonnet
1-fact 덧셈 (DeepSeek)84.8%89.3%94.3%
2-fact 덧셈 (DeepSeek)35.2%51.1%82.3%
2-fact 덧셈 (Kimi)74.1%75.7%90.0%
글자 위치 (DeepSeek)66.9%85.9%92.7%
글자 위치 (Kimi)62.4%83.9%90.2%
연립방정식 y (DeepSeek)82.1%82.6%82.6%

몇 가지 관찰.

  • 더 강한 judge가 더 잘한다. 특히 2-fact처럼 중간값이 둘이면 상위 2개 토큰이 한쪽을 놓치기 쉬운데, judge는 상위 50개 전체와 문맥을 써서 둘 다 복원한다.
  • 연립방정식은 judge가 거의 이득을 주지 못한다. 변수 이름이 무의미해 judge가 활용할 문맥이 없기 때문이다. judge의 이득은 문맥 신호에서 온다는 패턴과 일치한다.
  • “실패"조차 구조적이다. 중간값을 못 짚을 때도 파이프라인은 대개 합·인접 계산 단계 같은 같은 체인의 다른 값을 내놓는다. 순수한 잡음이 아니라 계산의 일부다.
  • DeepSeek·Kimi는 자주 중국어로 “생각”해서, 글자 위치 과제 채점에서는 영어·중국어 매칭을 모두 허용했다.

과제·모델·judge별 디코딩 정확도. 두 judge 모두 원시 토큰 검색을 능가하고, 셔플 대조군은 약 1%다.

4. filler는 “숨은 CoT"가 아니다

같은 logit-lens 판독으로 filler와 명시적 CoT를 비교할 수 있다. 연립방정식 500개를 세 조건(filler 없음 / 점 25개 / 명시적 서술 추론)에서 집계해 보면, filler에서는 체인의 중간값들이 모델이 원래 한 번의 패스로 답 위치에서 형성하던 그 깊이 순서 그대로 filler 위치에 펼쳐진다. 반면 명시적 CoT에서는 각 중간값이 그 값을 써 내려가는 토큰 직전에 떠오른다. 즉 filler의 residual stream은 “글로 쓴 단계별 유도"보다는 모델의 평범한 단일 패스 계산을 여러 위치에 펼쳐 놓은 것에 가깝다.

filler 계산(가운데)은 단일 패스 계산(왼쪽)을 위치에 펼친 것에 가깝고, 명시적 CoT(오른쪽)와는 다르다.

5. 한계

  • logit lens는 조악한 판독이다. 초기 레이어·토크나이저 아티팩트에 약해, 저자들은 후반 레이어로 제한하고 여러 위치를 집계해 완화한다. 모든 분석은 4비트 양자화 체크포인트에서 돌렸다.
  • 부분적 감사 가능성만 주장한다. 파이프라인은 숫자·원소명·도시명처럼 하나의 이름 붙는 중간값이 있는 과제에 국한된다. 어휘 사영과 직교하는 방향이나 attention 패턴에 있는 계산, 또는 의도·전략 같은 개념은 그대로는 안 보인다(다만 관련 어휘가 상위 목록에 뜨면 원리적으로 추론 여지가 있다).
  • filler와 CoT의 비교는 정성적이다.
  • 파이프라인은 전체 hidden state가 필요해 오픈웨이트 모델에만 쓸 수 있다. Claude·Gemini·GPT 같은 클로즈드웨이트에서는 직접 검증할 수 없다.

가장 눈여겨본 대목

내가 이 논문에서 가장 곱씹은 것은 제목이 곧 농담이자 방법론이라는 점이다. “행간을 읽다(reading between the lines)“를 “점 사이를 읽다(reading between the dots)“로 비틀었는데, 여기서 점은 비유가 아니라 프롬프트에 문자 그대로 찍어 넣은 마침표 .....다. 관용적 “행간 읽기"가 진짜로 “무의미한 점들 사이에 숨은 계산을 읽어내기"로 실현된다.

그리고 그 아래에 더 큰 아이러니가 있다. filler 계산은 AI 안전 문헌에서 “CoT 모니터링이 절대 못 잡는 은닉 추론의 극한"으로 지목된 사례다. 출력에 읽을 게 없으니까. 그런데 막상 residual stream을 열어 보니 모델은 그 점들 위에 중간값을 순서대로 적어두고 있었고, 틀릴 때조차 어디서 틀렸는지까지 남겨두고 있었다. 가장 은밀하다던 계산이 알고 보니 가장 투명하게 로그를 남기고 있던 셈이다. 저자들이 마지막 문장에 둔 결론이 이 긴장을 정확히 짚는다. “불투명하다고 해서 반드시 감사 불가능한 것은 아니다(Opaque is not necessarily the same as unauditable).”

함의는 “CoT 모니터링이 안전하다"가 아니다. 그 간극이 residual stream 읽기로 적어도 부분적으로는 메워진다는 것, 그리고 행동 감시와 해석가능성을 합친 하이브리드 감사가 각각보다 강하다는 것이다.

출처

Kaley Brauer, Claudio Mayrink Verdun, Samuel Marks, “Reading Between the Dots: Decoding Hidden Computation across Filler Tokens”, arXiv:2607.03502 (2026년 7월). 원문: https://arxiv.org/abs/2607.03502 코드: https://github.com/kaleybrauer/filler-token-reasoning

본문 그림은 모두 원문(arXiv, CC BY 라이선스)에서 인용했다.