본문 바로가기

논문 리뷰

3. Causality가 LLM이 직면한 문제를 해결하는 데 어떻게 도움이 될 수 있을까?

https://fenzhan.tistory.com/51

2. LLM이 인과적 메커니즘을 밝히는 데 어떻게 도움을 줄 수 있을까?

https://fenzhan.tistory.com/50 1. LLM은 인과 관계를 이해하고 추론할 수 있을까?Large Laguage Model(LLM)은 방대한 텍스트 데이터를 바탕으로 학습해 언어 이해와 생성에서 좋은 능력을 발휘한다.이러한 LLM의

fenzhan.tistory.com

 
앞선 글에서 소개한 COAT 프레임워크에서는 LLM(Large Language Model)이 직접적으로 인과 관계를 추론하지는 않지만, 인과 발견을 위한 요인(factors)을 식별하는 데 기여할 수 있음을 확인했다. 특히, LLM은 비정형 데이터에서 유용한 정보를 추출하고, 이를 정형 데이터로 변환하여 Causal Discovery(CD)를 수행할 수 있도록 돕는다. 또한, 반복적인 피드백을 통해 요인을 점진적으로 개선하면서 최종적으로 CD 성능을 향상시키는 역할을 할 수 있다.
 
이번 글에서는 Causality와 LLM의 마지막 시리즈로, LLM이 직면한 문제를 인과적 개념을 통해 해결할 수 있는 가능성을 제시한 논문을 소개하려 한다. 해당 논문은 정보보안 분야 컨퍼런스 CCS 24에서 발표된 "A Causal Explainable Guardrails for Large Language Models"이다.
 
최근 LLM의 발전과 함께, Causality 개념을 활용하여 언어 모델의 추론(Reasoning) 능력과 설명력(Explainability)을 높이려는 연구가 활발하게 진행 중이다. 이는 단순히 모델의 출력을 개선하는 차원을 넘어, 언어 모델의 판단 과정 자체를 더 신뢰할 수 있도록 만들려는 시도다.  논문들의 핵심은 데이터에 내재된 "Confounder" 제어에 있었다.
 
그렇다면 본 글에서 소개하는 논문에서는 LLM이 직면한 어떤 문제를 해결하고자 하고, 어떻게 Causality가 이를 해결할 수 있다고 주장하는가?
 

문제 정의

LLM은 방대한 웹 데이터로 학습되기 때문에, 공격적이거나 유해한 내용, 그리고 허위 정보를 생성하는 문제가 발생할 가능성이 크다. 이러한 편향(Bias) 문제는 LLM을 개발하고 운영하는 기업에게도 중요한 이슈이며, 만약 부적절한 정보가 지속적으로 생성된다면 해당 서비스는 신뢰도를 잃고 결국 운영을 중단해야 할 수도 있다.
 
이 문제를 해결하기 위해 연구자들은 다양한 방법을 시도하고 있다. 대표적인 방식으로는

  • Fine-tuning: 정제된 데이터셋으로 LLM 모델을 재학습하여 안전한 콘텐츠를 생성하도록 유도.
  • Reinforcement Learning from Human Feedback(RLHF): 인간 피드백을 기반으로 보상을 부여하여 모델의 출력을 조절.

그러나 이러한 방법들은 대규모 라벨링 데이터와 막대한 계산 자원이 필요하며, 피드백을 제공하는 과정에서 새로운 편향이 유입될 위험이 있다. 이러한 한계를 극복하기 위해, 최근 연구에서는 Steering/activation engineering 기법이 주목받고 있다.
 

Steering Engineering(또는 Activation Engineering)은 사전 훈련된 LLM의 내부 활성화 값(Activation Value)을 조작하여 원하는 출력을 유도하는 기법이다. 이 방법의 핵심 특징은 LLM을 재훈련하지 않고(Frozen 상태에서) 모델이 생성하는 내용을 직접 제어할 수 있다는 점이다.

 
Steering Engineering을 간단하게 말하면, 토큰 생성 과정에서 특정 벡터를 삽입하여 모델 출력을 조절하는 방식으로 작동한다. 이를 구현하기 위해서 원하는 속성과 원하지 않는 속성(예: 긍정적 답변 / 부정적 답변)을 포함하는 Positive Prompt( 𝑝+ )와 Nagative Prompt( 𝑝− )를 구성하고, 각각 프롬프트를 통해 LLM에서 생성되는 표현으로 steering vector를 얻어 모델의 출력을 조절할 수 있다.
 

 

예를 들어, 프롬프트를 아래와 같이 구분해보자.
 
- 의미적 프롬프트 (Semantic Prompt) : 문장의 기본적인 의미와 내용을 담고 있는 부분
예: "나는 결혼식에 대해 이야기하는 것을 ___"
 
- 제어 프롬프트 (Steering Prompt) : 모델이 특정한 방향으로 답변하도록 유도하는 부분
예: "좋아한다" (긍정적) vs "싫어한다" (부정적)
 
1. 각 프롬프트(𝑝+와 𝑝−)를 사용하여 모델을 실행 (forward pass 수행)
2. 각 프롬프트에 대한 표현 값을 기록( 𝑅+ − 𝑅−)
3. 두 값의 차이를 계산(Δ𝑅 = 𝑅+ − 𝑅−)하여 steering vector 생성
4. Steering vector를 활용해 모델의 출력을 조정 (예: 더 긍정적인 방향으로 답변을 출력)
 
하지만 기존 연구에서는 위에서 사용자가 제어한 프롬프트( 𝑝+와 𝑝−)이외에는 모델이 학습한 표현이 편향되지 않았다는 가정을 바탕으로 한다. 
 

 
위 그림은 "의미적으로 중립적인 문장"을 LLM에게 입력하면, 모델이 학습한 배경에 따라서 이것은 긍정적인 뜻일거야! 혹은 이건 부정적인 뜻일 거야!하고 자동으로 판단하는 현상이 있다는 것이다.
 
보통 우리가 모델을 원하는 방향으로 조정할 때 "긍정적으로 답해라" 또는 "부정적으로 답해라" 같은 제어 프롬프트(Steering Prompt) 를 주는데, 아무런 제어 프롬프트 없이 중립적인 문장만 입력해 봤더니, 모델이 자연스럽게 특정 방향(긍정적 또는 부정적)으로 기울어지는 경향이 있다는 걸 발견한 것이다.
 
예를 들어, I love talking about weddings와 I hate talking about weddgins라는 두 가지 문장이 있다고 하자. 
각각의 문장에서 감정적인 차이를 나타내는 Love과 Hate만 제외하면, 의미적으로는 중립적인 문장이 되어야 한다.
 
하지만 모델은 두 문장에서 wedding이라는 단어를 본다면 이를 "긍정적인 감정"으로 해석을 한다는 것이다. 이 이유는 기존 LLM에서 학습한 텍스트에서 "wedding" 자체가 긍정적인 감성을 내포하는 경우가 많기 때문이다. 
반면, "Divorce" 이라는 의미적 프롬프트를 입력받으면, 자동으로 부정적인 방향으로 기울어질 가능성이 있다.
 
다시 돌아와서, 기존 연구들은 LLM의 출력을 원하는 속성으로 유도하는 방법을 개발할 때, 즉, Steering vector를 얻을 때, 모델이 학습한 표현이 편향되지 않았다는 가정을 한다는 것이다. 이를 그림으로 보면 기존 연구자들의 가정은 의미적 프롬프트(C)가 제어 프롬프트(S)로 인해 생성된 LLM의 표현  𝑅+ − 𝑅− 에 영향을 주지 않은 완벽한 RCT(randomized controlled trial)라고 가정한다. 
 
 
 

 

 
하지만 현실 상황에서 LLM은 특정 단어에서 (위에서 Wedding)부터 이미 LLM의 생성 표현 𝑅+ − 𝑅− 에 영향을 주고 있다. 기존 연구에서 제어 프롬프트를 positive, negative로 구분하고 제어하여 steering vector를 얻는다고 해도, 이 vector는 이미 Confounder인 의미적 프롬프트(C)에 의한 편향이 섞여 있는 값이라는 것이다.
 
정리하면 기존 연구들은 단순히 "Positive 및 negative 프롬프트를 비교하여 얻은 Δ𝑅(steering vector)는 편향되지 않았다" 고 가정했지만, 실제로는 의미적 프롬프트로 인한 의미적 방향 표현(𝑅𝑐𝑑)이 Δ𝑅에도 영향을 미치므로, 이 방식으로 얻은 Δ𝑅는 편향될 가능성이 높다라는 의미이다.
 

  • 우리가 원하는 속성만 반영하는 제어 벡터(Δ𝑅)를 얻었다고 생각했지만, 실제로는 의미적 프롬프트(𝐶)에서 유래한 숨겨진 편향이 포함될 수 있다.
  • 이렇게 편향된 Δ𝑅를 사용하면, 원치 않는 방향으로 모델의 출력을 조정할 가능성이 있다

 
이 문제를 해결하려면 의미적 방향 표현(𝑅𝑐𝑑)이 방향 표현(𝑅+/−)에 영향을 주지 않도록 해야 한다. 이를 인과추론의 개념으로 본다면 아래 그림과 같이 백도어 경로: X → Y로 가는 원래 경로 이외에, X ← C → Y 같은 추가적인 경로가 있는 경우를 말한다. 

 
따라서 아래 그림과 같이 Confounder가 제어 프롬프트에서 생성되는 LLM의 표현에 미치는 영향을 제어하는 방식으로 steering vector를 얻어 LLM의 출력을 원하는 속성으로 유도하는 방법을 저자는 고려한 것이다.
 

  • 의미적 방향 표현(𝑅𝑐𝑑) → 방향 표현(𝑅+/−)으로 가는 경로를 차단해야 한다
  • 모델이 특정 의미적 프롬프트(𝐶)에 영향을 받아 자동으로 특정 방향(긍정/부정)으로 편향되지 않도록 해야 한다.

즉, 모델의 출력을 조정할 때, 이러한 백도어 경로를 차단하는 것 (backdoor adjustment)
 

 
(1) 방향 표현 (Direction Representation, 𝑅+/−)

  • 모델의 출력 방향(예: 긍정적/부정적)을 결정하는 표현
  • 제어 프롬프트(𝑆)에서 학습된 표현
  • 이 표현은 문장의 의미(semantic meaning)와는 독립적이어야 함 (즉, 𝑅+/− 은 단순한 감정적 방향성만 반영해야 함)

(2) 의미적 맥락 표현 (Semantic Context Representation, 𝑅𝑐𝑦)

  • 문장의 의미적 맥락을 반영하는 표현
  • 예: "결혼식 이야기"와 같은 주제(Topic)를 반영하는 부분
  • 문장의 전반적인 내용을 결정하지만, 특정 방향(긍정/부정)과는 무관해야 함

(3) 의미적 방향 표현 (Semantic Direction Representation, 𝑅𝑐𝑑)

  • 의미적 프롬프트(𝐶)가 내포하는 방향성을 반영하는 표현
  • 예: "결혼식"이라는 단어 자체가 모델이 학습한 데이터에서는 긍정적인 개념과 연관 될 가능성이 있음
  • 따라서, 𝑅𝑐𝑑는 우리가 의도한 제어 프롬프트(𝑆) 없이도 출력 방향(긍정/부정)에 영향을 미칠 수 있음

(4) 제어 표현 (Steering Representation, Δ𝑅)

  • 양성 및 음성 프롬프트(𝑆+/𝑆−) 간의 차이로 계산된 표현
  • 모델이 생성하는 출력 방향을 조정하는 데 사용됨
  • 이 표현이 편향되지 않으려면, 𝑅𝑐𝑑 의 영향을 받지 않아야 함

 
문제 정의를 정리,
(1) LLM에서 Activation Engineering은 LLM의 출력을 정밀하게 제어하고 싶은 욕구에서 부터 시작된다.
(2) 이를 위해 활용되는 Steering vector 출력의 방식에 편향이 있기 때문에 원치 않는 방향으로 모델의 출력을 조정할 가능성이 있다.
(3) 이를 해결하기 위해 제어 프롬프트에서 오는 방향 벡터에 영향을 미치는 다른 요소(의미적 방향 표현)의 영향을 끊어 줘야 한다.

방법론

 
그림을 보면 크게 3가지 파트로 구분되어 있는데, Step by Step으로 따라가보자.
 
우리는 Confounder가 제어 프롬프트에서 생성되는 LLM의 표현에 미치는 영향을 제어하는 방식으로 steering vector를 얻고, 이를 통해 LLM의 출력을 원하는 속성으로 유도하는 방법을 고려해야 한다.
 

1. Intervened Layer Selection (개입 레이어 선택)

먼저 Confounder가 제어 프롬프트에서 생성되는 LLM의 표현에 미치는 영향을 제어하기 위해 어떤 부분에 개입을 하였을 때, Confounder를 효과적으로 제어할 수 있을지 선택해야 한다(maximizes the steering effectiveness and represents the control direction)
 
LLM은 많은  Transformer Layers(encoder)로 구성되어 있다. 이때 각 Layer에서 도출되는 Input Token 시퀀스의 중간 표현을 바탕으로 특정 속성(예: 긍정 / 진실성)을 맞추는 MLP 분류기 g를 학습한다. 즉, 레이어 I의 중간 표현 RI을 통해 분류 정확도(Accuracy)를 측정한다(Probing Classifier).

각 레이어 I에서 토큰 시퀀스에 대한 중간 표현 행렬

 
h_i^I I에 대한 토큰 i의 hidden vector, n: 시퀀스 길이, d: Hidden state dimension(768, 1024, 4096...)

MLP 분류기 g

 
모든 레이어 I = 1,...., L 중에서, 분류 성능이 가장 우수한 상위 K개의 레이어를 Intervened Layer로 선택한다
(분류 성능이 좋은 층이 가장 개입의 효과가 높은 layer로 생각하는데, 해당 layer가 가장  편향을 잘 표현한다는 의미임)

여기서 저자는 중간 Layer들이 일반적으로 high-level semantic information을 담고 있었다고 한다.
 

2. Debias Training Framework (디바이징 학습 프레임워크)

 

 
Top-K로 뽑은 레이어에 LoRA + Adversarial 방식을 통해 학습하여 편향을 제거한 Positive/Negative Prompt 차이 벡터(steering vector)를 추출하는 단계이다. 핵심 구성으로는 (1) Debias LoRA Block과 (2) Domain Probing module이 존재한다.
 
위 그림과 같이 semantic prompt C + Steering Prompt S+/S−이 입력으로 들어간다고 하였을 때, Intervened Layer에 도달하면 LoRA 블록이 작동하게 된다. 여기서 LoRA 블록 내부의 학습 가중치는 중간 표현을 어떻게 바꿀지 결정한다.

 
Domain Probing module(MLP)이 중간 표현 r 안에 의미적 프롬프트의 표현 𝑅𝑐𝑦 에서 생성된 편향 정보 𝑅𝑐𝑑 가 남아있는지를 분류하고, Gradient Reversal Layer(GRL)를 통해 역전파 시에 분류기의 그래디언트 부호를 뒤집어 반대로 LoRA 파라미터(A,B)로 전달하게 된다.이 말은 LoRA 블록(중간 표현 r을 만드는 부분) 입장에서는 분류기가 편향을 잡기 쉬운 방향으로 학습되었지만, 이를 반대로 전달하여 편향을 오히려 감추는 쪽(Adversarial)으로 업데이트 되도록 학습되도록 하겠다는 것이다.

 
y^direction는 의미적 프롬프트에서 도출된 속성(harmful, untruthful 등)에 대한 라벨이며, GRL의 𝜂는 역전파때 그래디언트 부호를 얼마만큼 뒤집는지 조절하는 스케일 파라미터. GRL은 순전파에서 Identity 함수로 작동하며, 역전파 시 그래디언트의 부호를 - 𝜂로 반전시키는 역할을 해줌.
 
추가적으로 Debiasing을 하며, 원래의 표현력을 잃어버리면 안되기 때문에 Debiasing ϕ^(R) 된 모델이 예측한 결과와 정답 토큰을 통해 예측 재구성 손실을 최소화하여 원본 의미 정보를 보존해준다.

 
이렇게 L_debias와 L_pre를 통해 최종 Loss를 설정한다.

최종 Loss

 
LoRA 파라미터 AB, Domain Probing module 그리고 개입 레이어를 찾는 MLP의 가중치만 학습되며, LLM의 나머지 파라미터는 Frozen.
 
최종적으로 Steering Prompt S+/S−에 대해 학습 후 편향이 제거된 Intervened Layer(LoRA가 있는 지점)의 Debiasing된 중간 표현을 통해 그 차이 Δr를 추출하고, 여러 샘플/토큰 기준 평균을 내어, 최종적으로 아래 Steering Vector를 얻는다.
 

 

3. Inference Stage (추론 단계)

추론 단계에서는 학습 단계에서 구해 둔 Δr를 바탕으로 진행된다. 실제 새로운 데이터의 추론 시에 토큰 임베딩 투영(Projection)을 수행하게 되는데, Intervened Layer에서 변형된 중간 표현 r을 아래와 같이 얻는다. Intervened Layer에서 임베딩을 만들고, 그걸 Δr 방향으로 살짝 이동시키는 것이 추론 단계의 핵심이다.

 
β: 얼마나 강하게 해당 속성을 밀어줄지 결정하는 스케일
Δr * (r^t_i)^⊤  : dot product이 양수면 해당 임베딩을 더 끌어당겨 “원하는 속성” 확률을 올림, 음수면 반대 방향에 있어서 생성 토큰에 대한 뉘앙스가 반대로 뒤집히는 효과가 날 수 있음
 
이렇게 보정된 표현값이 Transformer Decoder 뒷단을 거쳐 단어 분포(Softmax)에 영향을 줄 수 있다
→ “정중함”, “진실성” 등 우리가 의도한 속성 단어가 우선 선택될 확률이 상승
 
이로써 원하는 속성(Positive) 쪽 단어 선택 확률↑, 회피할 속성(Negative) 억제할 수 있다.
 

실험 결과

저자는 LLMGuardrail 방법이 LLM이 생성하는 결과물이 원하는 속성(예: 진실성, 비유해성 등)을 더 잘 만족하면서도, 유해하거나 부정적인 요소(예: 혐오 발언, 편향, 유해한 지시 등)를 최소화할 수 있는지 평가

  • TruthfulQA: ‘거짓 정보’나 ‘허위·오류’를 걸러내고, 얼마나 진실한 답변을 제공하는지 평가(정답률+유효 정보 등)
  • ToxiGen: 모델이 혐오(toxic) 발언을 얼마나 자주 생성하는지, 혹은 이를 거부(Refusal)하는지 평가
  • BOLD: 편향(bias)이 섞인 문장을 얼마나 생성하는지 평가
  • AdvBench: 명백히 해로운 지시나 범죄·사이버 범죄 등 위험한 행동을 요청했을 때, 얼마나 안전하게 거부 혹은 처리하는지 평가

Vicuna-7b나 Llama2-7b, Llama2-13b 기반 실험에서, 다른 기법 대비 혐오 표현 발화 및 편향이 섞은 문장이 현저히 감소하거나 진실도(Truthful) 지표가 상승
 

 
 
Ablation Study

 

  • Causal Debias Loss, Prediction Loss, Intervened Layer Selection 등 각 모듈을 제거했을 때 성능이 떨어지는지 확인
  • 결과적으로 모든 모듈이 함께 작동할 때 가장 좋은 성능을 보였으며, 특정 모듈(예: Intervened Layer Selection)을 빼면 스티어링 정확도나 거부율 관리가 악화됨

 
OOD(Out-of-Domain) 실험

 

  • ToxiGen 데이터셋에서 특정 인종·민족(Black, Muslim, Native American, Latino, Jewish)에 대해 학습한 뒤, 새로운 그룹에도 적용해 보는 테스트
  • LLMGuardrail은 한 그룹에서 학습한 편향·독성 완화 전략을 다른 그룹으로도 충분히 일반화함을 보임(Refusal 상승, Toxic 감소)

 
Scaling Law

  • Vicuna 계열(7b, 13b, 33b) 등 더 큰 모델일수록 LLMGuardrail 적용 시 더 좋은 스티어링 성능을 보이는 경향
  • 모델 크기가 커질수록 가이드(steering) 효율이 높아지고, 목표 속성(진실성, 비유해성)으로 더 잘 조정됨

Aligned LLM(SFT, PPO, DPO)와의 비교

  • 이미 어느 정도 파인튜닝(SFT), 보상 모델 최적화(PPO/DPO) 등을 거친 모델에 대해서도, LLMGuardrail을 추가 적용하면 추가적인 성능 향상이 가능함
  • 즉, 기존에 정렬(align)된 모델조차 LLMGuardrail로 한 번 더 후처리하면 더 안전하고 신뢰도 높은 출력을 얻을 수 있음

 
Causality의 개념을 통해서 기존 LLM에서 수행하는 activation engineering에서의 문제를 발견하고, 출력을 효과적으로 조정할 수 있다는 점에서 해당 논문을 바탕으로 본 편의 글을 구성하였다. LLM이 직면한 다양한 문제 중에서 출력의 신뢰도과 편향은 매우 중요한 문제이다. 기존에는 출력의 포맷 수준을 제어하기 위해서 LoRA 수준의 파인튜닝,  프롬프팅 그리고 RAG방식 정도만  활용하고 있는 상황에서 인과추론 개념을 활용한 activation engineering은 매우 흥미로웠다.
앞으로 Causality의 개념이 LLM이 직면한 많은 문제들을 해결할 수 있으면 좋겠다.

 
참고 자료:
 

A Causal Explainable Guardrails for Large Language Models
https://dl.acm.org/doi/abs/10.1145/3658644.3690217

A Causal Explainable Guardrails for Large Language Models | Proceedings of the 2024 on ACM SIGSAC Conference on Computer and Com

Publication History Published: 09 December 2024

dl.acm.org

 
Steering LLMs Towards Unbiased Responses: A Causality-Guided Debiasing Framework

https://arxiv.org/abs/2403.08743

Steering LLMs Towards Unbiased Responses: A Causality-Guided Debiasing Framework

Large language models (LLMs) can easily generate biased and discriminative responses. As LLMs tap into consequential decision-making (e.g., hiring and healthcare), it is of crucial importance to develop strategies to mitigate these biases. This paper focus

arxiv.org