현재 Jailbreaking의 한계
- Handcrafting jailbreaking prompts requires intensive
manual efforts and is very limited in scalability.
Automatic Attacks
- 자동으로 jabilbreaking attack을 생성하는 방법
- In-context learning-based attacks : 또 다른 LLM을 활용해서 jailbreaking 프롬프트를 자동으로 생성하고, in context 학습을 통해 프롬프트를 개선
- Genetic moehod-based attacks :
4 KEY Techniques
- RL-JACK은 더 효과적인 공격을 이끌어내는 더 효과적인 프롬프트 서치 전략을 학습!
공격자 가정
- 블랙박스 환경 가정. 표적 LLM은 safety alignment을 거친 모델로, 윤리적이지 않거나 해로운 질문에 대해 응답 거부하도록 설계되었다고 가정
공격 목적
- 1) 해로운 질문에 대해 LLM이 응답을 거부하지 않고 실제로 질문에 대한 답변을 생성하도록 유도하는 프롬프트를 만드는 것
- 2) 모델의 안전성 정렬을 우회하여 유해한 내용이 포함된 정확하고 관련성 있는 답변을 얻는 것
문제 공식화
pi∗=argp∈PmaxM(qi,ui),∀qi∈Q
- 유해하거나 비윤리적인 질문 집합 Q에 대해 각 질문 q에 대한 적절한 프롬프트 pi를 찾는 것이 목표
- 이때, LLM의 응답 ui가 질문 qi에 대한 올바른 답변이 되도록 함
- M은 주어진 질문 q에 대한 LLM의 응답 u를 평가하는 평가 지표로 높은 M 값은 LLM이 유해한 질문에 대해 적절하고 유해한 답변을 제공했음을 의미
- 해당 논문에서는 단순히 유해한 질문이 아니라 제대로 된 대답이어야 할 때만 성공했다고 판단함
4.3 Our Attack Overview
행동 설계의 근거
- 과도한 탐색 공간 방지
- 직접 jailbreaking 프롬프트를 생성하는 대신, 별도의 LLM을 도입하여 프롬프트를 생성
- 에이전트는 helper model이 jailbreaking 프롬프트를 어떻게 구성할지 결정하는 전략을 선택
- helper model은 선택된 전략에 따라 프롬프트 생성
- 충분하고 의미 이는 변화
- agent가 유해 질문에 대해 jailbreaking을 유도할 수 있는 충분하고 의미 있는 변화를 줄 수 있도록 10가지 jailbreaking 전략을 설계
- 대회 context를 생성하거나, 현재 프롬프트를 직접 수정
보상 설계의 근거
- 의미 있는 보상 제공
- 새로운 보상 함수 설계
- 타겟 LLM의 응답과 사전 지정된 '참조' 답변 간의 차이를 정량화하여 agent에게 연속적 피드백 제공
- 코사인 유사도 활용
- unaligned LLM 사용
- 안전장치 없는 LLM
- 유해하거나 위험한 질문에 대해 필터링 없이 직접적인 답변을 제공할 수 있음
- API를 사용하는게 아니라 이렇게 unaligned LLM을 사용하는 것이 결과 증명에 있어서 더 좋을 수도 있겠다!
- Llama 2 Uncensored
4.4 Attack Design Details
- 기본적으로 Markov Decision Process를 따름
- MDP(S,A,T,R,r)
기본 프로세스
훈련된 agent를 사용해서 공격 시작!
-> 탈옥 프롬프트 생성
-> 유해한 질문을 초기 탈옥 프롬프트로 생성하고 에이전트가 행동을 선택하게 만듦
-> 다섯 개의 프롬프트 생성
-> 모든 프롬프트에 대한 목표 모델의 응답을 받아보고
-> 어느 것이 활성화되었는지 결정
-> 1) 성공적인 공격! 이면 프로세스 종료
-> 2) 그렇지 않으면 현재 상태로 무작위로 탈옥 프롬프트를 선택하여 에이전트에 제공하고 반복
프롬프트 생성

- Attacker의 질문이 들어오면 RL agent가 행동할 수 있는 특정 행동들 중 하나가 선택된다.
- 그림에서는 a5라는 행동이 선택
- 질문을 더 합법적인 맥락에 배치
- s(t)라는 프롬프트가 생성이 되는데, 이후 a0라는 행동 선택
- 직접적으로 언급하지 않고 포함하는 역할극 시나리오
- 이를 통해 p(t)′라는 새로운 프롬프트가 생성
- Helper LLM이 이 두 프롬프트를 crossover하여 융합
- 상태의 연속성은 RL에 설계에서 중요!
- 새로운 프롬프트인 s(t+1)=p(t) 생성
10가지 행동

- 이런 식으로 각 행동에 대한 프롬프트가 지정되어 있음!
- RL-JACK agent는 현재 상태를 입력으로 받은 후에 어떤 행동을 할지 결정!
- 행동이 선택되면 유해 질문과 그 지침을 프롬프트 템플릿에 삽입하고 helper LLM에게 전달!
그렇다면 어떤 행동을 할 지는 어떻게 결정하는가?

- word embedding layer : 텍스트 입력을 단어 임베딩 벡터로 변환
- multi-head attention : 문맥 정보 포착을 위해 self-attention 매커니즘 사용
- Linear Layer : 텍스트 인코더에서 생성된 문장 임베딩을 입력받아, 다양한 감옥 해제 전략 중 하나를 선택하는 데 사용
보상 설계
- Vicuna-13b 모델을 헬퍼 모델로 사용! (비교군으로 GPT3.5-turbo 모델도 함께 사용)
r(t)=Cosine(Φ(ui(t)),Φ(u^i))=∥Φ(ui(t))∥∥Φ(u^i)∥Φ(ui(t))⋅Φ(u^i)
- 높은 코사인 유사성은 현재 타겟 LLM의 응답이 원래 유해 질문에 대한 적절한 대답임을 나타냄!
- PPO 알고리즘을 설정!
알고리즘 분석해보기

- 훈련 과정(Algorithm1)
- t==1이면
llm helper에 p_complete와 S_train을 입력해 탈옥 프롬프트 p(t)를 생성
a(t)==a(t-1)이면, 이전 프롬프트를 llm helper로 다시 변경
- 그 외의 경우에는 새로운 탈옥 프롬프트 생성
llm_target에 p(t)를 입력해 응답 u(t)를 획득
- 보상함수를 통해
r(t)를 계산
- PPO를 이용해 정책 업데이트
- 테스트 과정(Algorithm2)
- 생성된 프롬프트
p(t)를 llm_target에 입력해 응답 획득
- GPT-2.5가 pj를 이용해 평가를 수행
- 정답 포함 시 탈옥 성공으로 간주하고 M에 추가
- 모든 질문에 대해 반복 수행 후 탈옥 프롬프트 모음 M을 반환
5 Evaluation

Discussion
RL-JACK을 이용해서 LLM의 안전성을 강화하기 위해?
- 적대적 학습! : RL-JACK을 통해 생성된 다양한 프롬프트를 이용해서 LLM을 미세 조정
- 이 과정에서 공격적인 프롬프트에 대해 거부하도록 학습
기존 방법과의 차이
- 기존은 수작업 템플릿 기반 & 프롬프트를 genetic 알고리즘을 사용해서 무작위로 변형시킴
- RL-JACK은 심층 강화 학습 시반이고 의미 있는 보상 함수를 줌
- 단순히 genetic한 것이 아니라 deterministic한 탐색 전략!
- 그리고 자동화된 jailbreaking 프롬프트를 생성한다!