Temperature는 AI 언어모델이 다음에 어떤 단어를 생성할지를 결정할 때 사용되는 "무작위성 조절 매개변수"이다. 사용자가 같은 질문을 반복해도 답변이 달라지는 이유 중 하나가 이 설정 때문이다.
Temperature는 언어 모델이 다음 단어를 생성할 때 "확률 분포에서 얼마나 무작위성(randomness)을 반영할 것인가"를 조절하는 값이다. 일반적으로 0에서 1 사이의 실수 값으로 설정한다.
온도는 확률 분포에 영향을 주는 스케일 계수로, "0에 가까울수록 확률이 높은 단어에 집중하고", "1에 가까울수록 확률이 낮은 단어도 고르게 선택"될 수 있게 한다. 실험적으로 가장 안정적이고 해석이 쉬운 범위가 0~1로 설정되어 있다.
Temperature를 조정하는 목적은 일정 부분 "인간의 사고 유연성과 주관성을 흉내 내려는 설계적 의도"와 관련이 있다. 인간은 같은 질문에도 컨텍스트나 감정, 판단 기준에 따라 다른 답을 낼 수 있다. GPT와 같은 모델도 온도를 조절함으로써 "항상 똑같은 답이 아닌 다양한 표현을 생성"할 수 있다.
OpenAI GPT API 사용 시, temperature 값을 코드 내에서 설정할 수 있다.
response = openai.ChatCompletion.create( model="gpt-4", messages=[{"role": "user", "content": "Explain quantum mechanics"}], temperature=0.7 )
예를 들어, temperature=0.7
은
"논리성과 창의성 사이의 균형"을 추구하는 설정이다.