LLM에서의 Top p 란?
Top p는 언어 모델이 다음 단어를 선택할 때, 가장 가능성 높은 단어들의 누적 확률이 특정 임계값(p)에 이하까지만 고려하여, 다양성과 일관성 사이의 균형을 맞추는 텍스트 생성 방법입니다.
예를 들어, 언어 모델이 "나는 ___를 먹었다."라는 문장의 빈칸을 채우려 한다고 가정해봅시다. 모델이 예측한 다음 단어의 확률 분포가 다음과 같다고 해보겠습니다:
밥 - 40%
과일 - 30%
빵 - 15%
피자 - 10%
샐러드 - 3%
초콜릿 - 2%
이제 top p를 0.9(90%)로 설정했다고 가정해봅시다:
먼저 가장 높은 확률부터 누적해 갑니다: 밥 (40%) -> 과일 (70%) -> 빵 (85%) -> 피자 (95%)
누적 확률이 90% 이하인 지점에서 멈춥니다. 여기에서는 빵이 됩니다.
따라서 선택 가능한 단어 풀은 "밥", "과일", "빵"이 됩니다.
이 세 단어 중 하나를 무작위로 선택하여 최종 출력으로 사용합니다.
이 방식을 통해 top p는:
높은 확률의 선택지들을 유지하면서도 (일관성)
어느 정도의 무작위성을 허용하여 (다양성)
매우 낮은 확률의 선택지("피자", "샐러드", "초콜릿")는 제외합니다 (노이즈 감소)
이런 방식으로 top p는 텍스트 생성의 품질과 다양성 사이의 균형을 맞추는 데 도움을 줍니다.
p는 확률 질량(probability mass)를 의미합니다.
p가 높을 수록 더 다양한 단어들을 포함할 수 있어 창의성이 증가할 수 있습니다.
반면에 p가 낮을 수록 더 안전하고 예측 가능한 텍스트가 생성됩니다.
공유하기
조회수 : 200