LLM(Language Model)의 Temperature(온도)는 텍스트를 생성할 때 얼마나 창의적이고 무작위적인 답변을 낼지 조절하는 변수입니다.
쉽게 말해, 모델의 ‘창의성 다이얼’이라고 할 수 있습니다.
모델은 다음 단어를 예측할 때 가능한 모든 후보 단어(토큰)에 대한 확률을 계산합니다.
이때 Temperature가 이 확률 분포의 형태를 조절합니다.
| 구분 | 작동 원리 | 결과 | 단점 | 예시 |
|---|---|---|---|---|
| 낮은 Temperature (0.1~0.3) | 가장 높은 확률의 단어를 거의 항상 선택 | 일관되고 안정적인 문장 | 반복적이고 지루함 | “사과는 빨갛다. 사과는 맛있다.” |
| 높은 Temperature (0.8~1.2) | 낮은 확률 단어도 선택될 가능성 증가 | 창의적이고 다양한 문장 | 비논리적이거나 허위 가능성 | “사과는 별빛의 속삭임을 담은 붉은 보석이다.” |
💡 Temperature = 0인 경우, 항상 확률 1위 단어만 선택합니다. 이를 Greedy Decoding이라고 부릅니다.
Temperature는 모델이 계산한 로짓(logits) 값에 직접 적용됩니다.
로짓을 Temperature 값 ( T )로 나눈 뒤 Softmax 함수를 적용해 확률을 계산합니다.
| Temperature | 선택 확률(고양이 / 개 / 물고기) | 특징 |
|---|---|---|
| T=1.0 | 54.7% / 33.1% / 12.2% | 기본 상태 |
| T=0.2 | 92.4% / 7.6% / 0.05% | ‘고양이’ 확률 집중 → 반복적 |
| T=2.0 | 44.4% / 34.6% / 21.0% | 분포 평탄화 → 다양하지만 불안정 |
✅ 낮은 T → 뾰족한 분포 (보수적)
✅ 높은 T → 평평한 분포 (창의적)
Temperature가 분포의 모양을 바꾼다면, Top-K는 그 분포의 꼬리를 잘라내는 역할을 합니다.
즉, 확률이 너무 낮은 단어들을 제거하고 상위 K개 단어만 남기는 방식입니다.
| 후보 단어 | 원래 확률 | 선택 여부 |
|---|---|---|
| 고양이 | 55% | ✅ |
| 개 | 33% | ✅ |
| 물고기 | 10% | ✅ |
| 자동차 | 1% | ❌ |
| 책 | 0.5% | ❌ |
이후 남은 세 단어(고양이, 개, 물고기)의 확률을 다시 정규화한 뒤 하나를 무작위로 뽑습니다.
💬 결과적으로 “문맥은 유지하면서도 창의적인 선택”이 가능해집니다.
이 두 파라미터는 함께 사용할 때 진가를 발휘합니다.
| 파라미터 | 역할 | 영향 |
|---|---|---|
| Temperature | 확률 분포의 모양 조정 | 창의성/무작위성 |
| Top-K | 확률 분포의 꼬리 자르기 | 안정성/일관성 |
예를 들어 T=1.0, K=50으로 설정하면,
“상위 50개 후보 중에서 창의적인 단어를 확률적으로 선택”하게 됩니다.
Argmax(=Greedy Decoding)는 항상 확률 1위 단어만 선택하는 방식입니다.
Temperature는 분포의 모양을 바꿀 뿐 순위를 바꾸지 않기 때문에,
Argmax와 함께 쓰면 아무 효과가 없습니다.
| 설정 | 결과 |
|---|---|
| T=0.2 + Argmax | 고양이 |
| T=2.0 + Argmax | 고양이 |
| → | 순위가 그대로이므로 동일 결과 |
🔎 Temperature는 샘플링(sampling) 기반일 때만 의미가 있습니다.
| 사용 목적 | 추천 Temperature |
|---|---|
| 코드 생성, 번역, 질의응답 | 0.2 ~ 0.5 |
| 일반 대화, 블로그 문체 | 0.7 ~ 1.0 |
| 소설, 마케팅 문구, 시 창작 | 1.0 ~ 1.3 |
LLM의 Top-p, Top-k, Temperature 이해하기 (YouTube)
5분 안에 세 개념의 차이를 직관적으로 설명하는 영상입니다.