Top K
Top K (탑 K 샘플링)
Top K는 Top P와 비슷하지만 더 단순한 샘플러 설정이에요. 퍼센트가 아니라 토큰 개수로 고려할 토큰 수를 제한해요. 목표는 고려할 수 있는 토큰 수에 하드 리미트(하한/상한)를 정하는 거예요.
Top K가 5라면, 상위 5개 토큰만 고려돼요.
출처: 문서
본문
시각화 (Visualization)
아래 데모에서는 먼저 Temperature를 설정하고 나서 Top K를 3으로 설정할 거예요. Temperature가 0이면 항상 결정적(deterministic)이어서, 이 시나리오에서 Top K는 아무것도 바꾸지 못한다는 점을 기억하세요.
일이 일어나는 순서는 이렇게 돼요:
- 먼저 Temperature가 적용돼요.
- 그다음 Top K 3이 상위 3개 토큰만 남겨요.
- 다른 토큰들이 더 이상 선택지가 아니게 되면서 상위 토큰들의 확률이 다시 분배돼요.
"What is the best mythical creature? Answer with a single word."라는 질문에 대한 분포는 이렇게 변해요.
Top K는 확률과 무관하게 상위 토큰만 유지해요. Top P보다 더 단순한 샘플링 방식이에요.
무엇을 배웠나요? (What Have We Learnt?)
- Top K의 역할: Top K는 고려할 토큰 수를 지정된 개수로 제한하는 샘플러 설정이에요. 확률 질량(probability mass)을 쓰는 Top P와 달리, Top K는 고려할 수 있는 토큰 수에 하드 리미트를 걸어요. 예를 들어 Top K가 5면 상위 5개 토큰만 고려돼요.
- Temperature와의 상호작용: Top P와 비슷하게, Top K는 보통 Temperature 설정 이후에 적용돼요. Temperature가 토큰의 확률 분포를 조정하고, 그다음 Top K가 선택지를 상위 K개 토큰으로 좁혀요.
- 출력에 미치는 영향: Top K를 쓰면 모델이 가장 가능성 높은 토큰에 집중해서 출력의 품질과 일관성을 어느 수준 유지하는 데 도움이 돼요. 다만 누적 확률을 고려하지 않기 때문에 Top P보다 더 단순한 방식으로 동작해요.
다른 샘플러 설정도 확인해 보세요 -> Sampling