온도 스케일링은 머신 러닝, 특히 대규모 언어 모델에서 생성 출력의 무작위성을 제어하는 데 사용되는 기법입니다. 이는 모델의 최종 계층에서 생성된 로짓(정규화되지 않은 원시 점수)을 소프트맥스 함수를 적용하기 전에 온도 값으로 나누는 방식으로 작동합니다. 이 조정은 결과 확률 분포의 예리함을 변경하여 모델 예측의 확신도와 다양성에 직접적인 영향을 미칩니다. 이 방법은 생성형 AI 시스템에서 텍스트 완성, 대화 생성, 코드 합성과 같은 작업에서 일관성과 창의성 사이의 균형을 맞추기 위해 널리 적용됩니다.
이 개념은 통계 역학에서 유래했으며, 여기서 온도는 시스템의 엔트로피를 지배하고, 예측 불확실성을 관리하기 위해 신경망에 적응되었습니다. 실제로 온도 스케일링은 실무자가 원하는 출력 특성을 달성하기 위해 조정하는 단순하면서도 강력한 하이퍼파라미터입니다. 이는 top-k 샘플링이나 top-p 샘플링과 같은 다른 샘플링 전략과는 구별되지만, 종종 이들과 함께 사용됩니다. 이 기법은 OpenAI, Anthropic, Google DeepMind가 개발한 것을 포함하여 사실상 모든 현대 트랜스포머 기반 아키텍처에서 구현됩니다.
수학적 공식화
신경망에서 출력 계층은 어휘의 각 가능한 토큰에 대해 로짓 벡터 \( z_i \)를 생성합니다. 표준 소프트맥스 함수는 이러한 로짓을 다음과 같이 확률 \( p_i \)로 변환합니다:
\[ p_i = \frac{e^{z_i}}{\sum_j e^{z_j}} \]
온도 스케일링을 사용하면 온도 매개변수 \( T \)가 도입되어 공식을 다음과 같이 수정합니다:
\[ p_i = \frac{e^{z_i / T}}{\sum_j e^{z_j / T}} \]
\( T = 1 \)일 때 함수는 변경되지 않습니다. \( T < 1 \)의 경우 로짓은 1보다 작은 수로 나뉘어 차이를 증폭시켜 분포를 더 뾰족하고 결정론적으로 만듭니다. \( T > 1 \)의 경우 로짓은 더 큰 수로 나뉘어 차이를 줄이고 분포를 평평하게 만들어 무작위성을 증가시킵니다. \( T \)가 0에 접근하면 분포는 원-핫 벡터(argmax)로 수렴하고, \( T \)가 무한대에 접근하면 균일 분포에 접근합니다.
출력 품질에 미치는 영향
온도 선택은 생성된 텍스트의 품질과 특성에 상당한 영향을 미칩니다. 낮은 온도(예: 0.1~0.3)는 단일 정답이 예상되는 코드 생성이나 수학적 추론과 같이 높은 정확성과 사실적 일관성이 필요한 작업에 자주 사용됩니다. 높은 온도(예: 0.8~1.5)는 다양성과 참신성이 중요시되는 창의적 글쓰기, 브레인스토밍 또는 대화형 에이전트에 선호됩니다. 그러나 과도하게 높은 온도는 모델이 가능성이 낮은 토큰을 선택할 수 있으므로 비일관적이거나 무의미한 출력을 초래할 수 있습니다.
ChatGPT 및 Claude와 같은 시스템의 실증 연구와 실제 사용은 약 0.7의 온도가 균형 잡힌 응답의 일반적인 기본값임을 보여줍니다. 머신 러닝 연구에서 온도 스케일링은 보정에도 사용되며, 학습된 온도를 적용하여 모델 예측의 신뢰도 정확성을 개선합니다. 이는 Guo 등의 2017년 논문 "현대 신경망의 보정에 관하여"에서 설명되었습니다.
다른 샘플링 방법과의 관계
온도 스케일링은 종종 출력 생성을 정제하기 위해 다른 샘플링 기법과 결합됩니다. Top-k 샘플링은 후보 토큰 풀을 가장 가능성 있는 k개로 제한하고, top-p 샘플링(핵 샘플링이라고도 함)은 누적 확률이 임계값 p를 초과하는 가장 작은 토큰 집합을 선택합니다. 온도는 이러한 필터 전에 적용되어 토큰의 상대적 확률을 변경합니다. 예를 들어, 높은 온도는 덜 일반적인 토큰을 선택할 가능성을 높일 수 있지만, top-p는 극도로 가능성이 낮은 토큰의 선택을 여전히 방지할 수 있습니다. 이 조합은 다양성과 품질 사이의 균형에 대한 세밀한 제어를 가능하게 합니다.
대조적으로, 빔 탐색과 같은 결정론적 디코딩 방법은 가장 높은 확률의 시퀀스를 찾는 것을 목표로 하므로 온도를 사용하지 않습니다. 온도 스케일링은 주로 개방형 생성 작업에 선호되는 확률적 샘플링과 관련이 있습니다.
실제 구현
현대 딥 러닝 프레임워크에서 온도 스케일링은 일반적으로 소프트맥스 계층 전에 로짓에 대한 간단한 나눗셈 연산으로 구현됩니다. 예를 들어, PyTorch 또는 TensorFlow에서 logits / temperature를 계산한 다음 softmax를 적용할 수 있습니다. 온도 값은 전역적으로 설정하거나 컨텍스트에 따라 동적으로 조정할 수 있는 하이퍼파라미터입니다. OpenAI 및 Anthropic과 같은 일부 시스템은 온도를 API 매개변수로 노출하여 사용자가 요청별로 지정할 수 있게 합니다.
NVIDIA GPU 및 Groq 또는 SambaNova의 특수 칩과 같은 하드웨어 가속기는 계산이 요소별로 병렬화 가능하므로 이러한 연산을 효율적으로 처리합니다. 대규모 배포에서 온도 스케일링은 서버 측에서 적용되며 결과 토큰 확률은 샘플링에 사용됩니다.
다양한 도메인에서의 응용
텍스트 생성 외에도 온도 스케일링은 다른 딥 러닝 응용 프로그램에서 사용됩니다. 컴퓨터 비전에서는 분류 모델을 보정하는 데 도움이 됩니다. 강화 학습에서는 정책 네트워크의 탐험-활용 균형을 제어합니다. 음성 인식에서는 음향 모델 출력의 신뢰도를 조정합니다. 이 기법은 시퀀스-투-시퀀스 작업의 신경망에서도 관련이 있으며, 번역이나 요약의 다양성에 영향을 미칩니다.
인공 지능 안전의 맥락에서 온도 스케일링은 모델 행동을 정렬하는 도구입니다. 예를 들어, 낮은 온도를 설정하면 모델이 더 안전하고 가능성 있는 응답에 고수하므로 유해하거나 편향된 콘텐츠를 생성할 가능성을 줄일 수 있습니다. 그러나 이는 완전한 해결책이 아니며, RLHF(인간 피드백 기반 강화 학습)와 같은 다른 방법이 종종 사용됩니다.
역사적 발전
신경망에서 온도의 사용은 1980년대 볼츠만 머신과 시뮬레이션 어닐링에 대한 초기 연구로 거슬러 올라갑니다. 1990년대에 연구자들은 분류를 위한 신경망의 소프트맥스에 온도를 적용하여 결정 경계를 제어했습니다. 언어 모델에서 온도 스케일링의 현대적 인기는 2010년대 트랜스포머의 등장, 특히 2019년 GPT-2 출시 이후 샘플링 매개변수의 중요성을 강조하면서 성장했습니다. 그 이후로 모든 주요 대규모 언어 모델 API의 표준 기능이 되었습니다.
스탠포드 AI 연구소 및 버클리 AI 연구의 연구자들은 온도의 보정 특성을 연구하여 모델 불확실성과 연결했습니다. 이 기법은 커리큘럼 학습 및 데이터 증강의 맥락에서도 논의되며, 여기서 온도는 시간이 지남에 따라 결정론을 점진적으로 증가시키기 위해 어닐링될 수 있습니다.
한계 및 고려 사항
온도 스케일링은 만병통치약이 아닙니다. 이는 기본 모델의 지식이나 추론 능력을 변경하지 않으며 샘플링 분포에만 영향을 미칩니다. 낮은 온도는 잘못된 사실을 학습한 모델을 수정할 수 없고, 높은 온도는 모델을 더 지능적으로 만들 수 없습니다. 또한 온도는 생성된 토큰 수와 같은 다른 하이퍼파라미터와 상호 작용하며, 최적 값은 작업과 데이터 세트에 따라 달라질 수 있습니다.
또 다른 고려 사항은 온도 스케일링이 모든 토큰에 균일하게 적용되는 반면, 일부 컨텍스트는 다른 수준의 무작위성을 요구할 수 있다는 점입니다. 예를 들어, 대화 시스템에서 응답의 첫 번째 토큰은 더 높은 온도의 이점을 얻을 수 있는 반면, 후속 토큰은 일관성을 위해 더 낮은 온도가 필요할 수 있습니다. 동적 온도 조정과 같은 고급 기법은 진행 중인 연구 영역입니다.
미래 방향
생성형 AI가 계속 진화함에 따라 온도 스케일링은 기본 도구로 남아 있습니다. 연구자들은 데이터에서 최적 값을 학습하는 적응형 온도 방법과 컨텍스트 의존적 온도 일정을 탐구하고 있습니다. 오픈 패널 모델과 AMD 및 Intel 하드웨어의 부상으로 온도 스케일링 구현은 더 접근 가능해지고 있습니다. 이 기법은 AWS Trainium 및 Azure AI 서비스에도 통합되어 개발자가 배포하기 더 쉽게 만들고 있습니다.
요약하면, 온도 스케일링은 신경망 출력의 확률성을 제어하는 단순하면서도 필수적인 메커니즘입니다. 수학적 우아함과 실용적 유용성은 머신 러닝 분야와 그 너머에서 지속적인 관련성을 보장합니다.