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