温度(temperature)とは
温度(temperature)は、LLMが次のトークンを選ぶときの「ばらつき」を調整する設定値です。低くすると確率の高い候補が選ばれやすくなり、出力が安定します。高くすると確率の低い候補も選ばれるようになり、表現に幅が出ます。
LLMは、次に来るトークンの候補ごとに確率を計算しています。温度はこの確率の分布を変える働きをします。温度を下げると、確率の高い候補と低い候補の差が広がります。上げると差が縮まり、さまざまな候補が選ばれやすくなります。指定できる範囲や既定値は、サービスによって異なります。
実務では、作業の性質に合わせて使い分けます。データの抽出、分類、決まった形式への変換のように正確さと再現性が要る作業では低めにします。キャッチコピーの案出しのように、多様な候補が欲しい作業では高めにします。推論モデル(OpenAI の o1・o3、Claude の extended thinking など)では温度を変更できないか、固定されていることが多いため、代わりに指示や出力形式の設定で出力を制御します。
チャット画面のサービスでは温度を変えられないことが多く、API を使うときに指定するのが一般的です。似た働きをする設定に top_p があり、通常はどちらか一方を調整します。
具体例
問い合わせメールの分類
問い合わせを「請求」「解約」「不具合」に振り分ける処理を API で作るときは、温度を低めにします。同じメールを何度処理しても、分類が揺れにくくなるためです。結果を集計して報告する業務では、毎回の判定がそろっていることが大切です。
新商品のネーミング案出し
新商品の名前を20案出してもらう場面では、温度を高めにします。低いままだと、似た言葉の組み合わせばかりが並びがちです。高めにして候補の幅を広げ、その中から人が選んで磨き込みます。候補を選ぶ段階では、温度を下げて表記や長さの条件をそろえ直すと、比較しやすくなります。