C.W.K.
Stream
Lesson 09 of 12 · published

Temperature — 모델이 얼마나 즉흥적이어야 하나

~8 min · temperature, sampling

Level 0Token
0 XP0/94 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Temperature는 softmax 전에 모델의 logit을 재스케일, 결과 분포가 얼마나 '샤프'하거나 '평탄'한지 제어.

P(token_i) = softmax(logit_i / T)
  • T = 0: greedy와 동등. 최고 logit 토큰이 모든 확률 질량 가져감.
  • T = 0.3 – 0.7: 집중하지만 결정적이지 않음. 코드, 수학, 사실 QA, 에이전트 task에 좋아.
  • T = 1.0: raw 분포 사용. 일반 chat의 합리적 기본.
  • T > 1.0: 더 랜덤하고 창의적. T=1.5 또는 2.0이 반복 패턴 벗어나는 데 가끔 도움; 매우 높은 temperature는 일관성 없는 텍스트 생산.

Temperature는 top-p와 상호작용. T=0이면 p가 뭐든 상관없어 — 항상 같은 토큰 이김. 높은 temperature에선 top-p가 미친 outlier 지배 막아. 둘이 함께 안정성과 창의성 사이 조정 가능한 균형 줘.

Code

Temperature in action·python
import torch.nn.functional as F

logits = torch.tensor([8.0, 7.0, 6.0, 5.0, 4.0])

for T in [0.1, 0.5, 1.0, 2.0]:
    probs = F.softmax(logits / T, dim=-1)
    print(f"T={T:>3}  probs = {probs.tolist()}")

# T=0.1: [0.998, 0.001, 0.000, ...]   nearly deterministic
# T=0.5: [0.844, 0.114, 0.015, ...]   focused
# T=1.0: [0.643, 0.237, 0.087, ...]   raw
# T=2.0: [0.371, 0.225, 0.137, ...]   diffuse

External links

Exercise

단일 prompt 벤치마크 — '한 문장 책 추천해 줘.' T=0.1, 0.7, 1.0, 1.5, 2.0 각각에서 20번 실행. 출력을 수동 채점 — (a) coherence, (b) diversity. mean과 variance 플롯. 생산적 zone은 어디?

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.