Training-Free Cultural Alignment of Large Language Models via Persona Disagreement
TL;DR Highlight
재학습 없이 각 나라의 도덕적 가치관에 맞게 LLM 출력을 조정하는 추론 시점 기법 DISCA 제안
Who Should Read
글로벌 서비스에 LLM을 배포하면서 문화적 편향 문제를 고민하는 ML 엔지니어 또는 AI 제품 개발자. 특히 API 레벨에서만 모델에 접근 가능한 환경에서 alignment를 개선하고 싶은 팀.
Core Mechanics
- 기존 LLM은 서구권(WEIRD: Western, Educated, Industrialized, Rich, Democratic) 중심의 도덕 판단을 하는데, Moral Machine 실험에서 40개국 4000만 건의 판단 데이터가 문화마다 도덕적 선호가 다름을 증명함
- DISCA(Disagreement-Informed Steering for Cultural Alignment)는 모델 가중치 수정, 별도 reward 모델, 모델 내부 접근 없이 추론 시점에만 동작하는 문화 정렬 기법
- 각 나라를 World Values Survey(WVS) 기반 4개 페르소나(젊은층/중년/노년/전국 평균)로 구성된 패널로 표현하고, 이 페르소나들의 의견 불일치 정도를 보정 크기의 신뢰도 신호로 활용
- 핵심 아이디어: 페르소나들이 동의하면 모델이 이미 잘 캘리브레이션된 것이고, 불일치하면 그 분산이 얼마나 보정할지를 알려주는 신호 - 불일치가 클수록 보정을 줄이는 방향으로 shrinkage
- Prospect Theory(손실 회피 이론)를 활용한 importance sampling(PT-IS)으로 특정 집단이 강하게 거부하는 방향은 피하면서 모든 코호트가 수용할 수 있는 보정 방향을 찾음
- Dual-pass reliability gate: PT-IS를 독립적으로 2번 실행해서 두 결과의 차이가 크면 보정을 줄이는 방식으로 불안정한 보정을 자동 억제
Evidence
- 7개 오픈웨이트 백본(2B~70B)에서 20개국 테스트 시 binary moral dilemma 기준 MIS(문화 불일치 점수)를 3.8B 이상 모델에서 10~24% 감소, 2B 모델도 3.4% 감소
- Phi-4(14B) + DISCA가 vanilla Llama-3.3-70B(5배 큰 모델)보다 낮은 절대 불일치 점수 달성 - 캘리브레이션이 스케일을 이길 수 있음을 실증
- 같은 Phi-4 그리드에서 DISCA(MIS 0.346)가 oracle 베이스라인(인간 AMCE 데이터에 접근 가능한 temperature scaling, MIS 0.513; margin scaling, MIS 0.506)보다도 낮은 MIS 달성
- open-ended 시나리오에서도 4개 모델 평균 2~7% MIS 개선(Llama-3.3-70B +6.85%, Phi-4 +6.67%), 80개 셀 중 6개만 소폭 악화(|Δ| ≤ 3.1%)
How to Apply
- API 레벨에서 logprobs를 반환하는 모델(Llama, Qwen, Phi 계열 등)이라면, 각 도덕적/가치 판단 시나리오마다 WVS 데이터 기반 4개 페르소나 프롬프트를 배치로 실행하고 logit gap의 분산을 보정 크기로 활용하면 된다. 단, 4x latency 비용 발생.
- 모델이 이미 특정 문화에 잘 맞춰져 있어서 vanilla MIS가 낮다면(< 0.40) DISCA 적용 시 오히려 악화될 수 있으므로, 먼저 vanilla logit conditioning 상태를 확인해서 headroom이 있는지 점검하는 것이 선행되어야 한다.
- 사실 기반 QA(factual recall)에는 효과가 없고 가치 판단/선호도 기반 binary 선택 시나리오에 적합하므로, 콘텐츠 모더레이션, 자율주행 윤리 설정, 추천 시스템의 도덕적 판단 등에 우선 적용을 고려하라.
Code Example
# DISCA 핵심 로직 스니펫 (단순화 버전)
import numpy as np
from scipy.special import softmax
def disca_correction(
base_logit_gap: float,
persona_logit_gaps: list[float], # N=4 페르소나의 logit gap
K_half: int = 64,
sigma: float = 0.3,
alpha: float = 0.88,
kappa: float = 2.25,
lambda_coop: float = 0.7,
eta: float = 0.5,
s: float = 0.04
) -> float:
"""
DISCA 보정값 계산
- base_logit_gap: 페르소나 없이 기본 프롬프트로 얻은 logit(B) - logit(A)
- persona_logit_gaps: 4개 페르소나 프롬프트로 얻은 각각의 logit gap
"""
N = len(persona_logit_gaps)
delta_bar = np.mean(persona_logit_gaps) # 컨센서스
def prospect_value(z):
"""Kahneman-Tversky 가치 함수 (손실 회피)"""
if z >= 0:
return z ** alpha
else:
return -kappa * ((-z) ** alpha)
def run_pt_is(k_samples):
"""Prospect Theory Importance Sampling 1회 실행"""
epsilons = np.random.normal(0, sigma, k_samples)
utilities = []
for eps in epsilons:
delta_candidate = delta_bar + eps
# 각 페르소나의 gain 계산
cohort_gains = [
abs(base_logit_gap - pg) - abs(delta_candidate - pg)
for pg in persona_logit_gaps
]
cons_gain = abs(base_logit_gap - delta_bar) - abs(delta_candidate - delta_bar)
# 손실 회피 유틸리티 집계
u_cohort = np.mean([prospect_value(g / sigma) for g in cohort_gains])
u_cons = prospect_value(cons_gain / sigma)
u_total = (1 - lambda_coop) * u_cohort + lambda_coop * u_cons
utilities.append(u_total)
weights = softmax(np.array(utilities) / eta)
return np.dot(weights, epsilons)
# Dual-pass reliability gate
correction_1 = run_pt_is(K_half)
correction_2 = run_pt_is(K_half)
# 두 패스의 불일치가 크면 보정 축소
Vr = (correction_1 - correction_2) ** 2
reliability = np.exp(-Vr / s) # 불일치 클수록 0에 가까워짐
final_correction = reliability * (correction_1 + correction_2) / 2
return final_correction
# 사용 예시
base_gap = 0.2 # logit(B) - logit(A) without persona
persona_gaps = [0.5, 0.8, 0.3, 0.6] # 4개 페르소나의 logit gap
correction = disca_correction(base_gap, persona_gaps)
steered_gap = base_gap + correction
print(f"보정 전 확률: {1/(1+np.exp(-base_gap/0.5)):.3f}")
print(f"보정 후 확률: {1/(1+np.exp(-steered_gap/0.5)):.3f}")Terminology
Related Papers
Using Claude Code: The unreasonable effectiveness of HTML
Claude Code 팀이 Markdown 대신 HTML을 LLM 출력 포맷으로 선호하기 시작한 이유와 그 실용적 장점을 정리한 글로, AI와 함께 문서/스펙/대시보드를 만드는 워크플로우에 직접적인 영향을 준다.
When to Vote, When to Rewrite: Disagreement-Guided Strategy Routing for Test-Time Scaling
Disagreement-guided routing boosts LLM accuracy on math and code by 3-7% with adaptive problem solving.
Less Is More: Engineering Challenges of On-Device Small Language Model Integration in a Mobile Application
Five failure modes and eight practical solutions emerged after five days of running on-device SLMs (Gemma 4 E2B, Qwen3 0.6B) with Wordle.
Dynamic Context Evolution for Scalable Synthetic Data Generation
A framework that completely eliminates duplication and repetition in large-scale synthetic data generation with LLMs using three mechanisms (VTS + Semantic Memory + Adaptive Prompt).
90%+ fewer tokens per session by reading a pre-compiled wiki instead of exploring files cold. Built from Karpathy's workflow.
This is a workflow sharing post about how pre-organizing a codebase in Wiki format can reduce token usage per Claude session by more than 90% instead of directly exploring the codebase every time.
Related Resources
Original Abstract (Expand)
Large language models increasingly mediate decisions that turn on moral judgement, yet a growing body of evidence shows that their implicit preferences are not culturally neutral. Existing cultural alignment methods either require per-country preference data and fine-tuning budgets or assume white-box access to model internals that commercial APIs do not expose. In this work, we focus on this realistic black-box, public-data-only regime and observe that within-country sociodemographic disagreement, not consensus, is the primary steering signal. We introduce DISCA (Disagreement-Informed Steering for Cultural Alignment), an inference-time method that instantiates each country as a panel of World-Values-Survey-grounded persona agents and converts their disagreement into a bounded, loss-averse logit correction. Across 20 countries and 7 open-weight backbones (2B--70B), DISCA reduces cultural misalignment on MultiTP by 10--24% on the six backbones >=3.8B, and 2--7% on open-ended scenarios, without changing any weights. Our results suggest that inference-time calibration is a scalable alternative to fine-tuning for serving the long tail of global moral preferences.