<aside> 🌞 핵심 요약

1. Top_p

<aside> 📝 Top_p 적용 과정

  1. 출력 확률 분포 계산
  2. 확률 분포를 내림차순으로 정렬
  3. 누적 확률 값이 P가 넘는 상위 단어만 후보 단어로 선정
  4. 후보 단어의 확률에 따라서, 다음 단어를 선택

[예시]

2. Top_k

<aside> 📝 Top_k 적용 과정

  1. 출력 확률 분포 계산
  2. 상위 K개의 확률 단어만 후보 단어로 선정
  3. 후보 단어의 확률에 따라서, 다음 단어를 선택

[예시]

3. Temperature

<aside> 📝 Temperature 적용 과정

  1. 로그 확률 계산: 주어진 문맥에서 모델이 계산한 각 단어의 확률 값에 로그 함수를 적용해서, 로그 확률을 계산함
    1. Temperature를 적용할 때만, 로그 확률 계산을 하는 이유는 안정성과 편의성 때문임
      1. 안전성: 확률값은 0~1인데, 여러 확률값들을 곱하거나 나누는 연산을 반복하는 과정에서 언더플로우(underflow) 문제가 발생할 수 있음.
      2. 편의성: 로그 변환은 곱셈을 덧셈으로, 나눗셈을 뺄셈으로 바꾸는데, 이것을 통해 계산을 간편하게 만들 수 있고, 오버플로우(overflow) 문제도 방지할 수 있음
  2. Temperature 적용: 로그 확률 값을 → temperature로 나눠줌
  3. softmax 정규화: Temperature로 나눠진 로그 확률 값을 지수 함수를 통해 → 원래 비율로 변환
  4. 선택: 변환된 비율에 따라 단어를 선택함

[예시]