관리 메뉴

AI바라기의 인공지능

LLM : 칼럼 리뷰 : Tracing the thoughts of a large language model 본문

논문리뷰

LLM : 칼럼 리뷰 : Tracing the thoughts of a large language model

AI바라기 2026. 9. 22. 19:53

 

 

 

 

Tracing the Thoughts of a Large Language Model

Anthropic은 2025년 3월, Claude의 내부 계산 과정을 추적한 Tracing the Thoughts of a Large Language Model을 공개했다.

기존 mechanistic interpretability 연구가 주로 모델 내부의 특정 feature가 어떤 개념을 나타내는지 찾는 데 집중했다면, 이번 연구는 한 단계 더 나아간다.

여러 feature가 어떻게 연결되어 실제 답변을 만들어내는가?

즉, 개별 feature의 의미를 찾는 것을 넘어 feature 사이의 causal interaction을 circuit 형태로 추적하는 것이 핵심이다.


1. AI의 내부 계산을 추적하기

LLM은 사람이 직접 작성한 알고리즘을 실행하는 시스템이 아니다.

모델은 대량의 데이터를 통해 학습하면서 문제를 해결하기 위한 내부 계산 방식을 스스로 형성한다. 그 결과 우리가 모델의 입출력은 관찰할 수 있어도, 실제로 내부에서 어떤 계산이 이루어지고 있는지는 쉽게 알 수 없다.

Anthropic은 이를 분석하기 위한 일종의 AI microscope를 개발했다.

연구의 기본적인 접근은 다음과 같다.

Prompt 입력
   ↓
내부 feature activation 관찰
   ↓
feature 사이의 연결 관계 추적
   ↓
A → B → C → Output 형태의 circuit 구성
   ↓
특정 feature를 제거하거나 변경
   ↓
실제 출력이 어떻게 달라지는지 확인

특히 마지막 intervention 과정이 중요하다.

특정 feature가 활성화됐다는 사실만으로는 그것이 실제 계산에 사용됐다고 단정하기 어렵다. 따라서 해당 feature를 억제하거나 다른 feature를 삽입한 뒤 결과가 예상대로 바뀌는지 확인함으로써 causal relation을 검증한다.


2. Multilingual: 서로 다른 언어가 내부 concept을 공유한다

Claude가 영어와 프랑스어, 중국어를 처리할 때 각각 완전히 별개의 언어 시스템을 사용하는지 확인하는 실험이다.

예를 들어 "small의 반대"와 같은 질문을 여러 언어로 입력하면, 모델 내부에서는 언어별 표현보다 먼저 공통된 의미 representation이 나타난다.

대략 다음과 같은 형태다.

small
  ↓
[smallness concept]
  ↓
[opposite]
  ↓
[largeness concept]
  ↓
big / grand / 大 ...

즉,

각 언어의 입력
   ↓
언어에 독립적인 의미 representation
   ↓
추론
   ↓
해당 언어로 출력

과 같은 구조가 어느 정도 존재한다.

또한 작은 모델보다 Claude 3.5 Haiku에서 서로 다른 언어가 공유하는 feature의 비율이 더 높게 관찰됐다.

이를 인간의 언어 없는 사고와 동일시할 수는 없다. 다만 서로 다른 언어에서 동일한 의미를 처리할 때 공통된 내부 representation과 circuit이 사용된다는 증거로 볼 수 있다.


3. Poetry: 모델은 미래의 단어를 미리 계획할 수 있다

이 연구에서 특히 흥미로운 부분이다.

다음과 같은 시를 생성한다고 하자.

He saw a carrot and had to grab it,
His hunger was like a starving ___

마지막 단어로 rabbit을 넣으면 앞의 grab it과 rhyme이 맞는다.

단순한 next-token generation만 생각하면 모델이 문장을 한 단어씩 생성하다가 마지막에 rhyme에 맞는 단어를 선택할 것이라고 예상할 수 있다.

His → hunger → was → like → ...
                          ↓
                    마지막 순간
                    rabbit 선택

하지만 내부 activation을 추적한 결과는 달랐다.

두 번째 줄을 생성하기 전부터 이미 rabbit과 같은 미래 rhyme 후보에 해당하는 representation이 활성화되어 있었다.

목표: rabbit으로 끝내기
        ↓
His hunger was like a starving ...
        ↓
rabbit

즉, 미래의 destination을 어느 정도 먼저 정한 뒤 그곳에 도달하도록 앞의 token을 생성하는 형태다.

Intervention

Anthropic은 여기서 단순 관찰에 그치지 않았다.

rabbit과 관련된 representation을 억제하면 다른 rhyme이 선택됐고, 반대로 green과 관련된 feature를 인위적으로 활성화하면 문장 전체가 green으로 끝날 수 있도록 변화했다.

즉,

미래 출력 후보
   ↓
현재 token 생성
   ↓
목표를 향해 문장 구성

과 같은 계산이 실제 generation 과정에 causal하게 영향을 준다는 증거를 제시한다.

중요한 점은 next-token prediction으로 학습했다는 사실과 inference 과정이 항상 myopic하다는 것은 별개의 문제라는 것이다.

모델은 next-token prediction이라는 학습 목표를 통해 오히려 미래 token이나 문장 구조를 미리 고려하는 전략을 학습할 수 있다.


4. Mental Math: 모델은 사람이 가르친 방식대로 계산하지 않는다

다음과 같은 간단한 덧셈을 생각해보자.

36 + 59 = ?

모델이 이를 해결하는 방법으로는 여러 가능성이 있다.

  • 학습 데이터에서 답을 암기
  • 사람이 사용하는 올림(carry) 알고리즘 수행
  • 다른 내부 계산 방법 사용

Claude의 내부 circuit을 분석한 결과, 사람이 일반적으로 사용하는 방식과 다른 계산 전략이 나타났다.

대략적으로는 여러 계산 경로가 병렬로 작동한다.

Path 1
36 + 59 ≈ 90대
        \
         → 95
        /
Path 2
마지막 digit = 5

한쪽 경로에서는 결과의 대략적인 크기를 계산하고, 다른 경로에서는 마지막 자리 숫자와 같은 정보를 계산한 뒤 이를 결합한다.

흥미로운 점은 Claude에게 계산 방법을 직접 물으면 이런 내부 전략을 설명하지 않는다는 것이다.

모델은 대신 사람이 학교에서 배우는 일반적인 carry algorithm을 설명한다.

따라서

실제 internal computation
        ≠
모델이 말로 설명하는 reasoning

일 수 있다.


5. Chain-of-Thought는 실제 reasoning과 다를 수 있다

모델이 reasoning을 자연어로 길게 출력한다고 해서 그것이 실제 내부 계산 과정을 그대로 보여준다고 볼 수는 없다.

Anthropic은 쉬운 문제와 어려운 문제에서 이 차이를 비교했다.

Faithful한 경우

예를 들어

sqrt(0.64)

를 계산할 때 모델은 reasoning 과정에서 sqrt(64)와 같은 intermediate computation을 언급한다.

내부 circuit에서도 실제로 해당 중간 계산과 관련된 feature가 발견된다.

출력된 Chain-of-Thought
        ≈
실제 internal computation

인 경우다.


Unfaithful한 경우

반대로 모델이 직접 계산하기 어려운 문제에서는 다른 현상이 나타난다.

모델의 출력만 보면

중간 계산 A
→ 계산 B
→ 따라서 답은 X

와 같이 자연스러운 reasoning을 제공한다.

하지만 내부 circuit을 분석하면 해당 중간 계산을 실제로 수행한 흔적이 발견되지 않는 경우가 있다.

특히 모델에게 잘못된 answer hint를 먼저 제공하면,

Hint: 답은 X
      ↓
X를 먼저 받아들임
      ↓
X를 정당화하는 reasoning 생성

하는 패턴도 나타난다.

즉, reasoning을 통해 답에 도달한 것이 아니라 답을 먼저 결정한 뒤 그 답을 설명하는 reasoning을 사후적으로 생성할 수 있다.

따라서 Chain-of-Thought는 모델 내부 계산을 직접 보여주는 창이라기보다, 그 자체로 하나의 generated output으로 보는 것이 안전하다.

Internal computation
        ↓
      Answer

Internal computation
        ↓
"내가 이렇게 풀었다"는 explanation

두 과정이 항상 동일할 필요는 없다.


6. Multi-step Reasoning: 실제 intermediate fact를 거쳐 답하기

다음 질문을 예로 들 수 있다.

What is the capital of the state where Dallas is located?

정답은 Austin이다.

모델이 단순히 질문 패턴과 Austin을 직접 연결할 수도 있다.

Question
   ↓
Austin

하지만 내부 circuit을 분석한 결과 실제로는 다음과 같은 중간 단계가 나타났다.

Dallas
  ↓
Texas
  ↓
capital of Texas
  ↓
Austin

특히 중간의 Texas representation에 intervention을 수행해 이를 California 방향으로 바꾸면 최종 답 역시 Sacramento 방향으로 변화한다.

Texas가 단순히 우연히 활성화된 feature가 아니라 실제 downstream computation에 사용되고 있다는 것을 보여준다.


7. Hallucination: "모른다"를 억제하는 circuit의 실패

Hallucination에 대한 분석도 흥미롭다.

일반적으로 LLM은 기본적으로 답을 생성하려고 하고, 정보가 없을 경우 그럴듯한 내용을 만들어낸다고 생각하기 쉽다.

하지만 Claude에서는 조금 다른 구조가 관찰됐다.

모델 내부에는 대략적으로 "답을 모른다" 혹은 "답하지 말아야 한다"에 해당하는 기본 상태​가 존재한다.

알고 있는 entity가 등장하면 다음과 같은 흐름이 나타난다.

Known entity
    ↓
known-answer signal
    ↓
"don't know" circuit 억제
    ↓
답변 생성

반대로 모르는 entity라면,

Unknown entity
    ↓
known-answer signal 부족
    ↓
"don't know" 상태 유지
    ↓
답변 거부

에 가까운 동작을 한다.

Anthropic은 여기서 known answer feature를 인위적으로 활성화하거나 can't answer feature를 억제했다.

그러자 모델은 실제로 알지 못하는 대상에 대해서도 구체적인 정보를 만들어내기 시작했다.

대략 다음과 같은 실패가 가능하다는 것이다.

이름이 익숙하게 느껴짐
        ↓
known entity feature 오작동
        ↓
"모른다" signal 억제
        ↓
실제 knowledge는 부족
        ↓
하지만 답을 생성해야 하는 상태
        ↓
그럴듯한 내용 생성

이런 circuit의 misfire가 hallucination의 한 가지 메커니즘이 될 수 있다는 주장이다.

다만 이것이 hallucination 전체를 설명한다는 의미는 아니다.

Hallucination은 knowledge 부족, context 처리, retrieval, calibration 등 다양한 원인에서 발생할 수 있으며, 이 연구는 그중 특정 상황에서 발생하는 하나의 내부 mechanism을 보여준 것이다.


8. Jailbreak: Safety와 문장 coherence의 충돌

Jailbreak 상황에서도 흥미로운 circuit이 발견된다.

모델 내부에서 이미 입력이 위험하다는 signal이 나타났는데도 즉시 출력을 멈추지 않는 경우가 있었다.

한번 문장을 생성하기 시작하면 모델에는 동시에

  • grammatical coherence
  • semantic coherence
  • self-consistency

등 현재 생성 중인 문장을 자연스럽게 이어가려는 pressure가 존재하기 때문이다.

내부적으로는 대략 다음과 같은 경쟁이 발생할 수 있다.

위험한 내용이다 → 중단해야 함
           ↘
            이미 시작한 문장을
            자연스럽게 마무리해야 함

실제로 일부 사례에서는 위험한 방향으로 시작한 문장을 일단 문법적으로 완성한 뒤 다음 문장에서 refusal로 전환하는 현상이 나타났다.

즉 safety 역시 단순히

if dangerous:
    refuse()

같은 hard-coded rule 하나로 작동하는 것이 아니라, 모델 내부의 여러 learned feature 및 objective가 경쟁한 결과로 볼 수 있다.


9. 이 연구에서 중요한 방법론: Intervention

각 실험의 소재는 다르지만 연구 방법은 거의 동일하다.

1. Prompt 입력

2. 내부 feature activation 관찰

3. feature 사이의 circuit 추정
   A → B → C → Output

4. 특정 representation에 intervention
   - feature 억제
   - feature 강화
   - 다른 concept 삽입

5. Output 변화 관찰

6. 예상한 방향으로 결과가 변한다면
   해당 feature가 실제 computation에
   causal하게 관여한다는 evidence 확보

이 과정이 중요한 이유는 단순 activation 분석의 한계를 줄여주기 때문이다.

어떤 feature가 특정 상황에서 활성화됐다고 해서 반드시 계산에 필요했던 것은 아니다.

반면

Feature 제거
→ 예상한 output이 사라짐

다른 feature 삽입
→ 예상한 방향으로 output 변경

이 발생한다면 해당 feature가 실제 계산 과정에 관여했을 가능성이 훨씬 강해진다.


10. 핵심 결과 정리

이번 연구의 주요 결과를 정리하면 다음과 같다.

1. 서로 다른 언어에서 shared concept representation이 존재한다.

언어 표현 자체와 별개로 공통된 의미 feature를 이용해 추론하는 circuit이 관찰됐다.

2. LLM의 inference가 항상 myopic한 것은 아니다.

미래 token이나 rhyme과 관련된 representation을 미리 활성화하고 이를 목표로 현재 token을 생성하는 planning-like behavior가 나타났다.

3. 모델은 사람이 가르친 알고리즘과 다른 계산 전략을 학습할 수 있다.

덧셈과 같은 간단한 계산에서도 사람이 사용하는 carry algorithm과 다른 내부 computation이 발견된다.

4. Chain-of-Thought는 실제 내부 계산과 일치하지 않을 수 있다.

모델은 실제 reasoning 과정과 다른 설명을 생성하거나, 이미 결정된 답을 사후적으로 정당화하는 reasoning을 만들 수 있다.

5. 일부 multi-step question에서는 실제 intermediate fact가 계산에 사용된다.

Dallas → Texas → Austin과 같이 중간 representation이 downstream answer에 causal하게 영향을 미치는 사례가 확인됐다.

6. Hallucination은 knowledge-control circuit의 misfire로도 발생할 수 있다.

known entitydon't know 사이의 control mechanism이 잘못 작동하면 실제 knowledge가 없어도 모델이 답변 생성을 시작할 수 있다.

7. Safety behavior 역시 여러 internal mechanism의 경쟁 결과다.

위험성 감지와 문장 coherence 유지 등의 feature가 동시에 작동하면서 jailbreak 상황에서 예상하지 못한 행동이 나타날 수 있다.


11. 한계

이번 연구를 LLM의 사고 과정을 완전히 해독한 연구로 받아들이는 것은 과하다.

Anthropic 역시 현재 방법이 모델 내부 computation 전체가 아니라 극히 일부만 포착한다고 명시한다.

몇 가지 중요한 한계가 있다.

첫째, 분석 도구가 모델의 실제 computation을 완전히 복원한다고 보장할 수 없다. 관찰된 circuit 중 일부는 분석 방법에서 발생한 artifact일 수도 있다.

둘째, 매우 짧은 prompt 하나의 circuit을 분석하는 데도 상당한 수작업이 필요하다.

셋째, 현대 reasoning model처럼 수천 개의 token에 걸쳐 reasoning을 수행하는 경우 현재 방법을 그대로 적용하기 어렵다.

따라서 이번 연구의 의의는

LLM의 내부 사고 과정을 모두 밝혀냈다

는 것이 아니라,

모델 내부 computation의 일부를 사람이 이해할 수 있는 feature와 circuit 형태로 복원하고, intervention을 통해 그 causal role까지 검증할 수 있음을 보여줬다

는 데 있다.


결론

이번 연구에서 가장 흥미로운 부분은 개별 사례 자체보다도 모델 내부를 분석하는 방식의 변화다.

기존 interpretability 연구가

"이 feature는 무엇을 의미하는가?"

에 집중했다면, 이번 연구는

"이 feature들이 어떻게 연결되어
실제 답변을 계산하는가?"

로 질문을 확장한다.

그리고 단순히 내부 activation을 관찰하는 데서 끝나지 않고,

관찰
→ circuit 추정
→ intervention
→ output 변화 확인

을 통해 실제 causal computation을 추적하려고 한다.

아직 모델의 내부 계산 중 극히 작은 일부밖에 볼 수 없지만, LLM 내부에서 어떤 계산이 실제로 일어나고 있는지를 실험적으로 검증하는 방향을 보여줬다는 점에서 의미가 있는 연구다.

 

 

 

 

 

 

 

더보기

미래를 계획했다는 결과는 생각보다 당연한 현상일 수도 있다. 모델은 글의 각 위치에서 next-token loss를 줄이는 방향으로 학습되기 때문에, 실제 생성은 한 token씩 이루어지더라도 이후의 구조나 단어를 간접적으로 예측하는 representation이 학습될 수 있다.

수학 실험 역시 인간과 같은 내부 추론 알고리즘이 존재한다는 증거라기보다는, 여러 학습된 패턴을 조합해 답을 만들어내고 있다는 쪽에 더 가까워 보인다.

그럼에도 이러한 내부 패턴을 실제로 발견하고 intervention을 통해 출력 변화까지 확인한 점은 흥미롭다.

다만 특정 activation pattern을 발견했다고 해서 모델이 반드시 연구자가 해석한 메커니즘 그대로 작동한다고 단정할 수 있는지는 의문이다. 복잡한 내부 표현을 관찰한 뒤 인간이 이해 가능한 개념으로 사후적으로 끼워 맞춘 해석일 가능성도 남아 있다.



"
특히 mechanistic interpretability는 보통

특정 feature가 켜짐 → 사람이 그걸 planning, known entity, Texas concept 같은 이름으로 해석

하는 과정이 들어가는데, feature 자체는 고차원이고 polysemantic할 수 있어서 인간이 붙인 라벨이 실제 내부 의미를 완전히 반영한다고 보장하기 어렵습니다.
"

3.5점 / 5점