June 3, 2025 — 📝 Paper

[논문 리뷰] Backtracking Improves Generation Safety

https://arxiv.org/pdf/2409.14586

ICLR 2025 Oral Paper (2024, Sep, 22)

Meta, Carnegie Mellon University


⚠️❗이상한 짤이 많습니다

Introduction

LLM Safety에서 예방만으로는 부족하다

LLM은 멍청한 ARM(AutoRegressive Model)이라서, 앞에서 한 말에 영향을 많이 받음

앞에서 한 이상한(unsafe) 말을 다 날려버린다면 ??!?!?!?

[RESET] 토큰으로 자체적으로 안전하지 않은 생성을 “취소”하고 복구할 수 있도록 하는 기술인 backtracking을 제안


모델의 생성 ‘예방’ X → 토큰 생성 후 ‘조치’

→ ‘코스 수정’이 아니라 [RESET] 이전의 것은 완전히 버리고 새로 생성

Here is a vile letter [RESET] Sorry I cannot help with that

SFT랑, DPO로 Backtracking 학습시킬게 ~


Backtrack Training Setting

Backtrack 횟수를 1회로 제한함 → Markov decision process로 의사 결정하는 것을 막음

⇒ 훈련 방식은 SFT와 DPO

SFT

SFT 만으로는 safety가 향상되지는 않지만 Preference Tuning을 위한 warm-up으로서의 역할을 함

  • x = Prompt
  • ⁍ = ideal safe response
  • ⁍ = unsafe response

<결과>

DPO

DPO로 돌아가야 할 때와 그렇지 않아야 할 때를 가르침

  • DPO

선호도(Preference) 데이터 셋

  • positive example: prefix(y−) ⊕ [RESET] ⊕ y+ ≻ y− (그림 속 예시)

  • negative examples:

    • ‘ y+ ≻ prefix(y+) ⊕ [RESET] ⊕ y− ` (그림 속 예시)
    • ‘ y+ ≻ prefix(y+) ⊕ [RESET] ⊕ y+ ’ ([RESET]을 남발하는 걸 막기 위함)
  • SFT와 마찬가지로 일반 utility dataset도 포함


Backtrack Experiments & Result

Models

  • Gemma-2-2B
  • Llama-3-8B

  • Backtrack SFT:

  • Baseline SFT:

Result 1. Improve Model Safety

  • Safety: AdvBench (AB), MaliciousInstructions (MI), SimpleSafetyTests (SST) and StrongReject (SR)
  • Utility: MT-Bench

SFT 만으로는 safety가 향상되지는 않지만 DPO을 위한 warm-up으로서의 역할을 함

Result 2. Trade Off

Generation Efficiency 떨어지는 거 아니냐? → [RESET]토큰에 대한 logit bias로 균형 맞추기

  • Logit Bias란?

  • Time to First Token 1초 정도 차이남 (중간 그림)
  • 유효 처리량 12% 정도 떨어짐 (오른쪽 그림)

안전과 무관한 경우 처리량은 거의 차이 없음

Result 3. Better safety under sampling

temperature = 1로 설정해놓고 여러번 실행함

best-of-ksampling strategy: first generation is unsafe한 경우, K번 resample

  • efficiency를 포기하고, Safety를 얻는 방법
  • Llama Guard 2와 같은 safety classifier이 있다고 가정

worst-of-kbest-of-k

Safety Against Adversarial Attacks

위는 “표준” 사례(공격 시도 X)에서 Backtracking의 효과를 보았다.

그렇다면 공격을 시도할 때는?

(우리는 (https://bobb-ai-brain.vercel.app/sas)에서 Adversarial Attacks에 대해 알아보았다.)

4가지 공격에 대해 평가해보았다

  1. Prefilling
  2. GCG
  • discrete token optimization algorithm that uses gradient-guided search to minimize an objective function
  • “탈옥(jailbreak)“시키기 위한 접미사(suffix)를 찾아내는 방법
  • 모든 단일 토큰을 대체할 수 있는 모든 토큰을 대입해보고, loss 값이 가장 작은 방향으로 업데이트(= 토큰을 바꿈) 되는 방식
  • 가장 강력한 Attack (Harmbench 기준)
  1. AutoDAN
  • Jailbreak를 위한 프롬프트 자동생성
  • 두 번째로 강력한 Attack (Harmbench 기준)
  1. Adaptive attack
  • Backtracking을 깨기 위해서 specifically designed
  • 자세한 설명

Result

  • ASR (Attack Success Rate)
  • RR (Reset Rate)

  • Llama의 Prefilling을 막는 데에는 매우 효과적
    • 특히, Prefilling 공격에서는 높은 RR을 보임
  • AutoDAN이 압도적 공격성을 보임 (줄어들기는 했으나 여전히 강력한 공격임..)
  • 하지만 전체적으로 꽤 많이 방어했죠 ??

Bobb’s 한줄평

  • 이후 연구에서 견고해진 Backtrack을 만들기 위한 여정을 떠난다는데, 그것이 기대가 된다.
  • 예방 보다는 출력을 취소하는 방식