본문으로 건너뛰기

샘플링 제어: 온도와 그 친구들

중급
What you'll learn
  • temperature, top-p, top-k, stop sequence가 실제로 다음 토큰 선택에 무엇을 하는지
  • 언제 차갑게 vs 뜨겁게 실행할지를 위한 한눈에 보는 결정표
  • 왜 temperature=0을 설정해도 동일한 출력이 보장되지 않는지
  • 다이얼을 숨기는 최신 Claude 모델에서 샘플링을 어떻게 사고할지

모델이 텍스트를 생성할 때, 확률 분포에서 다음 토큰을 선택합니다. 샘플링 제어어떻게 선택하는지를 조율합니다 — 출력이 얼마나 집중되어 있는지 vs 얼마나 다양한지.

주요 다이얼

Guided walkthrough1 of 4
  1. 전체 분포를 스케일링합니다. 낮음(≈0) = 집중적, 거의 결정적, 반복 가능; 모델이 가장 가능성 높은 경로를 취합니다. 높음 = 더 다양하고 창의적이지만, 방황하거나 오류에 더 취약합니다.
Pro tip
  • temperature 또는 top-p 중 하나만 조정하고 둘 다 하지 마세요 — 상호작용하며 결합된 동작은 추론하기 어렵습니다.
  • 기본적으로 top-k는 그대로 두세요. 대부분 방해가 되는 무거운 망치입니다.
  • stop sequence는 구조화된 출력에 훌륭한 안전벨트입니다 — JSON 뒤에 남는 산문이 사라집니다.

언제 차갑게 vs 뜨겁게 실행할지

차갑게 실행 (낮은 temp)뜨겁게 실행 (높은 temp)
추출, 분류, 코드브레인스토밍, 이름, 창의적 카피
재현 가능성을 원하는 모든 것다양한 옵션 탐색
사실 / 구조화된 출력어조 다양성, 아이디에이션
채점 / LLM-as-judgeA/B 카피를 위한 아이디에이션

대부분의 작업에 좋은 기본값은 중간~낮음 (대략 0–0.4)입니다. 놀라움을 원할 때만 올리세요.

실제 예시

같은 프롬프트, 세 가지 온도. 예시 패턴이며 벤치마크가 아닙니다:

Prompt

Give me one clever name for a productivity app that helps writers.
  • temp 0WordFlow 같은 안전하고 반복 가능한 선택. 다시 물으면 다시 WordFlow.
  • temp 0.5 → 여전히 일관성 있고, 실행마다 더 다양함: Draftly, Inkline, Composera.
  • temp 1.0 → 창의적이지만 잡음이 더 많음: Quillspark, Verbatimo, 가끔 리듬이 맞지 않는 이상한 단어.

교훈: 다양성이 작업의 목적인 곳에서만 temperature를 올리세요.

최신 Claude 모델은 이를 숨깁니다

여러 최신 Claude 모델은 자체 디코딩을 적응시키고 temperature를 덜 강조합니다 (또는 생략). 다이얼이 사용 불가능하다면, 그것은 의도된 것입니다 — 대신 프롬프트와 (제공되는 경우) effort/thinking 설정을 통해 동작을 만드세요. 최신 모델에서는 프롬프트의 명확성과 역할 프레이밍이 샘플링 다이얼보다 더 많은 일을 합니다.

결정론적 주의사항

temperature 0에서도 출력은 실행, 모델 버전, 제공자 간에 비트 단위로 동일하다고 보장되지 않습니다. 이유:

  • 서버 측의 배칭과 부동소수점 비결정성.
  • 별칭 뒤의 조용한 모델 업데이트.
  • 약간의 입력 차이 (떠도는 공백, 다른 토크나이저).

정확한 재현성에 의존하지 마세요. 중요할 때 드리프트를 잡기 위해 평가에 의존하세요.

흔한 실수

Pro tip
  • 나쁜 출력을 고치려고 temperature를 올리기 — 수정은 거의 항상 샘플러가 아닌 프롬프트에 있습니다.
  • top-p와 temperature를 섞기 — 하나의 다이얼을 고르고 다른 하나는 기본값에 두어 변경 사항을 추론할 수 있게 하세요.
  • temp=0이 결정론적이라고 가정하기 — 그렇지 않습니다. 회귀를 감지하려면 동등성 검사가 아닌 평가를 사용하세요.
  • 산문에 stop sequence 사용하기 — JSON 구분자에는 훌륭하지만, 모델이 정당하게 그 문자열을 생성할 수 있는 자유 형식 텍스트에는 어색합니다.

스스로 확인하기

Check yourself

0/4
  1. 송장에서 필드를 안정적으로 추출해야 합니다. 어떤 temperature 설정?
  2. 일반적으로 함께 조정하면 안 되는 다이얼 쌍은?
  3. temperature=0을 설정하고 두 실행에서 약간 다른 출력을 얻습니다. 가장 가능성 높은 원인은?
  4. temperature 다이얼이 노출되지 않은 최신 Claude 모델에서 동작을 어떻게 형성합니까?
Key takeaways
  • Temperature가 주요 다이얼; top-p는 대안; top-k와 stop sequence는 상황에 따라 다름.
  • 추출, 코드, 채점에는 차갑게; 브레인스토밍과 창의적 카피에는 뜨겁게.
  • 한 번에 하나의 무작위성 다이얼을 조정하세요 — temperature 또는 top-p.
  • Temp 0 ≠ 결정론적. 동작 드리프트를 잡기 위해 동등성이 아닌 평가에 의존하세요.
  • 최신 Claude 모델에서는 프롬프트 + effort/thinking이 샘플링 다이얼을 대체합니다.

다음