혼동하기 쉬운 점과 요약
혼동하기 쉬운 점
| 혼동하기 쉬운 생각 | 나온 문제 | 바로잡는 법 |
|---|---|---|
| 많이 적어 낸 답안은 어느 채점에서나 유리하다고 봄 | 1 | 채점이 무엇을 세는지 먼저 본다. 빠뜨린 것을 세면 다 적은 답안이, 틀린 것을 세면 확실한 것만 적은 답안이 이긴다 |
| 순방향 KL과 역방향 KL로 맞춘 모델이 같다고 봄 | 2 | KL은 비대칭이다. 기댓값을 데이터에서 취하는지 모델에서 취하는지 먼저 본다 |
| 대칭인 목표의 최적해도 대칭이라고 봄 | 2 | 대칭인 것은 최적해의 집합이다. 역방향 KL은 봉우리 하나를 고른다 |
최대우도 맞춤(norm.fit)으로 역방향 KL도 풀었다고 여김 |
2 | 최대우도는 데이터 분포에서 취한 기댓값, 즉 순방향 KL만 줄인다 |
| 한쪽에 몰아 준 모델은 자신만만해서 순방향 KL에서 진다고 봄 | 3 | 항별로 쪼개 보라. 순방향 KL의 큰 항은 목표가 말하는 토큰에 모델이 확률을 거의 두지 않은 항이다. 데이터가 한 말을 못 알아들은 페널티다 |
| 확률 0을 어디에도 두지 않으면 어느 방향으로 재도 안전하다고 봄 | 3 | 역방향에서는 모델이 말하고 목표가 듣는다. 목표가 거의 안 하는 말에 확률을 크게 두면 페널티가 크다. 같은 두 후보의 순위가 방향에 따라 뒤집힌다 |
| 표가 줄면 상대 메뉴보다 덜 좋아하게 됐다고 봄 | 4 | 두 메뉴를 비교할 때는 표 수보다 비율을 본다 |
| 좋은 답의 확률이 줄면 DPO 손실이 커진다고 봄 | 5 | 손실은 |
| 6 | 큰 |
|
| 지금 모델의 비율만 보고 개선이라 여김 | 7 | 손실은 지금 모델의 비율(8배)을 레퍼런스의 비율(50배)과 비교한다. 50배이던 격차가 8배가 되었으면 후퇴다 |
| 확률의 차이로 개선 여부를 판단 | 7 | 식에는 로그확률이 들어간다. 로그확률의 차는 확률의 비율을 잰다 |
요약
SFT는 남이 만든 답(데이터) 위에서 기댓값을 취해 순방향 KL을 줄이므로 모든 정답 봉우리를 덮으려 하고, 모델 자신의 실수는 손실에 직접 나타나지 않는다. KL로 묶은 RL은 모델이 만든 답 위에서 기댓값을 취해 역방향 KL을 줄이므로, 모델이 낸 실수 응답에 바로 페널티를 주고 좋은 봉우리 하나를 고른다. KL(A‖B)는 A가 말하고 B가 듣는다고 읽으면 방향을 헷갈리지 않는다. 순방향은 못 알아들으면 혼나는 훈련, 역방향은 엉뚱한 말을 하면 혼나는 훈련이어서, 같은 후보들의 순위가 방향에 따라 뒤집히기도 한다. 방향이 답을 가르는 것은 모델이 목표를 다 담지 못할 때다. DPO는 나쁜 예와 KL 페널티를 한 줄 손실로 합쳐 레퍼런스 대비 선호 마진
그런데, 보상은 어디 있나
이 교재의 제목은 "생성모델의 강화학습"이고 강화학습이라면 보상이 있어야 하는데, DPO의 수식에는 좋은 답과 나쁜 답의 쌍, 확률의 로그, 시그모이드뿐 보상이 보이지 않는다.
DPO 논문의 부제 “Your Language Model is Secretly a Reward Model”(당신의 언어 모델은 비밀리에 보상 모델이다)이 힌트다. 보상은 이 한 줄 수식의 어디에 숨어 있고, 보상을 드러내 놓고 쓰는 강화학습은 어떤 모습이었을까?