Temperature (LLM) — 温度

From Systems analysis Wiki
Jump to navigation Jump to search

温度(英語: Temperature)は、大規模言語モデル(LLM)の文脈において、テキスト生成時のランダム性と「創造性」の度合いを制御するハイパーパラメータです。温度は、デコーディングの各ステップで次のトークンの確率分布の「鋭さ」または、逆に「滑らかさ」を調整します。温度を操作することで、生成されるテキストの予測可能性(一貫性)と多様性(創造性)のバランスを管理することができます。

理論的定義と数式

数学的には、温度(T)は、モデルの出力ロジット(ui)を確率分布(Pi)に変換するソフトマックス(softmax)関数に除数として導入されます。数式は以下の通りです。

Pi(T)=eui/Tjeuj/T

ここで:

  • Pi(T) — 温度 T における i 番目のトークンの最終的な確率。
  • ui — モデルが出力した i 番目のトークンのロジット(正規化されていないスコア)。
  • T — 温度パラメータ。

温度の値による影響

  • T=1(標準値): 確率分布は変更されません。これは、モデルの元の予測を反映する標準的なソフトマックス関数です。
  • T<1(低い温度、例:0.20.7): 確率分布がより鋭く、または尖ったものになります。最も可能性の高いトークンの確率が増加し、可能性の低いトークンの確率は減少します。これにより、生成はより決定論的で予測可能になります。モデルはより明白で頻度の高い単語を選択する傾向が強まり、テキストの一貫性と文法的な正しさが向上しますが、多様性は低下します。
  • T>1(高い温度、例:1.01.5): 確率分布がより滑らか均一なものになります。トークン間の確率の差が平滑化され、より可能性の低い(そしてより「予期しない」)トークンが選択される可能性が高まります。これにより、テキストはより創造的で、多様性に富み、予測不可能になりますが、支離滅裂または文法的に誤ったフレーズが生成されるリスクも高まります。

極端なケース

  • T0 温度がゼロに近づく極限では、ソフトマックス関数はargmax関数に変化します。モデルは常に最も高いロジットを持つトークンを選択するようになります。このモードは貪欲法デコーディング(greedy decoding)と等価であり、完全に決定論的です。これはしばしば、反復的で定型的なテキストにつながります。
  • T 温度が無限大に近づくと、確率分布は一様分布になります。語彙内のすべてのトークンが等しい確率を持つようになり、モデルはランダムな「意識の流れ」を生成し、一貫性を完全に失います。

実践的な応用と推奨事項

適切な温度の選択は非常に重要であり、特定のタスクに依存します。

  • 創造的なタスク(物語、詩、マーケティングスローガンの作成など):
    • より高い温度(T0.71.2が推奨されます。
    • これにより、モデルはより予期しない創造的なアイデアを生成し、多様な語彙を使用し、定型的な表現を避けるようになります。
  • 正確性と事実性が求められるタスク(質疑応答、要約、コード生成など):
    • 低い温度(T0.00.4が推奨されます。
    • これにより、「ハルシネーション」を最小限に抑え、モデルが最も可能性の高い、そして通常はより正確で関連性の高いテキストの続きに固執するようになります。OpenAIのAPIでは、高い精度が求められるタスクに対して、T=0に設定することがしばしば推奨されます。
  • 対話システムやチャットボットの場合:
    • 中程度の温度(T0.50.8が推奨されます。
    • これによりバランスを取ることができます。応答は一貫性を保ち、話題に沿ったものになりますが、同時に過度に素っ気なく単調になることを防ぎます。例えば、ChatGPTでは、通常の会話に約0.7の温度が使用されています。

Top-kおよびTop-pとの比較

温度は、Top-kTop-p(nucleus sampling)のような打ち切り手法とは異なる方法で機能します:

  • 温度は、語彙内のすべてのトークン間で確率を再配分しますが、どのトークンも切り捨てません。非常に低い温度であっても、可能性の低いトークンが選ばれる確率はごくわずかですがゼロではありません。
  • Top-kTop-pは、サンプリングの核に含まれないトークンを完全に除外する厳密な打ち切りを導入します。これは、まったく無関係な単語の生成を防ぐための、より信頼性の高い方法です。

実践では、これらのパラメータはしばしば組み合わせて使用されます。例えば、全体的なスタイルを調整するために中程度の温度(例:T=0.8)を設定し、分布の「裾」を切り捨てて重大な誤りを避けるためにTop-p(例:p=0.9)を追加することができます。

関連項目

  • 大規模言語モデル

参考文献

  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Caccia, M. et al. (2018). Language GANs Falling Short. arXiv:1811.02549.
  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Ravfogel, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.