Temperature (LLM) (KO)

From Systems analysis wiki
Jump to navigation Jump to search

온도 (영어: Temperature)는 대형 언어 모델(LLM)의 맥락에서 텍스트 생성 시 무작위성과 "창의성"의 수준을 제어하는 하이퍼파라미터입니다. 이 파라미터는 디코딩의 각 단계에서 다음 token의 확률 분포를 "날카롭게" 또는 반대로 "부드럽게" 조정합니다. 온도를 조절함으로써 생성되는 텍스트의 예측 가능성(일관성)과 다양성(창의성) 사이의 균형을 제어할 수 있습니다.

간단한 설명

온도모델이 다음 단어를 얼마나 신중하게, 또는 반대로 얼마나 자유롭게 선택하는지를 결정하는 파라미터입니다. 대형 언어 모델에는 거의 항상 하나 이상의 가능한 이어지는 내용이 존재합니다. 일반적으로 각 단계에서 여러 적절한 선택지가 있고, 각각에는 고유한 확률이 부여됩니다. 온도는 모델이 가진 지식 자체나 "무엇을 알고 있는가"에 영향을 미치는 것이 아니라, 생성 시 이러한 선택지들 사이에서 어떻게 선택하는가에 영향을 미칩니다.

낮은 온도에서 모델은 더 보수적으로 행동합니다. 가장 확률이 높은 단어를 더 강하게 "신뢰"하며, 가장 예상되는 이어지는 내용에서 벗어나는 경우가 줄어듭니다. 결과적으로 텍스트는 일반적으로 더 균일하고, 예측 가능하며, 형식적으로 올바르고 일관성 있게 생성됩니다. 이러한 모드는 표현의 정확성, 응답의 안정성, 결과의 재현성, 불필요한 변동성 최소화가 중요한 경우에 유용합니다. 그러나 이 접근 방식에는 단점도 있습니다. 텍스트가 지나치게 틀에 박히고, 건조하며, 단조롭고, 때로는 지나치게 "신중"해질 수 있습니다. 온도가 지나치게 낮으면 모델이 동일한 구문을 무한히 반복(루프에 빠짐)하기 시작할 수도 있는데, 가장 확률이 높지만 항상 적절하지는 않은 이어지는 내용에 "갇히는" 것입니다.

높은 온도에서 모델은 더 대담하게 행동합니다. 가장 확률이 높은 단어뿐만 아니라 덜 명확한 단어도 더 자주 선택할 수 있게 됩니다. 이로 인해 응답이 더 다양하고, 생동감 있으며, 독창적이고 때로는 더 창의적이 됩니다. 이는 창의적 작업, 브레인스토밍, 아이디어 생성, 문학 텍스트 작성, 또는 여러 다양한 표현을 탐색할 때 유용할 수 있습니다. 그러나 다양성이 증가함에 따라 위험도 커집니다. 텍스트가 덜 일관되고, 덜 정확하며, 극단적인 경우에는 이상하고 비논리적이거나 무작위적이 될 수 있습니다.

유용한 직관은 온도가 지식의 조절기가 아니라 단어 선택 시의 위험 조절기라는 것입니다. 낮은 온도는 모델이 거의 항상 "가장 안전한" 선택을 하도록 강제합니다. 높은 온도는 모델이 더 자주 "위험을 감수"하고 덜 명확한 이어지는 내용을 시도할 수 있도록 허용합니다.

또 다른 유용한 비유는 온도를 사람이 질문에 답하는 방식과 비교하는 것입니다. 공식적이고 정확하며 신중한 답변이 요구될 때, 사람은 일반적으로 가장 중립적이고 예상되는 표현을 선택합니다 — 이는 낮은 온도와 유사합니다. 반면 비범한 아이디어, 은유, 줄거리 전개, 또는 여러 비표준적 선택지를 떠올리는 것이 목표라면, 표현이 더 자유롭고 대담해집니다 — 이는 높은 온도와 유사합니다.

따라서 온도는 생성의 두 가지 특성 사이의 균형을 담당합니다:

  • 응답의 예측 가능성과 안정성;
  • 표현의 다양성과 의외성.

온도가 낮을수록 모델은 가장 확률이 높고 표준적인 이어지는 내용에 가까워집니다. 온도가 높을수록 변동성을 위한 공간이 넓어지지만, 결과의 엄밀성과 일관성에 대한 통제력은 약해집니다.

이론적 정의

수학적으로, 온도(T)는 모델의 출력 로짓(ui)을 확률 분포(Pi)로 변환하는 softmax 함수의 나눗수로 도입됩니다. 공식은 다음과 같습니다:

Pi(T)=eui/Tjeuj/T

여기서:

  • Pi(T) — 온도 T에서 i번째 token의 최종 확률.
  • ui — 모델이 출력한 i번째 token에 대한 로짓(비정규화 점수).
  • T — 온도 파라미터(엄격히 양의 수). 예를 들어, OpenAI API의 대부분 모델에서 허용 범위는 0에서 2.0이며, 0은 greedy decoding의 특수 경우입니다(아래 참조). 다른 라이브러리(Hugging Face Transformers, llama.cpp)에서는 온도가 임의의 양수 값을 가질 수 있습니다.

중요: 온도는 sampling 모드에서만 출력에 영향을 미칩니다. sampling 없는 모드(greedy decoding, 고전적인 beam search)에서는 온도 파라미터가 효과를 발휘하지 않습니다. 예를 들어, Hugging Face Transformers에서 온도가 작동하려면 do_sample=True을 활성화해야 합니다.

온도 값의 영향

  • T=1 (표준값): 확률 분포는 변경되지 않습니다. 이는 모델의 원래 예측을 반영하는 표준 softmax입니다.
  • T<1 (낮은 온도, 예: 0.20.7): 분포가 더 날카롭고 뾰족하게 됩니다. 가장 확률이 높은 token의 확률은 증가하고, 낮은 확률의 token은 감소합니다. 이로 인해 생성이 더 결정론적이고 예측 가능해집니다. 모델이 명확하고 고빈도의 단어를 더 자주 선택하게 되어 텍스트의 일관성과 문법적 정확성이 높아지지만, 다양성은 감소합니다.
  • T>1 (높은 온도, 예: 1.11.5): 분포가 더 부드럽고 균일하게 됩니다. token 간 확률 차이가 줄어들어, 낮은 확률의(더 "예상치 못한") token이 선택될 가능성이 높아집니다. 이로 인해 텍스트가 더 창의적이고, 다양하며, 예측 불가능해지지만, 비일관적이거나 문법적으로 부정확한 표현이 생성될 위험이 증가합니다.

경계 경우

  • T0: 온도가 0에 수렴하는 극한에서, softmax 함수는 argmax로 변환됩니다. 모델은 항상 가장 높은 로짓을 가진 token을 선택하게 됩니다. 이 모드는 탐욕적 디코딩(greedy decoding)과 동등하며 완전히 결정론적입니다. 이는 종종 반복적이고 틀에 박힌 텍스트를 생성합니다. 참고: T=0 값은 공식에 직접 대입할 수 없습니다(0으로 나누기). 많은 구현에서 이는 greedy decoding에 가까운 최대한 보수적인 선택의 특수 모드로 처리됩니다. 또한 모든 hosted API가 T=0에서 완전한 결정론적 동작을 보장하지는 않습니다 — 예를 들어, Anthropic API에서는 온도가 0이더라도 결과가 약간 달라질 수 있습니다.
  • T: 온도가 무한대에 수렴할 때, 확률 분포는 균일해집니다. 어휘의 모든 token이 동등한 확률을 갖게 되어, 모델은 무작위적인 "의식의 흐름"을 생성하며 일관성을 완전히 잃습니다. 실제로 무한대는 필요하지 않습니다. T>2.0 수준에서도 분포는 거의 균일해지고, 텍스트는 무의미한 token의 나열이 됩니다.

실용적 적용 및 권장 사항

온도의 올바른 선택은 매우 중요하며 특정 작업에 따라 달라집니다. 아래에 제시된 범위는 대략적인 경험적 기준입니다 — 최적 값은 특정 모델, 도메인 및 작업에 따라 크게 다를 수 있습니다.

  • 창의적 작업의 경우 (이야기, 시, 마케팅 슬로건 작성):
    • 높은 온도(T0.71.2)를 권장합니다.
    • 이는 모델이 더 예상치 못하고 창의적인 아이디어를 생성하고, 다양한 어휘를 사용하며, 틀에 박힌 표현을 피하도록 유도합니다.
  • 정확성과 사실성이 요구되는 작업의 경우 (질의응답, 요약, 코드 생성):
    • 낮은 온도(T0.00.4)를 권장합니다.
    • 이는 변동성을 줄이고 결과의 재현성을 높이며, 모델이 가장 확률이 높은 텍스트 이어지는 내용을 따르도록 강제합니다. T=0에서 생성은 결정론적이 됩니다(고정된 seed와 다른 무작위성 소스가 없는 경우). 이는 테스트와 디버깅에 유용하지만, sampling 시에만 나타나는 문제를 숨길 수 있습니다. 그러나 낮은 온도 자체가 사실적 정확성을 보장하지는 않습니다 — 모델이 필요한 지식을 갖고 있지 않다면, 잘못된 답변을 자신 있게 생성할 수 있습니다. 최대 사실성을 위해서는 낮은 온도를 지식 베이스 검색 방법(RAG) 및 개선된 프롬프팅과 결합하는 것이 권장됩니다. OpenAI 문서에서는 데이터 추출 및 사실적 응답 작업에 T=0을 권장합니다.
  • 추론, 수학 및 코드 생성 작업의 경우:
    • 일반적으로 더 낮은 온도를 사용하지만, 최적 값은 특정 모델과 작업에 따라 상당히 다릅니다.
    • 참고: 일부 추론 모델(예: OpenAI o1/o3 계열)에서는 sampling 파라미터가 제공자 측에서 제한되거나 고정될 수 있습니다. 내부적인 chain-of-thought는 안정적인 분포를 필요로 하므로, 제공자가 온도 변경을 완전히 차단하거나 좁은 범위 내에서만 사용자 값을 허용할 수 있습니다.
  • 대화 시스템 및 챗봇의 경우:
    • 중간 온도(T0.50.8)를 권장합니다.
    • 이를 통해 균형을 찾을 수 있습니다: 응답이 일관성 있고 주제에 맞으면서도 너무 건조하고 단조롭지 않게 됩니다.

참고: OpenAI API 문서에서는 temperature 또는 top_p 중 하나만 변경하되, 두 파라미터를 동시에 변경하지 말 것을 권장합니다 — 그렇지 않으면 동작을 예측하기 어려워집니다. OpenAI API 참조 예시에서는 일반적으로 T=1.0가 기본값으로 사용됩니다.

Top-k 및 Top-p와의 비교

온도는 Top-kTop-p (nucleus sampling)과 같은 절단 방법과 다르게 작동합니다:

  • 온도는 어휘의 모든 token 간 확률을 재분배하지만, 어떤 token도 제거하지 않습니다. 매우 낮은 온도에서도 낮은 확률의 token은 미미하지만 0이 아닌 선택 가능성을 유지합니다.
  • Top-kTop-p엄격한 절단을 도입하여, 샘플링 핵심에 포함되지 않은 token을 완전히 제외합니다. 이러한 절단은 꼬리 token 선택 위험을 줄이지만, 그 자체로는 거친 경험적 기준이며, 0이 아닌 "진정한" 확률을 가진 타당한 이어지는 내용을 버릴 수 있습니다.

실제로 이 파라미터들은 종종 함께 사용됩니다. 예를 들어, 전체 스타일을 위해 중간 온도(예: T=0.8)를 설정하고, 분포의 "꼬리"를 절단하여 심각한 오류 위험을 줄이기 위해 Top-p(예: p=0.9)를 추가할 수 있습니다. 매우 낮은 온도(T0)에서는 분포가 이미 하나의 유의미한 피크만을 가지므로 Top-p는 사실상 의미를 잃습니다.

온도와 다른 디코딩 파라미터의 상호작용

온도는 거의 단독으로 사용되지 않습니다. 실제로는 "창의성 ↔ 신뢰성" 균형을 세밀하게 조정하기 위해 다른 하이퍼파라미터와 함께 사용됩니다.

파라미터 적용의 일반적인 순서

일반적인 sampling 구현(특히 Hugging Face Transformers)에서 파라미터는 보통 다음 순서로 적용됩니다:

  1. 모델이 원시 로짓(ui)을 출력합니다.
  2. 반복 패널티(repetition / frequency / presence penalty)가 적용됩니다 — 이미 생성된 token을 기반으로 로짓을 수정합니다.
  3. 온도가 로짓을 스케일링합니다: ui/T.
  4. softmax가 적용되어 새로운 확률 분포가 생성됩니다.
  5. 절단(truncation): 먼저 Top-k(지정된 경우), 그 다음 Top-p 또는 Min-p.
  6. 남은 "핵심"에서 무작위 샘플링(sampling)이 이루어집니다.

이 일반적인 체계에서 온도는 반복 패널티 적용 이후, softmax 및 필터링 이전에 분포의 형태를 변경합니다. 따라서 동일한 top_p=0.9T=0.2일 때와 T=1.5일 때 전혀 다른 크기의 "핵심"을 생성합니다. 패널티와 온도는 비선형적으로 상호작용하므로 파라미터를 조정할 때 이를 고려하는 것이 중요합니다. hosted API(OpenAI, Anthropic)에서 내부 적용 순서는 이 수준의 상세도로 공개 문서화되어 있지 않습니다.

Top-p (nucleus sampling) 및 Min-p

Min-p (minimum probability sampling)는 가장 확률이 높은 token에 상대적으로 확률의 하한 임계값을 설정하는 비교적 새로운 절단 방법입니다(일반적으로 0.05–0.1). Top-p와 달리, 상대적 임계값(고정된 누적 질량이 아닌 최선 token의 확률에 연결된)으로 token을 절단하므로, 높은 온도(>0.8)에서 특히 효과적입니다: 다양성의 상당한 손실 없이 완전히 부적절한 token의 선택을 방지합니다. Min-p는 vLLM 및 llama.cpp를 포함한 여러 인기 있는 오픈소스 inference 스택에서 지원됩니다.

Repetition / Frequency / Presence penalty

Frequency_penalty 및 presence_penalty(OpenAI API)는 이미 등장한 token의 반복 확률을 낮춥니다. 이는 낮은 온도의 단점 중 하나인 틀에 박힘과 루프에 빠지는 경향을 보완할 수 있습니다.

Typical sampling 및 Mirostat

Typical sampling(Meister et al., 2023)은 컨텍스트의 "예상" 엔트로피에 가까운 확률을 가진 token을 선택합니다. Mirostat(v2)는 목표 perplexity가 일정하게 유지되도록 절단 파라미터를 동적으로 조정합니다 — 이는 스타일의 안정성이 중요한 긴 텍스트에 유용합니다.

설정의 예시

아래는 다양한 유형의 작업에 대한 예시 구성입니다. 이 값들은 일반적인 권장 사항이 아닙니다 — 최적 파라미터는 특정 모델, 작업 및 inference 스택에 따라 다릅니다.

작업 온도 가능한 조합 논리
Factual Q&A, 요약 0.0–0.3 T + top_p=0.9 무작위 변동성 최소화
코드 생성, 수학 0.1–0.4 T + repetition_penalty 안정성 + 루프 방지
대화 / 챗봇 0.6–0.85 T + top_p=0.92 또는 min_p=0.1 자연스러움과 일관성의 균형
창작 (이야기, 마케팅) 0.75–1.1 T + min_p=0.07–0.1 꼬리 필터링을 통한 다양성
Long-form / 에이전트 0.5–0.8 Mirostat 또는 T + frequency_penalty 길이와 일관성 제어

일반 조언: temperature와 top_p를 동시에 크게 변경하지 않는 것이 좋습니다. 일반적으로 절단 파라미터 중 하나를 고정하고 온도로 창의성을 조절하는 것이 편리합니다 — 이렇게 하면 모델의 동작이 더 예측 가능해집니다.

현대 aligned 모델의 특성: RLHF / Constitutional AI / RLAIF를 거친 강하게 정렬된 모델에서는 기본 모델에 비해 높은 온도의 효과가 약화되어 있습니다 — T=1.2에서도 모델이 비일관적인 텍스트를 생성하는 경우가 줄어듭니다. 구체적인 최적 값은 새로운 세대의 모델이 출시됨에 따라 변경될 수 있으며, 위에 제시된 권장 사항은 2025–2026년 기준으로 유효합니다.

참고 문헌

  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Caccia, M. et al. (2018). Language GANs Falling Short. arXiv:1811.02549.
  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Hewitt, J.; Manning, C.; Liang, P. (2022). Truncation Sampling as Language Model Desmoothing. arXiv:2210.15191.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O'Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2023). Closing the Curious Case of Neural Text Degeneration. arXiv:2310.01693.
  • Shi, C. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Ravfogel, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.
  • Basu, S. et al. (2021). Mirostat: A Perplexity-Controlled Neural Text Decoding Algorithm. arXiv:2007.14966.
  • Nguyen, M. N. et al. (2025). Turning Up the Heat: Min-p Sampling for Diverse and High-Quality Text Generation. arXiv:2407.01082.
  • Renze, M.; Guven, E. (2024). The Effect of Sampling Temperature on Problem Solving in Large Language Models. arXiv:2402.05201.
  • Zhang, S. et al. (2024). EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling. arXiv:2403.14541.
  • Li, L. et al. (2025). Exploring the Impact of Temperature on Large Language Models: Hot or Cold?. arXiv:2506.07295.

같이 보기

  • 대형 언어 모델