Temperature
温度
おんど
Definition
Temperature is a setting that adjusts the randomness of the next-token probability distribution, changing the balance between creativity and stability. Lower values are more deterministic, higher values more diverse.
ChatGPTに同じ質問を2回すると、微妙に異なる回答が返ってくることがあります。この「回答のばらつき具合」を制御しているのが温度(Temperature)パラメータです。温度とは、LLMが次のトークンを選ぶ際の確率分布のばらつきを調整する設定で、値が高いほど多様な出力、低いほど安定した出力になります。
仕組みを直感的に理解する
LLMは、文章の続きとして考えられるすべてのトークン(単語の断片)に対して確率を計算しています。「今日の天気は」の続きとして「晴れ」が60%、「曇り」が25%、「雨」が10%、「素晴らしい」が5%——といった具合です。温度はこの確率の分布を変形させます。
温度を低くする(0に近づける)と、確率分布が「尖った」形になり、最も確率が高いトークンがほぼ確実に選ばれます。極端な場合(温度0)は、毎回同じ回答が返ります。温度を高くすると、確率分布が「平ら」になり、低確率のトークンも選ばれやすくなります。これにより、予想外の表現や創造的な組み合わせが生まれやすくなります。
用途別の推奨値
温度の設定は用途によって大きく異なります。事実に基づく回答(Q&A、要約、データ抽出)には温度0〜0.3が推奨されます。正確性が求められるため、最も確率の高いトークンを安定的に選ぶべきだからです。
クリエイティブな生成(創作、ブレインストーミング、キャッチコピー作成)には温度0.7〜1.0が適しています。多様性のある出力が求められるため、あえてばらつきを大きくします。ただし、温度を1.0以上にすると文章の一貫性が崩れやすくなるため、注意が必要です。
Top-pとの組み合わせ
温度と並んでよく使われるパラメータにTop-p(nucleus sampling)があります。Top-pは「累積確率が指定値に達するまでのトークンだけを候補にする」仕組みです。たとえばTop-p=0.9なら、確率の高い上位トークンで累積90%に達するまでの候補から選択します。温度が確率分布の形を変えるのに対し、Top-pは候補の数を絞ります。両方を同時に調整する場合は、一方を固定してもう一方だけを変えるのがコツです。
APIでの使い方
OpenAI、Anthropic、GoogleなどのAPIでは、リクエストパラメータとして`temperature`を指定します。デフォルト値はAPIによって異なりますが、多くの場合1.0です。ChatGPTのWeb UIでは直接指定できませんが、API経由やPlaygroundでは自由に調整可能です。温度はモデルの「知識」を変えるのではなく、「表現のバリエーション」を変えるという点を理解しておくことが重要です。温度を上げても、モデルが知らない情報を生成できるようになるわけではありません。