공격자는 확산 언어모델의 디노이징 궤적으로 편향을 주입할 수 있다
Noise Out, Bias In: Targeted Bias Injection in Diffusion Language Models via Closed-Loop Activation Steering
무엇인가
마스크드 확산 언어모델(dLLM)은 토큰을 하나씩 확정하는 대신 마스킹된 시퀀스를 여러 번 반복해 디노이징하며 텍스트를 만든다. 자기회귀 디코더는 답변의 확률분포를 토큰을 확정하는 그 한 순간에만 노출하지만, dLLM은 확정 전 모든 디노이징 스텝에서 같은 분포를 다시 계산해 보여준다. 이 논문은 그 차이가 곧 공격 표면이 된다고 주장한다. 답변이 여러 스텝 동안 수정 가능한 상태로 남아 있으면, 내부 활성값에 접근한 공격자는 모델이 특정 답변을 낼 확률을 지켜보면서 개입 강도를 그때그때 조정할 수 있다는 것이다. 저자들은 이를 표적 편향 주입(targeted bias injection)이라 부르고, 가중치와 프롬프트는 그대로 둔 채 서빙 스택의 포워드 훅만으로 동결된 dLLM의 답변을 공격자가 고른 인구통계 집단 쪽으로 밀어낸다.
어떻게 동작하나
공격은 오프라인과 온라인 두 부분으로 나뉜다. 오프라인에서는 평가에 쓰지 않는 질문 쌍에 대해, 같은 질문을 대상 집단 선택지 텍스트로 완성한 경우와 비교 집단 선택지 텍스트로 완성한 경우의 잔차 스트림 활성 평균을 구해 그 차이를 14번 블록에서 뽑고 단위 벡터로 정규화한다. 답변 글자가 아니라 선택지 텍스트를 쓰기 때문에 방향이 표시 위치가 아닌 집단 자체를 담는다. 온라인에서는 모델이 응답을 디노이징하는 동안 매 forward pass 뒤에 답변 위치에서 대상 글자에 부여된 확률 p_t를 읽고, 비례-적분(PI) 제어기로 다음 스텝의 조향 강도 α_t = clip(Kp·e_t + Ki·I_t, 0, α_max)를 정한다. 오차 e_t는 설정값 s*에서 직전 확률을 뺀 값이고, 적분항 I_t는 그 오차를 누적한 것이다. 이 α_t를 모든 블록과 모든 위치(프롬프트 토큰 포함)의 잔차 스트림에 더한다. 저항이 큰 예시에는 강도가 커지고 설정값에 도달하면 줄어드는 구조로, 적분 동작 덕분에 예시마다 필요한 임계 강도를 스스로 찾아간다. 실험에 쓰인 값은 s*=0.9, (Kp, Ki)=(3, 0.1), α_max=6이며, Kd를 더하면 PID, 설정값을 0으로 두고 명령을 [-6, 0]으로 자르면 같은 루프가 편향 억제기로 바뀐다. 위협 모델은 그레이박스다. 공격자는 잔차 활성값을 읽고 훅을 통해 유계 오프셋을 더하며 샘플러가 리마스킹을 위해 이미 계산하는 중간 답변 확률을 관찰하지만, 가중치 열람이나 그래디언트 계산, 학습은 하지 않는다.
무엇과 다른가
주 실험은 LLaDA-8B-Instruct를 동결한 채 32토큰 단일 블록, 64 디노이징 스텝, 온도 0으로 돌린다. 데이터는 정답이 유보(abstention)인 BBQ의 모호한 Black 대상 질문 400개를 선택지 순서 3가지로 회전한 1,200개 프롬프트다. 대상-비교 집단 격차는 1.8%p에서 16.7%p로 올라갔고, CAA·ActAdd·Mean-AcT·Local Gaussian AcT·ITI-C·AurA 등 7개 조향 베이스라인은 어느 것도 4.6%p를 넘지 못했다. 캘리브레이션에 쓴 100개를 제거한 나머지 300개에서도 격차는 16.2%p였고, 추가로 뽑은 세 개 아이템 세트의 평균 격차는 16.2%p(비조향 -0.3%p)였다. 다른 대상으로도 Black 14.9, Arab 22.5, Old 37.2%p만큼 격차가 커졌다. SocialStigmaQA를 Yes/No/Can't tell 3지선다로 재구성한 실험에서는 낙인적 답변 선택률이 17.6%에서 58.1%로 뛰었고, 편향-안전 격차는 83.8%p 증가했다. 대가는 일관성이다. PI 출력의 7.8%가 엄격 파서를 통과하지 못했고(비조향 0%), Asian·Latino·White 대상에서는 무효 출력 비율이 임계치를 넘어 공격이 아니라 실패로 보고됐다. 대상 하나를 공격하는 데 GPU 한 장으로 약 40분이 걸린다.
어떻게 쓰나
저자들이 강조하는 핵심은 이득이 조향 방향이나 주입 위치가 아니라 피드백 자체에서 나온다는 점이다. 같은 방향과 같은 주입 위치를 쓰되 강도만 고정한 대조 실험에서, 제어기의 평균 강도 3.28을 상수로 준 개방 루프는 격차를 3.5%p밖에 못 올리면서 출력의 20.8%를 망가뜨렸다(피드백 시 7.8%). 예시별로 상수를 따로 정해도 마찬가지여서, 비조향 탐침 p0로 정한 강도는 4.8%p, 사후적으로 각 예시에 제어기가 실제 적용한 평균 강도를 준 오라클조차 8.4%p에 그쳤다(무효 13.4%). 같은 평균 3.28에서 PI가 오라클을 8.3%p 앞선다. 블록별로 PID를 적응시키지만 답변 확률은 읽지 않는 변형은 3.1%p였다. 시퀀스의 78%가 측정값에 반응해 명령을 최소 한 번 줄였다. 이론적으로도 확정 전 구간에서 p_t = γp_{t-1} + bα_t + d라는 국소 선형 모델을 가정하면 예시마다 도달에 필요한 임계 강도 α*_i가 다르고, 가장 큰 임계치가 일관된 출력을 내는 최대 강도를 넘으면 어떤 상수도 모든 예시를 만족시킬 수 없다. PI 루프는 그 임계치를 알지 못해도 적분 상태가 α*_i/K_i로 수렴해 스스로 찾아낸다.
전제와 한계
전이는 혼합적이다. Dream-7B에서는 출력 유효성을 지키려 α_max를 1로 묶었을 때 Δg=4.2%p의 이동이 있었지만 베이스라인 대비 우위는 확인되지 않았고, LLaDA-MoE에서는 튜닝된 CAA가 피드백을 2.3%p 앞섰다(그 모델에서는 CAA와 평균 일치 개방 루프가 바이트 단위로 동일한 출력을 냈다). 한 가지 강도가 모든 예시에 통하는 모델에서는 상수 조향이 이긴다는 것이 저자들의 설명이다. 같은 루프를 설정값 0으로 돌리면 억제기로 작동해 Black 대상 BBQ에서 격차를 0.2%p로 붙잡았지만(무효 1.8%), 비조향 격차 자체가 1.8%p에 불과해 큰 기존 편향을 뒤집는 능력을 보인 것은 아니다. 측정 조건도 결과를 좌우한다. 대상이 A 위치에 있을 때 PI 격차는 39.5%p였지만 B·C 평균으로는 5.3%p였고, 소문자 글자 토큰을 센서에 추가하면 평균 명령이 4.56에서 3.60으로 낮아지며 격차가 3.8%p 줄었다(구간이 0을 포함).
실무 관점에서 이 논문이 던지는 메시지는 편향 감사가 체크포인트에서 끝나면 안 된다는 것이다. 공격은 가중치도 프롬프트도 샘플러도 건드리지 않고, 조향·해석 라이브러리가 표준으로 쓰는 포워드 훅 인터페이스만 사용한다. 따라서 체크포인트 감사나 프롬프트 파이프라인 점검으로는 아무것도 잡히지 않는다. 저자들이 제시하는 값싼 흔적은 두 가지다. 모호한 질문에서 유보율이 떨어지고 무효 출력이 늘어나는 것인데, 대상 집단을 몰라도 고정된 프로브 세트로 관찰할 수 있다. 활성값에 걸리는 런타임 훅은 가중치와 함께 신뢰 컴퓨팅 기반(TCB)에 넣어야 한다는 권고도 함께 내놓는다. dLLM을 서빙하거나 그 위에 추론 API를 얹는 팀이라면, 모델 카드의 편향 수치가 배포된 시스템의 편향을 대변하지 않는다는 전제를 감사 절차에 반영해야 한다.
저자들이 밝힌 한계는 분명하다. 제어기 이득은 주 실험 400개 중 100개에서 골랐고 대상별 강도 일부도 평가 데이터에서 선택했으며, 이들을 제거해도 비교의 부호는 바뀌지 않지만 엄밀한 사전 등록은 아니다. 실험은 선택지 글자의 확률을 읽는 다지선다에 한정되며, 대상이 단일 토큰으로 측정되지 않는 자유 형식 생성은 검증되지 않았다. SocialStigmaQA 결과는 낙인에 특화된 조향이 아니라 답변 제어의 전이를 보여준다는 점도 인정한다. 제어 이론 분석은 확정 이전 구간을 가정한 국소 선형 모델에 기반하고, 억제기로서의 동작은 비조향 격차가 이미 0에 가까운 경우에만 시험됐다. 저자들은 이 실험이 배포 가능한 편향 완화 기법을 확립한 것이 아니라고 못 박는다.