Chapter 13: GRPO와 RLVR — 이 교재가 향하던 곳

의문

Ch1에서 DPO로 출발했다. Ch3–7에서 해부하고, Ch8에서 변형들의 지도를 그리고, Ch9–10에서 RL의 이론적 조건을 배우고, Ch11에서 온라인과 오프라인 사이의 현실적 딜레마를 봤고, 인터루드에서 그 고통을 실전으로 체감했다.

모든 길이 하나의 질문으로 수렴한다:

"정답이 있는 도메인이라면,
 인간 라벨도 보상 모델도 데이터셋 큐레이션도 없이,
 검증기 하나로 on-policy RL을 돌릴 수 있지 않나?"

→ DeepSeek-R1이 이것을 증명했다.
→ 그 알고리즘이 GRPO이고, 그 패러다임이 RLVR이다.

배경: DPO의 약점이 드러나다

Part I–II에서 축적된 DPO의 구조적 한계:
  1. 정적 데이터 → 분포 이동 (Ch11: 학습이 진행되면 데이터가 낡는다)
  2. 쌍의 품질에 전적으로 의존 (인터루드: 가비지 인, 가비지 아웃)
  3. 탐색(exploration) 불가능 — 알려진 답만 강화할 수 있다 (부록 E: on-policy 루프 제거의 대가)
  4. 데이터셋이 일회용 (인터루드: 레퍼런스가 바뀌면 데이터 전체가 무효화)

→ 수학, 코드 같은 "정답이 있는" 도메인에서는:
  검증기가 [2]를 해결하고 (자동 품질 평가)
  on-policy 생성이 [1][3]을 해결하고 (현재 모델로 생성 + 탐색)
  매 배치마다 새 데이터가 [4]를 해결한다 (데이터셋이 매번 갱신)

GRPO: PPO에서 두 모델을 빼다

GRPO(Group Relative Policy Optimization)는 DeepSeek이 제안한 RL 알고리즘이다. PPO에서 **가치 모델(Value Model)**과 **보상 모델(Reward Model)**을 제거했다.

이것이 왜 중요한지를 이해하려면, PPO의 무거움부터 봐야 한다.

PPO가 필요로 하는 것 (RLHF 풀 파이프라인):

  1. 정책 모델 (π_θ)      — 학습 대상. 응답을 생성한다.
  2. 레퍼런스 모델 (π_ref) — KL 제약용. 정책이 너무 멀어지지 않게.
  3. 보상 모델 (R)         — 응답에 점수를 매긴다. 별도로 학습해야 한다.
  4. 가치 모델 (V)         — "이 상태에서 앞으로 기대되는 총 보상"을 추정.
                             어드밴티지 계산에 필요. 역시 별도로 학습해야 한다.

  → 70B 모델 4개를 동시에 메모리에 올려야 한다.
  → 실무적으로 엄청난 GPU 비용.
  → InstructGPT(OpenAI, 2022)가 이 방식을 썼지만,
    대부분의 연구실과 회사는 이 비용을 감당할 수 없었다.
  → DPO가 인기를 끈 이유: 이 4개 모델을 2개로 줄였으니까.
graph LR
    subgraph ppo["PPO (RLHF 풀 파이프라인)"]
        direction LR
        P1["π_θ<br/>정책 모델"] ~~~ P2["π_ref<br/>레퍼런스"]
        P3["R<br/>보상 모델"] ~~~ P4["V<br/>가치 모델"]
    end

    subgraph grpo["GRPO"]
        direction LR
        G1["π_θ<br/>정책 모델"] ~~~ G2["π_ref<br/>레퍼런스"]
        G3["✅ 검증기<br/>(규칙 기반)"] ~~~ G4["📊 그룹 통계<br/>(샘플 평균)"]
    end

    ppo -->|"4개 모델 → 2개 모델 + 규칙"| grpo

    style ppo fill:#ffcdd2,stroke:#C62828
    style grpo fill:#c8e6c9,stroke:#2E7D32
    style P3 fill:#ef9a9a,stroke:#C62828
    style P4 fill:#ef9a9a,stroke:#C62828
    style G3 fill:#a5d6a7,stroke:#2E7D32
    style G4 fill:#a5d6a7,stroke:#2E7D32

GRPO는 다른 방식으로 줄인다:

GRPO가 제거하는 것:

  [보상 모델 제거]
    PPO: 별도 학습한 보상 모델 R(x, y)이 점수를 매긴다.
    GRPO: 검증기(verifier)로 대체한다.
      → 수학: "정답이 42인가?" → 1/0
      → 코드: "테스트를 통과하는가?" → 1/0
      → 보상 모델을 학습할 필요가 없다 — 규칙이 보상이다.

  [가치 모델 제거 — GRPO의 핵심 기여]
    PPO: "이 상태에서 앞으로 기대되는 보상"을 추정하는 가치 모델 V(s)가 필요.
         어드밴티지 = 실제 보상 − V(s)  (베이스라인 차감)
         → V(s)를 별도로 학습해야 한다.

    GRPO: 가치 모델 대신 "그룹 통계"를 베이스라인으로 쓴다.
         같은 프롬프트에 대해 G개의 응답을 생성하고,
         이 G개의 보상의 평균과 표준편차를 계산하면,
         그것이 곧 베이스라인이다.

    왜 이것이 작동하는가:
      가치 모델이 추정하려는 것 = "이 프롬프트에서 기대되는 평균 보상"
      G개 응답의 평균 보상 = 같은 것의 몬테카를로 추정값
      → 별도 모델을 학습하는 대신, 샘플링으로 직접 추정하는 것.
      → 추정 오차는 G가 클수록 줄어든다 (중심극한정리).

구체적으로 GRPO가 작동하는 과정을 한 프롬프트에 대해 따라가보자:

[GRPO 한 스텝의 전체 흐름]

  프롬프트: x = "1부터 100까지의 합은?"

  Step 1: 현재 정책 π_θ로 G=8개 응답을 생성
    y₁: "5050입니다. 가우스 공식으로..."           → 검증기: 정답 ✓  r₁ = 1
    y₂: "5050. 1+100=101, 101×50=5050"           → 검증기: 정답 ✓  r₂ = 1
    y₃: "답은 5050이에요"                          → 검증기: 정답 ✓  r₃ = 1
    y₄: "4950입니다. 1+2+...+99=4950"             → 검증기: 오답 ✗  r₄ = 0
    y₅: "5050. 등차수열의 합 공식 S=n(n+1)/2..."   → 검증기: 정답 ✓  r₅ = 1
    y₆: "100×101÷2 = 5050"                        → 검증기: 정답 ✓  r₆ = 1
    y₇: "5500입니다"                               → 검증기: 오답 ✗  r₇ = 0
    y₈: "계산하면 5050이 됩니다. 이는..."           → 검증기: 정답 ✓  r₈ = 1

  Step 2: 그룹 통계 계산
    보상: [1, 1, 1, 0, 1, 1, 0, 1]
    평균 μ = 6/8 = 0.75
    표준편차 σ = 0.433

  Step 3: 정규화된 어드밴티지 계산
    Â_i = (r_i − μ) / σ

    y₁: Â = (1 − 0.75) / 0.433 = +0.577  → 평균보다 나음 → 강화
    y₂: Â = +0.577                         → 강화
    y₃: Â = +0.577                         → 강화
    y₄: Â = (0 − 0.75) / 0.433 = −1.732  → 평균보다 나쁨 → 억제
    y₅: Â = +0.577                         → 강화
    y₆: Â = +0.577                         → 강화
    y₇: Â = −1.732                         → 억제
    y₈: Â = +0.577                         → 강화

  Step 4: 정책 그래디언트 업데이트
    각 응답에 대해:
      그래디언트 ∝ Â_i × ∇_θ log π_θ(y_i | x)

    → 정답 응답(y₁,₂,₃,₅,₆,₈)의 로그확률을 올린다
    → 오답 응답(y₄,₇)의 로그확률을 내린다
    → 얼마나 올리고 내리는지는 어드밴티지의 크기가 결정

  Step 5: KL 제약
    π_θ가 π_ref에서 너무 멀어지지 않도록 KL 페널티 추가
    (Ch5에서 배운 "줄"과 동일한 역할)
왜 "그룹 상대적(Group Relative)"인가:

  핵심: 어드밴티지가 절대적이 아니라 상대적이다.

  만약 8개 응답 모두 정답이면?
    보상: [1, 1, 1, 1, 1, 1, 1, 1]
    평균 μ = 1, 표준편차 σ = 0
    → 모든 어드밴티지가 0 → 아무것도 학습하지 않는다.
    → 모두 맞으면 이 프롬프트에서 배울 것이 없다.

  만약 8개 응답 모두 오답이면?
    보상: [0, 0, 0, 0, 0, 0, 0, 0]
    → 역시 모든 어드밴티지가 0 → 아무것도 학습하지 않는다.
    → Ch10에서 배운 "롤아웃 적정 난이도"와 정확히 대응:
      pass@G가 0%이거나 100%이면 시그널이 없다.
      30–70% 범위에서 시그널이 최대.

  → GRPO는 자동으로 "적정 난이도"의 프롬프트에서만 학습한다.
    쉬운 문제(모두 정답)와 어려운 문제(모두 오답)는 자연스럽게 건너뛴다.

DPO와 GRPO를 나란히 놓으면 차이가 선명해진다:

| 측면              | DPO                          | GRPO                         |
|-------------------|------------------------------|------------------------------|
| 데이터 생성       | 사전에 만들어둔 고정 데이터셋  | 매 배치마다 현재 모델이 생성   |
| 비교 구조         | 쌍비교 (y_w vs y_l)          | 그룹비교 (G개 중 상대 순위)   |
| 보상 출처         | 인간 라벨 또는 보상 모델       | 검증기 (규칙 기반)            |
| 베이스라인        | 레퍼런스 모델 (π_ref)         | 그룹 평균 (μ)                |
| 분포 이동         | 있음 (학습 진행 시)           | 없음 (on-policy)             |
| 필요 모델 수      | 2 (정책 + 레퍼런스)           | 2 (정책 + 레퍼런스)           |
| 탐색 능력         | 없음 (고정 데이터)            | 있음 (매번 새로 생성)         |
| 적용 가능 도메인  | 모든 도메인                   | 정답 검증 가능한 도메인       |
| 데이터 큐레이션   | 필수 (6단계 파이프라인)        | 불필요 (분포가 곧 큐레이션)   |

→ GRPO는 DPO의 모든 구조적 한계를 해결한다.
  대가: "정답이 있는 도메인"이라는 전제가 필요하다.

부록 E에서 다뤘던 REINFORCE와의 관계:

REINFORCE: 그래디언트 ∝ r(y) × ∇_θ log π_θ(y)
  → 문제: r(y)의 절대값이 크면 분산이 폭발
  → 해결: 베이스라인 b를 빼서 (r(y) − b) × ∇_θ log π_θ(y)
  → PPO: 가치 모델 V(s)가 베이스라인 역할

GRPO:  그래디언트 ∝ Â_i × ∇_θ log π_θ(y_i)
  → Â_i = (r_i − μ_group) / σ_group
  → μ_group이 베이스라인 역할 (가치 모델 대신)
  → σ_group으로 나눠서 분산을 정규화

→ GRPO는 REINFORCE의 분산 문제를 "더 많이 샘플링"으로 해결한다.
  가치 모델을 학습하는 대신, G개를 뽑아서 통계를 직접 구한다.
  단순하지만, G가 충분히 크면 가치 모델만큼 좋은 베이스라인이 된다.

GRPO는 이 교재의 "ResNet 모먼트"다

Ch8에서 CNN의 비유를 들었다:
  LeNet → AlexNet → VGG → GoogLeNet → ResNet

DPO 계보에서 IPO, KTO, ORPO, SimPO, Rainbow PO는
AlexNet~GoogLeNet에 해당한다:
  각각 의미 있는 개선이지만, 근본 패러다임(오프라인 + 정적 데이터)은 같다.
  Rainbow PO는 이 변형들을 7축 좌표계로 깔끔하게 정리했지만,
  패러다임 자체를 바꾸지는 않았다.

GRPO가 ResNet 모먼트인 이유:

  ResNet의 잔차 연결이 해결한 것:
    "네트워크를 깊게 쌓으면 그래디언트가 소실/폭발한다"
    → CNN만의 문제가 아니라, 딥러닝 자체의 근본 문제
    → 잔차 연결이라는 단순한 아이디어 하나로 해결
    → 이후 Transformer, ViT, 사실상 모든 딥러닝 아키텍처에 영향

  GRPO + RLVR이 해결한 것:
    "LLM 정렬에는 인간 라벨과 보상 모델이 필요하다"
    → DPO만의 문제가 아니라, RLHF 패러다임 자체의 근본 전제
    → "그룹 통계로 베이스라인 + 검증기로 보상"이라는 단순한 조합으로 해결

하지만 GRPO를 ResNet 모먼트라고 부를 수 있는 진짜 이유는 알고리즘의 단순함이 아니다. DeepSeek-R1이 보여준 파급효과 때문이다.

DeepSeek-R1이 대단했던 것:

  학습한 것: 수학 문제와 코드 문제 (RLVR — 검증기가 있는 도메인)
  잘하게 된 것: 수학, 코드, 그리고 일반 추론까지

  이것이 왜 놀라운가:
    RLVR은 "정답이 있는" 도메인에서만 작동한다고 했다.
    수학에서 "42가 맞는가?"로 보상을 준다.
    그런데 수학을 잘 풀도록 학습했더니,
    법률 추론, 과학 논증, 상식 추론까지 좋아졌다.

    "수학 시험 준비를 했는데 국어 성적까지 올랐다."
    이런 일이 왜 벌어졌는가?

그 다리 역할을 한 것이 **CoT(Chain of Thought)**다:

GRPO + RLVR이 수학에서 강화하는 것:

  보상: "최종 답이 맞는가?" (이진 검증)
  하지만 모델이 정답에 도달하려면 중간 과정이 필요하다:
    "문제를 이해하고 → 하위 문제로 분해하고 →
     각 단계를 계산하고 → 결과를 검증하고 → 답을 제출"

  GRPO가 "정답인 응답"을 강화할 때,
  그 응답 안에 담긴 CoT 전체가 함께 강화된다:
    → "문제를 분해하는 패턴"이 강화된다
    → "중간 결과를 검증하는 습관"이 강화된다
    → "논리적 단계를 밟는 구조"가 강화된다

  이 패턴들은 수학에만 쓰이는 것이 아니다:
    "문제를 분해하라" → 법률 추론에서도 동일
    "중간 결과를 검증하라" → 과학 논증에서도 동일
    "논리적 단계를 밟아라" → 상식 추론에서도 동일

  → CoT가 "도메인 특화 기술"이 아니라 "범용 추론 능력"이었던 것이다.
  → 수학 RLVR은 수학을 가르친 것이 아니라,
    "단계적으로 생각하는 법"을 가르친 것이다.
  → CoT가 수학과 일반 추론 사이의 다리(bridge) 역할을 한다.

이것이 ResNet의 파급효과와 대응하는 지점:

ResNet의 파급효과:
  해결한 것: 깊은 CNN의 그래디언트 소실
  파급된 것: "잔차 연결"이라는 아이디어가
    → NLP (Transformer의 잔차 연결)
    → 음성 (WaveNet)
    → 강화학습 (deep RL networks)
    → 사실상 모든 딥러닝 아키텍처의 기본 구성요소가 됨
  핵심: 해결책이 원래 문제(CNN)를 넘어서 보편적이었다

GRPO + RLVR + CoT의 파급효과:
  해결한 것: 수학/코드의 검증 가능한 RL
  파급된 것:
    → 일반 추론: R1이 수학 RLVR만으로 범용 추론 능력 획득
    → 코딩 에이전트: GRPO로 SWE-bench 성능 향상 (Ch17)
    → 자율주행: DiffusionDriveV2가 GRPO를 주행 정책에 적용 (Ch16)
    → 시각 생성: DanceGRPO가 GRPO를 디퓨전에 적용 (Ch16)
    → 에이전틱 AI: OpenClaw-RL이 GRPO 스타일 PRM을 에이전트에 적용 (Ch17)
    → 로보틱스: Diffusion Policy + RL 조합에 GRPO 아이디어 적용
  핵심: "검증 가능한 도메인에서 학습 → CoT 다리 → 범용 능력"이라는
    패턴이 원래 도메인(수학)을 넘어서 보편적이었다

  공통점:
    - 기존 시행착오들을 "하나의 근본 문제"로 환원한다
    - 놀라울 정도로 단순한 해법이다
    - 해당 분야를 넘어 전체 생태계에 영향을 준다
    - 이전의 복잡한 접근들이 불필요해진다 (PPO의 4모델 → GRPO의 2모델)

DeepSeek-R1 이후 벌어진 일:

2025년 1월 R1 공개 이후, 3개월 만에:

  1. 오픈소스 재현:
     → Open-Reasoner-Zero, Sky-T1, 다수의 재현 프로젝트
     → 작은 모델(7B~14B)에서도 GRPO+RLVR로 추론 능력 부스트 확인
     → "대형 랩만의 기술"이 아님을 증명

  2. 도메인 확장:
     → 의학 MCQA (Med-RLVR), SQL (Databricks), 법률 추론
     → "검증기만 설계할 수 있으면 어디든 적용 가능"
     → 평가기준 기반 보상(Rubrics-as-Rewards)으로 일반 도메인까지 확장 시도

  3. 모달리티 확장:
     → T2I-R1: 이미지 생성에 CoT + GRPO
     → DanceGRPO: 영상 생성에 GRPO
     → DiffusionDriveV2: 자율주행에 GRPO

  4. 에이전틱 확장:
     → ACT, KARL, OpenClaw-RL — 에이전트 학습에 GRPO 스타일 적용
     → "환경 피드백 = 검증기"라는 일반화

  → "수학 RLVR"이라는 씨앗 하나가, CoT라는 다리를 통해,
    사실상 모든 AI 응용 분야로 퍼져나갔다.
    이것이 GRPO를 이 교재의 ResNet 모먼트라고 부르는 이유다.

RLVR: "정답이 있다"는 특권

RLVR(Reinforcement Learning with Verifiable Rewards)은 GRPO의 보상을 규칙 기반 검증기로 제공하는 패러다임이다.

검증기의 예:
  수학: "정답이 42인가?" → 1 (맞음) / 0 (틀림)
  코드: "테스트 케이스를 통과하는가?" → 1 / 0
  논리: "형식 규칙을 따르는가?" → 1 / 0

핵심 전제: 정답의 정오를 자동으로 판별할 수 있어야 한다

이 전제가 충족되면 RLVR은 극도로 효율적이다:

특히 두 번째 항목이 중요하다. 이 교재 전반에 걸쳐 반복된 리워드 해킹 문제가 여기서 구조적으로 사라진다:

왜 RLVR에서는 리워드 해킹이 (거의) 불가능한가:

  Ch5에서 본 sycophancy 해킹:
    "아첨하면 보상 모델 점수가 올라간다"
    → RLVR: "1+1=3이라고 아첨해도 검증기는 0점을 준다."
    → 검증기를 속이는 방법은 정답을 맞히는 것뿐이다.

  Ch7에서 본 스칼라 축약 해킹:
    "한 차원을 극대화하고 다른 차원을 희생"
    → RLVR: 보상이 1/0 이진값이므로 차원 자체가 하나.
    → 정답이거나 오답이거나. 사이에 빈틈이 없다.

  Ch11에서 본 형식 해킹:
    "마크다운을 도배하면 보상이 올라간다"
    → RLVR: 마크다운이 있든 없든 "42"가 답이면 1, 아니면 0.
    → 형식은 보상에 영향을 주지 않는다.

  Ch15에서 볼 CLIP 해킹:
    "이미지에 텍스트를 그려넣으면 CLIP 점수가 올라간다"
    → RLVR에 해당하는 것이 없다 — "아름다운 이미지"는
      이진 검증이 불가능하므로 RLVR을 적용할 수 없다.
    → 이것이 RLVR의 적용 가능 도메인이 제한되는 근본 이유.

  요약:
    보상 모델 = 불완전한 대리인 → 빈틈을 찾을 수 있다 = 해킹 가능
    검증기 = 정답의 정의 자체 → 빈틈이 없다 = 해킹 불가능
    (단, 검증기 자체에 버그가 있으면 해킹 가능 — 이것은 다른 문제)

적용 가능 vs 불가능 — 결정적 경계선

✓ RLVR이 작동하는 도메인:
  - 수학 문제 풀이: 정답 존재, 검증 용이
  - 코딩: 테스트 케이스 실행으로 검증
  - 논리 퍼즐: 규칙 기반 검증
  - 의학 MCQA: 정답이 있는 객관식 (Med-RLVR)
  - SQL: 실행 결과 비교 (Databricks Text2SQL)

✗ RLVR이 작동하지 않는 도메인:
  - 역할극의 자연스러운 대답: "정답"이 없다
  - 창작 글쓰기: 좋은 글의 기준이 주관적
  - 브랜드 보이스: "우리 회사 톤인가?"를 규칙으로 못 잡는다
  - 미묘한 논증: 논리적이되 설득력 있는 글 — 이진 판별 불가

경계 영역 (이론적으로 가능하나 현실적으로 어려운):
  - 내용의 모순 검증: "이 문장과 저 문장이 모순인가?"
    → 검증기 설계는 가능하지만, 보상 시그널이 극도로 희소
    → 대부분의 출력이 모순 없음(보상 = 1) → 유의미한 그래디언트가 거의 없음
    → 아주 가끔 모순이 발생할 때만 학습 시그널 → 실질적으로 학습 불가능

희소 보상의 벽: 왜 "가끔 틀림"으로는 안 되는가

이진 보상의 문제:
  프롬프트 100개에 대해 각각 8개 출력 생성 (총 800개)
  모순이 발생하는 출력: 800개 중 12개 (1.5%)
  → 12개만 보상 = 0, 나머지 788개는 보상 = 1
  → 그룹 내 어드밴티지가 거의 0 → 그래디언트 소실

대조:
  수학 문제: 8개 출력 중 평균 3개 정답, 5개 오답
  → 그룹 내 분산이 크다 → 어드밴티지 시그널이 강하다
  → "이 풀이는 맞았고 저 풀이는 틀렸다"를 선명하게 구분

이 문제를 해결하려는 시도들:

반전: RLVR은 모델을 “더 똑똑하게” 만드는가?

최근 연구들이 제기하는 근본적 질문:

“Limit of RLVR” (2025):

실험: 베이스 모델 vs RLVR 학습 모델의 pass@k 비교

pass@1: RLVR 모델 >> 베이스 모델 (RLVR 압승)
pass@8: RLVR ≈ 베이스
pass@256: 베이스 모델 >> RLVR 모델 (베이스 역전!)

해석:
  RLVR은 "8번 시도하면 풀 수 있는 문제를 1번에 풀게" 만든다
  → 탐색 효율의 향상 (sampling compression)
  → 새로운 추론 능력의 획득이 아니다
  → 탐색 공간이 좁아져서, 많이 시도하면 오히려 다양성이 줄어든다

“Spurious Rewards” (Shao et al., 2025):

Qwen2.5-Math-7B에 대해:
  정답 보상:  MATH-500 +29.1%
  랜덤 보상:  MATH-500 +21.4%  ← 랜덤인데도 효과가 있다?!
  틀린 라벨:  MATH-500 +24.1%  ← 오답을 정답이라 해도 학습?!

하지만 Llama3, OLMo2에서는 이 효과가 재현되지 않음

가설: RLVR은 사전학습에서 이미 배운 추론 표현을 "표면으로 끌어올리는" 것
  → 보상의 내용보다 RL 학습 과정 자체가 활성화를 유도
  → (주의: Qwen 특수성 — 학습 데이터 오염 가능성도 제기됨)

이 반전이 교재에서 중요한 이유

Ch1–7에서 해부한 DPO의 각 요소 (쌍, ref, BT, ...)는
"어떤 시그널로 학습하는가"를 다뤘다.

GRPO/RLVR은 정반대 질문을 던진다:
"시그널이 정확하기만 하면, 극도로 단순해도 되는가?"
→ 이진 보상(0/1)만으로 수학 추론이 향상된다
→ 심지어 랜덤 보상으로도 (일부 모델에서) 향상된다

이것은 "학습 시그널의 품질 vs 학습 과정 자체의 힘"이라는
근본적 긴장을 드러낸다.
graph LR
    subgraph grpo["GRPO 한 스텝"]
        direction TB
        X["프롬프트 x"] --> GEN["π_θ로 G=8개 응답 생성"]
        GEN --> Y1["y₁ ✓ r=1"]
        GEN --> Y2["y₂ ✓ r=1"]
        GEN --> Y3["y₃ ✗ r=0"]
        GEN --> Y4["y₄ ✓ r=1"]
        GEN --> MORE["..."]
        Y1 & Y2 & Y3 & Y4 & MORE --> STAT["그룹 통계<br/>μ, σ 계산"]
        STAT --> ADV["정규화 어드밴티지<br/>Â = (r − μ)/σ"]
        ADV --> UP["정책 업데이트<br/>✓ 강화 / ✗ 억제"]
    end

    style Y1 fill:#c8e6c9,stroke:#2E7D32
    style Y2 fill:#c8e6c9,stroke:#2E7D32
    style Y3 fill:#ffcdd2,stroke:#C62828
    style Y4 fill:#c8e6c9,stroke:#2E7D32
    style UP fill:#e3f2fd,stroke:#1565C0,stroke-width:2px

시각화 계획

다음 장으로의 질문

Ch1에서 출발한 여정이 여기서 도착한다. DPO(오프라인, 쌍비교) → 변형들(Ch8) → 이론적 조건(Ch9–10) → 현실의 딜레마(Ch11) → GRPO/RLVR(온라인, 검증 가능 도메인).

하지만 이 모든 건 텍스트, 즉 자기회귀 모델의 이야기였다. 같은 도구들을 이미지, 영상, 로보틱스에 가져가면 어떻게 되는가?