Temperature 파라미터는 거대 언어모델의 출력 무작위성을 조절하는 샘플링 매개변수로, 대부분의 AI 대화 제품의 고급 설정과 API 매개변수 안에 숨어 있다. 평소에는 직접 볼 일이 거의 없지만, 모델의 답변이 엄격하고 수렴적인지, 자유롭고 분방한지를 결정한다.
핵심은 한 문장으로 정리된다. 모델이 단어를 생성할 때마다 실제로는 먼저 모든 후보 단어의 확률 분포를 계산한 뒤, 그중에서 한 단어를 '추첨'한다. Temperature 파라미터는 이 확률 분포의 모양을 조정한다. 온도를 높이면 분포가 평평해져 마이너한 단어도 뽑힐 기회를 얻고, 온도를 낮추면 분포가 가팔라져 모델은 거의 확률이 가장 높은 단어만 선택한다. 온도가 0이면 매번 확률 최댓값 단어를 선택해 출력이 확정적으로 바뀐다.
Temperature가 바꾸는 것은 '단어 선택 방식'이지 '지식의 양'이 아니다
Temperature 파라미터는 디코딩 단계에서 동작한다. 모델의 지식이나 능력을 바꾸는 것이 아니라 단어 선택 전략만 바꾼다. 온도를 아무리 높여도 모델이 갑자기 '똑똑해지지' 않고, 낮춘다고 해서 모르는 것을 답할 수 있게 되지도 않는다. 가장 흔한 오해가 바로 여기 있다. Temperature는 지능 조절 손잡이가 아니라 무작위성 조절 손잡이다.
Temperature와 top-p는 다른 것이다
Temperature와 top-p를 혼동하는 사람이 많지만 역할은 다르다. Temperature는 확률 분포 전체의 모양을 조정해 분포를 '늘리거나 압축'하고, top-p는 누적 확률 기준으로 후보를 잘라 확률 합이 p에 이르는 상위 단어만 남긴다. 즉 '후보 범위를 정한다'는 것이다. 둘은 함께 쓸 수 있다. 먼저 top-p로 후보 풀을 정하고, Temperature로 그 안에서 얼마나 무작위로 뽑을지를 정하는 식이다. '하나는 모양을 다듬고, 하나는 범위를 정한다'고 기억하면 다시는 헷갈리지 않는다.
흔한 오해 세 가지
첫째, '온도가 높을수록 AI가 창의적이다'. 온도를 적당히 높이면(예: 0.7에서 1.2) 확실히 표현이 다양해지지만, 너무 높이면 모델이 횡설수설하고 헛소리를 하기 시작한다. '창의성'이 '헛소리'로 바뀌는 것이다. 진짜 창의성은 다양하면서도 일관된 것이고, Temperature가 담당하는 것은 다양성이라는 절반뿐이다.
둘째, '온도를 0으로 하면 완전히 재현 가능하다'. 온도 0에서는 샘플링이 탐욕 디코딩으로 퇴화해 같은 입력에 대한 출력이 매우 안정적이지만, 하드웨어 차이, 추론 프레임워크, 배치 스케줄링 등으로 미세한 차이가 생길 수 있다. 강한 일관성이 필요한 장면에서는 온도 0이 필요조건이지 충분조건은 아니다.
셋째, '평소에는 기본 온도면 충분하다'. 이는 용도에 달렸다. 코드, 수학, 사실 관련 질문에서는 온도를 낮추면(0~0.3) '그럴듯한 거짓말'이 확실히 줄어든다. 브레인스토밍, 카피 작성, 이야기 창작에서는 0.8~1.2로 높이면 의외의 결과가 나오기 쉽다. 이 손잡이를 실제로 돌릴 수 있는 사람은 주로 API 사용자와 로컬에서 모델을 돌리는 사람이며, 웹 채팅 제품에서는 이미 고정되어 있는 경우가 많다.
작업별 온도 설정 가이드
실용적인 참고 범위를 제시한다(모델마다 눈금은 조금씩 다르며, 보통 0~2). 코드, 수학, 사실 문답은 0~0.3으로 정확성과 재현 가능성을 우선한다. 일상 대화, 요약, 다시 쓰기는 0.7 전후로 자연스러움과 안정성을 겸비하며, 이는 대부분 제품의 기본값이기도 하다. 브레인스토밍과 창작은 0.9~1.3으로 다양성을 최대로 끌어올리되 사람의 검토를 거친다. 1.5 초과는 실험적 용도에만 권장하며, 출력 품질 저하가 뚜렷해진다.
Temperature 파라미터의 본질은 '안정감'과 '활발함' 사이의 절충이다. 다음에 AI 답변이 너무 딱딱하거나 너무 황당하게 느껴지면, 먼저 온도 손잡이가 어디에 있는지 확인해 보자. 문제는 모델이 아니라 이 작은 파라미터에 있는 경우가 많다.