주제 탐구 · 2026-11-09 · 심화 · 작성자 bombong
Activation Steering: 모델 속 방향을 건드려 성격 바꾸기
Activation Steering은 가중치를 바꾸지 않고 추론 중 모델 내부 활성화에 '방향 벡터'를 더해 정직성·성격·말투 같은 행동을 조절하는 기법이다. 만들기는 쉽지만 여러 행동을 섞거나 부작용을 막는 일이 어려워, 최근 연구는 조합·입력별 조정·능력 손실 관리로 옮겨 가고 있다.
목차
- 모델 내부의 Residual Stream에는 '이타심', '정직함' 같은 행동과 연결된 방향이 있고, 추론 중 이 방향을 더하거나 빼면 출력이 바뀐다.
- 가장 흔한 방법인 CAA(Contrastive Activation Addition)는 목표 행동을 하는 예시와 하지 않는 예시의 평균 활성화 차이를 벡터로 쓴다.
- 벡터 하나는 쉽지만, 여러 벡터를 동시에 쓰면 한쪽이 다른 쪽을 덮거나 서로 비슷해져 독립적으로 조절되지 않는 문제가 있다.
- Steering은 공짜가 아니다. 행동을 세게 바꿀수록 무관한 능력이 떨어지거나 과잉 거절이 생길 수 있어, 능력 손실 한도를 정해 놓고 강도를 고르는 접근이 나오고 있다.
- 실무에서는 프롬프트로 안 되는 행동을 가볍게 조정할 때 유용하지만, 보호하지 않은 능력까지 함께 평가해야 안전하다.
왜 필요했나: 프롬프트와 파인튜닝 사이의 빈자리
대규모 언어 모델(LLM)의 행동을 바꾸는 흔한 방법은 두 가지다. 하나는 프롬프트로 "정직하게 답하라"처럼 지시하는 것이고, 다른 하나는 파인튜닝으로 가중치 자체를 다시 학습시키는 것이다. 프롬프트는 싸고 빠르지만 모델이 지시를 얼마나 따를지 보장하기 어렵고, 파인튜닝은 효과가 확실한 대신 데이터·연산 비용이 들고 되돌리기도 번거롭다.
Activation Steering은 그 사이를 노린다. 모델의 가중치는 그대로 두고, 추론(인퍼런스) 도중 내부 계산 값(활성화)에 작은 벡터를 더해 행동을 옮긴다. OPIUM 연구논문는 이를 "추론 시점에 LLM을 제어하는 가벼운 메커니즘"이라고 표현하고, SYNC 연구논문는 "가중치를 건드리지 않고 추론 시점에 모델을 정렬한다"고 설명한다.
이 방식이 특히 주목받는 곳은 안전과 정렬 분야다. 모델이 전략 게임에서 얼마나 이타적으로 행동하는지, 조직 가치를 얼마나 지키는지, 환각을 얼마나 줄일 수 있는지를 학습 없이 실험하고 조정할 수 있기 때문이다. 동시에 모델 안의 어떤 방향이 어떤 행동과 이어지는지 보여 주므로 해석 가능성 연구의 도구이기도 하다.
핵심 아이디어: 생각의 공간에 난 '방향'
트랜스포머는 층을 지날 때마다 각 토큰의 정보를 하나의 긴 숫자 벡터에 계속 더해 가며 전달한다. 이 흐름을 Residual Stream(잔차 스트림)이라 부른다. 여러 연구는 이 공간에 해석 가능한 방향이 있다고 본다. First-Order Steering 연구논문는 Activation Steering을 "Residual Stream의 해석 가능한 방향을 이용해 추론 시점에 모델 행동을 조작하는 것"으로 정의한다.
비유하면 이렇다. 모델의 생각을 넓은 지도 위의 한 점이라고 하자. '낙관적인 말투'라는 동네와 '어두운 말투'라는 동네가 지도의 서로 다른 쪽에 있다면, 두 동네의 중심을 잇는 화살표가 곧 Steering 벡터다. 추론 중에 현재 위치에 이 화살표를 더하면 생각이 그쪽으로 밀려가고, 화살표 길이(강도)를 늘리면 더 멀리 간다.
이 설계가 매력적인 이유는 세 가지다. 첫째, 학습이 필요 없거나 아주 적다. 둘째, 벡터를 빼거나 강도를 0으로 돌리면 바로 원래 모델로 돌아간다. 셋째, 한 모델을 그대로 두고 요청마다 다른 벡터를 끼울 수 있다. 대신 그 화살표가 정말 원하는 개념만 담고 있는지는 보장되지 않는다. 이 맞바꿈이 뒤에서 다룰 부작용 문제의 뿌리다.
행동을 바꾸는 세 가지 방법
프롬프트말로 지시
- 가장 싸고 빠름
- 따를지 보장 어려움
- API 모델에도 가능
Activation Steering추론 중 활성화에 벡터 더하기
- 가중치 그대로, 되돌리기 쉬움
- 내부 활성화 접근 필요
- 강도에 따라 부작용
파인튜닝가중치 재학습
- 효과가 확실한 편
- 데이터·연산 비용
- 되돌리기 번거로움
공통 셋 다 같은 기본 모델의 행동을 원하는 쪽으로 옮기는 방법
어떻게 작동하나: CAA를 단계별로
가장 널리 쓰이는 출발점은 CAA(Contrastive Activation Addition, 대조 활성화 덧셈)다. 입력 의존 Steering 연구논문의 설명대로, CAA는 두 집단 평균의 차이로 얻은 고정된 방향 하나를 모든 입력에 더한다. 단계로 풀면 다음과 같다.
1) 목표 행동을 하는 예시(예: 이타적인 답)와 반대 예시(이기적인 답)를 짝지어 모은다. 2) 두 묶음을 모델에 넣고 특정 층의 활성화를 기록한다. 3) 두 묶음의 평균 활성화 차이를 계산해 Steering 벡터로 저장한다. 4) 실제 추론 때 같은 층의 활성화에 이 벡터에 강도 계수를 곱해 더한다.
게임 이론 실험에 이 방법을 쓴 연구논문는 이타심·용서·타인에 대한 기대를 나타내는 페르소나 벡터를 CAA로 만들었고, Steering이 게임 속 수치적 전략 선택과 자연어 설명을 함께 체계적으로 움직인다는 것을 보였다. Creative Collision 연구논문도 영화감독 대본 기반 말뭉치에서 평균 차이로 두 감독의 페르소나 벡터를 만들었는데, 두 페르소나 모두 40층 디코더 모델의 28번째 층에서 가장 강하게 나타났다. 어느 층에 넣느냐가 효과를 크게 좌우한다는 뜻이다.
정리하면 사람이 정해야 할 손잡이는 세 개다. 어떤 대조 데이터로 방향을 뽑을지, 어느 층에 넣을지, 얼마나 세게 넣을지. 이후 연구들은 대부분 이 셋 중 하나를 더 똑똑하게 고르는 방법이다.
발전 흐름: 벡터 하나에서 조합·맥락·부작용으로
첫 번째 흐름은 '맥락에 따라 벡터를 바꾸기'다. 비전-언어 모델(VLM)의 환각을 다룬 Dynamic Multimodal Activation Steering논문은 진실성 Steering 벡터가 의미 맥락에 따라 크게 달라진다는 것을 발견하고, 의미별 벡터 데이터베이스를 만들어 입력과 가장 비슷한 벡터를 골라 가장 영향력 있는 어텐션 헤드에만 넣었다. 디퓨전 언어 모델을 다룬 TRACESTEER논문는 정해 둔 벡터와 균일한 강도가 잡음 제거 단계마다 바뀌는 상태에 맞지 않는다고 보고, 앞 단계 예측을 피드백으로 써서 방향과 강도를 단계마다 조정한다.
두 번째 흐름은 '여러 벡터 섞기'다. Creative Collision논문은 정반대 성향의 두 페르소나 벡터를 섞었더니 한쪽(스필버그)이 거의 전 구간에서 다른 쪽을 눌러 버리는 방향 지배 현상을 확인했다. SYNC논문는 여러 페르소나를 동시에 끌어낼 때 층과 결합 방식을 미리 정해 두면 오프라인 탐색 비용이 크고, 최적 강도가 디코딩 단계마다 달라진다는 점을 지적한다. 그래서 층별 민감도를 코사인 유사도 추이로 추정해 페르소나마다 매 단계 넣을 층을 고르며, 28개 설정 중 21개에서 앞섰다(15개는 유의미). First-Order Steering논문은 다른 길을 택했다. 모델 병합 분야에서 가중치 변화는 잘 합쳐진다는 점에 착안해, 가중치 업데이트를 1차 근사한 것으로 Steering 벡터를 정의하고 근사 오차를 줄이는 병합 절차 HeRD-Merging을 제안했다.
세 번째 흐름은 '부작용 정리'다. OPIUM논문은 유용성 벡터가 안전 행동을 약화시키고, 거절 벡터가 무해한 질문까지 거절하게 만드는 '외부 효과'를 문제 삼았다. 원래 벡터가 실패하는 질문에서는 더 안전한 기준 행동에 맞추도록 새 벡터를 최적화해, 학습 없이 안전-유용성 균형을 개선했다.
요즘 어디로 가고 있나
최근 연구는 "얼마나 바꿀 수 있나"보다 "얼마나 바꿔도 괜찮은가"를 묻는다. Behavior-Capability Frontier 연구논문는 4개 지시 튜닝 모델과 7개 행동에서, 능력 손실을 1%·3%·5%포인트 안으로 묶고 그 안에서 행동 변화를 최대화하는 강도를 골랐다. 검증 데이터에서 고른 효과는 새 데이터에도 잘 이어졌지만(ρ=0.945), 행동과 능력이 함께 살아남는 비율은 1% 예산에서 37.5%, 3%에서 72.7%였고 5%에서는 크게 늘지 않았다. 보호한 벤치마크를 통과해도 시험하지 않은 능력이 떨어질 수 있다는 점도 함께 보고했다.
두 번째 방향은 입력마다 다른 편집이다. 입력 의존 Steering 연구논문는 목표 지점이 같은 범주 안에서도 달라질 때는 고정 방향 CAA가 표현할 수 없는 차이가 생긴다고 보고, 질문과 가까운 k개 저장 상태의 평균을 목표로 삼는 검색형 규칙을 썼다. 범주 안에서 목표가 달라지는 경우 이 방식이 고정 방향보다 나았고, 단어 수준 편집은 네트워크 앞쪽 10%에서, 절 수준 편집은 어느 깊이에서나 범주 평균으로 하는 것이 좋았다.
세 번째는 조직 가치처럼 여러 기준을 동시에 지키는 문제다. VIAS논문는 모든 가치를 지킨 답과 어긴 답을 단순 대조하면 가치마다 거의 같은 '일반 준수 신호' 벡터가 나온다는 점을 발견했다. 그래서 한 가치만 뺀 프롬프트와 비교해 그 가치만 분리해 냈다. 벡터 간 겹침은 줄었지만 각 가치를 독립적으로 조절하는 데까지는 이르지 못했고, 프롬프트와 함께 썼을 때 모든 해당 가치를 지킨 비율은 Qwen2.5-7B 69.6%, Mistral-7B 75.2%였다.
최근 연구의 눈에 띄는 수치
한계와 쟁점: 언제 쓰고 언제 피하나
첫째, 벡터에 무엇이 담겼는지 확신하기 어렵다. VIAS논문의 사례처럼 '특정 가치' 벡터라고 만든 것이 사실은 더 일반적인 신호일 수 있다. 게임 연구논문에서는 Steering 아래에서 말(설명)과 실제 전략이 어긋나는 경우도 관찰됐다. 말투가 바뀌었다고 행동까지 바뀌었다고 단정하면 안 된다.
둘째, 부작용은 기본값이다. OPIUM논문이 보인 안전 약화·과잉 거절, Frontier 연구논문가 보인 미시험 능력 저하는 강도를 올릴수록 커질 수 있다. 여러 벡터를 섞으면 한쪽이 다른 쪽을 덮는 현상논문도 생긴다. 반대로 Creative Collision 연구는 강한 강도에서 두 벡터를 중간쯤 섞으면 단일 벡터보다 문장 일관성이 오히려 좋아지는 결과도 보고해, 조합 효과를 미리 짐작하기 어렵다는 점을 보여 준다.
실무 판단 기준으로 정리하면 이렇다. 가중치를 바꿀 수 없거나 빠르게 실험해야 하고, 프롬프트만으로 행동이 잘 안 바뀔 때 쓸 만하다. 반면 오픈웨이트처럼 내부 활성화에 접근할 수 없는 API 모델에는 쓸 수 없고, 여러 기준을 정밀하게 독립 제어해야 하는 경우에는 아직 기대만큼 되지 않는다. 흔한 실수는 목표 행동 점수만 보고 강도를 정하는 것, 한 층·한 강도를 모든 입력에 고정하는 것, 그리고 대조 데이터가 목표 개념 외의 차이(길이·형식 등)를 함께 담고 있는지 확인하지 않는 것이다.
Steering 적용 전 점검
벡터 만들기
- 대조 예시가 목표 개념 외의 차이를 담고 있지 않은가
- 여러 가치 벡터가 서로 거의 같지 않은가
- 어느 층에 넣을지 비교해 봤는가
강도·조합
- 능력 손실 한도를 먼저 정했는가
- 여러 벡터를 섞을 때 한쪽이 덮지 않는가
- 입력마다 목표가 달라지는 과제인가
평가
- 안전 행동 약화·과잉 거절을 확인했는가
- 보호하지 않은 능력과 자유 생성도 시험했는가
- 말과 실제 행동이 함께 바뀌었는가
더 공부하려면
처음이라면 CAA를 실제로 적용한 게임 이론 연구논문부터 읽는 것이 좋다. 페르소나 벡터를 만드는 과정과 효과, 그리고 말과 전략이 어긋나는 한계를 한 편에서 볼 수 있다. 이어서 Behavior-Capability Frontier 연구논문를 읽으면 강도를 고를 때 무엇을 함께 재야 하는지 감이 잡힌다.
여러 행동을 섞는 문제에 관심이 있다면 Creative Collision논문으로 현상을 보고, SYNC논문와 First-Order Steering논문으로 해법의 두 방향(추론 중 층 선택, 가중치 병합과의 연결)을 비교해 보자. 안전 관점에서는 OPIUM논문과 VIAS논문가 부작용과 가치 분리를 직접 다룬다.
환각 완화처럼 응용 쪽을 보려면 VLM을 다룬 Dynamic Multimodal Activation Steering논문과 디퓨전 언어 모델을 다룬 TRACESTEER논문가 '고정 벡터에서 맥락 적응 벡터로'의 흐름을 잘 보여 주고, 입력 의존 Steering 연구논문는 그 흐름을 이론적으로 정리한다.
관련 용어
참고 문헌
핵심 논문
- Persona Vectors in Games: Measuring and Steering Strategies via Activation Vectors (2026)
- Creative Collision: Directorial Persona Steering and Competition in Large Language Models (2026)
- First-Order Steering: Translating Weight Adaptation into Activation Steering (2026)
- OPIUM: Mitigating Steering Externalities and Over-Refusal via Dual Objective Latent Optimization (2026)
- Dynamic Multimodal Activation Steering for Hallucination Mitigation in Large Vision-Language Models (2026)
- TRACESTEER: Trace Driven Activation Steering for Hallucination Mitigation in Diffusion Language Models (2026)
- SYNC: A Training-Free Inference Controller for Dynamic Layer Selection in Multi-Persona Alignment (2026)
최근 연구
AI가 참고 문헌을 바탕으로 작성하고 검수를 거친 해설입니다. 정확한 내용은 원문을 확인해 주세요.