温度スケーリングは、機械学習および深層学習における基本的な技術であり、ニューラルネットワークのロジット(生の出力スコア)をソフトマックス関数に適用する前に修正する。ロジットを温度パラメータTで割ることにより、結果として得られる確率分布は、より尖ったもの(T < 1)またはより平坦なもの(T > 1)になる。この調整は生成モデルにおけるサンプリングのランダム性に直接影響を与え、生成AIシステム、特に大規模言語モデルにおける重要な制御手段となっている。
この概念は統計力学に由来し、温度が粒子系のランダム性を支配するという考え方が、2010年代初頭にニューラルネットワークへ適応された。実際には、温度スケーリングは推論時(トレーニング時ではない)に適用され、他のキャリブレーション手法とは異なるが、キャリブレーションにも使用されることがある。その主な用途は、決定的で高信頼性の出力と、多様で探索的な出力の間のトレードオフを調整することである。
メカニズムと数学的定式化
ニューラルネットワークでは、最終層が各クラスまたはトークンに対してロジットz_iを生成する。ソフトマックス関数はこれらを確率に変換する: p_i = exp(z_i / T) / sum_j exp(z_j / T)。温度Tは正のスカラーである。T = 1の場合、ソフトマックスは変更されない。T < 1の場合、ロジットは増幅され、分布がより尖ったものになり、モデルはより自信を持ち決定的になる。T > 1の場合、ロジットは減衰され、分布が平坦化され、ランダム性が増加する。
例えば、トランスフォーマーベースの言語モデルでは、温度0.1は同じプロンプトに対してほぼ同一の出力を生成する可能性がある一方、温度1.5はより多様で時には驚くべき応答を生成する。Tの選択はタスクに依存することが多い: 事実に基づく質問応答には低い温度、創造的な文章作成やブレインストーミングには高い温度が適している。
大規模言語モデルにおける役割
大規模言語モデルでは、温度スケーリングはユーザーに公開される標準的なサンプリングパラメータである。OpenAI、Anthropic、Google DeepMindなどの企業は、APIインターフェースに温度を含めている。例えば、OpenAIのGPT-4 APIは0から2までの温度値を許可し、0.7が一般的なデフォルトである。AnthropicのClaudeモデルも温度調整をサポートしている。GoogleのGeminiモデルも温度制御を提供している。
この技術はトークン生成ステップで適用される。モデルが次のトークンのロジットを生成した後、温度が適用され、その後、サンプリング方法(例: top-kまたは核サンプリング)がトークンを選択する。温度はこれらのサンプリング戦略と相互作用する: 高い温度とtop-pサンプリングを組み合わせると、多様でありながら一貫性のあるテキストを生成できる。
モデルキャリブレーションとの関係
温度スケーリングは、よく知られたキャリブレーション技術でもある。分類タスクでは、モデルの予測確率が自信過剰になることが多い。検証セットで単一の温度パラメータを学習することにより(交差エントロピー損失を使用)、確率を再キャリブレーションして真の精度をより正確に反映させることができる。この使用法は、Guoら(2017)の論文「On Calibration of Modern Neural Networks」で広められた。ただし、生成コンテキストでは、温度は通常、学習されるのではなくヒューリスティックに設定される。
実践的なガイダンスとデフォルト
実務者は、望ましい出力特性に基づいて温度を調整することが多い。コード生成や数学問題などのタスクでは、低い温度(0.1-0.3)がエラーを減らす。対話や創造的な文章作成では、温度0.7-1.0が一般的である。一部のシステムでは動的温度スケジューリングを使用し、生成中に温度が変化する(例: 多様性のために開始時は高く、一貫性のために終了時は低く)。
研究によると、最適な温度はモデルサイズとトレーニングデータによって異なる。例えば、小規模モデルは反復的な出力を避けるために高い温度が必要な場合がある一方、大規模モデルは過度に決定的になることなく低い温度を処理できる。
制限と代替手段
温度スケーリングには制限がある。それは基礎となるモデルの知識や推論を変更せず、サンプリングのランダム性にのみ影響を与える。過度に高い温度は無意味な出力や幻覚を生成する可能性があり、過度に低い温度は反復的または退屈な出力につながる可能性がある。代替手段には、top-kサンプリング、核(top-p)サンプリング、min-pサンプリングがあり、これらは分布を再形成するのではなく切り詰める。これらの方法は温度と組み合わせて使用されることが多い。
もう一つの制限は、温度がすべてのトークンに均一に適用されるグローバルパラメータであり、コンテキストに適応しないことである。対照的デコーディングや典型的サンプリングなどの最近のアプローチは、より微妙な制御を提供するが、広く採用されてはいない。
歴史的背景と採用
ニューラルネットワークにおける温度の使用は、ボルツマンマシンの文脈で1980年代に遡り、温度がニューロン活性化の確率性を制御していた。現代の深層学習では、この技術はHintonらによる2015年の論文「Distilling the Knowledge in a Neural Network」で広められ、知識蒸留で温度が使用された。それ以来、TensorFlow、PyTorch、JAXなど、すべての主要なAIフレームワークで標準的なツールとなっている。
人工知能業界では、温度スケーリングはクラウドプラットフォーム全体の推論エンジンに実装されている。例えば、Amazon Web Services Bedrock、Azure OpenAI Service、Google Cloud Vertex AIはすべて温度をパラメータとして公開している。NVIDIAやAMDなどのハードウェアプロバイダーは、追加の計算を効率的に処理するためにチップを最適化しているが、温度スケーリング自体は計算上些細なものである。
将来の方向性
生成AIが進化するにつれて、温度スケーリングはシンプルでありながら強力なツールであり続けている。研究者は、トークンレベルの不確実性やタスクの難易度に基づいて調整する適応的温度法を探求している。AI21 LabsやInflection AIなどの一部のモデルは、インターフェースに温度のような制御を組み込んでいる。この技術は、人間のフィードバックからの強化学習(RLHF)にも関連しており、温度はトレーニング中の探索と活用のトレードオフに影響を与える。
要約すると、温度スケーリングは現代のAIにおける多用途で不可欠な技術であり、生成コンテンツの創造性と決定性を細かく制御できるようにする。そのシンプルさと有効性により、研究および本番システム全体での継続的な使用が保証されている。