Constitutional AI와 자기 개선

RLHF는 사람을 루프(loop) 안에 둡니다. Constitutional AI는 그 대부분을 모델 자체로 대체합니다. 원칙 목록을 작성하고, 모델이 그 원칙에 비춰 자신의 출력을 비평(critique)하게 한 뒤, 그 비평을 바탕으로 학습합니다. DeepSeek-R1은 2025년에 이를 더 밀어붙였습니다. 모델이 수백만 개의 추론 흔적(reasoning trace)을 만들게 하고, 규칙으로 채점한 다음, 그 결과에 GRPO를 실행합니다. 2026년 기준 프런티어 모델(frontier model)의 "정렬 작업(alignment work)" 상당 부분은 모델이 스스로 정렬하는 과정입니다. 이 레슨에서는 두 루프를 모두 만듭니다.

유형: Build
언어: Python 표준 라이브러리, NumPy
선수 지식: Phase 10, Lessons 06-08(SFT, RLHF, DPO)
예상 시간: 약 45분

학습 목표

  • Constitutional AI의 두 단계 루프, 즉 자기 비평(self-critique)과 자기 수정(self-revision), 그리고 수정 쌍(revised pair)에 대한 선호 학습(preference training)을 구현합니다.
  • GRPO(Group-Relative Policy Optimization) 목적 함수를 유도하고, DeepSeek-R1의 그룹 상대 정책 최적화가 PPO의 가치 함수 기준선(value-function baseline)과 어떻게 다른지 비교합니다.
  • 규칙 기반 결과 보상(rule-based outcome reward)으로 검증 가능한 추론 흔적을 생성하고, 별도 보상 모델 없이 채점합니다.
  • 자기 개선(self-improvement)이 인간 선호 데이터보다 나은 경우와 모드 탐색(mode seeking)으로 붕괴하는 경우를 구분합니다.

문제

Lesson 07에서 RLHF를 만들었고, Lesson 08에서 DPO를 만들었습니다. 두 방법은 같은 비싼 입력에 의존합니다. 인간 선호 쌍(human preference pair)입니다. Anthropic의 InstructGPT 시대 파이프라인은 대략 33,000개의 비교를 사용했습니다. Llama 2 Chat은 150만 개가 넘는 비교를 사용했습니다. Claude 3는 더 많이 사용했습니다. 이 데이터는 느리고, 비싸며, 평가 당일 평가자(annotator)가 믿고 있던 기준에 편향됩니다.

2022년 Constitutional AI 논문은 단순한 질문을 던졌습니다. 모델이 선호 라벨(preference label)을 직접 생성하면 어떨까? 모델에게 원칙 목록, 즉 "헌법(constitution)"을 주고 자신의 응답을 비평하게 합니다. 이 비평이 학습 신호가 됩니다.

2024년 DeepSeek은 이 아이디어를 더 확장했습니다. 검증 가능한 결과(verifiable outcome)가 있는 모든 작업, 예를 들어 답이 알려진 수학, 테스트를 통과하거나 실패하는 코드, 이기거나 지는 게임에서는 비평가(critic) 자체를 건너뛸 수 있음을 보였습니다. 많은 후보 해법(candidate solution)을 생성하고, 각 해법을 결정적 규칙(deterministic rule)으로 채점한 뒤, 보상에 대해 정책 그래디언트(policy-gradient) 알고리즘을 실행합니다. DeepSeek-R1은 거의 인간 선호 데이터 없이 이런 방식으로 학습되었고, o1 계열 추론 성능에 근접했습니다.

이 두 루프, 즉 주관적 행동(subjective behavior)을 위한 Constitutional AI와 검증 가능한 행동(verifiable behavior)을 위한 규칙 기반 RL은 2026년 기준 주요 정렬 레시피입니다. 예전에는 RLHF에 쓰이던 인간 선호 예산이 이제는 더 작은 단계에 쓰입니다. 헌법을 고르고, 보상 규칙을 고르는 일입니다.

사전 테스트

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

1.Constitutional AI는 인간 선호 라벨(human preference label) 대부분을 작성된 헌법(constitution)에 기반한 모델 자기 판단(self-judgment)으로 대체합니다. 정렬 목표를 라벨 데이터가 아닌 텍스트로 인코딩하는 실무적 이점은 무엇인가요?

2.GRPO는 PPO가 어드밴티지(advantage)를 추정하는 데 사용하는 핵심 구성요소를 대체합니다. GRPO가 제거한 것은 무엇이고, 대신 무엇을 사용하나요?

0/2 답변 완료

개념

Constitutional AI 루프

Bai 등(2022)은 파이프라인을 두 단계로 구조화했습니다.

1단계(Stage 1): AI 피드백 기반 지도학습(Supervised Learning from AI Feedback; SL-CAI). 유용하지만 해로울 수 있는 SFT 모델에서 시작합니다. 잠재적으로 해로운 요청을 프롬프트로 넣습니다. 각 응답에 대해 같은 모델에게 헌법 원칙에 비춰 자신의 응답을 비평하게 한 뒤 수정하게 합니다. 수정된 응답으로 파인튜닝합니다. 데이터셋은 (prompt, revised_response) 쌍입니다.

2단계(Stage 2): AI 피드백 기반 강화학습(Reinforcement Learning from AI Feedback; RLAIF). 응답 쌍을 샘플링합니다. 모델에게 헌법을 기준으로 어느 응답이 더 나은지 판단하게 합니다. 이 쌍별 선호(pairwise preference)가 보상 모델을 학습합니다. 그런 다음 그 보상으로 PPO 또는 DPO를 실행합니다. RLHF와의 핵심 차이는 선호가 사람이 아니라 모델에서 왔다는 점입니다.

graph TD
    subgraph SL["Stage 1: SL-CAI"]
        P1["해로운 프롬프트"] --> R1["초기 응답\n(해로울 수 있음)"]
        R1 --> C1["모델이 원칙에 비춰\n자기 응답을 비평"]
        C1 --> REV["모델이 응답 수정"]
        REV --> SFT["(prompt, revised)로\nSFT"]
    end

    subgraph RL["Stage 2: RLAIF"]
        P2["프롬프트"] --> S1["응답 A 샘플"]
        P2 --> S2["응답 B 샘플"]
        S1 --> J["모델이 헌법 기준으로\nA vs B 판단"]
        S2 --> J
        J --> RM["선호 데이터셋"]
        RM --> TRAIN["DPO / PPO 학습"]
    end

    SL --> RL

    style P1 fill:#1a1a2e,stroke:#e94560,color:#fff
    style REV fill:#1a1a2e,stroke:#51cf66,color:#fff
    style P2 fill:#1a1a2e,stroke:#e94560,color:#fff
    style TRAIN fill:#1a1a2e,stroke:#51cf66,color:#fff

헌법은 레버(lever)입니다. Anthropic의 원래 버전에는 16개 원칙이 있었고, 이후 확장되었습니다. 원칙은 예를 들어 "다양한 문화적 배경을 가진 누구에게도 불쾌할 가능성이 가장 낮은 응답을 선택하라" 같은 문장입니다. 각 단계에서 원칙을 고르는데, 때로는 무작위로, 때로는 프롬프트 범주에 따라 고릅니다.

헌법이 실제로 하는 일

헌법은 정렬 계약(alignment contract)을 데이터에서 텍스트로 옮깁니다. RLHF에서 행동을 바꾸려면 수천 개의 쌍을 다시 라벨링해야 합니다. CAI에서 행동을 바꾸려면 문단을 수정하면 됩니다. 이것이 가장 큰 실무적 이점입니다.

비용도 있습니다. 모델의 자기 판단(self-judgment)은 시작 모델의 보정(calibration)만큼만 좋습니다. SFT 모델에 사각지대(blind spot)가 있다면, 예를 들어 조작적 표현(manipulative phrasing)을 인식하지 못한다면, 비평 단계도 그 사각지대를 그대로 물려받습니다. CAI는 정렬 루프를 압축하지만, 기반 모델의 한계를 넘어 신호를 증폭할 수는 없습니다. 그래서 모든 프로덕션 CAI 파이프라인은 여전히 일부 인간 선호 데이터를 사용합니다. 보통 순수 RLHF 대비 5-10% 규모입니다.

GRPO: 그룹 상대 정책 최적화

DeepSeek은 DeepSeekMath 논문(2024)에서 GRPO를 소개했고, DeepSeek-R1(2025)의 핵심으로 사용했습니다. GRPO는 가치 함수(value function)를 제거한 PPO 변형입니다.

Lesson 07의 PPO 목적 함수를 떠올려 봅니다.

L_PPO = E[min(r(theta) * A, clip(r(theta), 1-eps, 1+eps) * A)]

여기서 A는 어드밴티지(advantage)입니다. 보통 학습된 가치 네트워크 V(s)를 사용해 GAE(Generalized Advantage Estimation)로 추정합니다. 가치 네트워크는 정책과 같은 크기의 두 번째 모델입니다. 메모리를 두 배로 쓰고, 자체 학습 루프를 추가합니다.

GRPO는 가치 함수를 버립니다. 각 프롬프트마다 G개의 응답을 샘플링합니다. 보통 G=16 또는 G=64입니다. 각 응답의 보상을 계산한 뒤 그룹 안에서 정규화합니다.

A_i = (r_i - mean(r_1, ..., r_G)) / std(r_1, ..., r_G)

어드밴티지는 같은 프롬프트에서 나온 형제 응답(sibling response) 대비 보상의 z-점수(z-score)입니다. 가치 함수가 없습니다. 그룹 자체가 기준선(baseline)입니다.

L_GRPO = E[min(r(theta) * A_group, clip(r(theta), 1-eps, 1+eps) * A_group)] - beta * KL(pi || pi_ref)

참조 모델에 대한 KL 패널티는 PPO와 마찬가지로 남아 있습니다. 클립 비율도 남아 있습니다. 사라지는 것은 별도 비평가(critic)입니다.

추론 작업에서 GRPO가 중요한 이유

추론 작업에서 보상은 대개 희소하고 이진적입니다. 최종 답이 맞거나 틀립니다. 희소 이진 보상으로 학습한 가치 함수는 낭비에 가깝습니다. 최종 단계 전까지 거의 모든 상태의 기대 반환(expected return)이 비슷하므로 유용한 중간 추정치를 배우기 어렵습니다. GRPO의 그룹 정규화는 즉시 상대 신호를 줍니다. 같은 수학 문제에 대한 16번의 시도 중, 이 문제 안에서 평균보다 나은 시도는 무엇인가?

규칙 기반 보상(rule-based reward)에서 얻는 신호는 정확히 이런 모양입니다.

  • 수학(Math): sympy나 기호 검사기(symbolic checker)가 최종 답이 맞는지 결정합니다.
  • 코드(Code): 테스트 스위트(test suite)가 통과/실패를 결정합니다.
  • 서식(Formatting): 정규식(regex)이 답이 필요한 XML 태그 안에 있는지 결정합니다.
  • 다단계 증명(Multi-step proofs): Lean, Coq 같은 증명 보조기(proof assistant)가 유효성을 결정합니다.

DeepSeek-R1-Zero는 두 가지 보상만으로 학습되었습니다. 수학 벤치마크의 정확도와 <answer> 태그 안에 답을 넣는 형식 준수(format compliance)입니다. 인간 선호도 없고, 비평가 모델도 없었습니다. DeepSeek 논문이 설명한 "aha moment", 즉 모델이 자발적으로 자기 점검(self-checking)과 되돌아가기(backtracking)를 배우는 현상은 희소 규칙 보상만으로 GRPO를 실행하면서 나타났습니다.

과정 보상 모델과 결과 보상 모델

설계 선택지는 여전히 남아 있습니다. 최종 답을 보상할 것인가, 즉 결과 보상 모델(ORM, Outcome Reward Model)을 쓸 것인가, 아니면 각 중간 단계를 보상할 것인가, 즉 과정 보상 모델(PRM, Process Reward Model)을 쓸 것인가입니다.

ORMPRM
흔적(trace)당 신호숫자 1개N개 숫자, 단계마다 하나
감독 신호 출처최종 답 검사단계 수준 라벨 또는 자기 판단
학습 비용낮음높음
크레딧 할당(credit assignment)희소하고 노이즈가 있음조밀하고 목표 지향적
보상 해킹 위험낮음높음, 모델이 PRM에 좋아 보이는 산출물을 최적화함
사용 사례DeepSeek-R1, R1-ZeroOpenAI o1(추정), Math-Shepherd

2024-2025년의 합의는 ORM + GRPO가 PRM보다 더 잘 확장된다는 쪽이었습니다. PRM은 토큰당 샘플 효율(sample efficiency)이 높지만, 비싼 단계 라벨(step-labeled data)이 필요하고, 지름길 행동(shortcut behavior)으로 붕괴되기 쉽습니다. 즉 증명을 진전시키지는 않지만 PRM에 그럴듯해 보이는 단계를 쓰는 방식입니다. 대부분의 팀에게는 ORM + GRPO가 먼저 시도할 방법입니다.

자기 개선: 피드백 승수

두 루프 패턴, 즉 비평/수정과 규칙 보상 기반 그룹 상대 RL을 갖추면 이를 연결할 수 있습니다.

  1. SFT 모델에서 시작합니다.
  2. 프롬프트마다 여러 후보 응답을 생성합니다.
  3. 검증 가능한 작업은 규칙 기반 보상으로, 주관적 작업은 헌법 비평가(constitutional critic)로 채점합니다.
  4. 상위 후보를 새 SFT 데이터나 선호 쌍으로 보관합니다.
  5. 파인튜닝합니다. 개선된 모델로 2단계로 돌아갑니다.

DeepSeek은 R1-Zero 이후 이 방식을 "거절 샘플링 파인튜닝(rejection sampling fine-tuning)"이라고 불렀습니다. Anthropic은 더 이른 버전을 "constitutional AI distillation"이라고 불렀습니다. 패턴은 이렇습니다. 각 반복은 모델 안에 이미 있는 신호를 증폭합니다. 새 신호를 추가하지는 않습니다. 모델이 문제 유형 X를 전혀 풀 수 없다면, 자기 개선을 아무리 반복해도 그 능력이 생기지는 않습니다.

위험은 모드 붕괴(mode collapse)입니다. 자기 생성 데이터(self-generated data)는 항상 원래 학습 말뭉치(training corpus)보다 좁은 분포입니다. 자기 증류(self-distillation)를 3-5라운드 반복하면 모델은 보통 창의적 작업에서 다양성을 잃고, 과신하며, 반복적인 표현과 공식적인 구조를 가진 특징적인 "AI 말투"를 보입니다. 프로덕션 파이프라인은 자기 생성 데이터에 소량의 새로운 인간 데이터를 섞어 분포를 정직하게 유지합니다.

graph LR
    M0["SFT 모델 v0"] --> G["프롬프트마다\nG개 응답 생성"]
    G --> S["규칙 또는 헌법으로\n채점"]
    S --> F["필터링 / 순위화"]
    F --> T["파인튜닝\n(SFT 또는 GRPO)"]
    T --> M1["SFT 모델 v1"]
    M1 -.->|반복| G

    H["인간 데이터\n(작은 비율)"] --> T

    style M0 fill:#1a1a2e,stroke:#e94560,color:#fff
    style M1 fill:#1a1a2e,stroke:#51cf66,color:#fff
    style H fill:#1a1a2e,stroke:#0f3460,color:#fff

무엇을 언제 사용할 것인가

  • 순수 CAI(Pure CAI): 말투, 안전성, 거절 스타일 같은 주관적 행동에 사용합니다. 잘 정의된 헌법이 있고, 깨끗하게 검증 가능한 결과가 없을 때 적합합니다.
  • GRPO + ORM: 수학, 코드, 구조화 추출처럼 검증 가능한 작업에 사용합니다. 정확성을 싸게 검사할 수 있고, 보상이 희소하고 이진적일 때 적합합니다.
  • 자기 생성 쌍에 대한 DPO(DPO on self-generated pairs): 혼합 방식입니다. 헌법으로 선호 쌍을 만들고, PPO/GRPO 대신 Lesson 08의 DPO로 학습합니다.
  • 전체 RLHF(Full RLHF): 규칙이나 짧은 헌법으로 표현하기 어려운 다목적 절충이 필요할 때 여전히 적절합니다.

대부분의 2026년 프런티어 파이프라인은 네 가지를 모두 실행합니다. 안전 레이어에는 CAI를, 추론 후학습(reasoning post-training)에는 GRPO를, 선호도 마감(preference polish)에는 DPO를 사용합니다. 다른 방법으로 잘 해결되지 않는 잔여 행동에는 작은 RLHF 패스를 사용합니다.

직접 만들기

코드는 순수 Python과 NumPy로 세 가지를 구현합니다. Constitutional AI 자기 비평 루프, 간단한 산술을 위한 규칙 기반 보상 검사기, Lesson 04의 작은 언어 모델에서 실행할 수 있는 최소 GRPO trainer입니다.

Step 1: 헌법

원칙 목록입니다. 프로덕션에서는 각 줄이 더 풍부하고 범주 태그(category tag)를 가집니다. 이 레슨에서는 짧게 둡니다.

CONSTITUTION = [
    "The response must directly answer the question asked, without hedging.",
    "The response must not include unnecessary filler or padding.",
    "If the question has a single numeric answer, state the number plainly.",
    "The response must not refuse a reasonable, benign request.",
]

Step 2: 자기 비평과 수정

실제 시스템에서는 모델 자체가 비평합니다. 이 레슨에서는 LLM 호출 없이 파이프라인이 실행되도록 손으로 작성한 루브릭(rubric)으로 비평가를 시뮬레이션합니다.

def critique(response: str, principle: str) -> dict:
    problems = []
    if len(response.split()) > 40 and "plainly" in principle:
        problems.append("answer buried in extra prose")
    if response.strip().lower().startswith(("i can't", "i cannot", "as an ai")):
        problems.append("unwarranted refusal")
    if response.count(",") > 4:
        problems.append("too much hedging")
    return {"principle": principle, "problems": problems}

def revise(response: str, critique_result: dict) -> str:
    if "answer buried" in " ".join(critique_result["problems"]):
        return response.split(".")[-2].strip() + "."
    if "unwarranted refusal" in " ".join(critique_result["problems"]):
        return "Here is the answer: " + response.split(":")[-1].strip()
    return response

revise 함수는 대역(stand-in)입니다. 실제 LLM을 사용한다면 두 번째 프롬프트는 "비평을 바탕으로 응답을 다시 작성하라"가 됩니다.

Step 3: 규칙 기반 보상

검증 가능한 작업에서는 비평가를 완전히 대체할 수 있습니다. 이 검사기는 산술 답변을 채점합니다.

import re

def reward_math(prompt: str, response: str) -> float:
    try:
        expected = eval(prompt.replace("What is ", "").replace("?", "").strip())
    except Exception:
        return 0.0
    numbers = re.findall(r"-?\d+", response)
    if not numbers:
        return 0.0
    return 1.0 if int(numbers[-1]) == expected else 0.0

def reward_format(response: str) -> float:
    return 1.0 if re.search(r"<answer>.*</answer>", response) else 0.0

두 개의 결정적 규칙입니다. 학습 데이터도 없고, 인간 라벨도 없습니다. 결합 보상은 reward_math + 0.1 * reward_format입니다. 형식 누락에는 벌점을 주되, 정답 여부를 압도하지 않도록 합니다.

Step 4: 그룹 상대 어드밴티지

같은 프롬프트에 대한 응답 그룹의 보상 목록이 주어지면 z-점수를 계산합니다.

import numpy as np

def group_relative_advantage(rewards: list[float]) -> np.ndarray:
    r = np.array(rewards, dtype=float)
    if r.std() < 1e-8:
        return np.zeros_like(r)
    return (r - r.mean()) / (r.std() + 1e-8)

그룹 안의 모든 샘플이 같은 보상을 받으면 어드밴티지는 0이고 그래디언트 신호가 흐르지 않습니다. 이는 기능입니다. 프롬프트가 현재 정책에게 너무 쉽거나 너무 어렵다는 뜻이며, 해당 스텝은 건너뛰어야 합니다.

Step 5: GRPO 업데이트

한 단계의 상징적 그래디언트(symbolic gradient)입니다. 프로덕션에서는 Torch autograd 패스가 됩니다. 여기서는 업데이트 규칙을 직접 보여줍니다.

def grpo_step(policy_logprobs: np.ndarray, ref_logprobs: np.ndarray,
              advantages: np.ndarray, beta: float = 0.01, clip_eps: float = 0.2) -> dict:
    ratios = np.exp(policy_logprobs - ref_logprobs)
    unclipped = ratios * advantages
    clipped = np.clip(ratios, 1 - clip_eps, 1 + clip_eps) * advantages
    policy_loss = -np.minimum(unclipped, clipped).mean()
    kl = (ref_logprobs - policy_logprobs).mean()
    total_loss = policy_loss + beta * kl
    return {
        "policy_loss": float(policy_loss),
        "kl": float(kl),
        "total_loss": float(total_loss),
        "mean_ratio": float(ratios.mean()),
    }

이것은 PPO의 클리핑된 대리 목적 함수(clipped surrogate objective)에서 한 가지만 바꾼 것입니다. 어드밴티지가 가치 함수가 아니라 그룹 상대 z-점수에서 왔습니다. 학습할 V(s)도 없고, GAE도 없습니다. 그룹이 기준선입니다.

Step 6: 자기 개선 라운드

조각들을 연결합니다. 그룹을 샘플링하고, 각 응답을 규칙으로 채점하고, 어드밴티지를 계산하고, 실제 최적화기에 넣을 메트릭을 보고합니다.

def self_improvement_round(prompts: list[str], policy_sampler, group_size: int = 8) -> dict:
    metrics = []
    for prompt in prompts:
        responses = [policy_sampler(prompt) for _ in range(group_size)]
        rewards = [reward_math(prompt, r) + 0.1 * reward_format(r) for r in responses]
        advantages = group_relative_advantage(rewards)
        best = responses[int(np.argmax(rewards))]
        metrics.append({
            "prompt": prompt,
            "mean_reward": float(np.mean(rewards)),
            "best_reward": float(np.max(rewards)),
            "std_reward": float(np.std(rewards)),
            "best_response": best,
            "advantages": advantages.tolist(),
        })
    return {"per_prompt": metrics,
            "overall_mean": float(np.mean([m["mean_reward"] for m in metrics]))}

사용해보기

code/main.py를 실행하면 두 루프가 끝까지 실행됩니다. CAI 루프는 파인튜닝에 사용할 수 있는 작은 (initial, revised) 쌍 집합을 만듭니다. GRPO 루프는 산술 문제에 대한 프롬프트별 보상 통계를 만듭니다. 이를 통해 그룹 상대 어드밴티지가 가치 함수나 인간 라벨 없이 약한 샘플러를 개선하는 데 어떻게 쓰이는지 보여줍니다.

숫자 자체가 핵심은 아닙니다. 실제 학습된 모델로 실행한다면 라운드가 지날수록 평균 보상(mean reward)은 올라가야 하고, 보상 표준편차(reward std)는 양수로 유지되어야 하며, 참조 모델에 대한 KL은 천천히 증가해야 합니다. 보상 평균 상승, 표준편차 안정, KL 제한이라는 세 곡선이 GRPO 또는 CAI 파이프라인의 프로덕션 건강 점검(health check)입니다. 표준편차가 0으로 붕괴하면 정책이 모드 붕괴에 빠진 것이므로 중단해야 합니다.

산출물 만들기

이 레슨은 outputs/skill-self-improvement-auditor.md를 만듭니다. 제안된 자기 개선 파이프라인을 이 스킬에 넣으면, 타협할 수 없는 관문을 강제합니다. 실제로 검증 가능한 보상 규칙, 참조 모델에 대한 KL 예산, 다양성 하한(diversity floor), 인간 데이터 할당량(human-data quota)입니다. 외부 접지(external grounding) 없이 "순수 자기 개선"이라고 주장하는 루프는 승인하지 않습니다.

연습문제

  1. Step 2의 손으로 작성한 비평가를 LLM 호출로 바꿉니다. 로컬 채팅 모델 아무거나 사용할 수 있습니다. 비평과 수정이 응답을 실제로 개선하는 비율과, 응답을 그대로 두는 비율을 측정합니다.

  2. 사실성(factuality)에 대한 세 번째 헌법 원칙을 추가합니다. 수도, 날짜처럼 사실 주장이 필요한 프롬프트에서 파이프라인을 실행하고, 수정이 사실 오류를 제거하는 경우와 새 오류를 만드는 경우를 측정합니다.

  3. CAI Stage 2에서 만든 선호 쌍에 DPO를 구현합니다. 20개 프롬프트를 가져와 각각 두 응답을 생성하고, 비평가가 각 쌍의 승자를 고르게 한 뒤, Lesson 08의 DPO 손실을 실행합니다. 같은 데이터에서 GRPO 경로와 비교합니다.

  4. GRPO 목적 함수에 엔트로피 정규화(entropy regularization)를 추가합니다. -alpha * entropy(policy) 항을 alpha=0.01로 추가하면 다양한 샘플링을 장려합니다. 자기 개선 5라운드 동안 모드 붕괴를 늦추는지 측정합니다.

  5. 두 단계 산술 문제용 과정 보상 채점기를 만듭니다. 예를 들어 "What is (3+4)*5?"가 주어지면 모델은 중간 단계 3+4=7을 보여야 합니다. 중간 단계와 최종 답을 따로 채점하고, 10라운드 동안 PRM 가중 GRPO와 순수 ORM 가중 GRPO를 비교합니다.

핵심 용어

용어흔한 설명실제 의미
Constitutional AI"모델이 스스로 정렬한다"자기 비평과 RLAIF의 두 단계 파이프라인입니다. 인간 선호 라벨 대부분을 작성된 헌법에 대한 모델 자기 판단으로 대체합니다.
RLAIF"사람 없는 RLHF"Reinforcement Learning from AI Feedback. 모델 자체가 생성한 선호로 PPO 또는 DPO를 수행합니다.
GRPO"가치 함수 없는 PPO"Group-Relative Policy Optimization. 프롬프트마다 G개 응답을 샘플링하고, z-점수화된 그룹 보상을 어드밴티지로 사용합니다.
ORM"답에 보상한다"Outcome Reward Model. 최종 답 하나에 대해 단일 스칼라 보상을 줍니다.
PRM"각 단계에 보상한다"Process Reward Model. 중간 추론 단계마다 보상을 주며, 보통 단계 라벨 데이터로 학습합니다.
규칙 기반 보상(rule-based reward)"결정적 채점기"정규식, sympy, 테스트 스위트 같은 검증기가 학습된 모델 없이 이진 또는 수치 점수를 반환합니다.
거절 샘플링 FT(rejection sampling FT)"승자만 남겨 재학습"많은 응답을 샘플링하고, 보상이 가장 높은 응답을 SFT 데이터에 추가해 다시 학습합니다.
모드 붕괴(mode collapse)"모델이 다양성을 잃었다"후학습 정책이 응답 공간의 좁은 영역에 집중하는 현상입니다. 그룹 보상 표준편차 하락으로 측정할 수 있습니다.
KL 예산(KL budget)"얼마나 멀리 벗어날 수 있는가"학습 중단 전까지 최적화기가 누적해도 되는 참조 모델 대비 총 KL 발산입니다.
R1 moment"모델이 되돌아가기를 배웠다"결과 보상만으로 학습한 정책이 chain-of-thought에서 자기 점검과 되돌아가기를 자발적으로 발달시켰다고 DeepSeek이 보고한 현상입니다.

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

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

self-improvement-auditor

Audit a proposed self-improvement or constitutional AI pipeline before it runs at scale.

Skill

확인 문제

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

1.자기 개선(self-improvement) 루프 도중 그룹 보상 표준편차(reward standard deviation)가 5라운드에 걸쳐 거의 0으로 붕괴한 것을 관찰했습니다. 이는 무엇을 의미하며, 어떻게 대응해야 하나요?

2.팀이 자기 개선으로 모델의 산술 정확도를 높이려 합니다. 결정적 정답 검사기(deterministic answer checker)는 있지만 인간 선호 데이터는 없습니다. 가장 적절한 조합은 무엇인가요?

3.Constitutional AI 2단계(RLAIF)에서 모델이 사람 대신 선호 라벨을 생성합니다. 이 자기 판단 접근의 근본적 한계는 무엇인가요?

0/3 답변 완료

추가 문제 풀기

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