자주 하는 실수와 요약
자주 하는 실수
| 실수 | 나온 문제 | 바로잡는 법 |
|---|---|---|
| 쪽마다(토큰마다) 더 나으면 합으로도 이긴다고 봄 | 1 | 합에는 분량이 곱해진다. 10쪽 대 2쪽이면 쪽당 감점이 다섯 배 적어야 합계로 이긴다 |
| 합으로 이기는 문턱이 길이와 상관없다고 봄 | 2 | 문턱 |
| 학습 전 보상이 0이니 DPO에는 길이 편향이 없다고 봄 | 3 | 합이라는 구조가 남아, 같은 토큰당 변화로도 긴 응답의 마진이 더 크게 벌어진다 |
| 합은 평균의 상수배라 최적점이 같다고 봄 | 3 | 예제마다 길이가 달라 곱해지는 수가 다르다. 모든 예제에 같은 상수가 아니라 예제별 가중치다 |
| 평균으로 나누면 항목을 더 붙여도 공정하다고 봄 | 4, 5 | 거의 확실한 항목(쉬운 과목, 뻔한 토큰)으로 분모를 늘리면 평균이 오른다. 희석이다 |
| 확률이 같은 폭으로 오르면 같은 변화라고 봄 | 6 | 1 근처에서는 일어나지 않을 확률 |
| 오즈 차의 절댓값이 크면 오즈가 차이를 더 키웠다고 봄 | 7 | 원래 차이 대비 비율로 봐야 한다. 오즈가 더하는 항은 |
요약
토큰의 로그확률은 0 이하라서, 확률이나 로그확률의 합으로 문장을 비교하면 긴 응답이 길다는 이유만으로 진다. 응답이 길수록 합으로 이기는 데 필요한 토큰당 확신은 1에 다가간다. DPO의 암묵적 보상도 레퍼런스 대비 로그비율의 합이어서, 학습 전에는 모든 보상이 0이지만 학습이 토큰마다 비율을 바꾸면 긴 응답의 보상이 더 크게 움직이고, 선호 응답이 긴 데이터에서는 모델이 길게 쓰기를 배운다. 기계번역의 빔 서치는 같은 문제로 빈 번역까지 최고점으로 올렸고, 점수를 길이(또는 그 거듭제곱)로 나누어 막았다. SimPO는 보상을 토큰당 평균 로그확률로 바꾸고 레퍼런스 대신 목표 마진을 두지만, 평균은 뻔한 토큰으로 희석하는 새 빈틈을 연다. R-DPO는 합을 두고 길이 차이만큼 마진을 보정한다. ORPO는 평균 확률 위에 오즈를 씌워 확신이 높은 영역에서 두 응답의 점수 차를 키우고, SFT 항이 선호 응답 쪽으로 모델을 붙잡아 레퍼런스 없이 학습한다. 길이 편향은 평균 보상, 길이 페널티, 길이를 맞춘 데이터로 막는다.