4.2.1 Temperature(온도) 설정: 창의성 억제와 0(Zero) 값의 의미

4.2.1 Temperature(온도) 설정: 창의성 억제와 0(Zero) 값의 의미

거대 언어 모델(LLM)을 소프트웨어 엔지니어링의 통제 가능한 부품(Component)으로 편입시키기 위해 가장 먼저 조작해야 하는 마스터 스위치는 바로 ‘Temperature(온도)’ 파라미터다. AI 모델이 응답을 생성할 때, 온도 값은 모델의 출력이 얼마나 일관성을 가질지, 혹은 얼마나 다양한 ’창의성(Creativity)’을 발휘할지를 지배적으로 결정하는 수학적 배수(Multiplier)로 작용한다.

결정론적 오라클(Oracle)을 구축하고 회귀 테스트(Regression Test)를 자동화하려는 엔지니어에게, 온도 파라미터에 대한 명확한 이해와 타협 없는 통제는 시스템 붕괴를 막는 제1원칙이다.

1. Temperature의 수학적 메커니즘과 Softmax 스케일링

언어 모델은 다음 단어(Token)를 예측할 때, 내부적으로 어휘집(Vocabulary)에 있는 모든 단어들의 원시 점수(Raw Score)인 ’로짓(Logits)’을 계산한다. 이 로짓들을 확률 분포(0~1 사이의 값)로 변환하기 위해 소프트맥스(Softmax) 함수를 통과시키게 되는데, Temperature(T) 파라미터는 바로 이 변환 과정의 분모(Denominator)로 개입한다.

p_i = \frac{\exp(logit_i / T)}{\sum_j \exp(logit_j / T)}

이 수식에 따라 T 값의 크기가 텍스트 생성의 성격을 극단적으로 변화시킨다.

  • T > 1 (고온): 분모가 커지면서 로짓 간의 격차가 줄어들고(Smoothing), 확률 분포가 평탄해진다. 정답에 가까운 단어뿐만 아니라 엉뚱한 단어가 선택될 확률도 높아져, 모델은 매우 예측 불가능하고 ‘창의적인’ 형태의 환각(Hallucination) 문장을 생성하게 된다.
  • T < 1 (저온): 분모가 작아지면서 원래 높았던 로짓 점수는 기하급수적으로 폭증하고(Sharpening), 낮았던 점수는 0으로 소멸한다. 모델은 모험을 철저히 배제하고 가장 ‘안전하고 뻔한’ 단어에만 집중하게 된다.

2. Temperature 0: ArgMax 추출을 통한 그리디 디코딩(Greedy Decoding)

오라클 기반의 자동화 테스트 환경이나 로직 검증 시스템(예: JSON 기반 데이터 추출, SQL 생성)에서 온도의 기본값은 무조건 0으로 고정되어야 한다.

T0에 극한으로 수렴하면 수학적으로 소프트맥스 분포의 분산은 붕괴하고, 가장 점수가 높은 단 하나의 단어만이 확률 1.0을 독식하게 된다. 확률론적 샘플링(Sampling) 메커니즘이, 가장 큰 값만을 무조건적으로 선택하는 **ArgMax 연산(Greedy Decoding)**으로 완전히 치환되는 것이다.
이 극단적인 저온 상태에서 LLM은 ’확률적 창작자’가 아니라, 입력값에 대해 항상 동일한 출력값을 기대하게 만드는 ’가장 결정론(Determinism)에 가까운 함수’로 행동하기 시작한다.

3. T=0 설정 시의 한계와 비결정성의 잔재

입력 컨텍스트와 온도 T=0이 주어지면, 이론적으로 모델은 100만 번을 실행해도 동일한 텍스트를 반환해야 한다. 그러나 엔지니어들이 명심해야 할 치명적인 진실은, 온도를 0으로 설정하더라도 GPU/TPU와 같은 하드웨어 아키텍처 수준의 병렬 연산 무작위성(Non-determinism in floating-point operations)이나 분산 추론 환경의 노드 상태에 따라 극미한 로짓 차이가 발생하여, 간헐적으로 출력이 뒤바뀌는 현상이 발생할 수 있다는 점이다.

따라서 오라클 아키텍트는 “Temperature를 0으로 설정했으니 시스템은 완벽히 결정론적이다“라고 안심하는 대신, 이를 ’비결정성을 최소화하기 위한 최소한의 방어막’으로 간주해야 한다. 그 방어막 위에서 최종적인 O(1)의 구조적 검증을 단행하는 것이 바로 오라클 파이프라인의 진정한 책무다.