温度パラメータとは
この記事の結論
- 温度パラメータ(temperature)とは、AIが次のトークンを選ぶときの確率の偏りを調整し、出力のばらつきを変える設定値です。
- 値を下げると確率の高い候補に選択が集中し、出力は毎回似たものになります。上げると低い候補にも出番が回り、言い回しや発想が散らばります。
- 0にしても出力が完全に同じになるとは限らず、一部の新しいモデルでは値の変更自体を受け付けません。使う前にモデルごとの仕様を確かめます(2026-09-26 時点の情報)。
おんどぱらめーた/Temperature
AIが次のトークンを選ぶときの確率の偏りを調整し、出力のばらつきを変える設定値のことです。
最終更新: 2026-09-26
温度パラメータ(temperature)とは(意味と読み方)
温度パラメータ(temperature)とは、AIが次のトークンを選ぶときの確率の偏りを調整し、出力のばらつきを変える設定値です。読みは「おんどぱらめーた」。英語のまま「テンペラチャー」と呼ぶこともあります。
大規模言語モデル(LLM)は、次に来るトークンの候補それぞれに確率を割り振り、その中から1つを選ぶ作業を繰り返して文章を作ります。温度は、この「選ぶ」段階だけに効くつまみです。生成設定のリファレンス(Hugging Face Transformers)も、temperature を「次のトークンの確率を調整するための値」と説明しています。
温度で確率が変わる仕組み
モデルは候補ごとにスコア(logit)を出し、softmax という計算で合計1の確率に直します。温度 T はこのとき、各スコアを T で割ってから確率に直す形で入ります。Distilling the Knowledge in a Neural Network(2015年)はこの式を示し、T は通常1にしておき、大きくすると確率の分布がなだらかになると述べています。
スコアが 2.0、1.0、0.0 の3候補で計算すると、次のようになります(小数第3位で四捨五入した計算例)。
- T = 0.5:0.867 / 0.117 / 0.016。首位の候補がほぼ独占します。
- T = 1.0:0.665 / 0.245 / 0.090。モデルが出したままの確率です。
- T = 2.0:0.506 / 0.307 / 0.186。3番手にも2割近い出番があります。
T を0に近づけるほど、毎回いちばん確率の高い候補を選ぶ貪欲法(greedy)に近づきます。温度は候補の順位を入れ替えるものではなく、順位の差をどれだけ強く効かせるかを決めるものです。
top_p・top_k との関係
温度と並んでよく出てくるのが、候補の数そのものを絞る設定です。
top_k:確率の高い順に上位 k 個だけを候補に残します。top_p:確率の高い順に足していき、合計が p に届いたところまでを候補に残します。The Curious Case of Neural Text Degeneration で提案された nucleus sampling がこれにあたり、確率の低い裾を切り落として、ばらつきを残しつつ不自然な語を避ける方法として示されています。
温度は分布の形を変え、top_p と top_k は分布の裾を切ります。両方を同時に大きく動かすと、どちらが効いたのか分からなくなるため、片方を固定してもう片方を調整するのが扱いやすいやり方です。
用途別の温度の決め方
- 低めがよい作業:コードの修正、テストの生成、JSON の抽出、選択式の分類など、正解の形が決まっている作業です。Messages API のリファレンス(公式ドキュメント)は、分析や選択式の作業には0.0に近い値を勧めています。
- 高めがよい作業:アプリ名の案出し、キャッチコピーの候補、物語の下書きなど、幅が欲しい作業です。文章生成のガイド(Hugging Face Transformers)は、創作には0.8より上、考えることが求められる作業には0.4未満といった目安を挙げています。
手元のモデルで試すなら、model.generate(**inputs, do_sample=True, temperature=0.3) のように書きます。前述のガイドの通り、do_sample=True で確率に従って選ぶ設定にしないと、温度は効きません。
温度パラメータのよくある誤解
- 誤解:0にすれば毎回まったく同じ出力になる → 実際:前述の Messages API のリファレンスには、0.0 でも結果は完全には決定的にならないと明記されています。同じ出力が必要なら、結果を保存して使い回します。
- 誤解:温度を下げれば事実の誤りが減る → 実際:下げて変わるのは選び方の揺らぎだけです。モデルが誤った内容を最も確からしいと見ていれば、その誤りを安定して出します。ハルシネーションの対策は出典の確認や検証で行います。
- 誤解:どのAPIでも範囲は同じ → 実際:前述のリファレンスでは範囲が0.0〜1.0、既定値は1.0です。提供元によって範囲も既定値も異なり、同じ「0.7」でも効き方がそろうとは限りません。
- 誤解:どのモデルでも温度を変えられる → 実際:同じリファレンスには、一部の新しいモデルでは1.0以外の値を送ると 400 エラーで拒否されるとあります。
関連用語
関連記事
温度パラメータの出典・参考資料
- Distilling the Knowledge in a Neural Network(arXiv:1503.02531):温度つき softmax の式と、温度を上げると分布がなだらかになるという説明
- The Curious Case of Neural Text Degeneration(arXiv:1904.09751):nucleus sampling(top_p)を提案した論文
- 生成設定のリファレンス(Hugging Face Transformers):temperature・top_k・top_p の定義
- 文章生成のガイド(Hugging Face Transformers):do_sample との関係と用途別の目安
- Messages API のリファレンス(公式ドキュメント):範囲・既定値・決定性についての注記
温度パラメータについてよくある質問
Q1. 温度パラメータ(temperature)とは何ですか?
AIが次のトークンを選ぶときの確率の偏りを調整し、出力のばらつきを変える設定値です。低いほど確率の高い候補に集中し、高いほど低い候補も選ばれやすくなります。
Q2. temperature を0にすると毎回同じ答えになりますか?
なりやすくはなりますが、完全に同じになるとは限りません。0.0 でも決定的にはならないと明記している公式ドキュメントもあります。同じ結果が必要なら、出力を保存して使い回します。
Q3. コードを書かせるときは temperature をいくつにすればよいですか?
修正やテスト生成のように正解の形が決まっている作業では、低めの値から試すのが一般的です。範囲と既定値は提供元ごとに違うので、使っているAPIのドキュメントで確かめてから決めます。
Q4. temperature と top_p はどちらを調整すればよいですか?
どちらか一方にするのが扱いやすいやり方です。temperature は確率の分布の形を変え、top_p は確率の低い候補を切り落とします。同時に動かすと、どちらが効いたのか分からなくなります。