topic난이도 · 약 20

Temperature — 창의성 조절 다이얼

Temperature가 낮으면 확정적(greedy), 높으면 창의적(random). 확률 분포의 날카로움을 조절한다.

#Temperature#greedy#sampling#하이퍼파라미터
왜 배우는가

ChatGPT에 같은 질문을 두 번 하면 다른 답이 나온다. 그런데 코딩 질문에는 거의 같은 답이 나온다. 이 차이는 Temperature — 확률 분포의 날카로움을 조절하는 하이퍼파라미터에서 온다.

Temperature는 확률 분포의 '날카로움'을 조절합니다

용어설명
Temperature확률 분포 날카로움을 조절하는 하이퍼파라미터

Softmax 전에 logits를 Temperature(T)로 나눕니다

T↓ = 날카로움(확정적), T↑ = 평평함(창의적)

softmax(xᵢ / T) = eˣⁱ/ᵀ / Σⱼ eˣʲ/ᵀ T가 0에 가까우면 가장 큰 값만 1에 가까워지고(greedy), T가 클수록 모든 선택지가 비슷한 확률을 갖게 됩니다.

Temperature 가이드설명
T=0.1거의 확정적 (코딩, 수학 문제)
T=0.5약간 다양 (일반 대화)
T=1.0기본값 (적당한 다양성)
T=2.0매우 창의적 (브레인스토밍, 시 쓰기)
Temperature 슬라이더 — 낮을수록 날카롭고 높을수록 평평한 확률 분포

Temperature를 바꿔가며 확률 분포 변화를 관찰합시다

logits를 T로 나눈 뒤 Softmax를 적용한다. T=0.1은 '좋다'에 거의 100%, T=2.0은 모든 토큰이 비슷한 확률을 가진다.

극단적인 Temperature 차이를 비교합시다

비교T=0.1 (확정적)T=2.0 (창의적)
"좋다" 확률100.00%30.25%
"나쁘다" 확률0.00%18.43%
결과항상 같은 답 (greedy)매번 다른 답 (random)
적합한 용도코딩, 수학 문제창작, 브레인스토밍

Temperature를 0.1부터 2.0까지 바꿔가며 확률 분포가 어떻게 변하는지 관찰합니다

Temperature별로 확률 분포를 계산하고 10번 샘플링하여 T가 낮을수록 같은 단어가 반복됨을 확인한다.

Temperature 원리설명
공식softmax(xᵢ / T) — logits를 T로 나눈 후 Softmax 적용
T↓ (0에 가까움)분포가 날카로움 — 가장 높은 확률 토큰만 선택 (greedy)
T↑ (큰 값)분포가 평평해짐 — 모든 토큰이 비슷한 확률 (random)
실전 가이드설명
T=0 (greedy)코딩, 수학 — 항상 동일한 답 (확정적)
T=0.5~1.0일반 대화 — 적당한 다양성 (기본값)
T=1.5~2.0브레인스토밍, 시 쓰기 — 매우 창의적 (랜덤)

ChatGPT API에서 temperature 파라미터로 직접 조절 가능! 목적에 맞는 T 값을 선택하세요.

실기 드릴 4문항
edit실기 드릴 · 단답형

Temperature를 0에 가깝게 낮추면 확률 분포는 어떻게 변하나요?

check_circle실기 드릴 · OX

ChatGPT에서 temperature=0으로 설정하면 같은 질문에 항상 동일한 답변이 나온다.

edit실기 드릴 · 단답형

Temperature를 높이면 확률 분포는 어떻게 변하나요?

edit실기 드릴 · 단답형

ChatGPT API에서 코드 생성(정확성 중시)에 적합한 temperature 값은?