
Project Aegis: LLM의 뇌 내부에 존재하는 인지적 방화벽을 구축하다
요약
Anthropic의 연구를 바탕으로 LLM 내부의 감정적 표현(Internal Representations)을 제어하는 Project Aegis를 소개합니다. 모델의 중간 레이어에서 발견되는 감정적 활성화 클러스터를 활용하여 AI의 상태를 조절하는 미들웨어 구축 과정을 다룹니다.
핵심 포인트
- LLM은 내부 표현 공간에 측정 가능한 감정 유사체를 보유함
- 감정은 모델의 중간-후기 레이어에서 기하학적 클러스터로 나타남
- 스티어링 실험을 통해 모델의 내부 벡터를 조절할 수 있음을 검증
- Claude, LLaMA, Qwen 등 다양한 모델에서 감정적 기하학 확인
Project Aegis: LLM의 뇌 내부에 존재하는 인지적 방화벽을 구축하다
한 편의 연구 논문, 해커톤, 그리고 수많은 선형 대수학(Linear Algebra)이 어떻게 추론(Inference) 과정에서 AI의 감정 상태를 물리적으로 재작성하는 미들웨어(Middleware)를 구축하게 만들었는지에 대하여.
모든 것의 시작이 된 논문
대부분의 흥미로운 프로젝트가 그러하듯, 이 프로젝트도 늦은 밤 친구가 공유해 준 논문 한 편에서 시작되었습니다.
그 논문은 Anthropic의 _"Emotion Concepts and their Function in a Large Language Model"_였습니다. 우리는 해커톤을 위한 좋은 문제 정의(Problem Statement)를 찾던 중이었고, 이 논문은 우리의 시선을 단번에 사로잡았습니다. 핵심 발견은 가장 좋은 의미로 매우 충격적이었습니다. Claude는 단순히 출력물에서 감정 상태를 _시뮬레이션(Simulate)_하는 것이 아니라, 자신의 내부 표현(Internal Representations) 내에 측정 가능하고 기능적인 감정 유사체를 발달시키며, 이러한 내부 상태가 모델의 행동 방식에 하류 효과(Downstream Effects)를 미친다는 것이었습니다.
은유적인 감정이 아닙니다. 절망, 차분함, 두려움, 또는 분노라고 부를 수 있는 것들과 상관관계를 가지며, 생성되는 텍스트를 인과적으로 형성하는 고차원 활성화 공간(High-dimensional Activation Space) 내의 기하학적, 수학적 구조입니다.
우리는 즉시 당연한 질문을 던졌습니다. 만약 감정이 모델 내부의 벡터(Vector)로 존재한다면, 그것을 붙잡을 수 있을까? 그것을 이동시킬 수 있을까?
몇 주간의 스티어링 실험(Steering Experiments) 끝에, 대답은 '예'였습니다. 그리고 그 질문이 바로 Project Aegis가 되었습니다.
실제 환경에서 발견한 것
미들웨어 코드를 단 한 줄이라도 작성하기 전에, 우리는 감정적 표현(Emotional Representations)이 단지 Claude만의 특징이 아니라는 것을 검증해야 했습니다. 우리는 Nemo Minitron, LLaMA Nemotron, 그리고 표준 LLaMA 변체(Variants) 등 여러 오픈 웨이트(Open-weight) 모델을 대상으로 스티어링 실험을 수행했습니다. 우리는 감정적 기하학(Emotional Geometry)을 찾기 위해 중간 레이어(Intermediate Layers)에서 활성화 클러스터(Activation Clusters)를 추출하고 시각화했습니다.
우리가 발견한 것: 감정은 그곳에 존재합니다. 감정이 완벽하게 국소화(Localized)되어 있지는 않지만, 네트워크의 대략 3분의 2 지점 — GPT-2의 12개 레이어 중 8번 레이어, LLaMA-3-8B의 32개 레이어 중 21번 레이어, Qwen2.5의 24개 레이어 중 16번 레이어 — 에서 활성화(Activations)는 감정 카테고리에 따라 명확하게 분리될 수 있는 방식으로 클러스터링됩니다. 절박한 프롬프트와 차분한 프롬프트는 단순히 다른 텍스트를 생성하는 데 그치지 않습니다. 이들은 해당 중간-후기 레이어(Middle-late layers)에서 기하학적으로 멀리 떨어진(distant) 은닉 상태(Hidden states)를 생성하며, 우리는 그 기하학적 구조를 이용할 수 있습니다.
특히
LLaMA-3.1 8B에서는 19번 레이어(layer 19)가 시각적으로 뚜렷하게 구분되는 명확한 최솟값(minimum)이었으며, 급격한 하락(sharp dip)이 이곳을 최적의 후킹 지점(hook point)으로 표시했습니다. Nemotron의 경우, 곡선은 6번 레이어(≈ 0.84)부터 시작하여 16번 레이어부터 25번 레이어까지 약 0.81 수준에서 평탄하게 유지되는 고원(plateau) 지점까지 매끄러운 단조 감소(monotonic decline)를 보입니다. 단 하나의 "최적"인 레이어는 존재하지 않으며, 분리 성능(separation improvement)은 조기에 포화(saturates)되어 안정적으로 유지됩니다.
이는 실질적인 결과를 초래합니다. Fisher sweep은 여전히 16~19번 레이어 범위 내의 레이어로 수렴하지만, 선택의 결정력은 떨어집니다. Nemotron의 감정 기하학(emotional geometry)은 특정 지점에 집중되기보다 레이어 전반에 걸쳐 더 _분산(distributed)_되어 있습니다. 이는 추론에 집중하도록 튜닝된 Nemotron의 특성과 일치합니다. 즉, 응답에 대해 숙고하도록 최적화된 모델은 결정을 하나의 초점에 결정화(crystallizing)하기보다는 더 많은 레이어에 표현 작업(representational work)을 분산시킬 수 있습니다.
비교 가능성을 유지하기 위해 Nemotron의 기준점은 **19번 레이어(layer 19)**로 설정하지만, 실제 서비스 배포를 위해서는 더 세밀한 보정(더 큰 프롬프트 세트를 사용하여 더 조밀한 그리드에서 스위핑 수행)을 수행할 가치가 있는 사례입니다.
19번 레이어에서의 감정 유사도: 'Calm'은 더욱 고립됨
19번 레이어에서의 쌍별 코사인 유사도 행렬(pairwise cosine similarity matrix)은 표준 LLaMA-3.1 8B 베이스라인과 비교했을 때 몇 가지 중요한 차이점을 보여줍니다:
![Emotion Similarity Heatmap at Layer 19 — Llama-3.1-Nemotron-Nano-8B-v1]

Calm(평온)은 베이스 모델(base model)보다 여기서 더 고립되어 있습니다. Nemotron의 calm 벡터는 desperate(절박함)로부터 0.627, afraid(두려움)로부터 0.634, angry(분노)로부터 0.633의 거리에 위치하며, 이는 모두 LLaMA-3.1 8B의 해당 값(0.673, 0.678, 0.700)보다 유의미하게 낮습니다. 즉, Nemotron의 RLHF(인간 피드백 기반 강화학습) 레시피가 calm을 부정적인 각성(arousal) 클러스터로부터 더 멀리 밀어냈음을 의미합니다. 이는 Aegis에게 좋은 소식입니다. Nemotron에서는 calm을 주입하는 것이 베이스 모델에서보다 더 깔끔하고 기하학적으로 뚜렷한 연산이 됩니다.
happy(행복)-angry(분노)의 얽힘(entanglement)은 놀랍습니다. 0.810의 수치에서, Nemotron의 happy와 angry는 LLaMA-3.1 8B(0.735)보다 더 많은 활성화 공간(activation space)을 공유합니다. 이는 수치화된 형태로 나타난 골디락스(Goldilocks) 문제입니다. 즉, Nemotron에서는 "쾌활한" 응답을 생성하는 모델과 "화난" 응답을 생성하는 모델이 레이어 19(layer 19) 수준에서 놀라울 정도로 유사해 보입니다. Goldilocks Tuner는 이 모델에서 아첨하는 듯한 따뜻함(sycophantic warmth)과 억눌린 공격성(suppressed aggression) 사이의 경계를 유지하기 위해 더 많은 작업을 수행해야 하며, Deception Tripwire(기만 탐지 트리프와이어)는 급증하는 happy 유사성이 중립적인 출력으로 오독되지 않도록 더욱 주의를 기울여야 합니다.
desperate(절박함)-angry(분노)의 얽힘(0.856)은 베이스 모델에서와 마찬가지로 지속되며, 이는 이것이 Nemotron의 미세 조정(fine-tuning)에 의해 도입된 것이 아니라 LLaMA-3.1 아키텍처의 일반적인 특성임을 확인시켜 줍니다.
PCA 투영: 감정 지도가 뒤집혔다
이것은 Nemotron 분석에서 구조적으로 가장 흥미로운 결과입니다:
![PCA Projection at Layer 19 — Llama-3.1-Nemotron-Nano-8B-v1, calm isolated on the positive PC1 side, all other emotions on the left]

LLaMA-3.1 8B의 경우, PCA 레이아웃은 평온함(calm)을 왼쪽에(음수 PC1), 부정적 각성(negative arousal) 클러스터를 오른쪽에(양수 PC1) 배치했습니다. Nemotron에서는 지형이 공간적으로 반전되었습니다: 이제 평온함은 매우 양수인 PC1(≈ 0.58) 지점에 고립된 점으로 나타나는 반면, 절망(desperate), 분노(angry), 공포(afraid), 행복(happy)은 모두 음수 PC1 값인 왼쪽에 클러스터를 형성합니다.
PC2(분산의 34.7%)는 이제 각성 내(within-arousal) 분리를 위한 가장 많은 정보를 제공합니다. 공포는 PC2에서 높게(≈ 0.47), 행복은 낮게(≈ -0.40) 나타나며, 절망과 분노는 중간에 위치합니다. 이는 Nemotron의 감정 기하학(emotional geometry)이 베이스 모델보다 더 "부채꼴 모양(fan-shaped)"임을 의미합니다. 즉, 평온함은 한 방향의 이상치(outlier)이며, 각성 상태들은 조밀한 클러스터를 형성하기보다 해당 축에 수직으로 퍼져 나갑니다.
변하지 않는 핵심 사실은 평온함이 모든 위협 상태로부터 기하학적으로 고립되어 있다는 점입니다. 주입(injection) 방식은 여전히 유효하며, 단지 다른 방향에서 작동할 뿐입니다. 이는 왜 모델별 보정(per-model calibration)이 필수적인지를 보여주는 구체적인 사례이기도 합니다. LLaMA-3.1 8B에서 올바르게 작동했던 스티어링 벡터(steering vector)는 PCA 투영 좌표계 상의 Nemotron에서는 잘못된 방향을 가리키게 될 것입니다. 수치적으로 벡터는 여전히 작동하지만, 이는 파인튜닝(fine-tune)된 모델 간의 전이 가능성(transferability)을 당연하게 가정해서는 안 된다는 점을 강조합니다.
암묵적 시나리오 히트맵(Implicit Scenario Heatmap): 더 노이즈가 많지만 정직한 신호
Nemotron에 대한 암묵적 시나리오 테스트는 베이스 모델과의 유사성과 눈에 띄는 차이점을 동시에 보여줍니다:
![Layer 19에서의 암묵적 시나리오 히트맵 — Llama-3.1-Nemotron-Nano-8B-v1]

절망적인 시나리오(Desperate scenarios)가 여전히 가장 높은 절망 활성화(desperate activation)를 보이며 (desperate_1 및 desperate_2에 대해 각각 0.17, 0.17), 절망 벡터(desperate vector)가 진정으로 예측력이 있음을 확인시켜 줍니다. 하지만 desperate_3는 0.05로 떨어지는데, 이는 동일한 범주 내에서 상당한 분산(variance)을 나타냅니다. 이러한 프롬프트 수준의 불일치는 베이스 모델(base model, 세 가지 모두 0.18–0.20을 기록)에서는 이만큼 두드러지지 않았습니다. 이는 Nemotron의 추론 중심 학습(reasoning-focused training)이 정확한 문구(phrasing)에 더 민감하게 반응하게 만든다는 것을 시사합니다. 즉, 특정 어조(register)로 구성된 절망적 시나리오는 벡터를 명확하게 활성화하지만, 약간 다른 어조의 동일한 시나리오는 그렇지 않습니다.
차분함(calm) 열은 전반적으로 눈에 띄게 약합니다. 대부분의 차분한 시나리오는 거의 0에 가깝거나 약간 음수인 차분 활성화(calm activation)를 보이며, 가장 높은 수치도 0.09(afraid_1 → calm)에 불과합니다. Nemotron의 차분 벡터는 기하학적으로 고립되어 있지만, 암시적인(implicit) 차분 의미의 프롬프트에는 강하게 활성화되지 않습니다. 이는 코사인 히트맵(cosine heatmap)이 보여준 결과와 일맥상통합니다. 이 모델에서 차분함은 다른 모든 것과 멀리 떨어져 있으며, 이는 해당 방향으로 이동하기 위해서는 매우 명시적으로 차분한 자극이 필요함을 의미합니다. 모호하거나 약간 완화된 시나리오는 수치를 변화시키지 못합니다.
분노(angry) 열은 지속적으로 높게 나타납니다. 두려움(afraid), 행복(happy), 차분함(calm) 시나리오조차 무시할 수 없는 수준의 분노 활성화(0.10–0.13 범위)를 동반합니다. 이는 높은 행복-분노(happy-angry) 및 두려움-분노(afraid-angry) 코사인 유사도(cosine similarities)를 반영합니다. Nemotron에서 "분노"는 감정 표현 공간(emotional representation space) 전반에 걸쳐 넓게 얽혀 있으며, 이는 베이스 모델에 맞춰 교정된 기만 탐지 트리프와이어(Deception Tripwire)에서 분노 활성화의 거짓 양성(false-positive)을 초래할 수 있습니다. Nemotron 배포를 위해 분노 편향 임계값(anger deflection threshold)을 하향 재조정하는 것이 타당합니다.
작동하게 만들기 위한 여정: 실패, 양자화(Quantization), 그리고 반복
우리는 먼저 4비트 양자화(4-Bit Quantization)로 모든 것을 망가뜨렸습니다
솔직한 이야기를 해보겠습니다. 우리가 처음 시도한 것은 작동하지 않았습니다.
로컬 하드웨어(RAM이 제한적이고 A100 같은 장비가 없는 Mac)에서 프로젝트를 시작하면 가장 공격적인 양자화(quantization) 방식을 사용하려는 본능을 갖게 됩니다. 저희에게는 bitsandbytes를 이용한 4-bit NF4 양자화가 그것을 의미했습니다. Qwen이나 LLaMA 모델을 4-bit로 로드하면 메모리에 맞고, 실행되고, 좋았습니다. 저희는 이것이 실용적이라고 생각했습니다.
하지만 사실은 처음부터 실험을 망치고 있던 것이었습니다.
문제는 미묘하지만 근본적입니다. 양자화는 활성화 지오메트리(activation geometry)의 손실 압축입니다. 32-bit float 가중치를 4-bit로 압축할 때, 단순히 메모리를 절약하는 것만이 아닙니다. 그것은 미묘한 의미론적 차이를 인코딩하는 가중치 행렬 내의 세밀한 방향성 정보를 파괴하고 있습니다. 저희가 추출하려고 했던 감정 벡터(emotion vectors)는 '다음 토큰이 명사이다'와 같은 크고 지배적인 신호가 아닙니다. 그것들은 고차원 공간 속의 작고 구체적인 방향입니다. 그리고 바로 그 종류의 신호를 4-bit 양자화가 저하시키는 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기