본문 바로가기
카테고리 없음

​Anthropic의 연구 논문:Tracing the thoughts of a large language model

by 혜룐 2025. 3. 28.

Anthropic의 연구 논문 "Tracing the thoughts of a large language model"은 대형 언어 모델의 내부 작동 방식을 이해하고자 작성된 연구논문이다. https://www.anthropic.com/research/tracing-thoughts-language-model (유튜브영상 귀욥네 ㅎ 앤트로픽은 확실히 갬성이 있어ㅎ 취저임 ㅋ)
신경과학 분야에서 영감을 받아, AI biology 을 만들었다. AI 모델의 내부 활동과 정보 흐름을 시각화하는 개발을 했다고 한다. 그래서 클로드와 같은 언어모델이 입력된 단어를 출력으로 변환하는 과정을 상세히 분석할 수 있었다고 한다. 

클로드는 머릿속으로 어떤 생각을 하고 있을까?

Anthropic은 Claude와 같은 언어 모델이 어떻게 사고하는지를 더 잘 이해한다면, 모델의 능력을 더 정확히 파악하고, 우리가 의도한 대로 작동하고 있는지도 점검할 수 있을 것이라고 설명했다.
 

  • Claude는 수십 개 언어를 구사하는데, 그렇다면 머릿속에서는 어떤 언어를 사용하고 있을까?
  • Claude는 텍스트를 한 단어씩 생성하는데, 진짜 다음 단어만 생각하는 걸까, 아니면 미리 계획을 세우는 걸까?
  • Claude는 자신이 추론한 과정을 단계별로 설명하기도 하는데, 이 설명은 실제 추론 과정을 반영한 걸까, 아니면 그럴듯하게 만들어낸 말일까?

해당 글이랑 연관된 글을 보면서 정리해보면 클로드는 그냥 단어 예측기가 아니다.

  • 시를 쓸 때는 단어를 미리 계획하고 그에 맞춰 문장을 짓는다
  • 계산을 할 때는 대충 계산 + 정확한 숫자 계산을 병렬로 처리한다
  • 이건 "생각하고 행동하는 것"에 가깝다. Claude는 기계적인 반응을 넘어서, 목표를 향해 유연하게 사고를 조정하는 존재처럼 작동한다.

Claude 3.5 Haiku가 어떻게 다국어(multi-lingual) 개념을 처리하는지 보여주는 매우 핵심적인 사례를 보여주는 그림

 
gpt 22년도에 처음 쓸때 신기하긴 했다. 프롬프트에 사용자언어에 맞게 대답하라는 프롬프트 한줄로 글로벌서비스 대응이 더 쉬워지겠는데? 하면서 띠용했었다. 클로드도 그렇고 말이다. 언어를 유창하게 구사한다. 그런데 정말 언어별로 다른 클로드가 있을까? 연구진도 이런 생각을 했나보다. 아니면 모든 언어를 통합적으로 처리하는 공통적인 사고방삭이 있는걸까?
주목할점은 모든 언어에서 동일한 내부 개념(circuit)이 활성화된다는 점이다. 즉, Claude는 언어별로 독립된 사고를 하는 것이 아니라, ‘언어를 초월하는 개념 공간’(shared multilingual features) 안에서 의미를 이해하고 처리한다. 
두번째는 언어 간 추론 공유다. 클로드는 한 언어로 배운 내용을 다른 언어에서도 적용할 수 있다. 예를 들어 영어로 학습한 관계를 다른 언어에서도 쓸수 있다는 것이다. 
세번째는 모델크기와 개념 공유의 비례성이다. 모델이 커질수록 언어간 공유되는 회로의 비율이 높아지니까. Claude 3.5 Haiku는 소형 모델 대비 2배 이상 많은 feature를 여러 언어가 공유하고 있었다.
네번째 conceptual universality 개념적 보편성 ㅋㅋ 한글이 더 이상하네ㅋㅋ 이게 좀 신기하긴 한데, 어떻게 실험한건진 모르겠지만.. 언어 이전의 추상적 사고 공간을 사용하고 있다는 증거다. 즉 의미가 먼저 존재하고 그 의미가 언어로 변역되는 구조다. 단어를 보고 바로 반응하는게 아니라 개념을 이해하고 그걸 문장에 맞는 언어로 바꿔서 말한다는 뜻이다.
예를 들어서 우리가 상상속에서 사과를 떠올릴때 애플이든 사과든 apple이든 우리는 머릿속에 떠오르는 이미지는 웬만하면 빨간 과일일거다. 단어는 다르지만 우리가 생각하는 사과 라는 개념은 같다. 이게 바로 언어 이전의 개념공간을 말한다.
그래서 이미지를 다시 보면 Claude는 문장을 처리할 때 다음과 같은 순서를 따르는 셈이다.

  1. 문장을 읽는다: "Le contraire de 'petit' est "
  2. 내부적으로 ‘작음(small)’이라는 개념을 떠올린다
  3. 반대(opposite)’라는 개념을 적용한다
  4. 큼(large)’이라는 개념을 활성화한다
  5. 문장의 언어가 프랑스어니까, **‘grand’**라고 출력한다

중국어 문장도 마찬가지 경로를 타고, 마지막 단계에서만 ‘大’가 나오게 되는거다. (ㅎㅎ 오호호호) 클로드는 언어별로 따로따로 생각하지 않고 언어를 넘나드는 하나의 공통된 의미 공간안에서 생각한다는 뜻이다. 인간의 사고방식이랑 비슷하다.
그래서 코딩도 잘하나? 개념중심사고를 먼저하니까 코드를 구성하는 개념 구조를 이해한 다음에 언어처럼 자유롭게 표현하는 방식으로 코딩을 하니까 코드가 더 잘읽히나? 프로그래밍의 사고 구조를 먼저 이해하고, 거기에 맞게 언어를 번역하듯이 코드를 만드니까? 그래서 파이썬이든 자바든 넘나드는건가
 

  • Claude는 단순히 단어를 예측하는 게 아니라, 언어와 상관없이 사고할 수 있는 모델이다.
  • 이 덕분에 Claude는 한 언어로 배운 개념을 다른 언어로 일반화할 수 있다.
  • 이는 다국어 지원, 번역, 개념 추론, 창의적 응용 등에서 매우 강력한 능력이다.

Claude는 시의 운율(rhyme)을 계획할 수 있을까?

영상에서도 나오는 실험내용이다. Claude가 그냥 단어를 하나씩 순서대로 예측하면서 마지막에 가서야 ‘grab it’에 맞춰 ‘rabbit’을 골랐을 거라 생각했는데, 클로드는 이미 두번째 줄을 쓰기 전에 rabbit이라는 단어를 골라놓고 끝에 자연스럽게 붙이기 위한 문장을 계획하고 있었다는거다. 

 
시를 그냥 쓰는게 아니라, 미리 어떤 단어로 끝날지를 정해두고 그 단어에 맞춰서 줄을 짜는거다. 그 단어를 지우거나 바꾸면? 전체 문장을 재계획해서 작성한다는거다. 이건 마치 인간이 “음... grab it이랑 맞는 단어가 뭐 있지? habit? rabbit?” 하면서 그 단어에 맞춰 가사를 짜는 것처럼, Claude도 계획-조율-출력을 하고 있다는 뜻이다.

암산능력에 관한 내용도 나오는데, 계산을 꽤 정확하게 잘한다.

계산기처럼 설계된 모델이 아님에도 불구하고 계산을 꽤 정확하게 하는데 그 비밀은 병렬계산경로에 있다고 한다.
파란경로처럼 대략적으로 근사값을 계산하고, 보라경로 처럼 마지막 자리 숫자를 정확하게 계산하는데 이부분이 마지막 자리 숫자 정밀처리 전용 경로라고 보면되겠다. 그래서 그 2개경로가 합쳐져서 더하기를 한다고 한다.
이렇게 계산하는 방식도 사람처럼 한다고 볼수 있겠다. 대충 짐작하면서도 정밀 보정도 하고 답을 구하니가 말이다.


Claude는 “멀티스텝 추론”을 한다

Claude가 단순히 정답 "Austin"을 암기해서 출력한 게 아니라면, 그건 실제 추론(inference)*을 했다는 말이다.
그리고 그 추론의 출발점은 “Dallas”라는 단어가 어떤 의미를 가지는지 이해하는 것부터 시작한다.
문장을 단어 단위로 끊어읽는게 아니라 전체 문장의 구조를 분석해서(문법+의미) 그 안에서 어떻게 생각할지를 결정하는 방식이라고 한다.
Claude는 학습된 언어 패턴을 바탕으로 문장의 구조를 파악하고, “아, 지금 말하려는 건 ‘Dallas가 포함된 주의 수도’구나!”를 이해하는 연쇄추론을 한다는거다. 그래서 의미 기반 연쇄추론을 시작하고 답을 낸다고 한다.
이걸 인간처럼 생각하면

“Dallas가 어디 있는지 알아야 → 그 주의 수도를 말할 수 있지.”

Claude도 이 과정을 아주 비슷하게 처리하고 있었다는 말이다. 
그럼 Claude는 문장을 '해석'한 다음에 생각을 한다?는건가? Claude는 단어를 하나하나 예측하는 모델이긴 하지만, 각 단어가 어떤 의미/역할을 가지는지를 문맥 속에서 파악해. 그 다음에 해당 관계에 맞는 지식/개념들을 내부에서 활성화하는 방식으로 "생각"이 시작된다.


왜 추론이라고 느끼는 이유는 뭘까? 다음 토큰을 확률기반으로 줄뿐인거 아닌가? 시쓰는것도 계획이라고 표현하지? (문뜩ㅎ)

 
출력이 너무 그럴듯 하고, 출력 흐름이 인간 추론과 닮아 있기 때문이고, 인간은 무의식적으로 의인화하기 때문아닐까 싶다.
시쓰기에서 계획을 했다라는 것도 좀더 읽어보고 생각해보면,

  • Claude가 미리 “rabbit”을 떠올리고 → 그에 맞는 문장을 쓴 것처럼 보인다.
  • 그런데 그건 토큰 예측이 rabbit 관련 feature를 미리 활성화했기 때문이지, 누가 메모장에 써놓고 플랜 세운 게 아니다.

그래도 우리가 추론한다고 느끼는 이유는 Claude가 “Austin”이라는 답을 낼 때, 그 경로가 우리의 추론과 놀랍도록 유사하기 때문이다. Claude는 개념을 계산식처럼 따지진 않지만, 결과적으로 문맥상 의미 있고 논리적으로 보이는 경로를 거쳐 답을 출력한다. 신경망 내부의 패턴 활성 흐름을 사람이 이해하기 쉽게 비유해서 설명하다 보니까 말이다.
작년인가.. 클로드하고 피자얘기 하면서 클로드가 자기 의심하냐는 답을 했다는 영상이 되게 신기했었다. 개인적으로는 유독 클로드라는 모델을 더 사람인것처럼 바라보는거 아닌가? 라는 생각이 있다. 근데 왜인지는 모르겠지만 나 역시도 클로드로 공부를 함께 하고 코드짜는게 더 결과물이 좋다. (클로드 왠지 사람이름 같거든 ㅎㅎ)
https://transformer-circuits.pub/2025/attribution-graphs/biology.html#dives-hallucinations

On the Biology of a Large Language Model

Large language models display impressive capabilities. However, for the most part, the mechanisms by which they do so are unknown. The black-box nature of models is increasingly unsatisfactory as they advance in intelligence and are deployed in a growing n

transformer-circuits.pub

에 가면 보다 자세하게 볼수 있는데 내용이 너무 많다. 엔티티인식이랑 할루시네이션 제일브레이킹은 다음에 읽어봐야겠다.