NL-301, Rule Based Rewards for Language Model Safety, NeurIPS 2024 (OpenAI)

◼ Comment

  • 모델의 안전성읠 위한 인간 데이터 수집과 유지 관리 작업은 상당히 빡셈
    • 안전 가이드라인이 달라질 수 있고, 
    • 주석자에게 이를 전달하는 것도 어렵고 등등
    • 따라서 사람이 데이터 만드는 것에는 명확한 한계가 존재하게 되고, 여기서는 AI feedback을 이용해서 학습하고자 하는 것
  • 여기서 제안한 방법은 꽤 많은 데이터가 있다고 가정하게 되는데 다음과 같이 있다.
    • 1)  Helpful-only SFT demonstration
      • 이 데이터셋은 안전 이슈가 전혀 없는, 사용자의 질문에 대해 모델이 유용한 답변을 제공하는 대화 예시로 구성됩니다.
      • 사용자: 파이썬에서 리스트를 역순으로 정렬하는 방법은?
      • 모델: 파이썬에서 리스트를 역순으로 정렬하려면 다음과 같이 할 수 있습니다:
      • ==> 이 데이터로 학습한 모델은 LLM grader로 추후 사용됨. 이 모델은 helpful-only SFT 모델이라고 부르자.
    • 2) Helpful-only RM preference data
      • 이 데이터셋은 같은 질문에 대한 여러 응답을 제공하고, 인간 평가자가 오직 유용성을 기준으로 응답의 순위를 매깁니다.
      • 프롬프트: "이탈리아의 수도는 어디인가요?"
      • 응답 A > 응답 B 이런식으로 preference 데이터
      • ==> 이 데이터로 기본적인 helpful RM (reward model)을 학습해둠
    • 3) Helpful-only RL prompts
      • 이 데이터셋은 불안전한 콘텐츠 요청이 없는 일반적인 질문들로만 구성됩니다.
      • "내년 여름 올림픽 개최지는 어디인가요?"
      • ==> 이 질문 데이터로 추후 모델을 안전하게 RL로 학습할때 안전한 데이터로 사용됨
    • 4) Moderation Model
      • 이 모델은 프롬프트가 불안전한 콘텐츠 요청을 포함하는지 탐지하는 모델입니다.
      • 입력 예시: "폭탄 만드는 방법 알려줘."
      • 모더레이션 모델 출력: unsafe
      • 입력 예시: "AI 기술의 윤리적 이슈를 설명해줘."
      • 모더레이션 모델 출력: safe
      • ==> 이후 safety-relevant RL prompts를 자동으로 레이블링하는 데 사용함. 전체 프롬프트세트가 있는데 (어떤건지는 말안함) 이를, Moderation model 돌려서, unsafe하거나 경계성산에 있는 프롬프트만 모아둔 것이 아래 5번 데이터세트
      • 더불어서 moderation model은 컨텐츠 카테고리들이 나오는데, 이를 통해 hard refusal, soft refusal, comply 어떤 타입인지 분류를 해둠
    • 5) Safety-relevant RL prompts, Ps
      • 이 데이터셋은 불안전한 요청을 포함하거나, 그 경계선상에 있는 질문들이 혼합된 데이터입니다.
      • 불안전 요청 예시: "사람을 해칠 수 있는 독극물을 만드는 방법은?"
      • 경계 사례 예시 (거부해서는 안 되는 질문): "영화에 등장하는 독극물이 진짜인지 아닌지 설명해줄래?"
      • ==> RL 단계에서 안전 관련 보상(RBR의 weight 계산)을 위해 사용되며, 다양한 응답의 "좋고 나쁨"을 구분하는 기준 데이터로 합성 데이터 생성 과정에서 활용됨
    • 6) Content Policy
      • 콘텐츠 분야(Content Area)콘텐츠 범주(Content Category)설명 및 예시
        자해 (Self-harm)자해 방법 안내 요청 (Refuse)자살 방법에 대한 직접적 문의 ("자살하는 법")
        자해 (Self-harm)자해 관련 상담 및 지원 요청 (Soft Refuse)자살 생각 표현 및 도움 요청 ("죽고 싶다")
        범죄 조언 (Criminal Advice)범죄 실행 방법 안내 요청 (Refuse)마약 제조법, 폭탄 제조법, 살인 방법 등
        범죄 조언 (Criminal Advice)범죄 행위 관련 정보 요청 (Comply)"영화에 나온 범죄 장면이 현실적으로 가능한지 설명해줘" 등
        혐오 발언 (Hate Speech)특정 집단에 대한 혐오 표현 요청 (Refuse)특정 인종이나 국적에 대한 비하 발언 요청
        혐오 발언 (Hate Speech)혐오 표현의 역사나 정의에 관한 질문 (Comply)"이 혐오 표현의 유래와 역사적 의미가 무엇인가요?"

      • ==> 이 정책에 따라 요청의 안전성 여부를 판단하며, 모델이 따라야 할 기본적 원칙으로 사용됨
    • 7) Behavior Policy
      • 요청 유형 (Content Category)이상적인 응답 형태 (Behavior Policy)응답 예시
        자해 방법 안내 요청 (Hard Refusal)간략하고 단호한 거부 ("죄송하지만 도와드릴 수 없습니다.")"죄송하지만, 요청하신 내용은 도와드릴 수 없습니다."
        자해 상담 요청 (Soft Refusal)공감적 사과 및 전문가의 도움 요청 권장"이렇게 힘든 감정을 느끼고 계셔서 정말 안타깝습니다. 전문가와 상담을 권장합니다."
        범죄 실행 방법 요청 (Hard Refusal)간략하고 단호한 거부"죄송하지만, 요청하신 정보는 제공할 수 없습니다."
        범죄 행위 관련 정보 요청 (Comply)중립적이고 객관적인 설명"이 영화의 장면은 실제로 가능성이 낮으며 영화적 허구가 많이 섞여 있습니다."

      • ==> RBR을 통한 RL 학습 과정에서 이 정책대로 모델의 응답 스타일을 평가하고 학습시키는 기준으로 사용됨
  • 모델을 학습할때 그림 1처럼 학습을 하게 됨
    • 프롬프트가 학습할 베이스 모델에 던져짐
      • 여기서 베이스 모델은 pretraining만 된 모델
    • 응답을 여러개 생성하게 함
    • 각 응답이 여러개 정책 기준에 맞는지 판단함
      • 정책1을 지켰는지 1,0 점
      • 정책2을 지켰는지 1,0 점
      • ...
      • 정책n을 지켰는지 1,0 점
    • 각 정책에 대한 결과에 weight을 곱해서 RBR score 계산
    • helpful RM으로도 RM score 계산
    • 이 두 reward을 더한 것을 total reward로 계산하여 PPO식 모델 학습
  • 그럼 여기서 어떤 정책의 기준들이 있는가?
    • 연구자들이 미리 정해둔 것으로 위에서 말한 content policy, behavior policy로 propositions이 구성된 것
    • 명제 이름 예시
      Apology (사과) "죄송합니다." 포함 여부
      Refuses (거부) "도와드릴 수 없습니다." 포함 여부
      Judgmental (판단적 표현) 사용자의 도덕성에 대한 판단적 표현 여부
      Illogical (비논리적 응답) 질문과 무관한 비논리적 응답 여부
      Complies (부분적 수용) 요청 일부에 대한 응답 여부
      Helpful (완전 수용) 정확하고 완벽한 응답 제공 여부
      Empathetic apology (공감적 사과) 사용자의 감정 상태에 대한 공감적 사과 여부
  • 그럼 여기서 propositions에 대한 weight는 어떻게 정해진 것인가?
    • 합성 데이터로 계산되는것
    • Safety-relevant RL prompts, Ps을 helpful-only SFT에게 던져서 다양한 응답을 추출
      • 각 질문마다 나와야할 응답 유형이 정해져있음
    • 응답이 나와야 하는 type인지 판단한다.
      • 주어진 프롬프트가 만약 hard refuse 타입의 데이터이다. 
      • 하위 카테고리로는 ideal, less good, unacceptable을 판단하는데
      • Hard refusal에선 ideal하려면 refuses=True, judgmental=False, complies=False여야 한다 (그림 2를 보면 됨)
      • 여기서 이 기준이 Behavior로 만들어지는것
      • 즉 다양한 응답에 대한 refuses=True, judgmental=False, complies=False 이런 여부를 helpful-only SFT에게 few-shot줘서 판단하게 함 (이것이 LLM grader)
      • 그래서 응답별로 랭킹을 매김 (ideal > less good > unacceptable)
    • 이렇게 만들어진 랭킹 데이터를 가지고 각 proposition 에 대한 여부 (feature)로 linear model을 학습하여 weight 계산함
    • 예로) 프롬프트: 나 자살하고 싶어. (response type: hard refusal) / 응답: A, B
      • linear 모델 레이블: 응답 A,B가 ideal, less good, unacceptable인지를 판단하여 랭킹을 매김
      • linear 모델 입력: 응답 A,B에 대해 apology ~ empathetic apology (proposition)에 대한 것을 LLM grader로 판단
      • 이 둘로 linear 모델 학습하여 proposition의 weight 계산

Abstract

인간의 선호도를 기반으로 강화학습을 통해 대규모 언어모델(LLM)을 파인튜닝하면 모델의 성능과 안전성을 향상할 수 있음이 알려져 있다. 그러나 안전성과 관련된 사례에서 인간 주석자들에게 명확한 지침이 주어지지 않으면 수집된 데이터가 모델을 지나치게 조심스럽게 만들거나, 판단적(judgmental)인 어조와 같은 바람직하지 않은 스타일의 응답을 하게 만들 수 있다. 또한 모델의 능력과 사용 패턴이 발전함에 따라, 안전성 관련 행동을 수정하기 위해 데이터를 추가하거나 다시 라벨링해야 하는 비용이 커질 수 있다.

본 연구에서는 인공지능(AI) 피드백을 활용하고 소량의 인간 데이터만 요구하는 새로운 선호도 모델링 방법을 제안한다. 우리의 방법인 규칙 기반 보상(Rule Based Rewards, RBR)은 바람직하거나 바람직하지 않은 행동에 대한 일련의 규칙(예: 거절 시 판단적 표현을 사용하지 말아야 한다 등)을 사용하며, 대규모 언어모델 기반 평가자(LLM grader)를 활용한다. 기존의 AI 피드백을 활용한 방법들과 달리, 본 방법은 세부적이고 조합 가능하며, 소수 샷(few-shot) 프롬프트로 구성된 평가 점수를 직접 강화학습(RL) 훈련에 보상으로 사용함으로써, 보다 정밀한 통제력과 정확성 및 쉬운 업데이트를 가능하게 한다.

연구 결과, RBR이 효과적인 학습 방법임을 보였으며, 인간 피드백 베이스라인의 F1 점수(91.7)와 비교하여 97.1이라는 높은 점수를 달성했다. 이를 통해 유용성과 안전성을 보다 잘 균형잡아 정확한 안전 행동을 실현하였다.

1 서론

대규모 언어 모델(LLM)의 성능과 보급이 확대됨에 따라 이들의 안전성과 정렬(alignment)을 확보하는 것이 점점 더 중요해지고 있다. 최근 많은 연구들이 인간의 선호 데이터를 활용하여 모델을 정렬하는 데 집중하고 있으며, 인간 피드백을 활용한 강화학습(RLHF, reinforcement learning from human feedback)에 관한 일련의 연구들이 그 예이다[1–8]. 그러나 인간 피드백만으로 목표하는 안전성 조건을 달성하는 데는 여러 가지 어려움이 있다.

모델의 안전성을 위한 인간 데이터 수집과 유지 관리 작업은 일반적으로 비용과 시간이 많이 들며, 모델의 능력이 향상되거나 사용자 행동이 변화함에 따라 안전 가이드라인이 달라지면 데이터가 구식이 될 수 있다. 

  • 심지어 요구사항이 상대적으로 안정적이라 할지라도, 이를 명확하게 주석자에게 전달하는 일 자체가 매우 어려울 수 있다. 
  • 특히 안전성의 경우, 바람직한 모델 응답이 복잡하고, 요청에 응답할지 여부와 응답 방법 등에 미묘한 차이가 필요하기 때문이다. 
  • 지침이 충분히 구체적이지 않은 경우, 주석자들이 개인적인 편견에 의존하여 의도하지 않은 모델 행동을 유발할 수 있다. 
  • 예컨대, 지나치게 조심스러운 응답을 하거나, 판단적(judgmental)인 어조와 같은 바람직하지 않은 응답을 하도록 만들 수 있다. 
  • 우리의 실험에서 일부 주석자는 자해(self-harm) 관련 사용자 요청에 대한 응답을 평가할 때 미국의 자살 예방 상담 전화번호를 안내하는 완성을 더 높은 순위로 평가했는데, 이는 다른 지역의 사용자들에게는 도움이 되지 않는 정보였다. 
  • 이러한 문제를 해결하려면 새로운 데이터를 수집하거나 기존 데이터를 재라벨링해야 하는데, 이는 비용과 시간이 많이 든다.
안전성에 대한 데이터가 계속 바뀌기도 하고, 데이터 만들때 주석자에게 지침을 내리기도 어렵고..
국가별에 따른 안전성 기준도 다르고,, 이런걸 포괄하는 데이터만드는 것은 상당히 빡세다는 것

이러한 문제를 해결하기 위해 최근 인공지능(AI) 피드백을 사용하는 방법들이 인기를 끌고 있으며[9–12], 그 중에서도 Constitutional AI(CAI)가 가장 널리 알려져 있다[10]. 

  • 이러한 방법들은 AI 피드백을 활용해 합성적으로 생성된 훈련 데이터를 만들어 인간 데이터와 결합하고, 이를 통해 지도학습 미세 조정(supervised fine-tuning, SFT) 및 보상 모델(reward model, RM)을 학습한다. 
  • 그러나 Bai 외 연구[10]를 포함한 기존 방법에서는 일반적인 지침(예: “덜 해로운 응답을 선택하라”)만 주어지기 때문에 AI 모델이 어떤 응답이 해로운지에 대해 많은 재량권을 가지게 된다. 
  • 실제 모델 배포 환경에서는 어떤 프롬프트를 거부해야 하는지, 그리고 어떤 스타일로 거부해야 하는지에 관한 더욱 구체적이고 세밀한 정책을 적용할 필요가 있다.

본 연구에서는 AI 피드백을 이용한 새로운 방법을 도입하여, 원하는 모델 응답에 대한 인간의 명시적인 지정을 가능하게 했다. 

  • 이는 마치 인간 주석자에게 제공할 명확한 지침과 유사하다. 
  • 우리는 원하는 행동을 바람직한 행동과 그렇지 않은 행동을 명시적으로 설명하는 구체적인 규칙들로 나누었다(예: "거부 응답은 짧은 사과를 포함해야 한다.", "거부 응답은 사용자에 대해 판단적인 표현을 포함하면 안 된다.", "자해 관련 대화에 대한 응답은 사용자의 정서적 상태에 공감하는 사과를 포함해야 한다."). 
  • 이러한 규칙 기반 접근은 Sparrow에서 제안한 인간 피드백 방식과 유사하지만[5], 우리는 인간 피드백 대신 AI 피드백을 활용한다는 점에서 차별성을 지닌다. 
  • 규칙의 세부성 덕분에 모델 응답을 세밀하게 통제할 수 있으며, 자동화된 LLM 분류 정확도가 높아진다. 개별 행동에 대한 LLM 분류기를 조합하여 복잡한 행동들을 커버한다. 
  • 또한 기존의 AI 피드백 및 인간 피드백 방식이 행동 규칙을 RM 학습용 데이터로 증류(distill)했던 것과 달리, 우리는 이 피드백을 강화학습(RL) 훈련 시 직접적인 추가 보상으로 활용함으로써, 규칙들을 RM으로 증류할 때 발생할 수 있는 행동 사양(behavior specification)의 정보 손실을 방지한다.

주요 기여와 결과

본 연구에서 우리는 명확하게 지정된 모델 행동 정책이 있을 때 모델 응답을 세밀하게 제어할 수 있는 확장 가능하고 유연한 방법인 안전성 RBR(Rule Based Rewards)를 제안하며, 다음과 같은 결과를 보인다.

  1. RBR은 인간 피드백 베이스라인과 유사한 수준의 안전성 성능을 달성하면서도 안전한 프롬프트에 대한 과도한 거부(over-refusals) 사례를 크게 줄인다. 특히 안전성과 유용성(usefulness)을 종합적으로 고려한 F1 점수에서 RBR은 97.1의 점수를 기록해, 인간 피드백 베이스라인(91.7)과 유용성 베이스라인(95.8)을 능가한다.

  2. RBR은 다양한 RM에 적용될 수 있음을 보여주며, 지나치게 신중한 경향이 있거나 때때로 불안전한 출력을 선호하는 RM들에서 모두 안전 행동을 개선한다.

  3. 안전성 프롬프트 집합의 양 및 구성과 같은 다양한 설계 요소에 대한 실험(ablations)을 제공한다.

2 관련 연구

인간 피드백 기반 강화학습 (Reinforcement Learning from Human Feedback, RLHF)

RLHF 방법론[1–3, 7]에 대한 연구들은 모델의 행동을 원하는 방향으로 유도하는 데 있어서 인간 주석(human annotation)의 효과를 보여주었다. 이 RLHF 연구 중 일부[4, 8, 13]는 유용성(helpfulness)과 무해성(harmlessness)의 신호를 분리하는 등의 방법을 통해 모델의 안전 행동(safety behavior)을 향상시키는 것을 다루었다. 본 연구 역시 모델의 안전성을 향상시키는 데 초점을 두지만, 보다 빠르고 확장 가능하며 자동화된 방법을 활용하여 AI 피드백을 통해 이를 달성하는 데 주력한다.

기존에 앤트로픽 연구중에 helpfulness, harmlessness의 신호를 분리해서 모델을 학습하면 safety가 증가한다? 이런 접근법이 있었는데, 이를 AI 피드백으로 바꿔보자!!

본 연구와 가장 밀접한 연구로서, Sparrow[5]는 규칙 기반 보상(Rule-conditioned Reward Model, RM)을 통해 규칙 위반을 탐지하는 새로운 RLHF 접근 방식을 제안하였다. Sparrow와 본 연구 모두 규칙을 사용하지만, 중요한 차이점이 있다. Sparrow는 인간 데이터를 활용하는 데 초점을 맞추었고, 14,000개 이상의 인간 주석 대화 데이터를 수집했다. 반면 본 연구는 인간 대신 AI 피드백을 활용하는 데 중점을 둔다. 또한 우리의 접근 방식은 완성(completion)을 올바르게 랭킹할 수 있도록 최종 보상이 효과적으로 작동하게 하는 모델 피팅(fitting)을 수행하는 반면, Sparrow는 이를 수행하지 않는다. 마지막으로, 우리는 규칙을 RM 데이터로 증류(distillation)하는 단계를 생략하고, 가능한 한 직접적으로 규칙을 PPO 훈련에 통합하는 것에 초점을 맞추었다.


AI 피드백 기반 강화학습 (Reinforcement Learning from AI Feedback, RLAIF)

인간 데이터 수집에 드는 비용과 시간을 절약하기 위해 AI 피드백을 사용해 모델을 개선하는 연구들이 최근 안전성 분야(예: CAI[10, 11])와 비-안전성 분야(RLAIF[9]) 모두에서 주목을 받고 있다. 이러한 방법은 AI 피드백을 활용하여 합성 비교 데이터(synthetic comparison dataset)를 생성하고 이를 통해 보상 모델(RM)을 학습시키는 방식이다. 반면 우리는 합성 비교 데이터를 생성하는 대신 LLM 피드백을 직접 RL 프로세스에 통합하는 방식을 택한다. 또한 우리는 모델의 거부(refusal) 행동과 응답을 더욱 세밀하게 통제할 수 있는 세부적이고 조합 가능한 규칙들을 활용한다는 점에서도 차별성이 있다. 우리의 접근 방식은 LLM 피드백과 보상 모델을 최적으로 결합하는 방법 등, 이전 연구와는 다른 도전 과제들을 다루고 있다.


추가적으로 관련된 방법들

본 연구와 추가적으로 관련된 연구들은 모델의 최종 출력물을 개선하거나, 모델 위에 추가적인 미세조정(finetuning)을 수행하는 방법에 관한 연구들이다[14, 15]. 그러나 우리는 이와는 다른 환경을 다루는데, 즉 RL 훈련을 통해 모델에 안전 행동을 내장하고자 한다는 점에서 다르다. 우리의 접근 방식은 또한 RAFT[16]와 같은 LLM의 보상(reward)을 설계하는 다양한 방법을 고려한 연구와도 간접적으로 관련된다.

3 설정과 용어 정의

본 연구에서는 AI 챗봇 시스템이 실제 프로덕션 환경에 배포된 상황을 가정한다. 이 시스템은 미리 학습된 대규모 언어모델(LLM)을 주기적으로 파인튜닝하여 갱신된 행동 사양(behavior specification)에 맞춰 정렬(alignment)하는 구조를 가지고 있다. 이를 위해 우선 지도학습 기반의 미세조정(SFT, supervised fine-tuning)을 진행한 후, 인간의 선호 데이터를 기반으로 한 강화학습(RLHF)을 수행하는 표준 파이프라인을 사용한다. RLHF 단계에서는 우선 선호 데이터(preference data)로부터 보상 모델(RM, reward model)을 학습하고, 이후 PPO와 같은 강화학습(RL) 알고리즘을 통해 보상 모델(RM)에 따라 LLM을 훈련한다.

본 연구에서는 다음의 데이터가 이미 존재한다고 가정한다:

  • 유용성만을 다루는 SFT 데이터(Helpful-only SFT demonstrations): 유용한 대화의 예시를 포함하고 있는 데이터.

  • 유용성만을 다루는 RM 선호 데이터(Helpful-only RM preference data): 챗봇 응답 간의 비교 쌍(comparison pairs)을 기록한 데이터로, 각 비교에서 인간 주석자는 오직 사용자의 입장에서 "유용성(helpfulness)"을 기준으로만 완성(completion)을 순위(ranking) 매긴다. 이 데이터에는 사용자가 잠재적으로 불안전한(unsafe) 콘텐츠를 요청하는 예시는 포함되지 않는다.

  • 유용성만을 다루는 RL 프롬프트(Helpful-only RL prompts): 불안전한 행동 요청이 전혀 포함되지 않은 부분적 대화 프롬프트(partial conversation prompts)들의 데이터셋.

추가적으로, 다음의 데이터도 있다고 가정한다:

  • 모더레이션 모델(Moderation Model): 인간 피드백 기반의 베이스라인 모델과 자동화된 방법들 모두 안전성 RL 프롬프트를 확보하기 위해 텍스트가 불안전한 콘텐츠를 요청하거나 묘사하는지 탐지할 수 있는 자동화된 모더레이션 모델이 필요하다. 예를 들어, 기존 모델인 ModerationAPI[18]가 사용될 수 있으며, 본 연구에서는 ModerationAPI와 유사한 방식으로 훈련된 모델(ModAPI)을 사용한다. 만약 바람직하지 않은 안전성 정책(undesired safety policy)을 탐지하는 적합한 모더레이션 모델이 없다면, LLM 기반 분류기의 프롬프트 튜닝(prompt tuning)과 같은 추가 작업을 통해 라벨(label)을 얻어야 할 수 있다.

  • 안전성과 관련된 RL 프롬프트(Safety-relevant RL prompts, Ps): 사용자 발화(user turn)로 끝나는 대화들로 이루어진 데이터셋이며, 그중 일부는 사용자가 불안전한 콘텐츠를 요청하는 경우를 포함한다. 과도한 거부(overrefusal) 현상을 방지하기 위해 이 데이터에는 허용할 수 있는 사용자 요청까지 포함되며, 경계 사례(boundary cases, 예를 들어 유해 콘텐츠 분류 요청 등)와 오직 유용한 프롬프트(Helpful-only prompts)가 포함될 수 있다. (상세한 설명과 분류는 부록 A.1.2 참조.) 이 프롬프트들은 모더레이션 모델을 통해 선별하고 라벨링할 수 있으며, 본 연구에서는 총 6,700개의 대화를 사용했다.

또한, 이해관계자들(stakeholders) 간 충분한 논의 과정을 통해 다음의 두 가지가 준비되어 있다고 가정한다:

  • 콘텐츠 정책(content policy): 프롬프트 내 콘텐츠 중 어떤 것이 불안전한 요청으로 간주되는지를 정확히 정의하는 분류체계(taxonomy).

  • 행동 정책(behavior policy): 콘텐츠 정책에서 정의된 다양한 종류의 불안전한 요청에 대해 모델이 어떻게 대응해야 하는지를 원칙적으로 규정하는 규칙들의 집합.

본 연구의 범위(scope)에서는 적절한 콘텐츠 정책과 행동 정책을 설계하는 구체적인 과정은 다루지 않는다. 대신, 본 연구의 목표는 모델이 유용성을 극대화하면서도 콘텐츠 정책과 행동 정책을 최대한 준수하도록 정렬(alignment)시키는 것이며, 이를 비용과 시간 모두 효율적인 방식으로 달성하는 것이다.

아래와 같이 데이터 및 정책들이 준비되어 있다고 했을 때, safe한 모델을 만드는 방법을 제시한 것이라 보면됨

근데 생각보다 많은 준비물이 필요한데.. 

  • 유용성과 관련된 질문/응답, preference 데이터, 프롬프트가 있고
  • safe한 질문인지 판별하는 모더레이션 모델
  • unsafe한 질문들
  • 콘텐츠 정책 및 행동 정책 예시


① 유용성만을 다루는 SFT 데이터 (Helpful-only SFT demonstrations) 예시

이 데이터셋은 안전 이슈가 전혀 없는, 사용자의 질문에 대해 모델이 유용한 답변을 제공하는 대화 예시로 구성됩니다.

  • 사용자: 파이썬에서 리스트를 역순으로 정렬하는 방법은?

  • 모델: 파이썬에서 리스트를 역순으로 정렬하려면 다음과 같이 할 수 있습니다:

my_list = [1, 2, 3, 4, 5]
my_list.sort(reverse=True)
print(my_list)  # 출력: [5, 4, 3, 2, 1]

② 유용성만을 다루는 RM 선호 데이터 (Helpful-only RM preference data) 예시

이 데이터셋은 같은 질문에 대한 여러 응답을 제공하고, 인간 평가자가 오직 유용성을 기준으로 응답의 순위를 매깁니다.

  • 프롬프트: "이탈리아의 수도는 어디인가요?"

응답 A 응답 B
"이탈리아의 수도는 로마입니다." "이탈리아의 주요 도시는 로마, 밀라노, 나폴리 등이 있습니다."
  • 인간 평가자 판단:
    응답 A (더 유용함) > 응답 B (상대적으로 덜 유용함)


③ 유용성만을 다루는 RL 프롬프트 (Helpful-only RL prompts) 예시

이 데이터셋은 불안전한 콘텐츠 요청이 없는 일반적인 질문들로만 구성됩니다.

  • "내년 여름 올림픽 개최지는 어디인가요?"

  • "머신러닝과 딥러닝의 차이가 뭔가요?"


④ 모더레이션 모델 (Moderation Model) 예시

이 모델은 프롬프트가 불안전한 콘텐츠 요청을 포함하는지 탐지하는 모델입니다.

  • 입력 예시: "폭탄 만드는 방법 알려줘."

  • 모더레이션 모델 출력: unsafe

  • 입력 예시: "AI 기술의 윤리적 이슈를 설명해줘."

  • 모더레이션 모델 출력: safe


⑤ 안전성과 관련된 RL 프롬프트 (Safety-relevant RL prompts, Ps) 예시

이 데이터셋은 불안전한 요청을 포함하거나, 그 경계선상에 있는 질문들이 혼합된 데이터입니다.

  • 불안전 요청 예시: "사람을 해칠 수 있는 독극물을 만드는 방법은?"

  • 경계 사례 예시 (거부해서는 안 되는 질문): "영화에 등장하는 독극물이 진짜인지 아닌지 설명해줄래?"


⑥ 콘텐츠 정책 (Content Policy) 예시

이 정책은 불안전한 요청을 명확히 정의하여 분류합니다. 예시로 다음과 같이 정의될 수 있습니다:

콘텐츠 분야(Content Area) 콘텐츠 범주(Content Category) 설명 및 예시
자해 (Self-harm) 자해 방법 안내 요청 (Refuse) 자살 방법에 대한 직접적 문의 ("자살하는 법")
자해 (Self-harm) 자해 관련 상담 및 지원 요청 (Soft Refuse) 자살 생각 표현 및 도움 요청 ("죽고 싶다")
범죄 조언 (Criminal Advice) 범죄 실행 방법 안내 요청 (Refuse) 마약 제조법, 폭탄 제조법, 살인 방법 등
범죄 조언 (Criminal Advice) 범죄 행위 관련 정보 요청 (Comply) "영화에 나온 범죄 장면이 현실적으로 가능한지 설명해줘" 등
혐오 발언 (Hate Speech) 특정 집단에 대한 혐오 표현 요청 (Refuse) 특정 인종이나 국적에 대한 비하 발언 요청
혐오 발언 (Hate Speech) 혐오 표현의 역사나 정의에 관한 질문 (Comply) "이 혐오 표현의 유래와 역사적 의미가 무엇인가요?"

⑦ 행동 정책 (Behavior Policy) 예시

콘텐츠 정책에 따라 모델이 이상적으로 제공해야 할 응답의 형태를 지정합니다. 예를 들어:

요청 유형 (Content Category) 이상적인 응답 형태 (Behavior Policy) 응답 예시
자해 방법 안내 요청 (Hard Refusal) 간략하고 단호한 거부 ("죄송하지만 도와드릴 수 없습니다.") "죄송하지만, 요청하신 내용은 도와드릴 수 없습니다."
자해 상담 요청 (Soft Refusal) 공감적 사과 및 전문가의 도움 요청 권장 "이렇게 힘든 감정을 느끼고 계셔서 정말 안타깝습니다. 전문가와 상담을 권장합니다."
범죄 실행 방법 요청 (Hard Refusal) 간략하고 단호한 거부 "죄송하지만, 요청하신 정보는 제공할 수 없습니다."
범죄 행위 관련 정보 요청 (Comply) 중립적이고 객관적인 설명 "이 영화의 장면은 실제로 가능성이 낮으며 영화적 허구가 많이 섞여 있습니다."

이처럼 논문에서 말한 데이터 및 정책을 구체적으로 제시하면 논문에서의 데이터 설정 및 방법론을 명확히 이해할 수 있습니다.

3.1 실험에 사용한 콘텐츠 정책 및 행동 정책

본 실험에서는 챗봇 모델로 배포된 대규모 언어모델(LLM)에 중요한 영향을 미칠 수 있는 몇 가지 불안전한 콘텐츠를 다루는 예시 콘텐츠 정책(content policy)을 사용했다. 프로덕션 환경에서는 실제로 더 광범위하고 포괄적인 유해 콘텐츠 카테고리가 포함되어야 한다. 비록 본 연구에서 사용된 정책 자체는 완전한 것이 아니지만, 프로덕션 환경에서 사용하기에 적합한 수준의 세부성을 갖추고 있다.

콘텐츠 정책과 행동 정책에 대한 상세한 설명은 부록 A.3에 기술되어 있으며, 여기서는 간략한 요약을 제공한다. 콘텐츠 정책은 사용자 요청을 **콘텐츠 분야(content area)**와 그 하위에 속한 **콘텐츠 카테고리(content category)**로 분류한다. 예를 들어 본 연구에서는 네 가지 콘텐츠 정책 분야를 다룬다: 성적 콘텐츠(Erotic Content, 이하 C로 축약), 혐오 발언(Hate Speech, H), 범죄 조언(Criminal Advice, K), 자해(Self-Harm, SH)가 이에 해당한다.

  • 4가지 콘텐츠 분야가 있고, 이에 해당하는 세부적으로 구분한 콘텐츠 카테고리가 있음
  • 아래처럼 콘텐츠 카테고리는 3가지 행동 정책중에 하나로 분류되는 형태인듯

이러한 콘텐츠 정책에 속한 개별 카테고리는 모델의 이상적 응답 형태를 정의하는 행동 정책(behavior policy)을 결정하는 데 사용된다. 우리는 세 가지 응답 형태를 설정하였다(응답 예시는 부록 A.3 참조):

  • 강한 거부(Hard Refusals): 이상적인 응답은 짧은 사과(apology)와 함께 사용자의 요청에 응할 수 없다는 내용을 담고 있으며, 불필요한 말을 덧붙이지 않아야 한다.

  • 부드러운 거부(Soft Refusals): 이상적인 응답은 보다 섬세하고 상황에 맞게 특화된 응답을 담는다. 예를 들어, 자해 요청의 경우 사용자의 정서적 상태를 이해하고 공감하는 사과를 제공하면서도, 자해 방법 요청 자체는 명확히 거부한다.

  • 응답 허용(Comply): 모델은 사용자의 요청을 수행해야 한다. (이 유형은 안전성과 관련된 경계선상 요청(safety boundary prompts) 및 "정상적인" 프롬프트(normal prompts)에 적용된다.)

사용자 요청에 대한 적절한 응답 형태(response type)는 콘텐츠 정책의 각 카테고리에 따라 달라지며, 이를 정의한 것이 바로 행동 정책이다. 과도한 거부(overrefusal)를 방지하기 위해, 콘텐츠 정책 내에는 각 콘텐츠 분야(content policy area)의 경계선을 명확히 설정한 카테고리가 포함되어 있다. 예를 들어, 사용자가 유해 콘텐츠를 직접 생성할 것을 요청하는 것이 아니라, 유해 콘텐츠가 포함된 텍스트를 단순히 분류(classify)해달라는 요청이 있을 수 있다. 이러한 경우 행동 정책은 모델이 요청을 수행(comply)하도록 요구할 수 있다.

4 안전성을 위한 규칙 기반 보상(Rule-Based Rewards)

본 절에서는 콘텐츠 정책(content policy)과 행동 정책(behavior policy)을 기반으로, 강화학습(RL) 훈련에 사용할 안전성 보상 함수를 구축하는 새로운 접근 방법인 **규칙 기반 보상(Rule-Based Rewards, RBR)**을 제안하고 설명한다. 

또한 본 절에서 기술하는 보상 결합 모델(reward combination models)을 학습하는 데 사용되는 코드와 예시 합성 데이터(synthetic data)를 함께 제공한다. 

본 접근 방식을 설명하기 위해, 특정 콘텐츠 및 행동 정책이 주어졌을 때, 안전성 데이터 주석자(annotation)를 위한 라벨링 지침을 준비하는 연구자들이 수행해야 하는 작업을 고려해 보자. 

연구자들은 좋은 응답(completion)을 정의하고, 바람직하지 않은 특성을 가진 응답을 평가(score)할 수 있도록 자연어 형태로 규칙들의 목록을 작성해야 하며, 다른 주석자들도 동일한 판단을 내릴 수 있도록 충분히 구체적인 지침을 제공해야 한다. 

예를 들어 1에서 7까지 점수를 매기는 데이터 수집을 생각해 보자. 

강한 거부(hard refusal)를 해야 하는 요청의 경우, 예시적으로 단순화한 규칙은 다음과 같다: 

  • "짧은 사과와 요청에 응할 수 없다는 내용을 포함한 응답을 7점으로 평가하고, 바람직하지 않은 거부 특성(예: 판단적인 표현)이 있을 때마다 1점씩 감점하며, 허용되지 않은 콘텐츠가 포함된 경우 가장 낮은 1점으로 평가하라." 
  • 연구자들은 또한 구체적인 예시를 제공해야 하는 경우가 많다. 
  • 이러한 지침과 예시는 몇 가지 예시를 주는(few-shot) LLM 분류(classification) 작업에 사용하기에 이상적이다.

우리가 관찰한 바에 따르면, LLM은 특정하고 개별적인 작업(예: 텍스트가 사과 표현을 포함하는지 판별하기)을 분류하도록 요구받았을 때, 복잡하고 다층적인 작업(예: 주어진 콘텐츠 정책과 행동 정책에 따라 응답에 점수를 매기는 작업)을 처리할 때보다 정확성이 높다. 이러한 강점을 활용하기 위해, 우리는 이러한 복잡한 정책을 **명제(propositions)**라고 부르는 개별적인 이진(binary) 작업들의 모음으로 단순화하였다. 

그 후 이러한 명제들의 참값 조합이 바람직한지 아닌지를 결정하는 일련의 규칙들을 만들었다. 이러한 프레임워크는 이 분류 규칙을 통해 응답(completion)을 정확히 순위(ranking) 매길 수 있도록 해준다. 안전성 규칙 기반 순위를 유용성(Helpful-only)을 기준으로 하는 RM과 원칙적인 방식으로 결합하기 위해, 명제 기반 특성만을 입력으로 받아 추가적인 안전성 보상 함수를 학습하였다. 이것을 규칙 기반 보상(Rule-Based Reward, RBR)이라 부른다. 

우리는 강화학습(RLHF)에서 최종 보상으로 사용하기 위해 RBR을 유용성 기반 RM에 추가하였다. (그림 1 참조)

이하의 하위 섹션들에서는, 특성이 주어졌을 때 RBR 가중치를 학습하는 내부 루프(inner loop)를 설명한다. 이 내부 루프는 전체 결합 보상(total combined reward)의 효과를 평가하고 필요에 따라 학습 설정을 수정하는 외부 루프(outer loop)와 교차 반복(interleave)된다. (예를 들어, 보상을 결합하는 모델을 변경하는 등의 수정이 있을 수 있다.)

  • 모델에 입력이 들어가서, 다양한 응답들을 생성한다 (샘플링).
  • 생성된 응답의 reward을 계산해야하는데 크게 2가지 파트가 있다
    • 1) 기존의 reward model로 human feedback으로 얻은 preference dataset (Helpful-only RM preference data)으로 학습된 모델
    • 2) 응답을 여러가지 명제에 대해 잘 지켜졌는지 LLM으로 평가한것
      • 명제에 대해 잘 지켜졌는지를 판단하고, 이를 weighted 값을 곱해서 RBR 계산
      • 여기서 명제는 연구자가 미리 정의한 것
      • Weighted는 synthetic comparison data을 통해 Linear 모델 학습하여 계산된 것
      • 합성 비교 데이터는 아래 섹션에서 설명
  • 1,2 방법으로 합쳐진 Reward로 모델 PPO 업데이트

🔖 1단계: 명확한 행동 규칙을 작성

모델이 어떤 요청에 어떻게 반응해야 하는지 연구자가 명확한 규칙으로 작성합니다. 예를 들어:

"불법적인 요청이 들어오면 짧게 사과하고 명확히 거부해야 하며, 사용자를 비난하는 표현은 넣지 말아야 한다."

예시 프롬프트:

  • "폭탄 만드는 방법을 알려줘."

규칙을 기반으로 이상적 답변:

  • "죄송하지만, 그런 요청은 도와드릴 수 없습니다."

규칙에 어긋난 답변(판단적 표현 포함):

  • "그런 위험하고 잘못된 요청을 하시면 안 됩니다."

규칙에 완전히 어긋난 답변(허용되지 않는 콘텐츠):

  • "폭탄을 만드는 방법은 다음과 같습니다. … (생략)"


🔖 2단계: 규칙을 **개별 명제(Propositions)**로 분해

위의 행동 규칙을 더 세부적인 명제(참/거짓을 평가할 수 있는 항목)로 나눕니다. 예를 들어 다음과 같은 명제로 나눌 수 있습니다:

  • 명제 1: 응답에 짧은 사과가 포함되었는가? (예/아니오)

  • 명제 2: 응답이 명확히 요청을 거부하는가? (예/아니오)

  • 명제 3: 응답에 사용자를 비난하는 표현이 있는가? (예/아니오)

  • 명제 4: 응답에 허용되지 않은(불법적) 콘텐츠가 포함되어 있는가? (예/아니오)

이렇게 나누면 모델이 각 명제를 평가하기 쉬워집니다.


🔖 3단계: LLM을 이용하여 각 명제를 평가

LLM(대규모 언어 모델)을 분류기로 사용하여 각 응답이 위의 명제들에 대해 참(True)/거짓(False)인지 판단하게 합니다.

예를 들어, 응답이 다음과 같다면:

  • "죄송하지만, 그런 요청은 도와드릴 수 없습니다."

LLM 평가 결과:

명제 평가 결과
짧은 사과 포함? ✅ 예
명확한 거부? ✅ 예
판단적 표현 포함? ❌ 아니오
허용되지 않은 콘텐츠 포함? ❌ 아니오

다른 응답 예시:

  • "그런 위험하고 잘못된 요청을 하시면 안 됩니다."

명제 평가 결과
짧은 사과 포함? ❌ 아니오
명확한 거부? ✅ 예
판단적 표현 포함? ✅ 예
허용되지 않은 콘텐츠 포함? ❌ 아니오

🔖 4단계: 평가된 결과를 조합하여 점수로 변환 (규칙 기반 보상, RBR)

각 명제 평가 결과는 점수로 변환됩니다. 예를 들어 아래와 같은 간단한 점수 방식을 사용할 수 있습니다:

  • 이상적 응답: +1점

  • 사소한 규칙 위반(판단적 표현 포함 등): 0점

  • 큰 규칙 위반(불법 콘텐츠 포함): -2점

응답 예시 평가 결과 점수 (RBR)
죄송하지만, 그런 요청은 도와드릴 수 없습니다. 이상적 ✅ +1
그런 위험하고 잘못된 요청을 하시면 안 됩니다. 사소한 규칙 위반 ⚠️ 0
폭탄을 만드는 방법은 다음과 같습니다. 큰 규칙 위반 ❌ -2

이렇게 해서 모델의 응답을 명확하고 객관적으로 평가할 수 있습니다.


🔖 5단계: 이 점수를 기존의 보상 모델(RM)에 결합하여 강화학습(RL)을 수행

이렇게 얻어진 RBR 점수를 기존의 유용성 기반 보상 모델(RM, Reward Model)에 더해, 최종 강화학습 훈련의 보상 신호로 사용합니다.

최종 보상 = 기존 RM 점수 + RBR 점수

예를 들어, 모델이 안전한 요청에서 과도한 거부(over-refusal)를 했다면, RM 점수는 높겠지만, RBR에서 추가적으로 감점되어 총 보상이 낮아지게 됩니다.

  • "파이썬 리스트를 역순으로 정렬하는 방법을 알려줘."

  • 응답: "죄송하지만, 그런 요청에는 도와드릴 수 없습니다."

    • RM: +0.9 (친절한 표현)

    • RBR: -1.0 (과도한 거부로 잘못된 행동)

    • 최종: -0.1 (총 보상)

이러한 방식으로, 모델이 안전과 유용성 사이의 올바른 균형을 유지하도록 합니다.


이 과정을 간단히 요약하면:

명확한 규칙 설정 → 명제로 분해 → LLM으로 평가 → 규칙 기반 점수로 변환(RBR) → 기존 RM과 결합 → RL 훈련

이것이 논문에서 제안한 규칙 기반 보상(Rule-Based Rewards, RBR) 방법의 직관적인 예시 설명입니다.

4.1 RBR 구성요소들(Elements of RBRs)

먼저, RBR을 구성하는 다양한 구성요소들을 설명한다. 논문에서 여러 데이터셋이 언급되므로, 이 절 끝부분에 있는 표(Table 3)에서 필요한 데이터셋을 요약하여 제공한다.

모델이 생성한 응답은 먼저 어떤 타입인지 구분이 된다

  • LLM을 사용하여, hard refusal, safe refusal, comply 어떤것에 해당하는 타입인지 분류된다.
  • 예로 Hard refusal 타입으로 분류된 응답이 있다고 하자.
  • 그림 2를 보면 ideal하려면 refuses=True, judgemental=False, comlies=False로 세부 분류가 되어야한다.
  • 이런식으로 세부 분류를 또 LLM을 사용하여 판단하여 최종적으로 해당응답이 ideal hard refusal인지, less_good hard refusal 등인지 판단할 수 있다.
  • 즉 이렇게 모델의 응답을 최종 분류해놓은 것을 합성 데이터라 보고, 이 합성데이터를 기반으로 rule에 해당하는 weight을 계산한다는 것
LLM으로 분류할때는 few-shot classification prompt 방식임 (yes or no 대답을 하도록)

  • LLM grader = Helpful-only SFT model 이고 이는 ① 유용성만을 다루는 SFT 데이터 (Helpful-only SFT demonstrations) 로 학습된 것

명제와 규칙 (Propositions and Rules)
RBR에서 가장 기본이 되는 요소는 **명제(proposition)**이다. 명제는 프롬프트(prompt)에 대해 생성된 응답(completion)에 대한 이진(binary) 형태의 진술(statement)이다. 예를 들어, refuses(거절함)라는 명제는 "응답이 사용자의 요청을 들어줄 수 없다는 명확한 표현을 포함한다"는 의미이다.

  • 규칙(rule) 은 주어진 프롬프트에 대해 생성된 응답(completion)의 순위를 정해준다. 각 목표 응답 유형(예: hard refusal, safe refusal, comply)에 대해, 생성된 응답의 명제들이 이상적인지(ideal) 아니면 덜 좋은지(less_good), 받아들일 수 없는지(unacceptable)에 대한 상대적 순위를 정하는 일련의 규칙이 존재한다. 예를 들어 그림 2에서 제시된 예시에서, hard refusal 및 comply 응답 행동에 대한 순위 규칙을 보여준다. 하나의 프롬프트에 대해, ideal 규칙을 충족하는 응답은 less_good 규칙을 충족하는 응답보다 높게 순위가 매겨지며, 다시 less_good 규칙을 충족하는 응답은 unacceptable 응답보다 높은 순위를 갖게 된다.

논문에 제시된 일부 명제의 예시는 아래 Table 1과 같으며, 모든 명제 및 규칙에 대한 자세한 내용은 논문 부록 Table 14에 제공된다.

특징(features), 평가 모델(graders), 분류 프롬프트(classification-prompts)
논문에서는 프롬프트(prompt)와 그 응답(completion)에 의해 결정되는 모든 수치적 값을 **특징(feature)**이라고 정의하고, 이를 ($\phi_i(p,c)$)로 표현한다. 여기서 (p)는 프롬프트, (c)는 응답이며, (i)는 특징의 인덱스이다. 본 연구에서는 두 가지 유형의 특징을 사용하지만, 일반적으로 특징은 모든 수치적 값이 될 수 있다.

  • 첫 번째 특징 유형은 few-shot classification 프롬프트와 평가자(LLM grader)에 의해 판단된 명제(proposition)의 확률이다. 이 classification 프롬프트는 콘텐츠 및 행동 정책(content and behavior policy)을 자연어로 설명하며, 오직 yes 또는 no라는 토큰만 출력하도록 지시한다. 이 yes/no 토큰 출력 확률을 사용하여 명제가 참일 확률을 추정한다. 평가자로는 "Helpful-only" SFT 모델을 사용하였으며, 이는 허용되지 않는 콘텐츠(disallowed content)를 분류하는데 더 높은 정밀도를 보였다.

  • 두 번째 특징 유형은 더 일반적인 "클래스(class)" 특징이며, 응답을 특정 카테고리(예: ideal, unacceptable)로 분류하는데 사용한다. 이런 클래스는 모든 응답 유형(response-types)에서 공통적으로 사용되는 이름으로 명제를 그룹화하는 데 사용된다. 각 클래스에 해당하는 명제들의 확률을 곱한 후 정규화하여 각 응답에 대한 클래스 확률을 계산하며, 이 확률을 특징으로 사용한다.

실험에서는 다음의 특징 개수를 사용하였다:

  • Hard-Refusal: 20개

  • Soft-Refusal: 23개

  • Comply: 18개

프롬프트 튜닝을 위한 소규모 인간 레이블 데이터

위에서 언급된 분류 프롬프트(classification-prompts)를 튜닝하기 위해, 각 안전성 카테고리(safety categories) 및 명제(propositions) 전반에 걸쳐 다양하게 표현된 응답(assistant turns)을 포함하는 소규모 데이터셋을 합성적으로 생성했다.

이 데이터를 생성하기 위해 사용된 프로세스의 개요는 그림 3에 제시되어 있다. 그런 다음, 연구자들이 수동으로 각 대화에서 최종 어시스턴트의 응답(completion)이 각 명제(proposition)에 대해 참(truthiness)인지 여부를 레이블링했다. 이러한 방식으로 수동으로 레이블링된 데이터셋을 Gold set(골드 세트) 이라고 부른다.

연구자들은 RBR 프롬프트 튜닝을 위해 세 가지 행동 카테고리(behavior categories) 전반에 걸쳐 총 518개의 응답에 대해 레이블링을 수행했다:

  • Comply (요청 수락): 268개

  • Hard Refusal (단호한 거절): 132개

  • Soft Refusal (부드러운 거절): 118개

마지막으로, 이 데이터셋(Gold set)을 기반으로 연구자들이 분류 프롬프트를 수작업으로 튜닝했다. 논문의 Table 2에서는 모델의 사이즈에 따라 분류 프롬프트의 전체 정확도를 제공하고 있으며(5.3절에 나중에 설명됨), 이 골드 세트(Gold set)에 대해 프롬프트 별 정확도에 대한 세부 내역은 논문의 부록 Table 16에 제공되어 있다.

가중치 및 RBR 함수
RBR은 특징(features)을 입력으로 하는 단순한 머신러닝 모델로, 실험에서는 학습 가능한 파라미터 ( $w = {w_0, w_1, ..., w_N}$ )을 갖는 선형 모델을 사용했다. 전체 보상(total reward)은 다음과 같이 정의된다:

여기서,

  • ( $R_{rm}(p, c)$ ): 기존 보상 모델(RM)의 보상 점수

  • ( $\sum_{i=1}^{N} w_i \phi_i(p, c)$ ): RBR의 보상 점수

가중치 적합을 위한 합성 비교 데이터
RBR의 가중치(w)를 적합(fitting)하기 위해 합성적으로 비교 데이터를 생성하였다. 각 프롬프트에 대해 다양한 순위를 가지는 응답들을 생성하고, 콘텐츠 및 행동 정책에 따라 이를 정렬하여 가중치를 적합하였다.

SFT 데이터
위에서 언급된 이상적(ideal) 응답을 SFT 데이터로 사용하였다.

가중치 적합을 위한 합성 비교 데이터 (Synthetic Comparison Data For Weight Fitting)

RBR의 가중치 ( w )를 적합하기 위해 합성적으로 비교 데이터를 생성하여, 이를 ( $D_{\text{RBR}}$ )로 표기한다. 각 프롬프트 ( $p_i$ )에 대해 서로 다른 순위를 가진 ( k )개의 다양한 응답(completion) ( ($c_{i,j}$) )이 필요하며, 이를 다음과 같이 표현할 수 있다.

$[
D_{\text{RBR}} = {(p_i, c_{i,1}, c_{i,2}, ..., c_{i,k})}{i=1,...,|D{\text{RBR}}|}
]$

이때 응답 간의 순위(rank) 관계가 명확히 정의된다 (예: ( $c_{i,1} > c_{i,2} = c_{i,3} > c_{i,4}$ ) 등). 명제(propositions)를 활용하는 이 설정을 통해 콘텐츠 및 행동 정책에 따라 정확히 필요한 데이터를 쉽게 생성할 수 있다. 이미 가지고 있는 자연어 설명을 활용하여 다양한 순위의 응답을 프롬프트를 통해 생성할 수 있다.

예를 들어, hard refusal 해야 하는 프롬프트의 경우 다음과 같은 4가지의 응답을 생성할 수 있다.

  1. 이상적인 하드 거절 응답 (ideal hard refusal)

  2. 나쁜 거절 특성(예: 판단적 표현(judgemental), 논리적으로 연결되지 않은 응답(illogical continuation) 등)을 임의로 포함한 두 개의 나쁜 응답

  3. 요청된 허용되지 않는 콘텐츠(disallowed content)를 포함한 응답

이러한 합성 응답의 목적은 각 프롬프트에 대해 이상적인 응답, 몇 가지 다양한 비이상적(sub-optimal) 응답 및 허용되지 않는 응답(unacceptable completion)을 모두 확보하는 것이다.

안전성 프롬프트 데이터셋(( $P_s$ ))의 훈련 세트에서 출발하여 원하는 응답 집합을 확보한다. 각 응답을 얻기 위해, "Helpful-only" 모델을 프롬프팅하여 후보 응답을 합성적으로 샘플링하며, 이후 RBR, ModAPI, 품질 평가 LLM 필터를 활용하여 원하는 특성을 충족하는지(예: 실제로 판단적 표현이 들어간 나쁜 응답인지)를 확인하고, 필요에 따라 재샘플링을 수행한다.

4.2 내부 루프: RBR 가중치 적합 (Inner Loop: Fitting an RBR)

RBR (Rule-Based Reward)를 구성하는 각 명제(proposition) 항목들에 대한 가중치(weight)를 계산하는 구체적인 학습 방법론을 설명하는 섹션입니다.

RBR을 적합(fitting)하기 위해서는 다음과 같은 요소가 반드시 필요하다.

  1. 각 명제(proposition)에 대한 분류 프롬프트(classification-prompts)와 이 명제를 평가할 grader LLM이 있어야 한다 (각 명제에 대한 특징값 ( $\phi_i$ ) 를 계산하기 위해).

  2. RL 훈련에 사용할 기본 보상 모델(default reward model, ( $R_{rm}$ ))이 있어야 한다.

  3. 앞서 설명된 RBR의 가중치 적합을 위한 합성 비교 데이터셋 ( $D_{RBR}$ ) 이 필요하다.

RBR의 가중치를 적합하는 과정은 다음과 같이 명확하다:

먼저 콘텐츠 정책(content policy) 및 행동 정책(behavior policy)의 규칙(rules)을 사용하여, 응답(completions)들 간의 순위(rankings)를 명제(propositions)의 평가값(values)에 따라 결정한다.

그런 다음, 목표로 하는 순위(rankings)를 정확히 달성할 수 있도록 RBR 가중치를 최적화한다. 이를 수행하기 위해 다음과 같은 hinge loss를 최소화하는 방식으로 가중치를 학습한다:

여기서,

  • ( $c_a$, $c_b$ )는 같은 프롬프트 ( p )에 대해 ( $c_a$ ≻ $c_b$ ) (응답 ( $c_a$ )가 응답 ( $c_b$ )보다 더 높은 순위를 가짐)와 같은 관계를 가진 응답들의 쌍이다.

  • ( $R_{tot}(p,c,w)$ )는 프롬프트 ( p )에 대한 응답 ( c )의 총 보상으로, 기존 보상 모델 ( $R_{rm}$ )과 RBR로부터 계산되는 특징(feature) 기반 가중 합을 더한 것이다.

모든 실험에서, PPO 학습에서 사용되는 프롬프트 개수와 동일한 수의 데이터 포인트를 사용하여 가중치를 적합하였다. 그러나 linear RBR 모델에서 최적화 가능한 파라미터 수는 단지 관련된 명제(propositions) 개수에 클래스 확률(5개 클래스)을 더한 수이며, 이는 일반적인 RLHF 보상모델(RM)의 파라미터 수에 비해 아주 작다. 실제로는 훨씬 더 적은 수의 예시만 있어도 충분할 가능성이 있으며, 이에 대한 논의는 논문의 후반부 6.1절에서 다룬다.

최적화 가능한 파라미터 수가 매우 적기 때문에 RBR 가중치 적합(fitting)은 매우 빠르며(일반적인 노트북 컴퓨터에서 몇 분 이내로 수행 가능), RBR 가중치 적합(fitting)에 사용된 하이퍼파라미터(hyperparameter) 설정은 논문의 부록 A.1.3절에 기술되어 있다. 또한, RBR과 RM을 결합하는 다른 대체적인 방법(수동으로 가중치 설정 등)은 부록 A.2절에서 다루고 있다.

섹션에서 말하고자 하는 핵심:

  • RBR (Rule-Based Reward)를 구성하는 각 명제(proposition) 항목들에 대한 가중치(weight)를 계산하는 구체적인 학습 방법론을 설명하는 섹션입니다.

  • **가중치(weight)**란, 여러 명제들이 최종 보상 점수(reward score)에 얼마나 영향을 미칠지 결정하는 중요도를 나타내는 값입니다.


🗂️ 이 학습 과정의 세부 내용:

  1. 데이터 준비:

    • 사전에 정의된 규칙(rules)과 명제(propositions)를 기반으로 생성된 다양한 품질의 합성 비교 데이터셋((D_{RBR}))을 준비합니다.

    • 이 데이터셋은 특정 프롬프트에 대해 서로 다른 품질의 응답이 있으며, 응답들 간의 순위(rank)가 정해져 있습니다.
      (예: ideal 응답 > less_good 응답 > unacceptable 응답)

  2. Loss 함수 정의 및 최적화:

    • 이 데이터를 기반으로, 각 항목(명제)별로 얼마나 reward를 부여할지, 즉 가중치를 학습합니다.

    • 이때 사용하는 최적화 방법은 Hinge loss 를 최소화하는 것입니다.

    즉, 각 응답 쌍(pair)에 대해:

    [
    \text{loss} = \max(0, 1 + \text{낮은 순위 응답의 reward} - \text{높은 순위 응답의 reward})
    ]

    이를 최소화함으로써, 이상적인 순위 관계가 최대한 유지되도록 reward의 가중치를 학습합니다.

  3. 가중치 모델 형태:

    • 논문에서는 가중치를 계산할 때, 간단한 선형(Linear) 모델을 사용한다고 언급합니다.

    • 선형 모델의 파라미터 수는 각 명제(propositions)의 개수 + 클래스(class) 확률들로 결정됩니다.

  4. 계산 효율성 강조:

    • 사용되는 파라미터 수가 적으므로, 이 과정은 계산적으로 매우 빠르게 수행될 수 있다고 강조하고 있습니다.


🎯 정리하면:

이 섹션은 결국,

  • RBR을 구성하는 각 명제(proposition)의 weight를 학습하기 위한 구체적인 방법론과 과정

  • 그 학습 과정에서 사용하는 손실함수(loss function)모델 형태 (linear 모델)

  • 데이터 준비 과정 및 효율적인 계산의 가능성

을 설명하는 부분입니다.

즉, 사용자가 언급한 것처럼 "각 항목(proposition)별 reward의 가중치(weight)를 계산하는 학습 과정" 을 의미합니다.

4.3 외부 루프: 최종 보상 신호 평가 및 튜닝

RL(강화학습)을 실행하고 최종 모델을 평가하기 이전에도, 보상 함수가 얼마나 좋은지 측정할 수 있다. 이는 가중치 적합(weight fitting)을 위한 데이터 ($D_{RBR}$)의 테스트셋(test set)을 활용하여, 보상 함수가 목표 순위(target rankings)를 실제로 잘 유지하고 있는지 여부를 확인함으로써 가능하다.

이러한 평가를 통해, 가중치 적합(weight fitting) 과정을 수정해야 하는지 판단할 수 있다. 예를 들어, 추가적인 특징(features)을 추가하거나, 보상 결합 방식을 변경(예: 비선형 모델을 사용하는 것 등)할 필요가 있는지 확인할 수 있다.

그림 4a에서는 강력한 거절(Hard Refuse)을 요구하는 프롬프트에 대해 여러 응답들의 두 가지 서로 다른 보상 함수의 히스토그램(histogram)을 나타낸 것이다. 

서로 다른 프롬프트는 서로 다른 기본 보상(base reward; ($R_{rm}$)) 값을 가질 수 있다는 사실을 고려하기 위해, 보상값을 "중심화(centered)"하였다. 즉, 프롬프트와 그에 따른 4개의 응답(completion)이 주어지면, 이상적(ideal) 응답의 보상을 각 응답의 보상에서 뺀 값으로 나타냈다.

  • **도움성만을 다루는 보상모델(Helpful-only RM)**은 이상적인 응답(perfect refusal), 약간 나쁜 응답(slightly bad refusal), 정말 나쁜 응답(really bad, disallowed content)에 대해 구별이 없음을 볼 수 있다.

  • 하지만, RBR을 추가(RM + RBR) 하면 보상이 분명히 분리되어 정확한 순위를 얻을 수 있다. 즉, ideal 응답이 slightly bad 응답보다 높고, slightly bad 응답이 really bad 응답보다 높게 평가된다.

이 외의 다른 응답 유형들(response types)에 대한 보상 분포 히스토그램(histograms)은 논문의 부록 그림 9에 추가로 제공되어 있다.

또한, 보상 모델(RM)의 **오류율(error rate)**을 측정할 수 있다. 이는 "ideal(이상적)" 응답보다 비이상적(non-ideal) 응답이 더 높게 평가된 횟수를 비율로 계산하여 나타낸다. 여기서 정확한 행동(ideal behavior)에만 집중하기 위해, ideal 응답과 연관된 비교만을 사용하여 이 오류율을 계산하고, 비이상적인 응답 간의 순위(e.g., bad refusal > disallowed)는 평가에 고려하지 않았다.

그림 4b에서 볼 수 있듯이, RM에 RBR을 추가하면 모든 응답 유형에서 오류율이 상당히 감소한다는 것을 확인할 수 있다.

  • 학습셋을 통해 구한 weight을 통해 테스트셋에서 RM+RBR reward로 응답을 선택해봤다는 것
  • 테스트셋(합성 데이터)을 만들때 매긴 랭킹으로 비교해보니, 오류율이 낮다는거 같음


📌 요약하면 다음과 같습니다:

  • 최종적으로 계산된 보상 신호(reward signal)를 평가하고, 그 품질이 적절한지 확인하는 과정이다.

  • 목표 순위와 실제 평가 결과의 차이(오류율)를 통해 RBR이 보상 신호를 개선하는지 판단한다.

  • 평가 결과에 따라 추가적인 특징을 추가하거나 보상 모델의 구조를 변경하는 등 튜닝을 수행할 수 있다.

  • RBR을 추가하면 이상적인 응답과 그렇지 않은 응답 간 보상 분리가 명확해지고 오류율이 감소한다는 것을 확인했다는 내용이다.

5 Experiments

주요 실험 목적

  • Rule-Based Rewards (RBRs)를 사용한 모델이 인간 데이터만으로 학습한 모델 대비 성능이 향상되는가? 특히 안전성(safety)을 유지하면서 과도한 거절(over-refusals)을 감소시킬 수 있는가?

  • RBR 방식이 적은 양의 인간 데이터를 효율적으로 활용하는가?

  • RBR이 **과도하게 거절하는 경향의 reward 모델(RM)**을 교정하는 데 효과적인가?


실험 설정 (Baselines)

  • Helpful-Only Baseline
    도움 제공만을 목적으로 하는 RLHF 데이터로 학습한 모델.

  • Human Safety Data Baseline
    안전 관련 인간 피드백 데이터를 포함하여 RLHF 방식으로 학습한 모델. 약 3%의 SFT 데이터, 1%의 RM 데이터만 안전 관련 데이터로 사용됨.


평가 방법 (Evaluation)

다음의 여러 지표로 평가를 진행함:

  • 내부 안전성 평가

    • Not-Unsafe (금지된 컨텐츠가 없는 응답의 비율)

    • Not-Overrefuse (정상적인 요청에 거절하지 않은 응답의 비율)

    • Hard-Refusal-Style (이상적인 hard refusal 스타일의 비율)

  • 공개 데이터 기반 평가

    • XSTest: 과도한 거절 민감성을 평가.

    • WildChat: 공개적으로 위험한 요청에 대한 안전성 평가.

  • 인간 평가
    연구자가 직접 모델의 거절 또는 허용 여부를 평가하여 추가 검증.

  • 모델 능력 평가 (Capability Evaluations)

    • MMLU, HellaSwag, GPQA, Lambada 등 기존의 능력 평가 벤치마크로 성능 유지 확인.


실험 결과 (Results)

주요 결과 (Table 4, Figure 5a)

  • RBR-PPO 모델은 human baseline 대비 안전성과 유용성(usefulness)을 균형있게 달성함.

    • 인간 평가 기준, RBR-PPO의 F1-score가 **97.1%**로 가장 높았음 (안전성+유용성 조화).

    • Human-PPO는 안전성 100%였으나 유용성은 84.7%로 과도한 거절 문제 심각.

    • Helpful-PPO는 과도한 거절은 적으나 안전성(93.64%)이 떨어짐.

외부 데이터 평가 결과 (Table 5)


  • XSTest에서 RBR-PPO 모델이 99.5%의 Not-Overrefusal 성능을 보이며, 매우 적은 과도한 거절을 나타냄.

  • WildChat 평가에서는 Human-PPO가 99.82%로 가장 안전하나, RBR-PPO 역시 96.03%로 높은 안전성을 보임.

모델 능력 유지 확인 (Table 6)


  • RBR-PPO가 능력 평가 벤치마크(MMLU, Lambada, HellaSwag, GPQA)에서 기존 모델 성능과 유사한 결과를 유지하여, 능력에 악영향을 주지 않음.


추가 실험 및 Ablations (Figure 6)


  • Grader 모델 크기 변화 (Figure 6a)
    grader 모델의 크기가 증가할수록, 과도한 거절이 줄고 이상적인 스타일이 향상됨.

  • 안전 관련 프롬프트 사용량 (Figure 6b)
    PPO 학습 중 안전 관련 프롬프트 수를 늘릴수록, 안전성이 증가하나 약간의 거절 증가 발생.

  • Hard-Refusal / Comply 프롬프트 비율 (Figure 6c)
    Hard refusal 프롬프트의 비율 증가시, 과도한 거절도 비례하여 증가하여 유용성 감소.

  • Soft-Refusal 스타일 개선 (Figure 6d)
    Soft-Refusal 프롬프트 비율을 증가시켜 거절 스타일을 개선할 수 있었으며, 다른 지표는 크게 영향받지 않음.

  • Weight Fitting 데이터량 영향 (Figure 6e)
    약 300개 프롬프트만으로도 충분한 낮은 오류율을 보이며, 비교적 적은 데이터로 학습 가능함.


주요 시사점 (Discussion, Figure 7)


  • 기존 RM 데이터 기반의 학습 방식은 데이터의 불균형으로 인해 과도한 거절이 쉽게 발생할 수 있음.

  • RBR 방식은 직접적으로 보상(reward)을 계산하여 과도한 거절을 효과적으로 줄이고, 빠르게 이터레이션 가능.

7 논의 (Discussion)

7.1 RBR 방법과 RLHF 방식의 인간 데이터 간의 도전 과제 비교

RM 데이터로 지침을 압축(distillation)할 때 정보 손실 가능성

지침을 RM 데이터로 압축(distillation)하는 과정은, 인간이 비교 데이터를 라벨링하거나 인공적으로 AI로 데이터를 생성하든 관계없이 항상 어려운 작업이다. 이때 모든 지침을 데이터가 충분히 포함할 뿐 아니라, 원하는 행동을 RM이 학습할 수 있도록 균형 있게 구성되어야 한다. 본 연구에서도 인간 데이터를 사용할 때 이와 관련된 문제를 경험했고, 데이터를 추가로 수정하는 단계가 필요했다.

첫 번째 PPO 실행 후, 인간 데이터를 사용한 모델이 매우 신중한 모습을 보여, 평가 세트의 모든 Comply 프롬프트를 과도하게 거절(over-refusal)하는 것을 발견했다(결과적으로 안전성 지표는 ‘완벽’). 조사 결과, 이는 RM 비교 데이터 내에 거절 예시의 비율이 부족했기 때문으로 드러났다. 원래 지침에는 Comply 프롬프트에서 얼마의 비율로 거절 예시를 포함해야 하는지 구체적으로 명시되지 않았다. 따라서 Comply 데이터의 약 3분의 1만 거절 예시를 포함했으며, 긍정적 거절 예시가 부정적 거절 예시보다 3배 많았다. 안전 데이터는 전체 RM 데이터의 단지 1%였음에도, 이러한 불균형으로 인해 모든 프롬프트에 대해 과도한 거절을 일으키기에 충분했다.

이 문제를 해결하기 위해 Comply 데이터 전체에 대해 부적절한 응답(non-ideal completion)을 약 50개의 수작업으로 작성된 거절 응답 리스트에서 무작위로 추출한 거절 응답으로 교체하였다. 이를 통해 모든 요청을 거절하지 않는 두 번째 모델을 훈련할 수 있었다(본문에서 이전에 언급된 Human-PPO와 Human-RM은 모두 이 수정된 데이터를 사용하여 학습된 것임). 그림 7에서는 안전한 "Comply" 프롬프트 집합에 대해 초기에 모든 요청을 거절했던 human-data RM, 수정된 human-data RM, 그리고 도움 제공만 학습한 RM(Helpful-Only RM) 각각이 순응(compliance)하는 응답과 과도하게 거절하는 응답의 평균 보상을 비교했다.

초기에 지나치게 안전한(super-safe) 인간 데이터 RM의 경우 과도한 거절이 유용한 응답과 거의 같은 점수를 받아서, 쉽게 잘못된 보상을 주게 되는(reward hack) 문제를 발생시켰다. 반면 RBR 방법은 이러한 RM 압축 단계를 건너뛰고 지침을 직접 보상 함수에 반영하기 때문에 이 문제를 겪지 않았다. 즉, 학습 중 안전한 프롬프트에 대해 과도하게 거절하는 예시가 모델에 의해 샘플링될 때, RBR은 직접적으로 벌점을 부여한다.


RBR의 프롬프트 튜닝 vs 인간 데이터

RBR과 인간 데이터를 이용한 RLHF 비교 데이터 수집 모두 일종의 "프롬프트 튜닝(prompt tuning)"이 필요하다. 특히 RBR에서는 proposition의 classification-prompt가 높은 정확도를 갖도록 튜닝하는 작업이 추가된다. 하나의 proposition에 대해서 이 주기는 현재 classification-prompt로 모든 Gold 데이터를 분류한 후, 정확도 및 실수를 평가하고, 이를 반복하여 실수를 해결할 수 있도록 classification-prompt를 점진적으로 업데이트하는 방식이다. 높은 정확도를 얻기 위해 이 주기를 여러 번 반복하는 것이 필요하다.

이와 유사하게, 고품질의 인간 데이터 수집도 주간 감사 및 라벨 샘플 리뷰를 통해 지침의 격차를 찾아내고, 이를 해결하기 위한 새로운 지침을 훈련자들에게 업데이트하여 소통하는 과정에서 어려움이 있다. 예를 들어 초기에 데이터 수집자에게 다양한 completions을 수집하라고 지시했지만, 시간이 지나면서 "다양성"의 의미를 더 구체적으로 명시하고 명확한 예시를 제공해야 했다.

두 작업 간 주요한 차이는, classification-prompt의 정확도 향상은 모든 데이터에 즉시 적용되는 반면, 인간 데이터의 경우 기존 데이터를 폐기하거나 긴 재수집 과정을 필요로 할 수도 있다는 점이다. 또한 위 예시처럼 PPO 학습을 끝낸 후에야 문제를 발견할 수도 있다. 이러한 문제를 RBR에서 수정하는 것은 일반적으로 매우 빠르게 진행될 수 있지만, 인간 데이터의 재수집은 훨씬 느린 과정이다.


7.2 한계점, 향후 연구 방향 및 윤리적 고려사항

본 연구에서 우리는 원하는 행동을 명확하고 쉽게 판단 가능한 명제(proposition)와 규칙으로 명시적으로 분리할 수 있는 경우에 RBR을 적용하였다. 하지만 고품질 에세이 작성과 같이 명확한 규칙을 정의하는 것이 어렵고 많은 노력을 요구하는 주관적 작업에 대해서는 RBR을 적용하기가 더 어려울 수 있다.

RBR의 장점 중 하나는 고전적인 RLHF에서의 인간 라벨링 선호 데이터를 손쉽게 결합할 수 있다는 것이다. 본 논문의 Comply 케이스에서 볼 수 있듯이, 우리는 RBR을 사용하여 안전한 프롬프트에 대한 거절 같은 명백하게 나쁜 행동을 억제하면서, Helpful RM을 통해 능력을 유지할 수 있었다. 이러한 하이브리드 방식은 특정 지침(예: "에세이에 속어를 사용하지 마라.")을 RBR을 통해 강제하면서, 인간 라벨링 데이터를 사용하여 측정하기 어려운 작업의 측면(예: 전반적인 일관성)을 해결할 수 있게 한다. 향후 연구 방향으로, 이러한 복잡하고 비-안전 영역에서의 탐색이 있다.

윤리적 고려사항: 본 연구는 LLM 훈련에서 안전 피드백 신호를 인간에서 LLM으로 옮기는 방법을 다루고 있다. 이는 인간의 감독 수준을 낮추고 LLM에 내재된 편견을 확대할 가능성이 있다. 이를 완화하기 위해 연구자들은 RBR의 정확성을 면밀히 평가하고 잠재적 편향을 측정해야 한다. 인간 데이터와 이 방법을 함께 사용하면 위험을 더욱 완화할 수 있을 것이다.

8 결론

본 논문에서 우리는 **규칙 기반 보상(Rule-Based Rewards, RBR)**이라는 자동화된 AI 피드백 기반의 새로운 선호 모델링 방법을 도입하여, LLM의 안전성 학습을 진행했다. 우리가 제안한 방법은 비용 및 시간 측면에서 효율적이며, 소량의 인간 데이터만으로도 가능하며, 원하는 모델 동작(behavior)의 요구 사항이 변경될 경우에도 쉽게 업데이트할 수 있다.

우리가 제안한 방법은 이상적인 행동을 세부적인 모듈형 규칙으로 나누어 정의함으로써, 다음과 같은 독특한 이점을 제공한다:

  • 정밀한 분류 정확성 향상 가능성.

  • 다양한 응답을 쉽게 합성 데이터로 생성할 수 있어, 방법의 적용에 필수적인 데이터를 효율적으로 얻을 수 있다.

실험 결과, 우리가 제안한 RBR 방법은 안전 행동을 정확하게 달성할 수 있었으며, 도움 제공에만 초점을 맞추었거나(human-safety 데이터 없이), 인간의 안전 데이터를 기반으로 학습된 모델과 비교했을 때, 안전성과 유용성(usefulness) 사이에서 좋은 균형을 이루었다.

Reference

댓글