Study Programming/Google AI기초공부(with CloudSkillBoost)

topK와 topP의 차이

네모메모 2025. 8. 29. 19:22
반응형

topK와  topP의 차이

공통점 : AI 모델이 다음 단어를 선택하는 방식을 제어하여 답변의 다양성을 조절하는 기술

차이점 : 선택 후보를 정하는 기준이 서로 다름

 


 

topK (Top-K 샘플링)

  • 가장 확률이 높은 K개의 단어만 후보로 놓고, 그중에서 다음 단어를 선택하는 방식
  • 낮은 값(예: 1)은 항상 가장 확률 높은 단어만 선택하게 되므로 답변이 매우 결정론적이 됨
  • 높은 값(예: 40)은 더 많은 선택지를 주어 답변의 다양성을 높임

ex) Top-K: "무조건 판매량 상위 3개 중에서만 고르세요!"

  • Top-K는 "등수(순위)를 기준으로 선택지를 제한하는 방식"
  • 만약 top_k=3으로 설정하면, 모델은 다음 단어 후보 중에서 가장 확률이 높은 1, 2, 3등 단어만 보고, 그중에서 하나를 무작위로 고릅니다. 4등부터는 아무리 확률이 3등과 비슷해도 아예 고려하지 않음
  • 장점: 선택지의 개수가 항상 K개로 고정되어 있어 이해하기 쉽고 예측이 간편
  • 단점: 문맥에 따라 3등과 4등의 확률 차이가 거의 없을 수도 있는데, 무조건 잘라버리기 때문에 유연성이 떨어질 수 있음

 


 

 

topP (Top-P 샘플링)

  • 단어들의 확률을 모두 더했을 때 P가 될 때까지만 후보로 놓고, 그중에서 단어를 선택하는 방식
  • 낮은 값(예: 0.1)은 매우 확률 높은 단어들 중에서만 선택하여 안전하고 일관된 답변을 유도함
  • 높은 값(예: 0.95)은 더 많은 단어들을 후보로 두어 다양한 표현의 답변을 생성
  • temperature와 함께 사용되지만, 보통 둘 중 하나만 조절하는 것을 권장한다.

 

ex) Top-P: "인기 있는 것들을 다 더해서 90%가 될 때까지만 보세요!"

  • Top-P는 "확률의 합(비중)을 기준으로 선택지를 제한하는 방식"
  • 만약 top_p=0.9로 설정하면, 모델은 확률이 높은 순서대로 단어들을 더해나가다가 그 확률의 합이 90%가 되는 지점까지의 단어들을 후보로 봄
  • 장점: 문맥에 따라 선택지의 개수가 유연하게 바뀜
    • 확실한 다음 단어가 있을 때
      (예: "콜럼버스가 발견한 것은" -> "신대륙") : '신대륙'의 확률이 85%라면, 90%를 채우기 위해 1~2개의 단어만 추가로 고려하므로, 선택지가 좁아져 엉뚱한 단어가 나올 확률이 줄어듦
    • 다양한 표현이 가능할 때
      (예: "오늘 날씨가"): '좋네요', '맑네요', '화창하네요' 등의 확률이 비슷하다면, 90%를 채우기 위해 더 많은 단어들을 후보로 보게 되어 다채로운 표현이 가능해짐
  • 단점: 선택지의 개수가 계속 변하기 때문에 Top-K보다는 직관성이 떨어질 수 있음

 

 


구분 Top-K (순위 기준) Top-P (확률 합 기준)
기준 정해진 개수 (K개) 정해진 확률의 합 (P)
선택지 수 항상 고정 상황에 따라 유연하게 바뀜
특징 직관적이고 간단함 문맥에 맞춰 더 자연스러운 답변 생성에 유리

 

 

 

대부분의 경우 Top-K나 Top-P 값은 정의처럼 딱 맞춰 사용하기보단 조금 더 유연하게 설정된다.
(OpenAI 플레이그라운드에서는 Top P만 설정할 수 있다. 즉, Top K는 0으로 고정돼 있다고 함)

 

 

 


출처 

- https://ai.google.dev/api/generate-content?hl=ko

- https://wikidocs.net/218344

 

반응형