AI 해부교실 · Part 9 대답이 만들어지는 순간

82장 후보 줄이기

Q. 룰렛에 '피자' 칸이 있으면, 언젠가는 정말 '피자'가 뽑히지 않을까요?

  1. 샘플링에는 함정이 있어요. 후보는 수만 개라서, 아주 작은 막대들도 다 모으면 꼬리가 꽤 두꺼워져요.
  2. 꼬리가 3%뿐이어도, 100조각짜리 답을 쓰면 어딘가 한 번은 엉뚱한 말이 섞일 확률이 95%나 돼요.
  3. 그래서 꼬리를 잘라요. 첫째, Top-k. 확률 순서로 위에서 k개만 남겨요. k가 3이면 세 개만 남죠.
  4. 남은 85%를 다시 나눠서 합을 1로 맞춰요. 간다 61.2%, 갔다 24.7%, 늦었다 14.1%. 이제 룰렛을 돌려요.
  5. 둘째, Top-p. 위에서부터 확률을 더해 가다가 p, 예를 들어 90%를 넘는 순간 멈추고 나머지를 잘라요.
  6. Top-k는 늘 3개를 남기지만, Top-p는 모델이 확신하면 1개, 헷갈리면 6개처럼 상황에 맞춰 남겨요.
  7. 정리하면, 점수를 온도로 나누고, 소프트맥스로 확률을 만들고, 꼬리를 자르고, 룰렛을 돌려요. 이게 조각 하나가 뽑히는 길이에요.

한 장 요약