정렬 신호로서의 지시 따르기(Instruction-Following as Alignment Signal)

이후 등장하는 인간 피드백 기반 강화학습(Reinforcement Learning from Human Feedback; RLHF)에 대한 모든 비판은 결국 이 파이프라인(pipeline)을 상대로 한 논쟁입니다. 최적화 압력(optimization pressure)이 대리 지표(proxy)를 어떻게 왜곡하는지 공부하기 전에, 먼저 그 대리 지표가 무엇인지부터 살펴봐야 합니다. InstructGPT(Ouyang et al., 2022)는 이후 모두가 따라가게 되는 기준 아키텍처(reference architecture)를 정의한 논문입니다. 지시–응답 쌍(instruction-response pair)에 대해 지도 미세조정(Supervised Fine-Tuning; SFT)을 수행하고, 짝지은 선호 순위(pairwise preference ranking)로 보상 모델(reward model)을 학습하며, SFT 정책(policy)으로부터 너무 멀어지지 않도록 KL 페널티(KL penalty)를 둔 채 보상 모델을 대상으로 근접 정책 최적화(Proximal Policy Optimization; PPO)를 수행합니다. 1.3B 크기의 InstructGPT가 175B 크기의 GPT-3보다 더 선호되었다는 그 하나의 결과 때문에, 2026년 현재까지도 모든 최전선 연구소(frontier lab)는 RLHF 형태의 후속 학습 파이프라인을 출시하고 있습니다.

유형: Learn 언어: Python (stdlib, toy three-stage pipeline) 선수 지식: Phase 10 · 06 (SFT), Phase 10 · 07 (RLHF), Phase 10 · 08 (DPO) 예상 시간: 약 45분

학습 목표

  • InstructGPT 파이프라인의 세 단계(stage)와 각 단계에서 사용하는 손실(loss)을 말할 수 있어야 합니다.
  • 1.3B 크기의 지시 미세조정(instruction-tuned) 모델이 인간 선호 평가(human preference evaluation)에서 원본 175B GPT-3를 이긴 이유를 설명할 수 있어야 합니다.
  • 3단계의 KL 페널티가 무엇을 막아주는지, 그리고 이를 제거하면 왜 모드 추구(mode-seeking) 행동으로 붕괴(collapse)하는지를 말할 수 있어야 합니다.
  • 정렬세(alignment tax)와 Ouyang et al.이 이를 완화하기 위해 사용한 PPO-ptx를 설명할 수 있어야 합니다.

문제

사전 학습된 언어 모델(pre-trained language model)은 텍스트를 이어 쓰는(complete) 일을 합니다. 질문에 답하도록 학습된 것이 아닙니다. GPT-3에 "write a Python function that reverses a list"라고 물으면 종종 답 대신 또 다른 프롬프트(prompt)가 돌아옵니다. 학습 분포(training distribution)의 대부분이 웹 텍스트(web text)이고, 웹 텍스트는 다시 더 많은 웹 텍스트로 이어지기 때문입니다. 모델은 자기 일을 충실히 하고 있을 뿐, 그 일 자체가 우리가 원하는 일과 어긋난 것입니다.

이 문제를 고치기 위해 진지한 연구소들이 사용한 대리 지표가 바로 인간 선호(human preference)입니다. 두 개의 완성 결과(completion)를 평가자(rater)에게 보여주면, 평가자는 더 나은 쪽을 고릅니다. 보상 모델은 평가자의 판단을 학습합니다. 그런 다음 강화학습(Reinforcement Learning; RL) 루프가 보상 모델이 높게 점수를 매기는 출력 쪽으로 정책을 이동시킵니다. 세 문장으로 요약한 InstructGPT의 주장은 이것이 전부이고, 논문의 나머지 부분은 모두 엔지니어링(engineering)입니다.

사전 테스트

2문제 · 이 강의를 시작하기 전에 얼마나 알고 있는지 확인해보세요

1.InstructGPT 파이프라인에서 지도 미세조정(SFT)은 어떤 문제를 해결하고, 무엇을 제공하지 못하나요?

2.1.3B 크기의 InstructGPT가 175B GPT-3보다 인간 평가자에게 더 선호된 이유는 무엇인가요?

0/2 답변 완료

개념

1단계: 지도 미세조정(Supervised Fine-Tuning; SFT)

선의를 가진 사람(well-intentioned human)이 작성했을 만한 응답이 포함된 프롬프트–응답 쌍을 모읍니다. Ouyang et al.은 라벨러(labeler)와 OpenAI API에서 수집한 약 13,000개의 프롬프트를 사용했습니다. 그렇게 모은 데이터로 기반 모델(base model)을 표준 교차 엔트로피 손실(cross-entropy loss)로 미세조정합니다.

SFT가 제공해 주는 것은 다음과 같습니다. 이제 모델은 질문을 이어 쓰는 대신 질문에 답합니다. 반면 SFT가 제공해 주지 못하는 것도 있습니다. 그럴듯한(plausible) 답이 여러 개 있을 때 평가자가 그중 어느 답을 더 선호하는지에 대한 신호는 SFT에서는 얻을 수 없습니다.

2단계: 보상 모델(Reward Model; RM)

각 프롬프트에 대해 SFT 모델에서 K개의 완성 결과를 표본 추출(sample)합니다. 라벨러가 이들 사이의 순위를 매깁니다. 보상 모델은 임의의 (프롬프트, 응답) 쌍에 대해 점수를 매기도록 학습되며, y_wy_l보다 선호된 쌍에 대해 손실은 다음과 같이 정의됩니다.

L_RM = -log sigmoid(r(x, y_w) - r(x, y_l))

이 손실이 바로 브래들리–테리(Bradley-Terry) 짝지은 선호 손실(pairwise preference loss)입니다. RM은 보통 SFT 모델의 언어 모델 헤드(LM head)를 스칼라 헤드(scalar head)로 교체해 초기화합니다.

보상 모델은 의외로 작은 크기로도 충분합니다. 175B InstructGPT를 정렬하는 데에도 6B 크기의 RM이면 충분했습니다. 동시에 보상 모델은 깨지기 쉬운(fragile) 구성요소이기도 합니다. 논문 5절은 대부분 작은 규모에서 이미 나타난 보상 해킹(reward hacking) 행동에 대한 보고로 채워져 있습니다.

3단계: KL 페널티가 있는 PPO

목적 함수(objective)를 다음과 같이 정의합니다.

J(pi) = E_{x~D, y~pi(.|x)} [ r(x, y) ] - beta * KL(pi(.|x) || pi_SFT(.|x))

이를 PPO로 최대화합니다. KL 항(KL term)은 정책 pi가 SFT 정책에서 너무 멀리 벗어나지 않도록 붙잡아 주는 역할을 합니다. 이 항이 없으면 옵티마이저(optimizer)는 적대적 예제(adversarial example)를 찾아냅니다. 즉, 실제로 사람이 선호해서가 아니라 단지 RM이 그런 문자열을 본 적이 없어서 우연히 높은 점수를 받는 출력으로 정책이 빨려 들어가게 됩니다.

KL 계수(coefficient) beta는 RLHF에서 단연 가장 중요한 하이퍼파라미터(hyperparameter)입니다. 너무 낮으면 보상 해킹이 일어나고, 너무 높으면 SFT 대비 개선이 거의 없습니다.

정렬세(alignment tax)

RLHF를 거친 모델은 사람에게는 더 선호되지만, 표준 벤치마크(SQuAD, HellaSwag, DROP)에서는 오히려 성능이 퇴보(regress)합니다. Ouyang et al.은 이 현상을 정렬세라고 부르고, PPO-ptx라는 방식으로 이를 보정합니다. 사전 학습 단계의 그래디언트(pre-training gradient)를 RL 목적 함수에 섞어 넣어, 모델이 보상받은 적이 없는 하류 과제(downstream task) 수행 능력을 잊지 않도록 만드는 방식입니다.

J_ptx(pi) = J(pi) + gamma * E_{x~D_pretrain} [ log pi(x) ]

PPO-ptx는 이후 표준이 되었습니다. Anthropic, DeepMind, Meta 모두 이의 어떤 변형(variant)을 사용하고 있습니다.

결과

1.3B InstructGPT(SFT + RM + PPO-ptx)는 라벨러로부터 175B 기반 GPT-3보다 약 70%의 경우 더 선호되었습니다. 실제 서비스 트래픽(production traffic)에서 뽑은 비공개 테스트 프롬프트(hidden-test prompt)에서는 그 격차가 더 크게 벌어집니다. 이 숫자에서 읽어야 할 핵심은 두 가지입니다.

  1. 정렬(alignment)은 능력(capability)과 다른 축(axis)에 있다는 점입니다. 175B 모델은 능력이 더 컸고, 1.3B 모델은 정렬이 더 잘 되어 있었으며, 라벨러는 정렬된 쪽을 선호했습니다.
  2. 능력의 하한선(capability floor)은 기반 모델이 결정합니다. RLHF만으로는 기반 모델이 본 적 없는 사실(fact)을 새로 알게 만들 수 없습니다.

이 강의가 Phase 18의 기준점인 이유

이후 강의에서 등장하는 모든 비판, 즉 보상 해킹(reward hacking; Lesson 2), 직접 선호 최적화(Direct Preference Optimization; DPO; Lesson 3), 아첨(sycophancy; Lesson 4), 헌법적 AI(Constitutional AI; CAI; Lesson 5), 잠복 에이전트(sleeper agent; Lesson 7), 정렬 위장(alignment faking; Lesson 9)은 이 파이프라인의 어떤 부분을 공격합니다. 보상 해킹은 2단계를 공격하고, DPO는 2단계와 3단계를 하나로 합쳐(collapse) 버립니다. 헌법적 AI는 사람 라벨러를 다른 신호로 대체하며, 아첨은 라벨러 자체가 편향된 신호임을 드러냅니다. 정렬 위장은 정책이 3단계 전체를 우회해 버릴 수 있음을 보여줍니다. 이 파이프라인을 먼저 머릿속에 그려 두지 않으면 이후의 어떤 비판도 따라갈 수 없습니다.

사용해보기

code/main.py는 장난감 수준의 선호 데이터에서 세 단계를 시뮬레이션합니다. 기반 "정책"은 행동(action) {A, B, C} 위의 편향된 동전(biased coin) 분포입니다. 1단계 SFT는 200개의 프롬프트에서 라벨러의 행동을 모방하고, 2단계는 500개의 짝지은 순위 데이터로 브래들리–테리 보상 모델을 적합(fit)하며, 3단계는 SFT 정책에 대한 KL 페널티가 포함된 단순화된 PPO 갱신을 실행합니다. 보상이 점차 오르고, KL 발산(divergence)이 커지며, 정책이 표류(drift)하는 모습을 그대로 관찰할 수 있습니다. KL 항을 끄면 단 50번의 갱신만에 보상 해킹이 나타나는 모습도 함께 볼 수 있습니다.

확인해 볼 것은 다음과 같습니다.

  • beta = 0.1beta = 0.0에서의 보상 궤적(reward trajectory).
  • 학습 스텝(training step) 전반에 걸친 KL(pi || pi_SFT)의 변화.
  • 라벨러 선호와 비교한 최종 행동 분포(final action distribution).

산출물 만들기

이 강의는 outputs/skill-instructgpt-explainer.md를 산출물로 만듭니다. RLHF 파이프라인 설명이나 논문 초록(abstract)이 주어지면, 세 단계 중 어느 단계가 수정되었는지, 각 단계에서 어떤 손실이 쓰이고 있는지, 그리고 KL 페널티나 그에 준하는 정규화기(regularizer)가 있는지를 식별해 주는 스킬(skill)입니다.

연습문제

  1. 쉬움: code/main.py를 실행합니다. beta = 0.0으로 설정하고 200번의 PPO 스텝 뒤 행동 분포를 보고합니다. 거기서 나타나는 모드 추구 행동(mode-seeking behaviour)을 한 문단으로 설명합니다.

  2. 중간: 보상 모델에 행동 B에 대한 +0.5의 편향(bias)을 주입합니다(보상 모델의 모의 버그 상황). 그런 다음 beta = 0.1로 PPO를 실행합니다. KL 페널티가 정책이 이 편향을 악용(exploit)하는 것을 막아 줍니까? 어떤 beta 값에서부터 악용이 눈에 띄게 드러납니까?

  3. 중간: Ouyang et al.(arXiv:2203.02155) 그림 1을 읽습니다. PPO를 1, 5, 20, 100 스텝 실행하면서 SFT 모델 대비 선호도를 측정해, 논문의 라벨러 선호 곡선(labeler-preference curve)을 재현해 봅니다.

  4. 어려움: 논문 4.3절은 1.3B InstructGPT가 175B GPT-3를 약 70%의 경우 이긴다고 보고합니다. 라벨러가 직접 만든 프롬프트보다 실제 서비스에서 수집한 비공개 프롬프트에서 그 비율이 더 높아지는 이유는 무엇이겠습니까?

  5. 어려움: 같은 선호 데이터에 대해 PPO 손실을 DPO(Phase 10 · 08)로 교체합니다. 최종 정책 표류량(SFT와의 KL)과 최종 보상을 비교합니다. 동일한 보상 수준에서 어느 방법이 더 멀리 표류합니까?

핵심 용어

용어흔한 설명실제 의미
SFT"지시 튜닝(instruction tuning)"1단계: 프롬프트–응답 쌍에 대해 교차 엔트로피로 수행하는 미세조정
보상 모델(reward model)"RM"짝지은 라벨에 대해 브래들리–테리로 학습한 (프롬프트, 응답) 스칼라 회귀기(scalar regressor)
브래들리–테리(Bradley-Terry)"짝지은 선호 손실"-log sigmoid(r_w - r_l). 짝지은 순위 매기기를 이진 분류(binary classification) 문제로 환원
KL 페널티"정규화 항"`beta * KL(pi
PPO-ptx"사전 학습 혼합이 들어간 PPO"정렬세를 상쇄하기 위해 PPO 목적 함수에 사전 학습 로그우도(log-likelihood)의 일부를 더한 형태
정렬세(alignment tax)"RLHF로 인한 성능 퇴보"RLHF가 직접 겨냥하지 않은 표준 벤치마크에서 RLHF 후 성능이 떨어지는 현상
라벨러 선호(labeler preference)"정답(ground truth)"인간 순위 매기기의 표본. RM은 이 표본에 대한 통계적 대리 지표일 뿐이며, "인간의 가치(human values)" 자체가 아님

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

이 강의에서 생성된 프롬프트, 스킬, 코드 산출물 1개

instructgpt-explainer

Diagnose an RLHF-family paper or pipeline against the three-stage InstructGPT reference.

Skill

확인 문제

3문제 · 모두 맞추면 완료 표시가 가능합니다

1.3단계 PPO 목적 함수에서 KL 페널티 항을 제거하면, 약 50번의 갱신 스텝 안에 어떤 실패 양상이 나타날 것으로 예상되나요?

2.정렬세(alignment tax)란 무엇이며, PPO-ptx는 이를 어떻게 해결하나요?

3.보상 모델에 사용되는 브래들리-테리(Bradley-Terry) 손실 L_RM = -log sigmoid(r(x, y_w) - r(x, y_l))은 짝지은 순위 매기기를 어떤 문제로 환원하나요?

0/3 답변 완료

추가 문제 풀기

AI가 강의 내용을 바탕으로 새로운 문제를 생성합니다