Skip to content
입문 NLP

10주차: 정렬 기법의 계보 - RLHF에서 GRPO까지

□ 이번 주가 놓이는 자리

  • 9주차: 검색으로 답변의 근거를 가져오는 구조 확인
  • 10주차: 어떤 답변을 더 자주 생성하도록 학습할지 정하는 정렬(alignment) 기법 비교
  • 11주차: 최종 답에만 점수를 주었을 때 놓치는 과정 감독과 신용 할당 검토
  • 이번 주 실습: 준비된 예제 실행과 숫자 관찰, 알고리즘 구현 과제 없음
  • 대규모 모델 RL 학습 없음. CPU에서 실행되는 작은 산술 예제로 학습 신호의 구조 확인
제주 배경에서 지도와 시연 카드, 선호 저울, 선호쌍 직접 선택, 네 응답의 그룹 상대 비교가 이어지는 정렬 계보의 개념 일러스트. 실제 학습 결과나 관광 시스템 실측이 아님

□ 이번 주 질문

  • SFT의 시연과 RLHF의 선호가 주는 정보의 차이
  • PPO에서 reward와 critic이 맡는 역할의 차이
  • DPO가 없앤 학습 단계와 여전히 필요한 데이터
  • GRPO가 critic 없이 advantage를 만드는 방법
  • 응답 단위 보상이 토큰에 전달되는 방식과 그 한계
  • 제주 관광 응대에서 자동 답변을 허용할 범위와 오답 비용

□ 읽기 안내 - 이 노트의 어디와 이어지나

읽기원문에서 확인할 것이 노트의 연결 위치
InstructGPT, 2022시연, 선호, 보상모델, PPO의 역할SFT와 RLHF, Bradley-Terry 예제
PPO, 2017clipped surrogate objective양·음 advantage 네 경우
DPO, 2023선호쌍의 직접 정책 목적함수정책/reference 로그비와 sigmoid
DeepSeekMath, 2024 4.1.1~4.1.2critic 대체와 outcome advantage그룹 정규화와 broadcast
DeepSeek-R1, 2025 2.2초기 SFT 없이 RL을 적용한 R1-ZeroSFT 필수 여부 오해
DAPO, 2025 3.3응답 평균과 전체 토큰 평균의 차이집계와 credit assignment 구분
  • 논문 이름: 원문 식별용 서지. 특정 서비스 이용이나 구독 불필요
  • 본문 소수점: 교수 제공 확률·보상에서 계산한 예제, 모델 학습 실측값 아님
  • 논문의 벤치마크 점수를 제주 관광 답변 품질로 바꾸어 읽지 않기
교육용 정렬 계보. SFT는 시연, PPO 기반 RLHF는 보상모델과 critic, DPO는 선호쌍 직접 학습, GRPO는 그룹 보상 사용. R1-Zero는 SFT 없이 직접 RL을 하는 반례

□ 계보를 읽는 방법

  • 화살표: 이전 접근의 어떤 부담을 줄였는지 설명하기 위한 연결
  • 모든 시스템이 네 단계를 차례로 거쳐야 한다는 뜻 아님
  • 비교할 항목: 입력 감독, 추가 모델, 온라인 생성, 남은 병목
  • 새 기법이라는 이유만으로 기존 기법보다 항상 우수하다는 판단 금지
기법감독 입력주요 학습 신호남은 질문
SFT프롬프트와 시연 답변시연 토큰의 likelihood시연 없는 상황에서의 행동
PPO 기반 RLHF사람 선호로 학습한 보상기대 보상과 제약보상모델의 오판과 critic 비용
기본 offline DPO선호 답변과 비선호 답변 쌍쌍의 상대 로그확률선호쌍의 범위와 편향
outcome GRPO같은 프롬프트의 응답 그룹과 보상그룹 상대 advantage보상의 신뢰성과 토큰 신용

한 질문을 네 학습 목표로 따라가기

Section titled “한 질문을 네 학습 목표로 따라가기”

□ 문제: 근거를 검색한 뒤에도 답변 행동은 남음

  • 9주차 검색이 성공해도, 모델이 받은 근거보다 강하게 확답하면 오답 가능. 검색할 자료의 선택과 생성 행동의 선택은 서로 다른 문제
  • 이번 주 공통 질문 q: “제주 관광지 방문 일정을 잡으려는데, 최신 운영 공지를 확인하지 못했어도 내일 개방한다고 확답해도 되는가?”
  • 제주 공개 관광·행정정보를 쓰는 안내 시스템의 상정 질문. 특정 관광지의 실제 운영 사실을 답하는 실험 아님
  • 후보 U: “내일 정상 운영합니다. 바로 방문하세요.”
  • 후보 V: “최신 운영 공지가 없어 확답하기 어렵습니다. 공식 운영 안내를 확인한 뒤 방문 일정을 정하세요.”
  • 두 문장은 교수 작성 예시. U를 사실 확인 없이 단정하는 답변, V를 확인 범위와 다음 행동을 함께 밝힌 답변으로 설정

□ 먼저 예상: V를 더 자주 만들게 하려면 무엇을 알려야 하나

  • SFT: V 자체를 시연으로 제공. V가 왜 U보다 좋은지는 별도 비교 라벨 없이 목표 토큰으로 전달
  • 선호 학습: V가 U보다 낫다는 비교 제공. 같은 V라도 어떤 대안과 비교했는지가 학습 자료의 일부
  • PPO 기반 RLHF: 비교 자료로 평가기를 만들고, 현재 정책의 새 응답을 평가. 처음 준비한 U/V 이외의 행동도 점수를 받을 가능성
  • DPO: U/V 선호쌍에서 정책을 직접 갱신. 기본 offline 설정에서는 준비한 비교 자료의 범위가 경계
  • GRPO: 같은 q의 여러 새 응답을 평가하고 서로 비교. critic을 빼도 무엇을 좋은 답변으로 평가할지는 남음

□ 이 질문이 모든 계산의 연결 고리

  • 아래 확률은 U/V 또는 V의 토큰에 임의로 부여한 숫자. 실제 모델에서 추출한 likelihood 아님
  • 준비된 숫자의 변화가 목적함수를 어떻게 바꾸는지 관찰하는 것이 목표
  • V가 더 조심스럽다는 사실만으로 언제나 더 유용하다고 단정 불가. 실제 근거가 있으면 근거에 맞춘 명확한 답변이 더 적절할 수 있음
  • 마지막 대면 활동에서는 이 학습 목표를 운영 허용 조건과 오답 비용으로 다시 평가

SFT: 어떤 답변을 따라 하게 하는가

Section titled “SFT: 어떤 답변을 따라 하게 하는가”

□ 시연으로부터의 학습

  • 입력 x: 질문, 지시, 필요하면 검색 근거
  • 목표 y: 사람이 제공한 답변 토큰열
  • 목적: 주어진 문맥에서 목표 토큰의 확률을 높이는 방향
  • teacher forcing: 앞선 목표 토큰을 문맥으로 주어 다음 목표 토큰 예측
  • 선호 비교가 아니라 제공된 답변의 모방이라는 차이

□ 제주 관광 응대 예시

  • 공개 정보 문맥: 위키백과 「제주특별자치도」의 행정구역 설명, 데이터 출처 참고
  • 연습 질문: “제주특별자치도의 두 행정시는?”
  • 시연 답변 예시: “제주시와 서귀포시. 출처의 기준 시점 확인 필요.”
  • 이 문장은 교수 작성 교육 예시이며 모델이 생성한 실측 응답 아님
  • 정적 행정정보와 “오늘 개방 여부”처럼 시점이 바뀌는 운영정보의 구분 필요

□ 해결한 것과 남긴 것

  • 지시 형식, 답변 문체, 근거를 적는 습관의 시연 가능
  • 시연에 없는 질문에서 올바른 판단을 보장하지 않는 한계
  • 같은 질문에 여러 타당한 답변이 있어도 하나의 시연만 보면 다른 답변의 가치 비교 어려움
  • 위험한 단정을 포함한 시연도 학습할 수 있으므로 데이터 검토 필요

□ teacher forcing을 토큰 세 위치로 관찰

  • 목표 답변 V의 일부를 설명용 세 조각 [확인 / 후 / 방문]으로 표시. 실제 tokenizer의 분절이 아니라 손으로 정한 위치
  • 첫 위치는 q를 보고 “확인” 예측. 두 번째는 q와 **정답 조각 “확인”**을 보고 “후” 예측. 세 번째는 q와 정답 두 조각을 보고 “방문” 예측
  • 모델이 첫 위치에서 다른 토큰을 골랐더라도 다음 위치의 학습 입력에는 목표 접두어가 들어감. 생성할 때 자기 출력을 이어 붙이는 것과 여기서 갈림
  • 제공 확률 [0.5, 0.25, 0.8]을 각 위치의 정답 토큰 확률로 설정. 각 위치의 다른 후보 확률 합은 각각 0.5, 0.75, 0.2라는 조건
위치 1 2 3
정답 토큰 확률 p 0.50 0.25 0.80
토큰 손실 -ln(p) 0.693147 1.386294 0.223144
평균 token CE (0.693147 + 1.386294 + 0.223144) / 3
= 0.767528
  • 정답 “후”의 확률 0.25가 가장 낮아 그 위치 손실이 가장 큼. 목적함수는 그 토큰을 덜 뜻밖인 것으로 만들도록 압력 제공
  • 같은 세 확률을 모두 0.8로 바꾼 제공 preset의 평균 CE는 0.223144. 목표를 이미 높은 확률로 예측하면 손실이 작다는 확인
  • 단, CE에는 “왜 확인을 권고해야 하는가”라는 독립된 위험 평가가 없음. U를 시연하면 같은 원리로 U를 잘 모방하도록 학습
  • 잘 모방하는가와 모방 대상이 바람직한가의 차이가 다음 선호 학습을 읽는 이유

RLHF: 정답 답변 하나보다 선호 비교

Section titled “RLHF: 정답 답변 하나보다 선호 비교”

□ 전형적인 PPO 기반 RLHF 파이프라인

  • 1단계: 시연으로 초기 정책 준비
  • 2단계: 동일 질문의 답변들을 사람이 비교하여 선호 데이터 확보
  • 3단계: 선호를 예측하는 reward model 학습
  • 4단계: 정책에서 답변을 생성하고 점수를 받아 PPO로 정책 개선
  • 이 흐름은 InstructGPT의 대표적 구성, 모든 RLHF의 필수 구현 아님

□ reward가 정하는 것

  • 질문과 완성 응답을 받아 바람직함의 점수 출력
  • 사람 선호를 학습한 보상모델: 사람이 좋아할 답변의 대리 지표
  • 규칙 기반 verifier: 검증 가능한 정답이나 형식 조건으로 점수 계산
  • 높은 reward: 정의한 기준에서 높은 점수, 진실이나 안전 자체의 증명 아님
  • 문장이 정중하고 길다는 이유로 선호될 가능성과 사실 정확성의 분리 필요

□ 두 답변의 선호를 점수로 바꾸는 이유

  • 사람의 비교 라벨은 “V를 선호”처럼 상대적 정보. policy가 새 문장 W를 만들었을 때는 U/V 라벨만으로 W에 바로 점수를 줄 수 없음
  • 그래서 PPO 기반 RLHF는 선호 데이터에서 새 응답에도 점수를 주는 평가기를 학습. 이것이 reward model을 추가하는 이유
  • 대표적인 Bradley-Terry 모형: V가 U보다 선호될 확률을 sigmoid(r(V) - r(U))로 표현. sigmoid(z) = 1 / (1 + exp(-z))
  • 제공 점수 r(V)=2, r(U)=0이면 차이 2. 예측 선호확률은 0.880797, “V 선호” 라벨의 음의 로그확률 손실은 0.126928
점수 차 r(V)-r(U)V 선호의 예측 확률실제 라벨이 V 선호일 때 손실
00.5000000.693147
20.8807970.126928
-20.1192032.126928
  • 점수 차가 양이면 V 라벨과 일치하는 방향, 음이면 반대 방향. 차이를 뒤집었을 때 손실이 커지는 이유가 표에 드러남
  • 두 점수에 같은 10을 더해도 차이는 2 그대로. 이 비교 모형에서는 점수의 절대 원점보다 차이가 결정적
  • 0.880797은 사실이 맞을 확률이나 관광객이 안전할 확률이 아님. 해당 모형이 예측한 선호 라벨의 확률
  • 선호가 길이·정중함에 치우치면 평가기도 그 편향을 학습할 수 있음. 새 응답을 평가할 수 있다는 장점과 잘못 일반화할 위험의 동시 발생

□ critic이 정하는 것

  • 현재 상태에서 이후 받을 return의 기대값 V(s) 추정
  • 언어모델 상태: 프롬프트와 지금까지 생성한 접두 토큰
  • 관찰한 return이 예상보다 좋았는지 비교하는 baseline 역할
  • reward model은 평가 기준, critic은 기대 return의 추정기
  • 구현에 따라 backbone 공유 가능. 역할 수를 항상 독립 모델 개수로 해석하지 않기
Policy는 응답 생성, reward는 품질 평가, PPO critic은 접두 상태의 기대 return 추정. GRPO는 같은 질문의 그룹 통계로 baseline을 만들고 reference는 분포 변화 제약에 사용

□ advantage의 직관

  • reward만 볼 때: 응답의 절대 점수
  • advantage를 볼 때: 비교 기준보다 얼마나 좋은 결과인지
  • 설명용 축약: A = 관찰 return - baseline
  • 실제 PPO: 토큰별 return 추정과 GAE 등 세부 설계 필요
  • 이 축약식을 모든 언어모델 PPO 구현의 정확한 수식으로 사용하지 않기

□ PPO의 clipping

  • 확률비 rho: 새 정책의 토큰 확률 / rollout을 만든 old 정책의 토큰 확률
  • 양의 advantage: 해당 행동 확률을 높이려는 방향
  • 음의 advantage: 해당 행동 확률을 낮추려는 방향
  • surrogate: min(rho * A, clip(rho, 1-epsilon, 1+epsilon) * A)
  • 지나친 변화의 추가 이득을 제한하는 clipped surrogate, PPO 원문 근거
  • clipping만으로 전체 정책 변화나 안전성이 항상 보장되는 것은 아님

□ clipping의 네 경우: 어느 변화의 추가 이득을 막나

  • 제공 old 토큰 확률 0.20, epsilon=0.2. 새 확률 0.30이면 rho=1.5, 새 확률 0.10이면 rho=0.5
  • clip 구간은 [0.8, 1.2]. 아래는 최대화하는 surrogate J의 값이며, 최소화하는 loss라면 부호를 반대로 표현
  • 예상 질문: “rho가 구간 밖이면 항상 그 값으로 잘리는가?” 단순 clamp 결과만 보는 것과 min 결과를 보는 것은 다름
A새 확률rhorho x Aclip(rho) x A최종 min해석
+10.301.51.51.21.2좋은 행동을 너무 많이 올린 추가 이득 제한
+10.100.50.50.80.5좋은 행동을 내린 손해는 잘라 숨기지 않음
-10.301.5-1.5-1.2-1.5나쁜 행동을 올린 손해는 잘라 숨기지 않음
-10.100.5-0.5-0.8-0.8나쁜 행동을 너무 많이 내린 추가 이득 제한
  • A > 0에서는 확률 증가를, A < 0에서는 확률 감소를 원하는 방향으로 해석. 원하는 방향으로 너무 멀리 간 경우 목적함수의 추가 보상을 제한
  • 반대 방향으로 간 경우에는 불리한 항이 min에서 남음. 따라서 “확률비를 무조건 [0.8,1.2]로 고정”하는 알고리즘이라는 설명은 부정확
  • 목적함수 일부의 평탄화가 실제 새 확률을 0.24 이하로 강제 고정하는 것도 아님. 신경망 파라미터 공유와 다른 토큰의 업데이트 영향이 남음
  • 표는 토큰 한 위치의 항만 비교. critic 손실·entropy·KL·실제 optimizer update를 계산한 PPO 학습 결과 아님

□ 두 정책을 구분

  • old policy: 현재 학습 배치의 응답을 샘플링한 정책, 확률비의 분모
  • reference policy: 원래 정책에서 지나치게 벗어나지 않도록 비교하는 기준
  • old와 reference는 용도와 갱신 시점이 다를 수 있음
  • KL 제약: 보상만 좇다가 기존 언어 능력이나 행동이 과도하게 변하는 것을 줄이는 장치
  • KL 크기 자체가 안전성이나 정답률의 직접 점수는 아님

DPO: 선호쌍에서 정책을 직접 학습

Section titled “DPO: 선호쌍에서 정책을 직접 학습”

□ 생략하는 단계

  • 입력: 같은 질문 x, 선호 답변 y+, 비선호 답변 y-
  • 기본 offline 설정: 이미 확보한 선호쌍을 학습 중 사용
  • 독립 reward model 학습과 PPO rollout 루프의 생략
  • 정책과 기준 정책의 상대 로그확률로 선호를 반영하는 직접 목적함수
  • 출처: Direct Preference Optimization

□ 로그확률 비교의 의미

  • 선호 답변의 정책/기준 로그확률 차이를 비선호 답변의 차이와 비교
  • 기준보다 선호 답변을 상대적으로 더 지지하도록 학습
  • 좋은 문장을 아무 조건 없이 무한히 길게 만드는 목적함수와 구분
  • 이론상 reward-policy 관계를 이용하는 것과 독립 보상모델을 학습하는 것을 구분
  • “보상을 전혀 고려하지 않는다”는 설명도 부정확

□ DPO가 U/V 선호를 정책의 확률로 읽는 작은 계산

  • 앞의 reward model처럼 독립 점수를 예측하는 대신 정책과 reference의 로그확률 비율에서 비교량 구성
  • 같은 q에서 선호 답변 V, 비선호 답변 U. 두 답변의 제공 sequence probability로 계산하며 다른 응답들에도 확률 질량이 남는 설정
  • reference: P(V)=0.10, P(U)=0.20. 현재 policy: P(V)=0.20, P(U)=0.10. beta=0.5
선호 답변의 로그비 ln(0.20 / 0.10) = 0.693147
비선호 답변의 로그비 ln(0.10 / 0.20) = -0.693147
두 로그비의 차이 0.693147 - (-0.693147) = 1.386294
DPO margin z beta x 차이 = 0.5 x 1.386294 = 0.693147
선호 예측 sigmoid(z) 0.666667
DPO loss -ln(sigmoid(z)) = 0.405465
  • policy가 reference와 같으면 두 로그비가 모두 0, margin=0, loss=0.693147. V를 기준보다 더 지지하는 preset에서는 loss가 0.405465로 감소
  • policy를 P(V)=0.05, P(U)=0.40으로 바꾸면 reference 대비 선호 확률은 절반, 비선호 확률은 두 배. margin=-0.693147, 선호확률=0.333333, loss=1.098612. 사람 선호와 반대인 상대 이동에 더 큰 손실
  • sequence log probability는 실제로 각 출력 토큰의 조건부 로그확률 합. 이 예제에서 확률 0.20을 각 토큰 확률로 오해하지 않기
  • beta는 비교량의 배율과 이론적 정책-보상 관계에 관여. 작은 한 쌍에서 beta를 키우면 좋다는 식의 운영 처방으로 일반화 불가
  • 생략되는 것은 독립 reward model 학습과 기본 PPO rollout 단계. 입력 선호쌍의 판단 기준·범위·품질 문제는 그대로 남음

□ 남은 데이터 문제

  • 선호쌍이 실제 사용 질문을 포함하는지 확인 필요
  • 사람마다 다른 안전·유용성 기준의 표기 필요
  • 기본 offline DPO는 현재 정책의 새로운 행동을 매번 샘플링하지 않는 구조
  • 온라인 DPO 변형도 있으므로 “DPO는 어떤 경우에도 탐색하지 않는다”는 일반화 금지
  • 부정확한 선호 라벨을 단순한 목적함수만으로 교정할 수 없는 한계
같은 상정 질문의 세 학습 목적 숫자. SFT 정답 토큰 확률 0.5,0.25,0.8의 평균 CE 0.767528. 선호 점수 차 2의 sigmoid 0.880797. DPO beta0.5와 로그비 차1.386294의 loss0.405465. 실제 학습 결과가 아닌 제공값 계산

GRPO: critic 대신 같은 질문의 응답 그룹

Section titled “GRPO: critic 대신 같은 질문의 응답 그룹”

□ outcome supervision의 흐름

  • 같은 질문 q에서 old policy로 응답 G개 샘플링
  • 각 응답에 reward 부여
  • 그룹 평균과 표준편차로 상대 점수 정규화
  • 정규화 점수를 응답의 모든 토큰 advantage에 전달
  • clipped policy objective와 필요에 따른 KL 항으로 정책 업데이트
  • 이 주차는 DeepSeekMath 4.1.2의 outcome supervision에 한정
  • 같은 논문의 process supervision 변형까지 모두 동일 advantage라고 일반화하지 않기

□ 왜 같은 질문에서 여러 응답을 뽑나

  • 질문마다 보상 난도가 다를 수 있음. 쉬운 질문의 0.8점과 어려운 질문의 0.5점을 그대로 비교하면 질문 난도와 응답 품질이 섞일 가능성
  • GRPO는 같은 q의 응답들을 묶어 “이 질문에서 상대적으로 더 나았는가”를 관찰. 그룹 평균이 기대 성과의 비교 기준으로 작동
  • PPO critic은 상태에서 기대 return을 학습해 예측하지만, 이 outcome GRPO 예제는 샘플 그룹에서 계산. baseline을 얻는 방법의 차이
  • 그룹에 단정 답변 U형 두 개와 확인 안내 V형 두 개가 있다고 상정하고, 교수 제공 보상을 [0,0,1,1]로 설정. 실제 안전 verifier의 판정 아님
1. 같은 q의 응답 그룹 A, B, C, D
2. 제공 보상 0, 0, 1, 1
3. 비교 기준 mean = (0 + 0 + 1 + 1) / 4 = 0.5
4. 평균에서의 차이 -0.5, -0.5, +0.5, +0.5
5. 표본 분산 (0.25 + 0.25 + 0.25 + 0.25) / 3 = 1/3
6. 표본 표준편차 sqrt(1/3) = 0.577350
7. 상대 advantage -0.866025, -0.866025, +0.866025, +0.866025
8. 각 응답 토큰 위치 해당 응답의 상대 advantage를 반복 전달
  • 학생에게 이 계산을 코드로 구현하도록 요구하지 않음. 준비된 출력의 어느 단계에서 같은 질문의 비교가 이루어지는지 읽는 활동
  • 평균을 빼는 단계는 위·아래 방향, 표준편차로 나누는 단계는 그룹 내 퍼짐에 대한 크기 설정. 표본/모집단 선택은 후자의 배율 변화
  • 그룹 구성도 결과의 일부. 성공 하나 [0,0,0,1]이면 평균0.25, 표본 표준편차0.5, 실패 advantage=-0.5, 성공 advantage=+1.5
  • 같은 성공 보상1도 혼합 그룹에서는+0.866025, 성공 하나 그룹에서는+1.5. 상대 숫자의 크기가 절대 안전 수준이라는 뜻은 아님
  • 그룹 안 모든 답변이 실제로 위험하더라도 평가기가 차이를 주면 상대 승자가 생길 수 있음. 보상 기준의 신뢰성은 critic을 지워도 해결되지 않음

□ 그룹 상대 숫자 읽기

  • 교수 제공 보상: [0, 0, 1, 1], 그룹 크기 4
  • 평균: 0.5
  • 표본 표준편차: 0.577350, 분모 G - 1 사용
  • 정규화 advantage: [-0.866025, -0.866025, 0.866025, 0.866025]
  • 모집단 표준편차를 쓰면 0.5, advantage는 [-1, -1, 1, 1]
  • 논문의 std 표기만으로 구현의 correction이나 epsilon까지 고정되는 것은 아님
  • 실습과 관찰기는 표본 기준을 기본값으로 명시하여 숫자 비교
응답보상그룹 평균 대비표본 기준 advantage예제 길이
A0-0.5-0.8660252
B0-0.5-0.8660254
C1+0.5+0.8660256
D1+0.5+0.8660258

□ broadcast의 의미

  • A의 두 토큰: 같은 -0.866025 전달
  • D의 여덟 토큰: 같은 +0.866025 전달
  • 예제 길이: 실제 한국어 tokenizer 결과가 아니라 위치 개수로 정한 교육용 숫자
  • 긍정 응답의 모든 토큰이 “정답의 원인”임을 증명하는 것이 아님
  • 같은 advantage라도 토큰별 확률비, 로그확률 gradient, clipping 작동은 다를 수 있음
  • 신호가 동일함과 실제 parameter update가 동일함의 구분
보상 0,0,1,1에서 표본 기준 advantage가 -0.866025와 +0.866025로 계산되어 각 응답의 모든 위치에 동일 반복. 전부 동일 보상일 때 상대 advantage 0

□ 그룹이 모두 성공하거나 모두 실패할 때

  • [1, 1, 1, 1] 또는 [0, 0, 0, 0]: 표준편차 0
  • 비교할 보상 차이가 없는 상태
  • 0으로 나누지 않도록 예제에서는 상대 advantage를 모두 0으로 처리
  • 실제 학습기에서는 epsilon, 그룹 필터링, 재샘플링 등 구현 확인 필요
  • 상대 보상 신호가 0이어도 KL 등 다른 목적항의 gradient까지 0이라는 뜻 아님
  • 전부 성공한 그룹과 전부 실패한 그룹은 같은 상대 신호라도 운영 의미는 다름

□ critic 제거의 비용과 한계

  • 학습한 가치 추정기의 파라미터·학습 상태·예측 계산을 줄일 가능성
  • 대신 같은 질문에서 여러 응답을 생성하고 보상 평가하는 비용 필요
  • 그룹 크기, 응답 길이, verifier 비용에 따라 전체 비용 변화
  • “critic-free”를 “추가 계산 없음”으로 번역하지 않기
  • 같은 그룹에서 잘한 응답이라는 사실과 절대 품질이 충분하다는 사실의 분리

□ 오해 1. “RL 전에 SFT가 반드시 필요”

  • 자주 쓰는 구성과 논리적 필수 조건의 구분
  • DeepSeek-R1의 R1-Zero: 초기 SFT 없이 base model에서 직접 RL을 적용한 실험
  • R1과 R1-Zero의 학습 파이프라인을 같은 것으로 취급하지 않기
  • 반례가 있다는 사실이 모든 과제에서 SFT를 생략하라는 처방은 아님

□ 오해 2. “critic이 없으니 reward도 없어도 됨”

  • GRPO의 그룹 평균을 계산하려면 그룹에 점수가 있어야 함
  • 학습한 reward model, 규칙 verifier 등 신호 공급원 필요
  • 정답 문자열이 없는 선호 학습도 가능하지만 보상 신호가 없는 학습과 구분
  • 관광 응대의 자유서술 안전성을 숫자 검산 verifier만으로 충분히 평가하기 어려움

□ 오해 3. “DAPO가 중요한 토큰을 찾아 신용 배분”

  • DAPO 3.3: 응답별 토큰 평균 후 응답 평균 대신 전체 토큰으로 loss 집계
  • 분모와 길이 가중치의 변화, 토큰별 인과 중요도 추정과 구분
  • 토큰 수준 loss 집계라는 이름만으로 토큰마다 다른 advantage가 생기는 것은 아님
  • 다음 주차의 credit assignment: 어떤 중간 단계·토큰에 다른 신호를 줄지의 별도 문제
길이 2와 8인 두 응답. 응답 평균 집계는 토큰 가중치 1/4와 1/16, 전체 토큰 평균은 모두 1/10. 집계 가중치 변경은 원인 토큰 추정과 별개

□ 집계만 바꾼 숫자 예시

  • 길이 2와 8의 두 응답, 각 토큰 surrogate 값이 각각 +1과 -1이라는 가정
  • 응답 평균: (+1 + -1) / 2 = 0
  • 전체 토큰 평균: (2 x +1 + 8 x -1) / 10 = -0.6
  • 토큰 surrogate 값은 그대로, 집계의 길이 가중치만 변화
  • 실제 DAPO 전체 비교 아님. clipping, dynamic sampling, overlong reward handling 등 생략

인터랙티브: 준비된 그룹의 숫자 관찰

Section titled “인터랙티브: 준비된 그룹의 숫자 관찰”

그룹 보상 관찰기: 학습 없이 제공된 숫자만 비교

보상과 토큰에 전달되는 advantage
응답보상길이각 토큰 advantage응답 평균 집계의 토큰 가중치전체 토큰 집계의 토큰 가중치

같은 advantage라도 토큰별 확률비와 gradient는 다를 수 있음. 이 표는 인과적 credit assignment나 전체 GRPO/DAPO 구현이 아님.

□ 관찰 순서

  1. 기본 예제에서 강의 표와 평균·표준편차·advantage 비교
  2. D의 길이만 변경하고 advantage가 바뀌는지 확인
  3. 표준편차를 모집단 기준으로 전환하여 신호 크기의 변화 확인
  4. 동일 보상 예제를 선택하여 분산 0과 안전 처리 확인
  5. 성공 하나 예제에서 그룹 구성에 따른 상대 점수 변화 확인
  • 구현이나 코드 수정 요구 없음
  • 표의 두 집계 가중치: 실제 gradient 크기가 아니라 loss 합산 시의 계수
  • 길이를 늘려도 reward와 advantage가 같을 수 있지만 생성 비용은 증가할 수 있음
  • 실습 노트북, week-10.ipynb
  • Colab에서 열기
  • GPU와 모델 가중치 다운로드 불필요
  • 추가 패키지 설치 불필요, Python 표준 라이브러리 사용
  • 모든 셀을 순서대로 실행하고 출력 해석
  • TODO 없음. 이 주차는 수업계획서의 난도 조정에 따른 관찰 활동

□ 출력에서 기록할 것

  • 혼합 보상의 평균·표준편차와 응답 advantage
  • 한 응답의 토큰 위치마다 반복된 값
  • 동일 보상 그룹의 유한한 0 출력
  • 길이별 집계 예제의 0과 -0.6
  • 서로 다른 안전 가중치 preset에서 답변 순위 변화
  • 출력 파일 week-10-observations.json: 산술 결과와 예시 메타데이터

□ 실습 범위

  • 정책 학습, rollout, 실제 신경망의 log probability 계산 없음
  • 수치 예제의 reward는 교수 제공값, 관광 답변을 판정하는 검증된 reward model 아님
  • 산술 관찰을 “정렬 학습 성공”이나 “안전 성능 개선”이라고 보고하지 않기

학습활동: 동일 질문의 정렬 전후 응답 수집

Section titled “학습활동: 동일 질문의 정렬 전후 응답 수집”

□ 먼저 예시와 실측 구분

  • 노트북의 두 문장: 교수 작성 비교 예시, 어떤 모델의 정렬 전후 출력도 아님
  • 예시 목적: 단정, 근거, 불확실성 표시, 도움 행동의 차이 설명
  • 실제 활동: 노트북 §4-1의 제공 골격으로 같은 계열 base/post-trained 모델의 동일 질문 응답 수집
  • 소형 Qwen3-0.6B-Base와 Qwen3-0.6B 고정 revision을 CPU에 순차 로드. float32·스레드2·탐욕 생성·최대24토큰 조건
  • 양쪽에 같은 공개 문맥·같은 raw prompt 문자열 적용, chat template 미적용. 권장 대화 형식의 instruct 평가와 다른 연속 완성 비교
  • 제공 골격은 수정 없이 실제 원문 출력을 저장. 설치·import·공개 문서·checkpoint·생성 실패는 미수집 또는 부분 수집 상태·오류로 기록하며 산술 관찰과 함께 JSON 저장
  • 공개 문맥 미수집 시 모델 다운로드 생략, 미확보 hash·시간·응답은 null 또는 미수집으로 표시. 교수 작성 예시로 대체하지 않기
  • 일부 checkpoint·질문만 수집됐거나 입력 조건이 불일치하면 전체 쌍 비교 가능 표시를 false로 유지하고 전체 비교 주장 보류
  • 직접 수집 시 모델 ID·revision, 프롬프트, decoding 조건, 수집 시각 기록
  • 같은 계열에서도 checkpoint 훈련 자료·단계 등 차이 존재. 응답 차이를 정렬의 인과 효과·안전성 개선으로 단정하지 않기
  • 최대24토큰으로 문장이 잘릴 수 있으므로 토큰 상한 도달 여부와 raw 입력 조건을 해석에 포함

□ 공개 정보 질문과 시점 질문

  • 정적 질문: “근거에 나타난 제주특별자치도의 두 행정시는?”
  • 시점 질문: “이 근거만으로 제주 관광지가 내일 운영한다고 확답할 수 있는가?”
  • 정적 정보는 제주 공개 문서 고정 판42464087의 실제 문단과 대조. 원문·입력 문맥 hash를 수집 결과에 기록
  • 시점 정보는 최신 공식 운영 공지가 없으면 확인 가능 범위를 명시
  • 실시간 데이터가 없는 상태에서 휴관일·입장료·통제 여부를 지어내지 않기

□ 수집표

항목기록 내용
모델base/instruct 식별자와 revision
입력동일 질문, 동일 근거 문서, 적용한 대화 형식
생성 조건max_new_tokens, temperature, seed 또는 탐욕 여부
관측원문 출력·토큰 ID·상한 도달·수집 시각·CPU 생성 시간
판정확인된 사실, 단정, 근거 유무, 확인 권고
한계정렬 외 조건 차이, 평가자 판단, 표본 수
  • 확보하지 않은 자료: “미수집” 표기, 예시 문장으로 실측 칸을 채우지 않기
  • 이 골격의 입력 조건은 chat template 미적용. 다른 형식의 추가 비교는 별도 조건으로 기록
  • week-10-observations.json의 actual_response_collection에 출처·환경·실제 생성 결과, response_comparison에는 교수 작성 예시를 따로 저장
  • CPU 생성 시간은 다운로드·로딩 제외. GPU 지연·전체 서비스 비용은 미측정
  • 한 쌍의 응답으로 전체 모델 안전성 순위를 매기지 않기

□ 다음 주 연결

  • 이번 주: 응답 끝의 보상 하나를 응답 전체에 전달하는 구조 관찰
  • 다음 주: 중간 단계 평가와 Best-of-N 재순위 비교
  • 질문: 일부 단계가 타당하고 마지막 답만 틀렸을 때 어떤 신호가 필요한가
  • 과정 점수도 정확성·라벨 비용·사용 목적의 검토 필요
  • 미발표 연구 데이터·성과를 교과 예제로 사용하지 않기

Q3 가치 충돌: 자동 응답을 어디까지 허용할 것인가

Section titled “Q3 가치 충돌: 자동 응답을 어디까지 허용할 것인가”

□ 제주 관광 응대 상황 상정

  • 제주 공개 행정·관광정보를 활용하는 안내 시스템 상정
  • 도내 기업 제공 데이터나 실제 운영 시스템 실험 아님
  • 목표: 빨리 답변하면서 확인하지 않은 운영정보의 단정 감소
  • 위험: 잘못된 정보가 관광객에게 도달했을 때의 실제 행동 변화

□ 오답 비용의 구분

질문 유형잘못 답했을 때의 비용운영 기준 예시
정적 행정구역혼동, 수정 안내근거가 일치하면 자동 응답 후보
입장료·운영시간이동 낭비, 추가 지출최신 공식 자료와 갱신 시각 확인
입산·기상 통제안전 위험공식 공지 확인, 불확실하면 확답 보류
예약·결제 변경권리·금전 손실권한 있는 담당자 확인 및 승인
  • 비용 크기는 질문별 추정 근거로 토론, 확인하지 않은 금액·사고 통계 사용 금지
  • 높은 불확실성의 답변을 항상 무응답 처리하면 유용성 손실 가능
  • “확인할 수 없음”과 함께 확인 대상·다음 행동을 안내하는 절충 검토

□ 노트북의 가중치 preset

  • 교육용 기준: utility - safety_weight x risk
  • utility와 risk는 교수 제공 상정값, 검증된 정량 척도 아님
  • 가중치 0, 1, 3을 순서대로 실행하여 선택 순위 관찰
  • 위험한 단정의 risk를 보상에서 빠뜨리면 빠른 답변이 선호될 수 있는 구조 확인
  • 실무의 안전 제한을 하나의 가중합으로 모두 대체하지 않기
  • 고위험 질문은 독립된 허용 조건과 사람 확인이 필요할 수 있음

□ 팀별 토론 산출물

  • 같은 질문에 대한 답변 후보 두 개와 출처
  • 두 후보의 유용성·안전성 충돌 설명
  • 자동 응답 허용 조건, 확인 필요 조건, 사람에게 넘길 조건
  • 선택한 절충의 근거와 남은 불확실성
  • 학생 식별에는 학번만 사용, 이름·연락처 제외
  • [이론] 계보 비교표로 SFT, PPO 기반 RLHF, DPO, GRPO의 감독 입력과 생략한 구성 설명
    • reward와 critic의 역할을 구분하고 R1-Zero 반례, DAPO 집계의 범위를 논문 해당 절과 대조
  • [구현] 제공된 노트북의 모든 셀을 수정 없이 실행하고 broadcast 출력 해석
    • 동일 응답의 반복값, 분산 0, 두 집계값 0과 -0.6을 관찰 기록에 정리
    • advantage나 verifier 직접 구현 없음, 실제 RL 학습 없음
  • [실무] 대면의 Q3 비교표로 관광 답변의 자동 응답 허용 범위 판단
    • 유용성·안전성 충돌을 오답 비용과 최신 근거 확인 조건으로 설명
    • 정렬 전후 응답 수집표에서 예시·실측·미수집을 구분하여 기록
Q1. GRPO는 보상모델도 critic도 모두 없애는가?
  • 없애는 대상은 학습한 critic. 그룹 상대 advantage를 만들 보상은 여전히 필요
  • 보상 공급원은 학습한 모델일 수도, 규칙 verifier일 수도 있음
  • critic-free와 reward-free의 구분
Q2. SFT -> PPO -> DPO -> GRPO를 반드시 모두 거쳐야 하는가?
  • 교육용 계보이며 필수 실행 순서 아님
  • SFT 뒤 DPO를 쓸 수도 있고, R1-Zero처럼 초기 SFT 없이 직접 RL을 적용한 사례도 존재
  • 반례가 있다고 모든 과제에서 SFT 생략이 적절하다는 뜻도 아님
Q3. 같은 응답의 모든 토큰이 같은 advantage면 같은 크기로 학습되는가?
  • advantage만 동일. 토큰별 확률비·gradient·clipping 결과는 다를 수 있음
  • 같은 신호를 전달했다는 사실에서 토큰의 인과 기여나 실제 parameter update의 동일성을 도출 불가
Q4. 보상이 전부 1인 그룹은 전부 0인 그룹보다 advantage가 큰가?
  • 그룹 내부 차이만 보면 둘 다 분산 0. 이 예제에서 상대 advantage는 모두 0
  • 절대 성공률은 다르므로 운영 평가에서는 반드시 구분
  • 실제 학습기의 KL 등 별도 목적항의 효과는 이 비교만으로 판단 불가
Q5. DAPO의 token-level loss는 토큰마다 새로운 점수를 주는가?
  • 해당 집계 변경은 전체 토큰 수를 분모로 삼는 가중치 변경
  • 길이의 영향은 바뀌지만 토큰별 원인의 중요도를 새로 추정하는 장치는 아님
  • DAPO 전체 알고리즘과 이 주차의 집계 예제도 별개
Q6. 예시 두 문장으로 정렬 전후 안전성이 개선되었다고 보고해도 되는가?
  • 교수 작성 문장으로는 모델 성능 개선 주장 불가
  • 실제 비교에는 모델 식별자·revision·입력·생성 조건·수집 시각·출력 원문 필요
  • 한 쌍의 실측이 있어도 전체 안전성과 정렬의 인과 효과를 곧바로 확정하지 않기
  1. reward와 critic의 역할을 각각 한 문장으로 설명하자.
  2. SFT 예제의 정답 토큰 확률이 [0.5, 0.25, 0.8]일 때, 세 위치의 음의 로그확률과 평균 token CE를 계산하자. 모두 0.8인 preset과 어느 쪽 손실이 큰가?
  3. PPO 예제의 old 확률0.20, new 확률0.30, epsilon0.2에서 rho를 구하자. A=+1과 A=-1 각각의 raw 항, clipped 항, 최종 min을 계산하고 두 부호에서 clipping 결과가 다른 이유를 설명하자.
  4. DPO 예제의 reference P(V)=0.10, P(U)=0.20, policy P(V)=0.20, P(U)=0.10, beta0.5에서 두 로그비, margin, 선호확률, loss를 구하자. policy가 reference와 같을 때와 비교하자.
  5. GRPO 보상 [0,0,1,1]의 평균과 표본 표준편차를 구하고, 보상1인 D의 advantage를 계산하자. D의 길이를8에서16으로 바꾸면 각 위치의 advantage는 바뀌는가? [1,1,1,1] 그룹에서는 어떻게 처리하는가?
  6. 기본 offline DPO가 생략하는 단계와 필요한 데이터를 설명하자.
  7. outcome GRPO와 process supervision의 감독 위치를 구분하자.
  8. 같은 advantage가 토큰별 실제 gradient까지 같다는 뜻이 아닌 이유를 설명하자.
  9. 길이2와8의 응답에서 각 토큰 surrogate가 각각+1과-1일 때 응답 평균과 전체 토큰 평균을 구하자. 이 차이가 token credit assignment인가?
  10. 교수 작성 예시와 직접 수집한 응답의 기록 차이를 쓰고, 관광 안내의 높은 reward가 낮은 오답 비용을 보장하는지 설명하자.
정답과 계산 과정 보기
  1. reward는 응답 평가 신호, critic은 접두 상태의 기대 return을 추정하는 baseline. 평가 기준과 그 기준에서 예상할 성과의 구분
  2. 토큰 CE는 각각 -ln(0.5)=0.693147, -ln(0.25)=1.386294, -ln(0.8)=0.223144. 평균은(0.693147+1.386294+0.223144)/3=0.767528. 모두0.8이면 평균0.223144이므로 혼합 preset의 손실이 더 큼. 정답 확률이 낮은 두 번째 위치의 손실이 가장 큼
  3. rho=0.30/0.20=1.5, clip 구간[0.8,1.2]에서 clipped rho=1.2
    • A=+1: raw=1.5, clipped=1.2, min=1.2. 좋은 행동을 과도하게 올린 추가 이득 제한
    • A=-1: raw=-1.5, clipped=-1.2, min=-1.5. 나쁜 행동을 올린 손해가 그대로 남음
    • surrogate의 min 때문에 단순히 확률비를 구간 안으로 고정한 것과 다른 결과
  4. 선호 로그비 ln(0.20/0.10)=ln2=0.693147, 비선호 로그비 ln(0.10/0.20)=-ln2=-0.693147
    • 차이=1.386294, margin=0.5x1.386294=0.693147
    • sigmoid(margin)=1/(1+exp(-0.693147))=2/3=0.666667
    • loss=-ln(2/3)=0.405465
    • policy=reference이면 로그비와 margin 모두0, 선호확률0.5, loss0.693147. 선호 방향 preset의 손실 감소 확인
  5. 평균0.5. 편차 제곱 합은4x0.25=1, 표본 분산1/(4-1)=1/3, 표준편차sqrt(1/3)=0.577350
    • D의 advantage=(1-0.5)/0.577350=+0.866025
    • 길이8에서16으로 바뀌어도 제공 보상과 그룹 통계는 동일하므로 각 위치+0.866025. 반복 위치 개수와 집계 가중치는 달라질 수 있음
    • 동일 보상 그룹의 표준편차는0. 예제는 0으로 나누지 않고 상대 advantage를 모두0으로 처리. 절대 성공률은 혼합 그룹과 다름
  6. 독립 reward model 학습과 PPO rollout 루프 생략. 질문·선호 답변·비선호 답변 쌍 필요
  7. outcome은 완성 응답 보상, process는 중간 단계 보상. 이 주차의 동일 broadcast는 outcome 설정
  8. 각 토큰의 확률비·gradient·clipping 작동이 다를 수 있으므로 동일 update 보장 불가
  9. 응답 평균=(+1-1)/2=0. 전체 토큰 평균=(2x1+8x(-1))/(2+8)=-0.6. 값의 합산 계수·길이 가중치 변경이며 어느 토큰이 원인이었는지 추정한 결과 아님
  10. 예시는 작성 사실 표기, 실측은 모델·revision·입력·생성 조건·시각·원문 기록, 미확보 출력은 미수집 표기. reward가 관광객의 행동 비용을 충분히 반영하지 않으면 높은 점수와 낮은 오답 비용이 불일치할 수 있어 최신 근거와 허용 조건 별도 확인
용어한 줄 뜻
정렬 (alignment)생성 행동을 선택한 선호·가치·규칙 기준에 맞추는 학습과 평가
SFT제공된 시연 답변의 다음 토큰 likelihood를 높이는 지도 미세조정
RLHF사람 피드백을 학습 신호로 사용하는 강화학습 접근
policy주어진 문맥에서 다음 행동·토큰의 확률을 정하는 모델
reward응답 또는 과정의 바람직함을 나타내는 평가 신호
critic / value function상태에서 이후 받을 return의 기대값 추정기
advantage관찰 결과가 baseline보다 얼마나 좋은지 나타내는 상대 신호
old policy현재 배치의 rollout을 생성한 정책, 확률비의 분모
reference policy정책의 분포 변화 제약에 쓰는 비교 기준
DPO선호쌍으로 정책을 직접 최적화하는 목적함수 기반 방법
GRPO같은 질문의 응답 그룹 통계로 학습한 critic을 대체하는 방법
broadcast응답 단위 신호를 해당 응답의 여러 토큰 위치에 반복 전달
loss aggregation토큰·응답별 손실을 하나의 학습 목적값으로 합산하는 방식
credit assignment결과의 신용을 어떤 행동·단계·토큰에 배분할지 정하는 문제
대상출처와 범위
제주 행정정보위키백과 「제주특별자치도」 고정판 42464087, 7주차와 같은 판. 제주시·서귀포시의 정적 사실 확인용
공통 관광 질문과 U/V 답변교수 작성 상정 예시. 관광지의 실제 운영 공지·기업 데이터·모델 실측 출력 아님
SFT와 사람 선호 파이프라인Ouyang 외, 2022, 시연·선호쌍·reward·PPO 구성
clipped surrogateSchulman 외, 2017, PPO 목적함수
직접 선호 목적함수Rafailov 외, 2023, DPO 로그비와 선호쌍
그룹 상대 outcome 신호Shao 외, 2024, DeepSeekMath 4.1.2
SFT 없는 RL 반례DeepSeek-R1, 2025, R1-Zero와 R1 구분
토큰 집계Yu 외, 2025, DAPO 3.3
그림과 계산도입 그림은 개념 일러스트, SVG는 편집 가능한 직접 제작 도식. 수치는 제공값의 산술 계산이며 학습 성능 측정 아님

Open In Colab

  • 준비된 SFT·선호·PPO·DPO 숫자를 실행한 뒤 GRPO의 응답 보상 broadcast와 집계 차이를 관찰하는 노트북
  • Python 표준 라이브러리, CPU 실행. 모델 가중치 다운로드·GPU·패키지 설치 불필요
  • 관찰 전용, 코드 변경 지점 없음. advantage·verifier 직접 구현 요구 없음
  • 실제 모델 학습이나 정렬 성능 측정이 아니라 제공된 숫자의 목적함수 계산
  • 실행 안내: 모든 셀을 수정 없이 순서대로 실행하여 표의 숫자와 JSON 산출물 대조. 출력은 제공값의 산술 결과이며 모델 학습 성능이 아님