본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 29. 08:10

스티어링 벡터 (Steering Vectors): 가중치를 수정하지 않고 LLM의 의도를 바꾸는 방법

요약

LLM의 가중치를 수정하지 않고 활성화 공간(activation space) 내의 특정 방향을 조절하여 모델의 행동을 제어하는 스티어링 벡터 기술을 소개합니다. 선형 표현 가설을 바탕으로 모델의 톤, 전문성, 태도 등을 정밀하게 제어하는 원리와 방법을 다룹니다.

핵심 포인트

  • 가중치 수정 없이 잔차 스트림의 활성화 벡터를 조절하여 모델 의도 제어 가능
  • 대조적 예시를 통해 특정 개념(비관주의, 격식 등)을 인코딩하는 방향 추출
  • 추출된 벡터는 다양한 문맥과 주제로 일반화되어 적용 가능
  • 프로브(Probe)를 통해 개념의 선형적 표현 가능성을 사전에 검증 가능

LLM(Large Language Models)은 활성화 공간 (activation space) 내의 기하학적 방향으로 개념을 인코딩합니다. 이러한 방향을 찾아 추론 (inference) 시점에 더해주면, 단 하나의 가중치 (weight)도 건드리지 않고 모델의 행동을 변화시킬 수 있습니다.

이것을 **스티어링 벡터 (steering vectors)**라고 부르며, 실제로 작동합니다.

핵심 아이디어

언어 모델의 잔차 스트림 (residual stream)은 레이어를 통과하면서 정보를 축적하는 고차원 벡터입니다. 선형 표현 가설 (linear representation hypothesis)에 따르면 "비관주의 (pessimism)", "격식 (formality)", 또는 "Python 전문성 (Python expertise)"과 같은 개념들은 이 공간 내의 특정 방향에 대응합니다.

만약 이것이 사실이라면, 여러분은 다음과 같은 작업을 수행할 수 있어야 합니다:

  1. 개념을 인코딩하는 방향을 찾기 (대조적 예시 (contrastive examples) 사용)
  2. 특정 레이어에서 해당 방향의 스케일링된 버전을 더하기
  3. 모델이 더 "개념적으로" 행동하는 것을 관찰하기

그리고 실제로 가능합니다.

스티어링 벡터 추출하기

가장 간단한 방법은 타겟 개념만 다른 문장 쌍을 가져와 모델에 통과시킨 후, 선택한 레이어에서의 활성화 (activations) 차이의 평균을 구하는 것입니다.

import torch
from transformer_lens import HookedTransformer

...

추론 시 적용하기

벡터를 확보했다면, 훅 (hook)을 통해 이를 주입합니다:

def make_hook(steering_vector, alpha=20.0):
    def hook_fn(value, hook):
        return value + alpha * steering_vector
...

스티어링할 수 있는 것들

동일한 기술이 놀라울 정도로 다양한 속성에 적용됩니다:

  • 비관주의/낙관주의 (Pessimism/optimism) - 서사적 톤 (narrative tone)을 측정 가능한 수준으로 변화시킵니다.
  • Python 열정 (Python enthusiasm) - 모델이 Python 예시를 찾도록 만듭니다.
  • 격식 (Formality) - 말투를 캐주얼한 방식에서 전문적인 방식으로 전환합니다.
  • 아첨 (Sycophancy) - 동조하려는 행동을 줄이는 데 사용할 수 있습니다.

Turner et al. (2023) 및 Zou et al. (2023)의 주요 발견 사항은 이 벡터들이 일반화된다는 것입니다. 날씨 문장에서 추출된 비관주의 벡터는 관련 없는 주제로도 전이됩니다.

개념이 선형적으로 인코딩되었는지 확인하기

스티어링을 하기 전에, 프로브 (probe)를 사용하여 해당 개념이 실제로 선형적으로 표현되어 있는지 확인할 수 있습니다:

from sklearn.linear_model import LogisticRegression

def probe_concept(model, positive_prompts, negative_prompts, layer=16):
...

높은 프로브 정확도 (probe accuracy)는 해당 개념이 활성화 공간 (activation space) 내에서 깨끗하게 선형적으로 분리 가능하다는 것을 의미하며, 이는 스티어링 (steering)이 잘 작동할 것임을 시사합니다.

더 많은 실험과 분석을 포함한 전체 글은 Machina 블로그에서 확인할 수 있습니다: Steering Vectors: Changing What an LLM Wants Without Touching Its Weights

machina.chat에서 처음 게시됨

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0