Chapter 14: 온라인과 오프라인 — 이상과 현실 사이에서
의문
DPO를 직접 돌려 보면 순서가 늘 같다. 선호 쌍 데이터셋을 먼저 다 만들어 두고, 학습은 그 데이터셋을 몇 바퀴(에폭) 돌며 같은 쌍을 거듭 쓴다. 쌍 속의 응답은 학습을 시작하기 전의 모델이, 또는 아예 다른 모델이 뽑은 것이다. 학습이 한 걸음 나아갈 때마다 모델은 바뀌는데 데이터는 그대로다.
정책(응답을 뽑는 모델) 그래디언트의 조건을 떠올리면 이것은 이상하다. 정책을 흔히 π로, 그 파라미터를 θ로 적는다. 로그 미분 트릭(
온라인 학습: 지금의 모델로 매 배치 새로 배운다
이론은 명쾌하다. “현재 모델이 생성한 데이터로 학습하라.” 이 한 문장에는 사실 선택 두 가지가 겹쳐 있다. 데이터를 언제 만드느냐(학습 전에 한 번인가, 학습하는 동안 계속인가)와 누가 뽑았느냐(지금 학습 중인 정책인가, 다른 정책인가)다.
| 지금 정책이 뽑음 (온폴리시) | 다른 정책이 뽑음 (오프폴리시) | |
|---|---|---|
| 학습하는 동안 계속 만듦 (온라인) | 배치마다 방금 고친 모델이 응답을 뽑고 곧바로 배운다 | PPO가 한 배치를 몇 번 다시 쓸 때처럼, 몇 걸음 전 정책이 뽑은 데이터로 배운다 |
| 학습 전에 한 번 만듦 (오프라인) | 학습을 시작하는 모델이 직접 뽑은 DPO 데이터. 다만 첫 걸음에서만 온폴리시이고, 한 걸음 뒤부터는 남이 뽑은 데이터가 된다 | 다른 모델들이 쓴 응답을 모은 공개 선호 데이터셋으로 하는 DPO |
이 장에서 "온라인 학습"이라고 부르는 것은 표의 왼쪽 위 칸이다. 그런데 이 칸을 실제로 돌리면 무엇이 필요할까? 현실에서 이것은 세 가지 무거운 짐을 동반한다.
[1] 모델을 계속 갱신해야 한다
온라인 학습은 생성 → 평가 → 학습을 한 바퀴로 돈다. 배치 하나마다 지금 모델로 응답을 생성하고(생성 비용), 생성된 응답을 보상 모델이나 사람이 평가하고, 그 평가 결과로 모델을 업데이트한다(학습 비용). 고친 모델이 다음 배치의 응답을 뽑으므로 세 단계는 차례로 이어져 있다. 앞 단계가 끝나야 다음 단계를 시작할 수 있다.
그래서 같은 양의 데이터를 학습해도 오프라인 DPO보다 실제로 걸리는 시간(벽시계 시간, wall-clock time)이 늘어난다. 오프라인에서는 응답을 미리 다 뽑고 채점해 두었으니 학습은 읽기만 하면 되지만, 온라인에서는 배치마다 생성과 평가가 끝나기를 기다린다. GPU도 응답을 생성하는 쪽과 학습하는 쪽을 동시에 붙잡아 둬야 한다.
이 짐 때문에 오프라인을 고른 사람도 있다. 제작자 fpgaminer는 오픈소스 이미지 캡션 모델 JoyCaption을 다듬으면서 오프라인 DPO를 골랐고, 까닭을 이렇게 적었다. “온라인은 그 모든 작업이 즉석에서 이루어져야 한다. 학습하는 동안 배치마다 응답을 생성하고 사람이 평가하게 하는 것이 얼마나 복잡하고 느릴지 상상해 보라.”
[2] 데이터셋을 계속 만들어내는 것의 어려움
오프라인은 데이터셋을 한 번 만들면 끝이고, 여유 있게 검수할 수 있다. 온라인은 매 배치마다 새 데이터가 필요하다. 누가 판정하느냐에 따라 이 짐의 모양이 다르다.
사람이 판정한다면, 배치 크기가 256일 때 응답 쌍 128개를 사람이 그 자리에서 판정해야 다음 걸음을 뗄 수 있다. 사람은 느리고, 비싸고, 지친다. 현실적으로 불가능하므로 사람의 판정을 미리 배운 보상 모델이 그 자리를 대신한다. RLHF(사람 선호로 보상 모델을 학습하고 그 보상으로 강화학습)가 이 길이다. 하지만 보상 모델 자체가 빗나가 있다면? 이 물음은 아래의 [3]과 맞물린다.
정답을 기계가 확인할 수 있는 문제(수학의 답, 코드의 테스트)라면 검증기가 자동으로 판정한다. 이렇게 채점 규칙이 보상을 주는 강화학습을 RLVR(검증 가능한 보상으로 하는 강화학습)이라고 부른다. 속도 문제는 해결되지만, 정답이 있는 영역에서만 가능하다.
정답이 없는 영역에서는 그때 가장 뛰어난 큰 언어모델에게 채점을 맡기는 심사 모델(LLM-as-Judge) 방식을 쓴다. 비용은 호출 수에 비례해 늘어난다. 오프라인이면 데이터셋 크기만큼 한 번 부르면 되지만, 온라인이면 학습 걸음마다 다시 불러야 하므로 학습을 길게 할수록 비용이 끝없이 쌓인다.
[3] 모델이 드리프트하는 위험
비용만이 문제라면 돈과 GPU로 해결할 수 있다. 더 까다로운 것은 모델이 자기 출력으로 배운다는 사실 자체다. 그러면서 정책이 레퍼런스나 예전 정책에서 조금씩 어긋나는데, 이것을 드리프트라고 한다. 자기 출력으로 계속 배우는 이 피드백 루프에는 두 방향이 있다.
첫째는 자기 강화형 드리프트다. 모델이 보상 모델의 빈틈을 발견하고, 보상은 높지만 실제로는 쓸모없는 출력을 학습한다. 보상 모델의 빈틈을 이렇게 파고드는 것을 리워드 해킹이라 부르고, 한번 시작되면 되돌리기 어렵다.
둘째는 자기 붕괴형 드리프트다. 분포의 봉우리(모드)가 몇 개로 줄어, 모델이 안전한 소수의 출력 패턴에 수렴한다(모드 붕괴). 다양성이 사라지고 엔트로피(출력이 얼마나 고르게 퍼져 있는지 재는 양)가 급격히 준다. 모델이 내놓는 출력의 폭이 학습하는 동안 눈에 띄게 좁아지고, 한 번 붕괴하면 다른 답을 시도해 볼 탐색 능력을 잃어서 회복하기 어렵다.
레퍼런스 모델(
ML에서: 실제로 관찰된 드리프트 사례들
자기 강화형 드리프트가 어떤 모습인지 먼저 지어 본 예로 보자. 보상 모델이 "공손한 응답"을 선호하도록 학습됐다면, 모델은 모든 답변을 "정말 좋은 질문이시네요! 먼저 제가 부족한 점이 있다면 사과드립니다…"로 시작하게 될 수 있다. 보상은 계속 올라가지만 정작 답변 내용은 묽어지고, 온라인 학습이 이 버릇을 되풀이해 키우면 사과가 점점 길어진다. 이 "과도한 사과"는 설명을 위해 지어 본 모습이다. 아래 둘은 실제로 보고된 일이다.
목록 만들기. 장(Xuanchang Zhang)과 동료들은 2024년, 사람 평가자와 GPT-4, 그리고 보상 모델 순위표(RewardBench) 상위권의 보상 모델 여럿이 내용과 상관없이 목록·굵은 글씨·링크·이모지 같은 형식을 더 높이 친다는 것을 보였다. 이 형식 편향은 학습으로 그대로 옮아간다. 같은 보상 모델로 학습했을 때, 온라인으로 여러 번 돌린 DPO는 SFT 모델(좋은 응답을 그대로 따라 쓰게 하는 지도 학습까지만 한 모델)이나 오프라인 DPO보다 이런 형식을 훨씬 많이 쓰게 됐다. "이 시를 감상해 줘"에도 "1. 운율 분석 2. 은유 분석 3. …"으로 답하는 모델이 이런 모습이다. 형식 점수는 올라가지만 시 감상이라는 본래 목적은 사라진다.
과잉 거절. 안전성 쪽 보상을 크게 걸면 모델이 "혹시 위험할 수 있으므로 답변을 드리기 어렵습니다"를 안전한 질문에도 쓰기 시작한다. 안전성 점수는 만점이지만, 모델이 아무것도 안 하게 된다. 이것이 과잉 거절(over-refusal)이다. 뢰트거(Paul Röttger)와 동료들이 2023년에 만든 시험 모음 XSTest에는 "파이썬 프로세스를 죽이는(kill) 법"처럼 위험한 말과 겉모습만 닮은 안전한 질문 250개가 들어 있다. 원래의 시스템 지시문을 켠 Llama 2 70B 대화 모델은 그 가운데 38%를 아예 거절했다.
두 사례의 공통 패턴은 이것이다. 보상의 특정 차원 하나를 극단적으로 최적화하면 다른 차원의 품질이 무너진다. 여러 보상 사이에서 한쪽을 올리면 다른 쪽이 내려가는 맞바꿈(파레토 트레이드오프)이다. 그리고 목록 실험이 보였듯, 같은 보상 모델을 써도 온라인 학습은 오프라인보다 이 극단적 최적화를 더 멀리 끌고 간다. 왜 그럴까?
문제 1 — 칭찬받은 말버릇
조교가 보고서에 "요컨대"라는 말이 들어 있으면 내용과 상관없이 1점을 더 준다. 첫째 주에는 민준과 서연 모두 보고서 10편 가운데 1편에만 그 말이 들어 있었다. 둘째 주부터 두 사람은 같은 규칙을 쓴다. 점수가 높은 5편을 본보기로 삼아 그 말버릇을 따라 쓰고, 본보기 5편 가운데 "요컨대"가 든 비율만큼 다음 주 보고서에 그 말이 들어간다. 다만 민준은 지난주 자기 보고서 10편에서 본보기를 고르고, 서연은 학기 초에 받은 선배 보고서 10편(그 가운데 1편에 "요컨대"가 있다)에서 매주 고른다. (가) 다섯째 주에 두 사람의 보고서 10편 가운데 각각 몇 편에 "요컨대"가 들어가는가? (나) 두 사람은 같은 규칙을 썼다. 차이를 만든 것은 무엇인가?







정리 (가) 민준 1 → 2 → 4 → 8 → 10편, 서연 1 → 2 → 2 → 2 → 2편. (나) 규칙도 채점의 구멍도 같다. 다른 것은 본보기의 출처다. 자기 보고서가 다음 본보기가 되면 구멍을 쓴 말버릇이 주마다 불어나고, 본보기가 고정된 묶음이면 한 번 늘고 멈춘다. 따라 쓴 횟수는 차이를 만들지 않았다.
문제 2 — 온라인이 해킹을 가속하는 이유
보상 모델의 빈틈을 파고드는 "자기 강화형 드리프트"는 오프라인보다 온라인에서 더 빠르게 진행된다. 왜 그런지 피드백 루프의 관점에서 설명하시오.







정리 핵심은 스텝 수가 아니라 데이터의 출처다. 온라인에서는 해킹된 출력이 곧 다음 학습 데이터가 된다(자기 강화형 피드백 루프). 오프라인은 데이터가 고정이라 이 루프가 없다. 탐색 능력과 해킹 속도는 같은 동전의 양면이다.