본문 바로가기
etc

LLM의 Top P값과 Temperature 값이란?

by 비타로그 2025. 4. 14.

언어 모델(Language Model, LLM)의 출력을 제어하는 핵심 매개변수(파라미터) 중 두 가지는 Temperature와 Top P입니다. 이 두 값은 모델이 생성하는 텍스트의 다양성과 예측 가능성을 결정하는 주요 요소로 작용합니다. 이 포스팅에서는 이 두 매개변수의 작동 원리와 실제 적용 방법에 대해 살펴보겠습니다.

 

 

확률 분포와 다음 토큰 예측

언어 모델의 기본 작동 원리를 이해하는 것이 먼저 필요합니다. LLM은 주어진 문맥에서 다음에 올 토큰(단어나 부분 단어)의 확률 분포를 계산합니다. 모델은 각 후보 토큰에 확률값을 할당하며 이 확률 분포를 바탕으로 다음 토큰을 선택합니다. 가장 높은 확률을 가진 토큰만 항상 선택된다면 모델의 출력은 결정론적이 되지만 실제로는 다양한 출력을 생성하기 위해 확률적 샘플링 방법을 사용합니다. 이때 Temperature와 Top P가 핵심 역할을 합니다.

 

Temperature: 확률 분포의 형태 변형

Temperature는 확률 분포의 '날카로움'을 제어하는 매개변수입니다. 수학적으로는 소프트맥스 함수에 적용되는 스케일링 인자로 작동합니다.

 

수학적 정의

Temperature(T)가 적용된 확률 계산식은 다음과 같습니다.

 

P(토큰_i) = exp(logit_i / T) / Σ exp(logit_j / T)

 

여기서 logit_i는 모델이 계산한 토큰 i의 원시 점수입니다.

 

온도 효과의 직관적 이해

  • T < 1 (낮은 Temperature): 확률 분포가 더 뾰족해져 높은 확률을 가진 토큰들이 선택될 가능성이 더욱 높아집니다. 이는 출력의 일관성과 예측 가능성을 증가시킵니다.
  • T = 1: 모델의 원래 확률 분포를 그대로 사용합니다.
  • T > 1 (높은 Temperature): 확률 분포가 더 평평해져 낮은 확률의 토큰들도 선택될 가능성이 높아집니다. 이는 더 다양하고 창의적인 출력을 생성하지만 때로는 부정확하거나 비논리적일 수 있습니다.

 

실제 적용 사례

Temperature = 0.3: 수학 문제 풀이나 사실 기반 질문에 적합합니다. 모델이 가장 확신하는 답변을 제공합니다.

Temperature = 0.7: 일반적인 텍스트 생성에 균형 잡힌 값으로 간주됩니다.

Temperature = 1.2: 창의적 글쓰기나 브레인스토밍에 유용합니다. 예상치 못한 방향으로 텍스트가 전개될 수 있습니다.

 

Top P(Nucleus Sampling): 확률 질량 기반 샘플링

Top P는 누적 확률 분포에 기반한 샘플링 방법으로 종종 'nucleus sampling' 또는 'top-p sampling'이라고 불립니다.

 

작동 원리

Top P는 확률이 높은 토큰부터 시작하여 누적 확률이 설정된 P값(예: 0.9)에 도달할 때까지 토큰을 포함시킵니다. 이후 이 집합 내에서만 다음 토큰을 샘플링합니다.

 

알고리즘 단계:

  1. 모든 가능한 다음 토큰을 확률 내림차순으로 정렬합니다.
  2. 확률이 가장 높은 토큰부터 시작하여 누적 확률이 P값을 초과할 때까지 토큰을 선택합니다.
  3. 선택된 토큰 집합(nucleus)에서 확률에 비례하여 다음 토큰을 샘플링합니다.

 

Top P의 장점

Top P는 맥락에 따라 고려되는 어휘 범위를 동적으로 조정합니다. 다음 토큰이 명확할 때(예: "대한민국의 수도는 __")는 적은 수의 후보만 고려하고 다음 토큰이 열려있을 때(예: "내가 좋아하는 과일은 __")는 더 많은 후보를 고려합니다.

 

Top P 값의 선택

  • P = 0.1: 매우 좁은 어휘 범위로 가장 가능성 높은 토큰만 고려합니다.
  • P = 0.5: 중간 범위의 어휘를 고려합니다.
  • P = 0.9: 넓은 어휘 범위를 고려하여 다양한 응답을 생성할 수 있습니다.
  • P = 1.0: 사실상 모든 가능한 토큰을 고려합니다.

 

Temperature와 Top P의 비교

이 두 매개변수는 모두 텍스트 생성의 다양성을 제어하지만 접근 방식이 다릅니다.

 

주요 차이점

  • Temperature는 전체 확률 분포의 형태를 변경합니다.
  • Top P는 고려할 토큰의 집합을 제한합니다.

 

상호작용

이 두 매개변수는 함께 사용될 수 있으나 일반적으로는 둘 중 하나만 조정하는 것이 권장됩니다. 동시에 사용할 경우 순서는 Temperature를 먼저 조정하는 것이 좋습니다.

 

  1. 먼저 Temperature로 확률 분포를 조정합니다.
  2. 그 다음 Top P로 고려할 토큰 집합을 제한합니다.

 

Holtzman 등(2019)의 연구에 따르면 Top P 샘플링은 특히 긴 텍스트 생성에서 반복과 루프를 줄이는 데 효과적인 것으로 나타났습니다. Temperature 조정만으로는 때때로 극단적인 결과(너무 안전하거나 너무 무작위적인)가 나올 수 있지만 Top P는 더 균형 잡힌 결과를 제공하는 경향이 있습니다.

 

성능 지표 비교

여러 연구에서 다양한 Temperature와 Top P 값에 따른 텍스트 생성 품질을 평가했습니다.

 

  • 일관성 (Coherence): 낮은 Temperature와 낮은 Top P가 더 일관된 텍스트를 생성합니다.
  • 다양성 (Diversity): 높은 Temperature와 높은 Top P가 더 다양한 텍스트를 생성합니다.
  • 반복성 (Repetition): Top P 샘플링이 Temperature 조정보다 반복을 줄이는 데 더 효과적입니다.
  • 사실 정확성 (Factuality): 낮은 Temperature(0.0~0.3)가 사실 기반 응답에서 더 정확합니다.

 

실무 적용 가이드라인

응용 분야별 최적 설정

  • 사실 기반 질의응답: Temperature = 0.0~0.3, Top P = 0.1~0.5
  • 일반 대화: Temperature = 0.5~0.7, Top P = 0.7~0.9
  • 창의적 글쓰기: Temperature = 0.7~1.0, Top P = 0.9~1.0
  • 코드 생성: Temperature = 0.2~0.5, Top P = 0.5~0.7

 

상황별 조정 전략

  • 결과가 너무 예측 가능하고 반복적인 경우: Temperature나 Top P를 높이세요.
  • 결과가 너무 임의적이거나 비논리적인 경우: Temperature나 Top P를 낮추세요.
  • 장문의 텍스트 생성: Top P 샘플링이 더 나은 결과를 제공할 수 있습니다.
  • 정확한 정보 검색: Temperature를 매우 낮게(0.0~0.1) 설정하세요.

 

Top K와의 관계

Top K는 또 다른 샘플링 방법으로 확률이 가장 높은 K개의 토큰만 고려합니다. Top P와 달리 고정된 수의 토큰을 선택하므로 Top P보다 덜 유연합니다. 최신 LLM 시스템에서는 Top K와 Top P를 순차적으로 적용하는 경우도 있습니다.

 

  1. Top K로 K개의 후보 토큰을 선택
  2. Top P로 누적 확률에 따라 추가 필터링
  3. Temperature로 최종 확률 분포 조정

 

마치며

Temperature와 Top P는 언어 모델의 출력을 제어하는 강력한 도구입니다. 이들을 적절히 조정함으로써 응용 분야와 목적에 맞는 최적의 텍스트 생성이 가능합니다. 다양한 설정으로 실험해보고 특정 작업에 가장 적합한 매개변수 값을 찾는 것이 좋습니다.

 

참고: AGI 뜻, 일반 인공지능하고는 뭐가 다를까?

참고: 당신이 몰랐던 ChatGPT 활용법 8가지

참고: 스테이블 디퓨전 WebUI 프롬프트 문법 가이드

댓글