정성껏 정제한 데이터셋이라도, 그 데이터를 만든 모델은 학습이 시작되는 순간부터 지금의 모델과 달라진다. 그러면 학습이 진행될수록 그 데이터는 얼마나 쓸모를 잃을까? 오프라인은 여기서 근본적 한계를 만난다.
학습 전에는 학습 중인 정책 πθ 가 레퍼런스 πref 와 거의 같다(레퍼런스를 복사해서 출발하므로). 데이터셋은 레퍼런스나 그 근처의 모델이 생성한 것이다. 데이터를 만든 이 정책을 πdata 라고 부르자. 학습 중에는 πθ 가 걸음마다 업데이트되어 πdata 에서 점점 멀어진다. 그러면 모델은 지금의 자신이라면 거의 생성하지 않을 응답에 대해 학습하게 된다. “작년 지도로 올해 여행하는” 상황이고, 학습이 길어질수록 데이터와 모델의 괴리가 커진다. 이것이 분포 이동(데이터와 모델이 어긋나기 / Distribution Shift)이다.
원리적으로는 임포턴스 가중치 πθ(y)/πdata(y) 로 보정할 수 있다. 하지만 πθ 와 πdata 가 멀어질수록 이 가중치의 분산이 폭발한다. 위 그림의 오른쪽, 데이터가 거의 없는 곳에서 드물게 뽑힌 표본 하나가 아주 큰 가중치를 받아 추정을 혼자 지배한다. 임포턴스 샘플링이 늘 겪는 이 현상의 LLM 버전이다. PPO는 가중치를 클리핑으로 자르고, 직전 정책 πold 를 몇 걸음마다 새로 바꿔 가중치를 1 근처에 붙잡아 두었다. 오프라인 DPO에는 클리핑할 장치도 없고, 데이터가 고정이라 πold 를 갱신할 방법도 없다. 보정의 분산이 너무 커서 실무적으로 한계가 있다.
얼마나 빨리 낡는가 — 장난감으로 재보기
"분포 이동"을 숫자로 느껴보자. 임포턴스 가중치를 손으로 정확히 계산할 수 있는 가장 단순한 분포가 정규분포라서, 정책을 1차원 정규분포 N(μθ,1) 이라 하자. μ는 평균, 곧 정책이 가장 자주 내는 응답의 자리다. 데이터는 마지막으로 데이터를 만든 시점의 정책 N(μdata,1) 에서 뽑았다.
학습은 100걸음 동안 μθ 를 목표 쪽으로 거리 D 만큼 옮긴다. 처음엔 빨리, 나중엔 천천히 움직인다고 하자: μθ(t)=D(1−e−t/τ). τ(타우)는 그 빠르기를 정하는 걸음 수로, 여기서는 30이다. 30걸음이면 갈 거리의 약 63%(1−e−1)를 간다.
이때 "실제로 쓸모 있는 표본의 비율"을 재는 양이 유효 표본 비율이다. 데이터 1000개가 임포턴스 가중치를 달고 나면 그 가운데 몇 개 몫을 하는지의 비율이고, 1/E[w2] 로 잰다. 두 정규분포 사이에서는 이 값이 정확히 계산된다.
(E[w2] 는 데이터 분포 위에서 평균을 내면 eΔ2 이 된다. 지수함수 두 개를 곱해 정규분포 적분 하나로 모으면 나온다.)
거리가 표준편차 두 개(Δ=2)만 벌어져도 유효 비율은 e−4≈1.8% 로 떨어진다. 1000개의 데이터 중 약 18개만 지금의 정책에게 의미가 있다는 뜻이다.
학습 도중에 지금 모델로 데이터를 새로 만들면 이 비율이 되살아난다. 데이터를 새로 만드는 한 번을 라운드라고 하자. 100걸음을 라운드 몇 개로 나눠 라운드마다 데이터를 새로 뽑는 것이 반복(iterative) 방식이다. 반복 방식은 라운드마다 이 비율을 되살린다. 아래 위젯에서 라운드 수를 올려 보면, 오프라인에서 온라인으로 가는 길이 연속적인 다이얼이라는 것이 보인다. 위젯의 단추는 아래 문제 5·6의 값을 불러온다.
문제 4 — 작년 지도로 올해 맛집 찾기
동네 맛집 지도가 있다. 해마다 지도에 실린 가게의 20%가 문을 닫거나 다른 가게로 바뀐다(한 해 동안 그대로 남을 확률 0.8). (가) 6년 동안 지도를 한 번도 새로 사지 않으면, 6년째 끝에 지도 속 가게 가운데 아직 맞는 비율은 얼마인가? (나) 처음과 3년 뒤에 새 지도를 산다. 새 지도를 사는 날마다 확인하면 지도는 늘 100% 맞는다. 그렇다면 6년 내내 지도를 믿어도 되는가? 맞는 비율이 가장 낮을 때는 언제이고 얼마인가?
김민준
(가)는 0.8을 여섯 번 곱하면 되니까 0.86≈0.26, 26%요. (나)는 확인할 때마다 100%였으니 믿어도 되죠. 새로 사는 게 답이네요.
선생님
민준 학생, 확인한 날이 언제였죠? 새 지도를 사기 바로 전날에 확인했다면요?
김민준
산 지 3년 된 지도니까 0.83≈0.51… 절반만 맞네요. 3년째 끝과 6년째 끝이 가장 낮아요, 51%.
이서연
해마다 끝에 재 보면 80, 64, 51%로 내려갔다가 새로 사면 다시 80%부터 내려가. 톱니 모양이야. 재는 날을 하필 새로 산 날로 골라서 늘 100%로 보인 거고.
김민준
시험 직전 벼락치기한 날에만 실력을 재면 늘 만점인 거랑 같네요. 재는 날이 실력을 부풀렸어요.
정리 (가) 0.86≈26%. (나) 새로 산 날에는 100%지만, 새로 사기 직전인 3년째 끝과 6년째 끝에는 0.83≈51% 까지 떨어진다. 새로 사기는 비율을 되살릴 뿐, 사이사이의 낡음은 그대로다. 언제 재느냐가 판단을 바꾼다.
문제 5 — 1000개 중 몇 개가 쓸모 있나
위 장난감에서 D=2, 걸음 수 100, τ=30일 때 (μθ(t)=D(1−e−t/τ)), 오프라인 학습이 끝날 무렵의 유효 표본 비율을 구하시오. 데이터가 1000개라면 실제로 쓸모 있는 것은 몇 개쯤인가? 3라운드 반복이면 어떻게 달라지는가? (위젯의 「문제 5의 값」 단추로 같은 설정을 불러와 견줄 수 있다.)