
LLM 추론 파라미터 입문——Temperature·Top-K·Top-P의 원리와 실전 튜닝 가이드
요약
LLM의 출력 품질을 결정하는 핵심 샘플링 파라미터인 Temperature, Top-K, Top-P의 원리와 활용법을 설명합니다. 각 파라미터가 토큰 선택 확률 분포에 미치는 수학적 메커니즘과 유스케이스별 최적 튜닝 가이드를 제공합니다.
핵심 포인트
- Temperature는 확률 분포의 격차를 조절하여 답변의 결정론적 성격이나 창의성을 제어함
- Top-K는 상위 K개의 토큰만 후보로 남겨 무관한 단어 선택을 방지하고 할루시네이션을 억제함
- Top-P는 누적 확률을 기준으로 후보군을 제한하여 문맥에 맞는 유연한 토큰 선택을 지원함
- 태스크의 성격(코드 생성 vs 창의적 글쓰기)에 따라 파라미터 조합을 최적화해야 함
ChatGPT나 Claude와 같은 LLM(대규모 언어 모델)을 사용하면서, "답변이 너무 진지해서 재미가 없다", "코드를 출력하게 하고 싶은데 매번 다른 방식으로 작성해서 곤란하다", "온도(Temperature)를 너무 높여서 지리멸렬한 답변이 되었다"와 같은 경험을 해본 적이 없으신가요?
LLM의 출력 품질이나 성격은 프롬프트의 기교뿐만 아니라, 추론 시에 지정하는 **샘플링 파라미터(Sampling Parameter: Temperature, Top-K, Top-P)**의 조참(Tuning)에 의해 극적으로 변화합니다.
이 기사에서는 LLM이 다음 토큰(Token)을 선택하는 수리적 메커니즘부터 각 파라미터의 역할, 그리고 유스케이스별 최적의 조합 가이드까지 알기 쉽게 해설합니다.
LLM은 문장을 생성할 때, 한 번에 완성된 문장을 출력하는 것이 아닙니다. "지금까지의 문맥에 이어지는, 가장 자연스러운 다음 단어(토큰)"를 하나씩 확률 계산하여 생성하는 처리를 반복하고 있습니다.
샘플링 파라미터는 이 "확률 계산으로부터 최종적인 하나의 토큰을 선택하는 과정"을 컨트롤하는 그래픽 카드의 이퀄라이저와 같은 존재입니다.
[ 입력 텍스트 (Prompt) ]
↓
[ Transformer Decoder ]
...
만약 모델이 "항상 가장 확률이 높은 토큰"만을 계속 선택한다면(Greedy Decoding), 출력은 매우 견실해지는 반면, 같은 구절을 반복하거나 지루하고 기계적인 문장이 되기 쉽습니다.
그렇기 때문에 생성에 "적절한 랜덤성(여유)"을 부여하기 위해 Temperature, Top-K, Top-P 등의 파라미터가 필요합니다.
Top-K는 "확률이 높은 상위 K개의 토큰만을 남기고, 그 외의 낮은 확률을 가진 토큰을 선택지에서 완전히 제외하는" 파라미터입니다.
비유하자면, **"시험의 선택지를 상위 몇 개까지 남길 것인가?"**라는 필터링입니다.
예를 들어, "고양이가 ___ 위에서 자고 있다"라는 문장의 다음에 올 단어의 확률 스코어가 다음과 같다고 가정해 봅시다:
| 후보 토큰 | 확률 | Top-K = 3인 경우 |
|---|---|---|
| 코타츠 | 55% | ⭕ 유지 |
| ... |
LLM의 어휘 수(Vocabulary Size)는 통상 32,000 ~ 128,000개 이상입니다.
롱테일(Long Tail, 말단)에는 문맥에 전혀 맞지 않는 무관한 단어가 극히 낮은 확률로 대량 존재합니다.
만약 Top-K를 지정하지 않으면, 10만 분의 1의 확률을 우연히 뽑게 되어 **할루시네이션(Hallucination, 거짓말이나 맥락 없는 발언)**이 발생하는 원인이 됩니다.
작음 (예: K=1 ~ 10): 확실성이 높고 무의미한 단어를 선택하지 않음 (견실·안전).
큼 (예: K=40 ~ 100): 어휘의 폭이 넓어져 다양한 표현이 가능해짐.
**Temperature($T$)**는 후보 토큰 간의 확률 격차를 조정하는 파라미터입니다.
수학적으로는 Softmax 함수에 통과시키기 전의 스코어(Logit $z_i$)를 Temperature $T$로 나눕니다.
$$\text{Probability}(i) = \frac{\exp(z_i / T)}{\sum_j \exp(z_j / T)}$$
이 나눗셈에 의해 확률 분포의 형태가 급변합니다:
【저온도 (T = 0.2)】 【표준 (T = 0.7)】 【고온도 (T = 1.5)】
▲ ▲ ▲
│ █ │ █ │
...
- 스코어의 차이가 증폭되어 최고 확률의 토큰이 더욱 압도적이 됩니다.
특징: 답변이 결정론적(Deterministic)이 되어 매번 거의 동일한 출력을 반환합니다.
적합한 태스크: 프로그래밍 코드 생성, JSON/XML 등의 구조화된 데이터 추출, 수학 계산, 사실에 기반한 FAQ 답변.
- 스코어의 차이가 줄어들어 확률 분포가 플랫(Flat, 평탄)해집니다. 평소에 선택되기 어려운 희귀한 단어도 선택되게 됩니다.
특징: 창의성이나 다양성이 늘어나는 반면, 너무 높으면 문법이 붕괴하거나 할루시네이션이 증가합니다.
적합한 태스크: 네이밍 안 브레인스토밍, 소설·시 작성, 캐치프레이즈 제작.
**Top-P (Nucleus Sampling)**는 고정된 개수(K개)로 자르는 것이 아니라, **"확률이 높은 순서대로 누적하여 합계 확률이 P(예: 0.9 = 90%)에 도달할 때까지의 토큰 집합"**을 동적으로 선택하는 수법입니다.
- Top-K: 문맥이 확실하든 모호하든, 항상 '상위 K개'를 선택합니다 (고정 길이).
- Top-P: 문맥에 따라 '선택할 토큰의 수'가 자동으로 변화합니다 (가변 길이).
【상황 A: 문맥이 매우 명확한 경우】
"일본의 수도는 ___ 이다"
→ "도쿄" (92%) 단 하나만으로 누적 확률 90%를 초과하므로, 선택지는 【1개】로 자동 축소!
...
이러한 "확신도에 따른 동적인 선택 창의 신축"이 가능하기 때문에, 현재 많은 LLM API (OpenAI나 Anthropic 등)에서는 Top-K보다 Top-P가 표준 파라미터로서 권장되고 있습니다.
실제 개발이나 프롬프트 조정 시 고민된다면, 다음의 파라미터 설정을 참고하십시오.
| 유스케이스 | Temperature | Top-P / Top-K | 목적·출력 경향 |
|---|---|---|---|
| 코드 생성 / 디버깅 | 0.1 〜 0.2 | Top-P: 0.1 | 결정론적이고 버그 없는 정확한 구문 (Syntax) 출력 |
| JSON/데이터 추출 (RAG) | 0.0 〜 0.3 | Top-P: 0.2 | 사실에만 기반하여 불필요한 창작 (Hallucination) 방지 |
| 기술 해설 / 기사 집필 | 0.5 〜 0.7 | Top-P: 0.85 | 논리적 일관성을 유지하면서 읽기 쉬운 자연스러운 문장 표현 |
| 브레인스토밍 | 0.8 〜 1.0 | Top-P: 0.95 | 다양한 관점이나 참신한 아이디어를 다수 출력 |
| 이야기·시·크리에이티브 | 1.0 〜 1.2 | Top-P: 0.95 | 의외성 있는 단어 선택으로 표현력을 극대화 |
먼저 안전문을 통과시키기 (Top-K / Top-P) - 우선 Top-P = 0.9나 Top-K = 40을 설정하여, 노이즈가 되는 극단적인 저확률 토큰을 배제합니다.
목적별로 Temperature를 미세 조정하기 - 정확성을 원한다면 Temperature를 낮춥니다 (0.2 부근). 재미나 다양성을 원한다면 Temperature를 높입니다 (0.8 부근).
이중 조정에 따른 과도한 억제 주의하기 - OpenAI의 공식 문서에서는 "Temperature와 Top-P를 동시에 크게 변경하는 것은 권장하지 않으며, 둘 중 하나를 주로 조정할 것"이라고 명시되어 있습니다 (예기치 않은 동작을 방지하기 위함).
LLM의 추론 파라미터를 이해하는 것은, AI라는 강력한 엔진의 액셀러레이터와 브레이크 조절법을 익히는 것과 같습니다.
- Top-K / Top-P: 저확률 노이즈나 폭주를 차단하는 "안전 브레이크"
- Temperature: 결정론적인 딱딱함과 창조적인 부드러움을 무단계로 전환하는 "감도 다이얼"
태스크의 성격(확정적인 답을 원하는지, 유연한 발상을 원하는지)에 맞춰 이 다이얼들을 올바르게 돌림으로써, LLM의 잠재력을 최대한으로 끌어올릴 수 있습니다.
꼭 여러분의 프로젝트나 프롬프트 개발에서 이 파라미터들을 조정하며 효과를 시험해 보시기 바랍니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기