7. 선호 쌍의 조건 — 어떤 데이터가 DPO를 움직이는가

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
치명적인 실수일수록 고칠 가치가 크다고 봄 1 고쳐서 건지는 양은 그 실수를 하는 횟수에 비례한다. 한 번도 안 하는 실수는 0이다
품질 차이가 작은 쌍이 섬세한 신호라고 봄 2 라벨이 평가자 취향에 따라 뒤집혀 노이즈가 된다
레퍼런스가 이미 잘 구분하는 쌍은 첫 스텝 손실이 0에 가깝다고 봄 3 첫 스텝에서 πθ=πref\textcolor{#1565c0}{\pi_\theta} = \textcolor{#6f6f78}{\pi_\text{ref}} 이므로 어떤 쌍이든 손실은 0.6930.693 이다
손실이 줄었으니 모델이 배웠다고 봄 3 쌍 A는 손실이 0.1까지 내려가도 옮긴 확률 질량이 10−2610^{-26} 수준이다. 로그확률은 아래로 끝이 없어 yl\textcolor{#e000a5}{y_l} 을 깎는 길이 가장 싸다
남이 틀린 개수로 내가 건질 양을 셈 4 줄어드는 것은 학습하는 쪽의 실수다. 남의 실수 목록은 내 실수와 겹치는 만큼만 쓸모 있다
이름이 같은 계열 모델이 쓴 데이터면 경우 2라고 봄 5 세대가 다르면 실수도 다르고, 같은 세대라도 학습하는 모델이 쓴 답이 아니다. 응답은 직접 생성하고 심사만 밖에서 받는다
점수가 높은 쪽이 낫다고 봄 6 평가자마다 기준점이 다르다. 한 사람이 두 대상을 나란히 비교하면 기준점이 지워진다
👍/👎 로그를 쌍으로 맞추면 DPO를 쓸 수 있다고 봄 7 같은 프롬프트가 드물어 데이터 대부분을 버린다. 단일 라벨이면 KTO를 쓴다
요약

DPO의 첫 부품은 데이터다. 첫 스텝에서는 πθ=πref\textcolor{#1565c0}{\pi_\theta} = \textcolor{#6f6f78}{\pi_\text{ref}} 라 어떤 쌍이든 손실이 0.6930.693 으로 같지만, 쌍마다 모델을 바꾸는 양은 전혀 다르다. 좋은 쌍은 yl\textcolor{#e000a5}{y_l} 이 그럴듯하고, 차이가 판단 기준을 담고, 품질 차이가 적당하고, yl\textcolor{#e000a5}{y_l} 이 지금 모델의 분포 안에 있다. 정답과 횡설수설의 쌍은 마진을 여는 가장 싼 길이 모델의 행동을 바꾸지 않는 길이라 약하다. 로그확률은 위로는 0에서 막히고 아래로는 끝이 없어, 손실은 yl\textcolor{#e000a5}{y_l} 을 깎는 쪽으로 가장 쉽게 줄어든다. DPO는 오프라인·오프폴리시라서 남이 만든 데이터의 실수가 학습 대상 모델의 실수와 다를 수 있고, 학습이 진행될수록 그 거리가 벌어진다. 온라인 방법은 매 배치 직접 생성해 조건을 저절로 채우는 대신 생성 비용을 치른다. 오프라인으로 두더라도 응답은 학습하는 모델이 쓰고 심사만 밖에서 맡기면 분포의 어긋남을 줄일 수 있다. DPO는 보상 모델이 없어 리워드 해킹에서 자유롭지만 데이터 밖을 탐색할 수도 없다. 쌍비교는 평가자마다 다른 기준점이 비교 안에서 지워지기 때문에 쓰지만, 쌍이 없는 데이터에는 KTO처럼 단일 라벨로 학습하는 길이 있다.