반응형
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
반응형