퀴즈: 온도·top-k·top-p
온도 T 는 분포의 어느 자리에 들어가는가?
- 소프트맥스로 얻은 확률에 T 를 곱한다
- 소프트맥스로 얻은 확률을 T 로 나눈다
- 소프트맥스에 넣기 전에 로짓을 T 로 나눈다
- 잘라내기를 끝낸 뒤 남은 확률에 T 를 더한다
낮은 온도에서 소프트맥스가 넘치지 않으려면 무엇이 필요한가?
- 지수를 취하기 전에 나눈 값에서 최댓값을 뺀다
- 온도를 0.1 보다 작게 두지 않도록 막는다
- 로짓을 미리 0 과 1 사이로 정규화해 둔다
- 지수 대신 밑이 2 인 거듭제곱을 쓴다
top-p 에서 누적합이 p 를 넘게 만든 그 항목을 빼면 무엇이 잘못되는가?
- 남은 항목의 개수가 항상 하나로 줄어든다
- 정규화를 해도 확률의 합이 1 이 되지 않는다
- 동점인 항목들의 순서가 뒤집힌다
- 남은 것의 원래 확률 합이 p 에 못 미친다
top-k 와 top-p 를 같이 쓸 때 순서가 왜 결과를 바꾸는가?
- top-p 는 정렬을 하고 top-k 는 정렬을 하지 않기 때문이다
- top-k 가 먼저 자르고 정규화하면 확률이 부풀어 누적합이 빨리 찬다
- top-p 가 먼저 돌면 k 보다 많은 항목이 반드시 남기 때문이다
- 두 함수가 서로 다른 동점 규칙을 쓰기 때문이다
역누적분포로 뽑을 때, 확률이 정확히 0 인 토큰이 절대 뽑히지 않는 이유는?
- 번호 순서가 아니라 확률 순서로 훑기 때문이다
- 난수 u 가 0 보다 큰 값만 나오기 때문이다
- 0 인 자리는 누적합을 늘리지 않아 조건이 참이 되지 않는다
- 정규화 과정에서 0 인 자리가 목록에서 빠지기 때문이다
평가에서 회귀를 잡으려는데 점수가 실행마다 흔들린다. 가장 알맞은 조치는?
- 뽑기를 끄고 greedy 로 고정해 잰다
- 온도를 0 으로 두어 소프트맥스를 뾰족하게 만든다
- top-p 를 1.0 으로 올려 후보를 넓힌다
- 같은 설정으로 여러 번 돌려 가장 높은 점수를 쓴다