LLM의 파라미터 Temperature, Top K, Top P에 대해 알아보기

LLM을 사용하다보면 자주 보이는 파라미터들 Temperature, Top K, Top P 에 대해 알아봅니다.
이병현's avatar
Sep 08, 2024
LLM의 파라미터 Temperature, Top K, Top P에 대해 알아보기
 
 
 

LLM의 파라미터란?

 
LLM(Large Language Model)의 파라미터는 모델의 출력을 제어하고 조정하는 데 사용되는 설정값들입니다.
이러한 파라미터들은 LLM 모델이 사용자 요청에 따른 결과를 생성하는 방식과 결과물의 특성을 결정하는 데 중요한 역할을 합니다.
주요 파라미터로는 Temperature, Top K, Top P 등이 있으며, 이들을 적절히 조정함으로써 원하는 특성의 결과를 생성할 수 있습니다.
 
이번 블로그는 Temperature, Top K, Top P 파라미터 들에 대해서 자세히 알아보겠습니다.

Temperature, Top K, Top P에 대해서

2-1. Temperature

notion image
ChatGPT 대시보드에서 설정가능한 파라미터들
 
Temperature는 LLM의 출력 다양성을 제어하는 파라미터입니다. 0에서 1 사이 (혹은 이상)의 값을 가지며, 낮은 값은 더 확실하고 예측 가능한 출력을, 높은 값은 더 다양하고 창의적인 출력을 생성합니다.
  • 낮은 Temperature (0에 가까움):
    • 더 일관된 응답 생성
    • 가장 확률이 높은 토큰 선택
    • 사실적이고 정확한 정보가 필요할 때 유용
  • 높은 Temperature (1에 가깝거나 이상):
    • 더 다양하고 예측 불가능한 응답 생성
    • 낮은 확률의 토큰도 선택 가능
    • 창의적인 결과값을 원하는 경우에 유용
    •  
사실 기반의 정보성 데이터에서 결과를 찾을 때는 낮은 Temperature를, 다양하고 랜덤한 결과에서 결과값에서 요청하고자 할 때는 높은 Temperature를 사용하는 것이 적합할 수 있습니다.

 
그러면 이러한 Temperature가 어떻게 결과값에 영향을 주는지 알아봅시다.
 
내부적으로 LLM은 문장을 생성할 때 입력 텍스트에 따라 모델은 각 단어에 대한 logit(예측 값)을 계산합니다.
 
이 logit은 모델이 각 단어가 다음에 등장할 확률을 얼마나 높게 보는지에 대한 상대적인 척도입니다. 그러나 logit 자체는 확률 값이 아니므로 이를 확률 분포로 변환해야 합니다. 이때 사용되는 함수가 바로 softmx 함수입니다.
 
notion image
Temperature를 적용한 sofmax 함수
 
P(xi)는 해당 단어의 확률이고, zi는 각 단어의 logit 값입니다. 모든 logit 값을 지수 함수에 넣고, 그 값들의 합으로 나누어 확률로 변환합니다.
 
이 과정에서 높은 logit을 가진 단어는 높은 확률을 얻고 낮은 logit을 가진 단어는 낮은 확률을 가집니다.
 
여기서 T라는 Temperature의 값을 이용하면, 1의 경우 logit 값 그대로 적용하게 됩니다. 하지만 1보다 작아진다면 logit 값이 더욱 커지면서, 높은 logit 값을 가진 단어를 선택한 확률이 올라가고, 0에 가까워지면 모델은 가장 높은 logit 값을 가진 단어를 거의 확정적으로 사용합니다.

결론적으로 Temperature는 정확한 정보들을 요청하고 싶을 때는 0으로 설정하고 다양한 결과 값을 얻어보고 싶으면 1혹은 1이상으로 설정하면 되는 파라미터입니다.
 

2-2. Top K

Top K는 Top P와 더불어 LLM이 결과를 생성할 때의 후보 단어들을 제한하는 용도의 파라미터입니다.
 
Top K는 각 단계에서 고려할 가장 가능성 있는 다음 토큰의 수를 제한합니다. 모델은 확률 순위가 가장 높은 K개의 토큰만을 고려하여 그 중에서 선택합니다.
  • 낮은 K 값:
    • 더 집중된, 예측 가능한 출력 생성
    • 모델의 '창의성'을 제한할 수 있음
  • 높은 K 값:
    • 더 다양한 출력 가능
    • 때때로 관련성이 떨어지는 결과 생성 가능
    •  
Top K는 모델이 너무 예측 불가능해지는 것을 방지하면서도 일정 수준의 다양성을 유지하는 데 도움을 줍니다.
 
예를 들어 [A, B, C, D, E 라는 후보들이 있을 때 Top K가 3이라면 확률이 높은 세개를 선택합니다. 이 경우에는 [A, B, C] 를 선택하는 형태가 됩니다.
 
Top K도 Temperature와 비슷하게 LLM이 얼마나 다양한 결과를 낼지에 대해 조절할 수 있는 파라미터입니다.
 

2-3. Top P

 
Top P는 핵 샘플링이라고도 불리우며, 누적 확률 분포를 기반으로 다음 토큰을 선택하는 방법입니다. Top P는 확률의 누적 합이 P%가 되는 단어들만을 고려하여 다음 단어를 선택하는 방식입니다. 이는 확률이 낮은 단어들을 필터링하여 답변의 품질을 높이는 역할을 합니다.
 
이해를 돕기위해 예시로 표현해보겠습니다. 만약 p가 0.8로 설정했다고 가정하겠습니다.
 
A: 40% B: 30% C: 10% D: 5% E: 2.5% etc: 12.5%
 
위의 확률들을 가진 후보들에서 가장 확률이 높은 순서대로 선택하게 됩니다. p 가 0.8 이므로 80% 를 채우기 위해 A 40% B 30% C 10% , 이 세가지를 선택하게 됩니다.
 
Top P는 Top K와 비슷한 역할을 하지만, 차이점은 Top K가 후보의 수를 제한하는 방식이라면 Top P는 확률의 누적 합을 기준으로 제한한다는 점입니다. 이러한 방식은 확률 분포의 꼬리에 위치한 단어들이 포함될 가능성을 열어두기 때문에, 더 유연하고 자연스러운 텍스트 생성이 가능해집니다.
 
따라서 p 값이 높을수록 더 랜덤하고 다양한 결과를 낼 수 있게 도와줍니다.

파라미터 조정의 중요성 및 결론

 
LLM의 파라미터를 적절히 조정하면 우리가 원하는 결과를 얻기에 더 유리합니다.
각 파라미터는 모델의 출력에 고유한 영향을 미치며, 이들을 조합하여 사용함으로써 더욱 세밀한 제어가 가능합니다.
 
위 3가지의 파라미터들을 요약해보면 아래와 같이 설명할 수 있습니다.
  • Temperature는 전반적인 창의성과 다양성을 조절합니다.
  • Top K는 고려할 토큰의 수를 제한하여 관련성을 유지합니다.
  • Top P는 확률 분포를 기반으로 유연하게 토큰을 선택합니다.
 
실제 응용에서는 이러한 파라미터들을 얻고자 하는 결과값의 특성, 원하는 출력의 스타일, 정확성 요구 사항 등에 따라 조정해야 합니다. 예를 들어, 사실적인 정보가 필요한 경우 낮은 Temperature와 낮은 Top K/P 값을, 창의적인 글쓰기에는 높은 Temperature와 적당한 Top K/P 값을 사용할 수 있습니다.
결론적으로, LLM의 파라미터를 이해하고 적절히 활용하는 것은 AI 모델을 효과적으로 사용하는 데 핵심적인 요소입니다. 다양한 실험과 경험을 통해 각 상황에 최적화된 파라미터 설정을 찾아내는 것이 중요합니다.
 
Share article
Subscribe to our newsletter
RSSPowered by inblog