[Home] AI로 돌아가기

Temperature (온도)

Temperature는 AI 언어모델이 다음에 어떤 단어를 생성할지를 결정할 때 사용되는 "무작위성 조절 매개변수"이다. 사용자가 같은 질문을 반복해도 답변이 달라지는 이유 중 하나가 이 설정 때문이다.

1. Temperature란?

Temperature는 언어 모델이 다음 단어를 생성할 때 "확률 분포에서 얼마나 무작위성(randomness)을 반영할 것인가"를 조절하는 값이다. 일반적으로 0에서 1 사이의 실수 값으로 설정한다.

2. 왜 0~1 사이인가?

온도는 확률 분포에 영향을 주는 스케일 계수로, "0에 가까울수록 확률이 높은 단어에 집중하고", "1에 가까울수록 확률이 낮은 단어도 고르게 선택"될 수 있게 한다. 실험적으로 가장 안정적이고 해석이 쉬운 범위가 0~1로 설정되어 있다.

3. 낮은 Temperature의 특징

4. 높은 Temperature의 특징

5. 인간 사고를 흉내 내려는 의도인가?

Temperature를 조정하는 목적은 일정 부분 "인간의 사고 유연성과 주관성을 흉내 내려는 설계적 의도"와 관련이 있다. 인간은 같은 질문에도 컨텍스트나 감정, 판단 기준에 따라 다른 답을 낼 수 있다. GPT와 같은 모델도 온도를 조절함으로써 "항상 똑같은 답이 아닌 다양한 표현을 생성"할 수 있다.

6. 설정 예시

OpenAI GPT API 사용 시, temperature 값을 코드 내에서 설정할 수 있다.

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Explain quantum mechanics"}],
    temperature=0.7
)
    

예를 들어, temperature=0.7"논리성과 창의성 사이의 균형"을 추구하는 설정이다.