레퍼런스로 나누기 때문에 위 표 같은 노골적인 편향은 학습을 시작할 때는 없다. 처음에는 πθ=πref 라 모든 응답의 보상이 0이다. 그렇다면 DPO는 길이 편향에서 자유로울까? 보상이 여전히 토큰마다 더한 합이라는 점이 학습이 진행되면서 무슨 일을 하는지는 아래 문제 3에서 계산해 본다.
온라인 정책 그래디언트라고 이 문제에서 자유로운 것은 아니다. 응답 전체에 점수 하나를 주고 토큰별로 나눠 싣는 순간, "합으로 볼 것인가 평균으로 볼 것인가"가 다시 나타난다. 온라인 방법의 목적함수에도 응답 길이로 나누는 자리가 숨어 있고, 그 나누기를 둘지 말지가 다시 길이 편향을 가른다.
문제 1 — 분량이 다른 두 보고서
조교가 보고서를 쪽마다 감점해 채점한다. 보고서 A는 10쪽이고 쪽마다 평균 1점씩 깎였다. 보고서 B는 2쪽이고 쪽마다 평균 3점씩 깎였다. (가) 감점 합계가 적은 쪽이 이긴다면 누가 이기는가? 쪽당 감점으로 비교하면? (나) 감점 합계로 A가 B를 이기려면 A의 쪽당 감점이 얼마 아래여야 하는가?
정리 (가) 합계: A 10점, B 6점 → B 승. 쪽당: A 1점, B 3점 → A 승. (나) 10d<6, 곧 쪽당 0.6점 아래. 합계로 비교하면 분량이 곱해져, 쪽마다 한참 나아도 진다.
문제 2 — 정답이 길어지면 문턱은
오답은 그대로 4토큰 × 0.6이다. (가) 정답이 12토큰일 때, 로그확률의 합으로 정답이 이기려면 정답의 토큰당 확률이 얼마를 넘어야 하는가? (나) 정답이 24토큰, 48토큰이면? (다) 정답이 아무리 길어도 이길 수 있는 확률 값이 늘 있는가? 위젯의 단추로 두 길이를 불러와 토큰당 확률을 밀어 보며 답과 견주어 보라.
정리 (가) 12logp>4log0.6=−2.04, 곧 p>0.61/3≈0.84. (나) 정답이 n 토큰이면 p>0.64/n: 24토큰 0.92, 48토큰 0.96. (다) 문턱은 늘 1보다 작지만 n 이 커질수록 1로 다가간다(100토큰이면 0.98). 합의 잣대는 길이가 길수록 토큰마다 더 틀림없는 확신을 요구한다.
문제 3 — (킬러) 레퍼런스는 길이 편향을 막는가
선호 응답은 평균 40토큰, 비선호 응답은 평균 10토큰인 데이터로 DPO(β=0.1)를 학습한다. 학습이 선호 응답의 모든 토큰에서 로그 비율을 +0.05씩, 비선호 응답의 모든 토큰에서 −0.05씩 바꿨다고 하자. (가) 학습 전 두 응답의 암묵적 보상은? (나) 학습 후의 보상 마진은? 선호 응답도 10토큰이었다면? (다) 이 데이터로 학습한 모델의 응답 길이는 어떻게 변하겠는가? (나)의 계산으로 까닭을 대고, 막을 방법을 둘 이상 드시오.
김민준
(가)는 0이에요. DPO는 레퍼런스로 나누니까 길이 편향이 없어요. 처음엔 πθ=πref 라 비율이 전부 1이고 로그는 0이죠.
토큰마다 똑같이 배웠는데 긴 쪽이 마진이 2.5배 크네요. 처음에 0이라고 해서 끝이 아니구나.
이서연
근데 그건 스케일 문제 아니야? 합은 평균에 길이를 곱한 거니까, 전체 손실을 어떤 상수배로 늘린 거랑 같잖아. 최적점은 안 바뀌어.
선생님
서연 학생, 그 "상수"는 모든 예제에서 같은가요?
이서연
아… 예제마다 길이가 다르니까 곱해지는 수가 달라요. 전체에 같은 상수를 곱하는 게 아니라, 예제마다 다른 가중치(곱하는 수 — 신경망 파라미터가 아니다)를 곱하는 거네요.
이서연
그러면 긴 선호 응답이 있는 예제가 손실을 더 쉽게 줄여요. 같은 노력으로 마진이 더 벌어지니까. 모델 입장에선 "선호되는 답 = 긴 답"이 가장 싸게 배울 수 있는 규칙이 되는 거고요.
선생님
그래요. 그게 (다)의 답이에요. 이 데이터로 학습하면 응답이 점점 길어져요. 실제로 2024년 스탠퍼드의 라이언 박(Ryan Park)과 동료들이 재 보니, 선호 응답이 비선호 응답보다 조금 길 뿐인 공개 데이터(평균 길이 79.6 대 75.7, 37.9 대 35.2)로 DPO를 학습한 모델이 평균 두 배쯤 긴 답을 냈어요. 막으려면요?
김민준
토큰 수로 나눠 평균으로 비교하거나, 선호 응답이 긴 만큼 마진을 이미 벌린 것으로 쳐서 덜 밀거나. 아니면 데이터에서 선호/비선호 길이를 맞춰 놓거나요.
이서연
선형대수에서 "스칼라배는 해를 안 바꾼다"는 전체 식에 같은 스칼라를 곱할 때만 맞는 거였어요. 행마다 다른 수를 곱하면 그건 스케일링이 아니라 가중 최소제곱이고, 해가 바뀌죠.
김민준
조별과제 평가를 "각자 쓴 문장 수 × 문장당 점수"로 하면 다들 길게 쓰기 시작하는 거랑 같네요.
정리 (가) 0 — 학습 전에는 πθ=πref. (나) 40토큰: β(2.0+0.5)=0.25, 10토큰: β(0.5+0.5)=0.1. 같은 토큰당 변화로 긴 선호 응답이 2.5배 큰 마진을 얻는다. (다) 예제마다 길이가 다르므로 합은 모든 예제에 같은 수를 곱한 것이 아니라 예제별 가중치다. 선호 응답이 긴 데이터에서 모델은 "길게 쓰기"를 가장 싼 규칙으로 배운다. 선호 응답이 조금 길 뿐인 실제 데이터에서도 DPO 모델의 답이 두 배쯤 길어졌다는 보고가 있다(박과 동료들, 2024). 길이로 나눈 평균 보상, 선호 응답이 긴 만큼 덜 미는 길이 벌점, 길이를 맞춘 데이터로 막는다.