ShallowDefend는 얕은 안전 정렬을 다중턴 방어 결정점으로 바꾼다
ShallowDefend: Harnessing Shallow Safety Alignment for Multi-Turn Defender
무엇인가
이 논문은 단일턴에서 유해 요청을 잘 거절하는 LLM이 같은 요청을 여러 턴에 나눠 받으면 왜 자주 무너지는지를 다룬다. 저자들은 원인을 얕은 안전 정렬에서 찾는다. 안전 행동이 출력 첫 몇 토큰에 집중되어 있어서, 공격자가 대화를 조금씩 밀어 자연스러운 첫 응답을 순응 쪽으로 만들면 이후에는 기반 모델 분포로 되돌아가기 쉽다는 것이다. 기존 방어는 판정자·분류기·가드 모델로 응답 표면을 감독하므로 판정자 오류를 학습에 끌어들이고, 모델이 학습할 명시적 안전 결정을 주지 않는다. 논문은 이 얕음을 결함이 아니라 지도로 읽는다. 응답의 진로를 정하는 앞부분이 가장 레버리지가 큰 개입 지점이므로 방어자가 그 자리를 먼저 차지하자는 것이다.
어떻게 동작하나
방법은 Assess → Decide → Respond다. 매 턴 모델은 사용자의 진짜 의도를 짧게 평가하고, COMPLY/REFUSE(외부 보상 설정에서는 SAFE-REDIRECT 추가) 중 하나를 명시적으로 커밋한 뒤, 그 결정에 조건화된 응답을 생성한다. 시스템 프롬프트는 Assessment, Decision, Response 세 줄 형식을 유도한다. 턴 출력을 y_t=(d_t,a_t)로 나누면 d_t는 결정 줄까지의 숙고, a_t는 응답이다. 결정은 모델 출력 안의 토큰 구간이라 규칙이 읽을 수 있고, 같은 생성 안에서 응답보다 앞서므로 응답을 구속한다. 학습은 GRPO로 하며, 보상은 공격이 페이로드를 전달하는 마지막 턴에만 준다. 앞 턴들은 무해해 보이므로 과정 보상을 주면 쉬운 턴에 편향될 수 있다는 판단이다. 또 턴별 길이 상한을 두어 초반 턴에 토큰을 부풀려 후반 턴을 비우는 보상 해킹을 막는다.
무엇과 다른가
보상은 두 갈래다. 외부 보상은 LLM 판정자가 전체 대화와 마지막 응답을 보고 유해 요청을 실질적으로 수행했는지 판정해 안전/불안전을 매긴다. 유해 대화에서는 거절하거나 유해 내용 없이 우회하면 안전이고, 무해 대화에서는 도움이 되게 순응해야 안전이다. 자기검증 결정 보상은 판정자 없이 마지막 턴의 커밋된 라벨만 읽는다. 대화가 유해 시드에서 자랐으면 refuse, 무해 시드면 comply가 목표이고, 파싱한 결정이 목표와 같고 응답이 비어 있지 않을 때만 1을 준다. 응답 비어 있음 조건은 'refuse만 내고 답하지 않기'라는 퇴화 최적해를 막는 완전성 가드다. 이 설정은 safe-redirect를 제외한 이진 결정만 쓴다. 규칙만으로는 refuse와 safe-redirect 중 하나를 유일한 목표로 지정할 수 없어 보상이 모호해지기 때문이다. 그래디언트는 전체 생성에 주는 기본 방식과 결정 경계 앞 토큰에만 주는 부분 방식이 있다. 부분 방식이 작동하는 근거는 결정이 응답을 구속한다는 성질이다.
어떻게 쓰나
실험은 Llama3.1-8B-Instruct와 Qwen3-8B 두 계열에서 했다. 유해 풀은 AdvBench 행동 위에 SEMA, Crescendo, foot-in-the-door, Echoing, Hidden Intention Streamline 다섯 다중턴 공격군을 섞어 만들고, 무해 풀은 UltraChat-200k 다중턴 대화를 표면형과 깊이를 맞춰 같은 비율로 섞었다. 외부 보상 실험의 판정 모델은 HarmBench-13B 분류기다. 비교군은 같은 데이터로 학습한 SFT, DPO, SDGO, MTSA, MUSE-D, X-Boundary다. 안전성은 AdvBench, HarmBench, MultiBreak, CoSafe, MHJ로, 유용성은 MMLU, HellaSwag, Winogrande, GSM8K, TruthfulQA, IFEval로, 과잉 거절과 대화 품질은 XSTest, XSB, MT-Bench로 평가해 총 14개 벤치마크를 쓴다. 결과는 두 백본 모두에서 평균 안전률 1위이고 모든 개별 안전 열에서 앞선다. Llama에서는 X-Boundary가 AdvBench를 거의 포화시키는 반면 다른 비교군이 약한 영역, 특히 사람이 만든 MHJ 공격에서 격차가 커진다. Qwen에서는 비교군들이 서로 가까워 차이가 다섯 스위트 전반의 고른 우위로 나타난다. 구조화 프롬프트만 적용한 미학습 모델도 기반 모델보다 낫지만 학습 결과에는 크게 못 미친다. 유용성은 경쟁 수준이고 MT-Bench도 유지되지만, 더 엄격한 결정 정책 때문에 과잉 거절이 다소 늘어나는 비용이 있다. 제공된 원문 본문에는 표 1의 개별 수치가 텍스트로 제시되지 않아 구체적 개선폭은 확인할 수 없다.
전제와 한계
분석은 방어가 실제로 커밋된 결정을 통해 작동한다는 쪽으로 모인다. aligned와 unaligned의 토큰별 KL 발산은 첫 몇 토큰에 몰리지 않고 결정 토큰 앞의 평가 구간에 퍼져 그 근처에서 정점을 찍은 뒤 응답이 진행되며 줄어든다. 반면 두 모델 모두 기반 모델과는 첫 위치부터 크게 갈라져 있다. 프레임워크가 즉답 대신 숙고 후 커밋하므로 초반 분포가 달라진 것이다. 개입 실험에서 커밋된 결정을 덮어쓰면 응답 안전성이 양방향으로 움직였고, 학습은 라벨만이 아니라 결정 뒤의 응답을 더 견고하게 만든 것으로 보고된다. 결정 라벨은 외부 판정자들의 판정과 판정자 간 일치도에 준하는 수준으로 상관됐다. LLM 판정자들은 서로 중간 정도만 일치하므로 단일 판정자의 공격 성공률을 절대적 진실로 읽지 말아야 한다는 지적도 함께 제시된다. 절제 실험에서는 Decision 줄을 없애는 것이 가장 치명적이어서 모든 안전 스위트가 떨어지고 사람 레드팀에서는 미방어 기반 모델보다도 낮아졌다. Assessment 줄 제거는 상대적으로 덜 치명적이며 과잉 거절이 늘고 보정이 나빠졌다. 턴별 보상은 안전성을 잃고 과잉 거절을 낮췄고, 부분 그래디언트는 과잉 거절을 다소 높이는 대신 견고성을 얻었다. 유해·무해 혼합 비율은 자동화 안전성이 포화된 상태에서 과잉 거절과 답변 품질의 트레이드오프 위치를 정할 뿐이었다.
개발자에게 이 논문의 핵심은 안전을 응답 필터나 거절 문구로만 다루지 말고, 응답 전에 읽을 수 있는 결정 토큰을 강제하고 그 결정에 응답을 조건화하라는 설계다. 특히 페이로드가 도착하는 마지막 턴에 보상을 집중하고, 시드의 유해·무해 정답 라벨만으로 규칙 보상을 주는 방식은 판정자 비용과 판정자 오류 전이를 줄이는 실무적 선택지가 된다. 다만 자기검증 보상은 통제된 시드에서 나온 정답 라벨이 있어야 하고, safe-redirect 같은 3지 결정은 외부 판정자 보상에 맡긴다. 저자들이 밝힌 한계는 위협 모델이 스크립트형 다중턴 공격을 정적으로 재생한 것이며 적응형 공격자는 열린 문제로 남는다는 점이다. 안전성 평가가 LLM 판정자에 의존하고 판정자 간 불일치가 상당하므로, 배포 전에는 여러 판정자와 실제 사용자 로그, 과잉 거절·도움성 비용을 함께 확인해야 한다.