temperature
定義
トークンサンプリング時のロジット分布の鋭さを制御するパラメータ。値が高いほど確率分布が 平坦化され多様性が増し、低いほど決定的になる。
プロバイダ別レンジ
| プロバイダ | 範囲 | デフォルト | 備考 |
|---|---|---|---|
| OpenAI | [0, 2] | 1 | 2.0 まで指定可能。実用は 0〜1。 |
| Anthropic | [0, 1] | 1 | 1.0 が上限。 |
[0, 2] | モデル依存 | モデル毎に上限が異なる。 | |
| xAI | [0, 2] | 1 | OpenAI 互換。 |
top_p との相互作用
OpenAI 公式は「temperature と top_p のどちらか一方のみ変更することを推奨」と記載。 両方同時に変更した場合の挙動は 乗算的に分布を絞る と理解されている。
ベストプラクティス
- 決定的出力が必要な場合は
temperature: 0(ただし完全に決定論的ではない、後述) - 創造的タスクは
0.7〜1.0 - temperature と top_p を同時に変更しない
「temperature: 0」の落とし穴
temperature: 0 でも完全には決定論的にならない。理由:
- GPU の浮動小数演算の非決定性
- バッチ内の他リクエストの影響
- モデル側のサーバ実装差
決定論的出力には seed パラメータの併用が必要(対応プロバイダのみ)。