원문: https://arxiv.org/pdf/2309.08600
ABSTRACT
배경 (무엇이 문제인가?):
AI(신경망)는 내부적으로 아주 복잡한 계산을 합니다. 특히 하나의 뉴런이 여러 가지 서로 다른 역할을 동시에 하는 경우가 있습니다. 이를 다의성(polysemanticity)이라고 부르는데, 이런 다의성 때문에 사람들은 AI가 내부에서 어떤 일을 하고 있는지 쉽게 이해하기 어렵습니다.
이런 다의성이 생기는 이유 중 하나는 뉴런의 숫자보다 AI가 학습한 정보(특징)의 숫자가 더 많기 때문입니다. 그래서 뉴런들은 여러 개의 특징을 동시에 표현하게 되는데, 이를 중첩(superposition) 이라고 부릅니다.
이 연구의 목적과 방법 (무엇을 했는가?):
이 논문의 연구진은 이런 문제를 해결하기 위해 희소 오토인코더(Sparse Autoencoder, SAE)라는 방법을 사용했습니다. SAE는 복잡한 신경망의 내부 신호를 간단하고 이해하기 쉬운 형태로 재구성해주는 역할을 합니다.
특히, SAE는 신호를 간단하게 표현하면서, 한 번에 하나의 의미만 나타내는 명확한 특성(Feature)을 만들어 냅니다.
연구의 성과 (결과는 어땠는가?):
이렇게 만든 특성들이 기존 방식보다 훨씬 이해하기 쉬웠고, 여러 의미가 뒤섞이지 않고 한 번에 한 가지 의미만 명확하게 나타내도록 하는 데 성공했습니다.
추가적으로, 특정 작업(간접 목적어 찾기 과제)에서 AI가 어떤 결정을 왜 내렸는지 더 정확하게 분석할 수 있었습니다.
이 연구는 언어모델 내부의 복잡한 현상을 이해하기 쉽고 투명하게 만들어주는 방법을 제안했습니다. 앞으로 이 방법은 AI의 내부 작동 방식을 더 명확히 이해하고, 필요에 따라 원하는 방향으로 조정할 수 있는 기반이 될 수 있습니다.
한 문장으로 요약하자면,
"언어모델의 복잡한 내부 신호를 '한 가지 명확한 의미'만 갖도록 간단히 정리해서 사람이 이해하기 쉽게 만드는 방법을 제안했다."
1 INTRODUCTION
① 배경과 문제점 (왜 이 연구를 했나?)
최근 AI가 빠르게 발전하면서, 매우 뛰어난 성능을 가진 AI들이 많이 등장했습니다.
그런데 문제는, 이런 뛰어난 AI들이 어떻게 판단하고 결정하는지 인간이 잘 모른다는 점입니다.
이로 인해 AI가 인간을 속이거나 예상치 못한 위험한 행동을 할 수 있다는 우려가 생기고 있습니다.
그래서 우리는 AI가 내부적으로 어떻게 작동하는지 정확히 이해할 필요가 있습니다. 이를 "해석 가능성(Interpretability)"이라 하고, 특히 AI의 내부 구조를 세부적으로 분석해서 그 구조를 이해하는 것을 "메커니즘적 해석 가능성(Mechanistic Interpretability)"이라고 합니다.
② 이 연구의 핵심 아이디어 (어떤 문제를 해결하려고 했나?)
AI 모델은 수많은 작은 단위(뉴런들)로 이루어져 있는데,
이 뉴런들이 동시에 여러 가지 역할을 수행하는 경우가 많습니다(이를 "다의성(Polysemanticity)"이라고 부릅니다).
이 연구에서는 다의성이 왜 발생하는지 분석했는데, 그 원인이 "중첩(superposition)"이라고 밝혔습니다.
중첩이란, AI가 가진 뉴런의 수보다 훨씬 더 많은 정보(특징)를 동시에 학습하게 될 때 발생합니다.
즉, 하나의 뉴런이 여러 개의 특징을 동시에 표현하는 현상입니다.
이러한 중첩이 심하면 AI의 내부를 사람이 이해하기 어렵기 때문에, 중첩을 해결하는 것이 매우 중요합니다.
③ 연구진이 선택한 해결책 (무엇을 어떻게 했나?)
이 연구는 "희소 오토인코더(Sparse Autoencoder, SAE)"라는 기술을 사용했습니다.
SAE는 복잡한 AI의 내부 신호(Activation)를 수집하고, 이를 간단하고 명확하게 정리된 특징(Feature)들로 다시 만들어주는 방법입니다.
구체적인 단계는 다음과 같습니다
- AI 모델의 내부 신호를 추출합니다.
- 이 신호를 이용해서 희소 오토인코더를 학습시킵니다.
- 그러면 오토인코더가 간단하고 해석하기 쉬운 특징(feature)을 만듭니다.
- 마지막으로 이 특징들이 얼마나 명확한지 확인하기 위해, 이를 자동으로 평가합니다.
④ 연구 결과 (어떤 성과를 얻었나?)
연구진은 SAE를 통해 얻은 특징들이 기존 방식보다 훨씬 더 해석하기 쉽고 명확하다는 것을 발견했습니다.
또한 이 특징들을 이용하면 AI가 특정 과제를 수행할 때 정확히 어떤 특징이 중요한 역할을 하는지 아주 구체적으로 파악할 수 있었습니다.
이런 성과는 AI가 가진 복잡한 내부 구조를 더 쉽게 이해할 수 있도록 도와줍니다.
한 문장으로 정리하면?
"이 연구는 복잡한 AI 내부를 '희소 오토인코더(SAE)'로 단순화하여, AI가 어떤 판단을 왜 내리는지 사람이 쉽게 이해할 수 있도록 했다."
2 TAKING FEATURES OUT OF SUPERPOSITION WITH SPARSE DICTIONARY
① 연구 목표: "중첩(superposition)" 문제 해결하기
AI가 가진 뉴런의 수보다 더 많은 특징(features)을 표현할 때,
하나의 뉴런에 여러 특징이 섞여 나타나는 중첩(superposition) 현상이 발생합니다.
이 현상 때문에 뉴런이 하는 일을 이해하기 어려워집니다.
그래서 연구진은 이 문제를 해결하기 위해
복잡하게 뒤섞인 특징들을 간단하고 명확한 형태로 정리하는 방법을 사용했습니다.
이 방법을 "희소 사전 학습 (Sparse Dictionary Learning)" 이라고 부릅니다.
② 사용한 방법: "희소 오토인코더(Sparse Autoencoder, SAE)"
연구진은 "오토인코더(autoencoder)"라는 신경망을 사용했습니다.
오토인코더는 크게 두 부분으로 이루어져 있습니다
- 인코더(Encoder)
복잡한 원본 데이터를 간단한 신호(특징들)로 압축합니다.
- 디코더(Decoder)
압축된 간단한 신호로부터 원본 데이터를 다시 복구합니다.
여기서 중요한 부분은, 이 자동인코더가 데이터를 압축할 때 "희소성(Sparsity)"을 갖추도록 강제하는 것입니다.
③ 희소성(Sparsity)이란?
희소성은 "가능한 적은 수의 특징만 활성화되는 것"을 의미합니다.
예를 들어, 100개의 특징이 있다고 하면,
대부분의 데이터는 2-3개의 특징만 사용해서 설명할 수 있고,
나머지 97-98개는 활성화되지 않는(0에 가까운) 상태를 유지하게 하는 겁니다.
이렇게 하면 특징들이 각각 명확하게 구별될 수 있고,
하나의 특징이 여러 의미를 가지는 문제(중첩)가 사라지게 됩니다.
④ 연구에서 사용한 모델 구조
오토인코더의 구조는 매우 간단합니다:
- 입력 데이터(언어모델 내부 신호)는 `x` 라고 부릅니다.
- 이것이 인코더를 통과해 압축된 신호 `c`가 됩니다:
- `c = ReLU(Mx + b)`
- (`ReLU`는 음수를 0으로 바꾸는 간단한 함수입니다.)
- 압축된 신호를 디코더로 다시 복원해서 원본 신호를 비슷하게 재구성한 것이 `x̂`입니다:
- `x̂ = Mᵀc`
- 여기서 `M`은 오토인코더가 학습한 "특징들의 사전(dictionary)"입니다.
(즉, 어떤 특징들이 있는지를 나타내는 정보가 담긴 매트릭스입니다.)
⑤ 모델이 학습하는 방법 (손실함수, Loss function)
모델은 두 가지 목표를 동시에 달성하려 합니다.
1. 원본 신호를 정확히 복원하는 것 (재구성 손실, Reconstruction loss)
원본 데이터와 복원된 데이터의 차이를 최소화합니다.
2. 최대한 적은 수의 특징을 사용하는 것 (희소성 손실, Sparsity loss)
압축된 신호에서 활성화된 특징 수를 최소화합니다.
이 두 가지를 동시에 달성하기 위해 다음의 손실함수(Loss)를 사용합니다.
```
손실(Loss) = 재구성 손실 + 희소성 손실
= (원본 - 복원된 데이터 차이)^2 + α × (활성화된 특징 수)
```
여기서 `α`(알파)는 희소성의 강도를 결정하는 하이퍼파라미터입니다.
이렇게 학습하면, 복잡한 원본 데이터가 몇 가지의 간단한 특징으로 표현되고,
각 특징이 명확한 의미를 가지게 됩니다.
한 문장으로 정리하면?
"복잡하게 섞인 AI의 내부 신호를, 가능한 적은 수의 명확한 특징들로 표현하도록 오토인코더를 이용해서 중첩(superposition) 문제를 해결했다."
3 INTERPRETING DICTIONARY FEATURES
① 연구 목표: 특성(feature)의 해석 가능성(interpretablity) 평가하기
연구진은 오토인코더(SAE)를 이용해 복잡한 AI의 내부 신호를 쉽게 이해할 수 있는 형태(특징)로 바꿨습니다.
이렇게 얻은 특징들이 정말 이해하기 쉬운지(해석 가능한지) 평가하고 싶었습니다.
이를 위해 연구진은 "자동 해석 평가(autointerpretability)" 방법을 사용했습니다.
② 자동 해석 평가 방법 (Autointerpretability)
자동 해석 평가 방법이란
- 먼저 특정 특징(feature)이 활성화되는 예제 문장들을 수집합니다.
- 언어모델(GPT 등)을 사용하여, 그 특징이 왜 활성화됐는지를 사람이 이해할 수 있는 언어로 설명하게 합니다.
- 그런 다음, 이 설명을 토대로 언어모델이 다른 예제 문장에서 그 특징이 언제 얼마나 활성화되는지 예측하게 합니다.
- 마지막으로 이 예측이 실제로 얼마나 정확한지 계산합니다.
(실제 활성화 정도와 예측한 활성화 정도의 상관관계가 높을수록 그 특징은 해석하기 쉽다고 평가합니다.)
③ 실험 결과: SAE 특징들이 다른 방법들보다 더 해석 가능성이 높음
연구진은 SAE로 얻은 특징들의 해석 가능성 점수를 다음과 같은 다른 방법들과 비교했습니다.
- 기본 뉴런 상태(Default basis)
- 무작위 방향(Random directions)
- 주성분 분석(PCA)
- 독립 성분 분석(ICA)
그 결과 SAE로 얻은 특징들이 다른 모든 방법들보다 해석 가능성 점수가 높았습니다. (논문의 Fig 2에서 볼 수 있음)
특히, 앞쪽 레이어에서는 SAE의 특징이 압도적으로 더 명확했고,
뒤쪽 레이어로 갈수록 SAE의 우위가 점점 줄어들었습니다.
연구진은 이 이유가 뒷쪽 레이어의 특징들이 더 복잡하고, 언어모델이 자동으로 해석하기 어려운 미묘한 정보를 담고 있기 때문이라고 설명했습니다.
④ 실제 예시로 본 특징 설명
논문에 나온 실제 특징(feature)들의 자동 해석 예시는 다음과 같습니다.
여기서 숫자가 높을수록 해석이 더 명확한 특징입니다.
⑤ 연구의 결론
결론적으로, SAE를 이용한 특징들은 기존의 여러 방법들보다 인간이 이해하기 쉬운 형태로 내부 정보를 표현할 수 있음을 보였습니다. 또한 이 방법은 대규모 AI에서도 확장 가능하고 자동으로 평가할 수 있다는 장점이 있습니다.
한 줄로 쉽게 정리하면?
"자동 해석 평가 방법을 이용해 SAE로 얻은 특징들이 다른 방법들보다 훨씬 이해하기 쉽다는 것을 증명했다."
4 IDENTIFYING CAUSALLY-IMPORTANT DICTIONARY FEATURES FOR INDIRECT OBJECT IDENTIFICATION
① 연구의 목표 (무엇을 했나?)
이 섹션에서는, SAE(희소 오토인코더)를 통해 만든 특징들(features)이 실제로 AI가 특정 결정을 내릴 때 중요한 역할을 하는지를 확인하고자 했습니다.
이 연구는 "**간접 목적어 식별(Indirect Object Identification, IOI)**"이라는 과제를 사용했습니다.
예를 들면 다음과 같은 문장을 AI가 완성하는 작업입니다.
> "Then, Alice and Bob went to the store. Alice gave a snack to ____."
> (이 빈칸을 AI가 채우는 과제입니다.)
이 과제를 통해, SAE로 찾은 특징들이 AI의 특정 행동을 정확히 결정짓는지 확인했습니다.
② 실험 방법 (어떻게 했나?)
이 실험은 "활성화 패칭(Activation Patching)"이라는 방법을 이용했습니다.
이 방법을 간단히 설명하면 다음과 같습니다.
- 먼저, 원래 문장과 간접목적어만 바뀐 문장(예를 들어, Bob → Vanessa) 두 가지를 준비합니다.
- 두 번째 문장("Vanessa"로 바꾼 문장)을 AI가 읽게 해서, AI 내부의 신호(활성화)를 기록합니다.
- 그런 다음 원래 문장("Bob"이 있는 문장)을 AI가 읽을 때, 두 번째 문장에서 얻은 신호를 일부 붙여넣어(patching) AI의 신호를 인위적으로 수정합니다.
- 이렇게 신호를 수정한 후, AI가 최종적으로 무엇을 예측하는지 관찰합니다.
- 이를 통해 특정 특징이 AI의 최종 결정에 얼마나 중요한지(KL divergence라는 지표로 측정)를 평가할 수 있습니다.
이 과정에서 연구진은 어떤 특징(feature)을 수정해야 AI의 결정이 가장 많이 변하는지,
특징들의 중요도 순서를 자동으로 찾아주는 자동 회로 발견(Automated Circuit Discovery, ACDC)이라는 방법을 활용했습니다.
③ 실험 결과 (무엇을 발견했나?)
실험 결과, 다음과 같은 중요한 사실을 발견했습니다.
- SAE를 통해 만든 희소 특징들이 기존의 PCA(주성분 분석)와 같은 다른 방법들보다,
더 적은 수의 특징만 수정해도 AI의 행동을 효과적으로 바꿀 수 있었습니다.
- SAE 방식으로 만든 특징들이 AI의 특정 행동에 더 직접적으로 관련돼 있다는 의미입니다.
즉, SAE 특징들이 실제 AI가 하는 행동을 더 잘 설명하고 있다는 뜻입니다.
- 하지만 희소성을 너무 강하게 하면, AI의 내부 신호를 정확히 복원하지 못하는 부작용도 생겼습니다.
그래서 희소성 정도(α)를 적절히 조정하는 것이 중요하다는 점도 확인했습니다.
한 문장 정리
"SAE로 만든 특징들은 AI의 특정 결정에 중요한 역할을 정확히 찾아내고, 기존 방법들보다 더 적은 수의 특징으로 AI 행동을 설명할 수 있었다."
5 CASE STUDIES
① 이 연구에서 무엇을 했나?
이 섹션에서는, SAE를 이용해 얻은 특징들이 실제로 사람이 이해할 수 있는 명확한 의미(**monosemantic**)를 가지고 있는지, 그리고 AI의 작동 원리를 구체적으로 이해하는 데 얼마나 도움이 되는지를 사례를 통해 분석했습니다.
연구진은 각 특징이 정말 명확한 의미를 갖는지 세 가지 방법으로 분석했습니다.
- 입력 분석(Input)
어떤 단어(token)가 그 특징을 활성화시키는지 확인했습니다.
- 출력 분석(Output)
특정 특징을 비활성화했을 때 AI가 어떤 예측을 하는지 분석했습니다.
- 중간 특징 분석(Intermediate Features)
특정 특징이 활성화되는 이유를 이전 레이어의 다른 특징들에서 찾아보았습니다.
② 결과1: SAE 특징은 아주 명확한 의미(monosemantic)를 가진다.
연구진은 특징이 활성화되는 단어들을 분석해서, 특징들이 실제로 단 하나의 명확한 의미만 나타내는지 확인했습니다.
예시로, 특징 556을 보면(논문의 그림 4)
- 이 특징은 주로 작은따옴표(apostrophe: ')에서 활성화됩니다.
- 활성화 정도가 낮을 때는 다른 문장 부호와 같은 비슷한 용도의 기호에서도 나타났지만,
높은 활성화 수준에서는 거의 항상 작은따옴표에서만 나타났습니다.
즉, 이 특징은 확실히 작은따옴표라는 하나의 명확한 의미로 잘 설명됩니다.
(반면, 기본 AI 신경망은 하나의 특징이 여러 의미를 갖는 다의성(polysemantic) 문제가 존재합니다.)
③ 결과2: SAE 특징을 제거하면 AI 예측도 명확하게 바뀐다.
특정 특징을 AI의 내부 신호에서 없애면(Ablation), AI의 다음 단어 예측이 바뀌었습니다.
예를 들어, 작은따옴표 특징을 제거하면, AI는 바로 뒤에 올 것으로 예상되는 `"s"`의 확률을 크게 낮췄습니다.
(예: let's, Bob's 등 apostrophe 뒤에 보통 "s"가 오기 때문)
이 결과는 SAE의 특징이 실제로 AI의 예측과 명확히 연결되어 있음을 보여줍니다.
④ 결과3: SAE 특징을 이용하면 AI의 내부 구조를 자동으로 쉽게 분석할 수 있다.
연구진은 "자동 회로 발견 (Automatic Circuit Detection)" 방법으로 각 특징이 서로 어떻게 연결되는지 분석했습니다.
예시로, 논문의 그림 5에서는 "닫는 괄호 ')' 특징"이 어떤 특징과 연결되어 있는지 보여줍니다.
- 레이어 5에서 닫는 괄호 특징이 활성화될 때, 이전 레이어(레이어 4, 3, 2 등)에서 어떤 특징들이 이 특징을 활성화시키는지 자동으로 찾아냅니다.
- 이를 통해 각 특징이 AI 내부에서 어떤 역할을 하는지 매우 구체적으로 이해할 수 있습니다.
- 예를 들어, 날짜나 약어처럼 괄호가 뒤따르는 상황을 미리 탐지하는 특징들이 닫는 괄호 특징을 활성화합니다.
이러한 자동 분석은 AI 내부의 복잡한 과정을 더 투명하고 이해하기 쉽게 만듭니다.
한 줄 정리
"SAE로 얻은 특징들은 명확한 의미를 갖고 있으며, 이 특징들을 통해 AI가 어떤 단어를 왜 예측하는지 정확히 이해할 수 있었다."
6 DISCUSSION
① 관련 연구 (이전에는 어떤 연구들이 있었나?)
- 이 연구 이전에도 **희소성(Sparsity)을 이용해 AI 내부를 분석한 연구들이 있었습니다.
- Yun 등 (2021), Sharkey 등 (2023)의 연구가 있었고, 특히 Sharkey 연구는 이번 연구의 동기가 되었습니다.
- 유사한 방법은 시각 피질(뇌의 시각 영역)의 뉴런을 연구하는 분야에서도 사용되었습니다(Olshausen & Field, 2004 등).
- 하지만 이번 연구가 기존과 다른 점은
- 기존 연구들은 AI를 처음부터 학습할 때 구조나 학습 방식을 바꿔서 희소성을 부여하려고 했습니다.
- 예: 뉴런을 제거하거나, 활성화 함수로 소프트맥스를 사용하거나, ℓ1 penalty(희소성 벌칙)를 줌.
- 이번 연구는 이미 잘 학습된 AI를 대상으로 후처리(후속 과정)로 희소성을 추가한 것입니다.
기존 방식은 최신 AI에 적용하기가 어렵고, 항상 해석성이 좋아지는 것도 아니었다는 한계가 있었습니다.
② 연구의 한계점과 미래 과제 (더 나아갈 점은?)
이 연구의 한계는 다음과 같습니다
- 현재의 SAE는 AI 내부의 모든 정보를 완벽히 재구성하지 못했습니다.
- 예: SAE로 AI 내부 신호를 재구성하면 AI의 성능이 다소 떨어졌습니다 (퍼플렉서티가 높아짐).
- 따라서, 다른 형태의 자동인코더 구조를 연구하거나, 신호 자체가 아니라 AI 출력 결과의 변화를 최소화하는 방식으로 학습하는 방법을 연구할 계획입니다.
- SAE가 현재로서는 주로 Residual Stream(잔차 스트림)이라는 부분의 신호 분석에 최적화돼 있습니다.
- AI 내부에는 다른 부분도 있는데, 특히 MLP 레이어**에서는 지금의 방식으로는 완벽히 적용하기 어렵습니다.
- 앞으로는 MLP나 Attention 레이어 같은 다른 내부 구조를 분석하는 방법을 더 연구할 예정입니다.
- 이번 연구에서는 "간접 목적어 식별(IOI)"과 같은 특정한 사례를 주로 다뤘는데, 이 결과가 더 다양한 과제에서도 일반화될 수 있을지 추가 연구가 필요합니다.
- 더 나아가, AI 내부에서 서로 영향을 주는 특징들 사이의 인과적 관계를 자동으로 추적하고 분석하는 방법도 추가 연구 목표로 설정했습니다.
③ 결론 (이 연구가 이룬 성과는?)
- SAE는 복잡한 AI 내부의 중첩(superposition)을 쉽게 해결할 수 있는 확장 가능한 방법임을 입증했습니다
- 기존의 방식보다 훨씬 더 적은 자원(연산량, 데이터 등)을 사용해 효과적으로 AI의 내부 구조를 이해할 수 있게 해줍니다.
- 자동 해석 평가를 통해, 이 방식으로 얻은 특징들이 더 명확하고 해석이 쉬우며(monosemantic), AI의 행동을 잘 설명할 수 있다는 점도 확인했습니다.
연구진은 이러한 방법들이 AI가 어떤 특징을 기반으로 판단하는지 투명하게 공개하고, 위험한 행동(속임수 등)을 방지하는 안전성을 높이는 데 기여하기를 기대합니다.
한 줄 요약
"SAE 방식은 AI의 내부 신호를 사람이 이해하기 쉽게 단순화하여, AI가 내린 판단을 더 명확히 설명하고 안전성을 높이는 데 기여할 수 있다."
'ML & DL > 논문리뷰' 카테고리의 다른 글
Learning from Peers in Reasoning Models (1) | 2025.05.18 |
---|---|
LegoGPT: Generating Physically Stable and Buildable LEGO® Designs from Text (1) | 2025.05.11 |
AUDITING LANGUAGE MODELSFOR HIDDEN OBJECTIVES (1) | 2025.04.20 |
Training Large Language Models to Reason in aContinuous Latent Space (0) | 2025.04.13 |
Native Sparse Attention: Hardware-Aligned and NativelyTrainable Sparse Attention (0) | 2025.03.23 |
댓글