サンプリング制御:Temperatureとその仲間
モデルがテキストを生成するとき、確率分布から次のトークンを選びます。サンプリング制御は、その選び方——出力がどれだけ焦点を絞るか vs どれだけ多様か——を調整します。
主なダイヤル
- Temperature(温度) — ランダム性。低(≈0) = 焦点が定まり、ほぼ決定論的で、再現性がある。モデルは最も可能性の高い経路をとります。高 = より多様で創造的だが、脱線や誤りに陥りやすくなります。
- top-p(nucleus) — 確率の合計がpになる最小のトークン集合に選択肢を制限します。ランダム性を縛る別の方法です。
- top-k — 最も可能性の高いk個のトークンだけを考慮します。
- ストップシーケンス — 生成されると応答を終了させる文字列(構造化出力に便利)。
通常はtemperatureかtop-pのどちらかを調整し、両方は調整しません。
いつ冷たく、いつ熱く動かすか
| 冷たく動かす(低temp) | 熱く動かす(高めのtemp) |
|---|---|
| 抽出、分類、コード | ブレインストーミング、名前付け、創造的なコピー |
| 再現したいもの全般 | 多くの選択肢を探索する |
| 事実に基づく/構造化出力 | トーンの多様さ、アイデア出し |
ほとんどの作業の良いデフォルトは中〜低です。意外性が欲しいときだけ上げましょう。
:::note 新しいモデルはこれらを隠すことがある 最近のいくつかのClaudeモデルは、自身のデコードを適応させ、temperatureを軽視(または省略)します。つまみが利用できないなら、それは意図的なものです。代わりにプロンプトで、そして(提供されている場合は)努力/思考(effort/thinking)の設定で挙動を形作りましょう。 :::
決定論に関する注意
temperatureが0でも、実行/バージョンをまたいで出力がビット単位で同一になる保証はありません。正確な再現性に頼らず、ドリフトを捕まえるには評価に頼りましょう。