자주 하는 실수와 요약
자주 하는 실수
| 실수 | 나온 문제 | 바로잡는 법 |
|---|---|---|
| 총점이 높으니 문항 하나하나도 맞았겠다고 봄, 응답의 첫 토큰이 응답의 점수를 그대로 받았다고 봄 | 1, 2 | 끝에 한 번 받는 점수로는 문항·토큰 하나의 몫을 떼어 낼 수 없다. 같은 토큰으로 시작한 응답도 점수가 다를 수 있다 |
| 보상이 토큰(행동)마다 하나씩 붙는다고 봄 | 2 | 언어모델은 보통 응답이 끝난 뒤 한 번 점수를 받는다. 중간 토큰의 보상은 0이다 |
| 음수 점수를 받은 답이 뽑히면 맞는 답의 확률까지 내려간다고 봄 | 3 | 뽑힌 답의 로그확률을 내리면, 확률 합이 1이라 다른 답의 확률은 오른다 |
| 합을 맞추려고 나머지를 똑같이 깎음 | 4 | 비율을 지키려면 나머지는 원래 몫에 비례해 준다. 소프트맥스도 그렇게 움직인다 |
| 한 번도 안 뽑힌 답이 벌을 받는다고 봄 | 5 | 소프트맥스 그래디언트의 성분 합은 0이다. 뽑힌 답이 오른 만큼 나머지 몫이 줄 뿐이다 |
| 보상이 모두 양수면 모든 답의 확률이 오른다고 봄 | 6 | 확률 합은 1이다. 모든 보상이 같으면 정확한 그래디언트는 0이고, 샘플 하나의 추정치만 크게 흔들린다 |
loss = -R * logprob(y) 값의 감소를 성능 향상으로 봄 |
7 | 이 loss는 한 점에서 기울기만 맞춘 대리 손실이다. 성능은 평균 보상을 따로 기록해 본다 |
| 남이 만든 응답으로도 같은 식을 쓸 수 있다고 봄 | 7 | 로그 미분 트릭은 |
요약
정답 대신 점수만 있을 때의 목표는 내가 뽑는 응답의 평균 점수