Modelfileで指定するtempretureはどのような意味を持ちますか?

new-material-oK5rQsQrFUE-unsplash.jpg

質問

Modelfileで指定するtempretureはどのような意味を持ちますか?


解答

いい質問です!
Modelfile で指定する temperature(温度) は、LLMがテキストを生成するときの 出力のランダム性(多様性)の度合いを制御するパラメータ です。


1. 仕組み

LLMは次の単語を選ぶ際、内部的に「確率分布」を計算しています。
例:
「今日はとても ___」の続きを予測するとき

候補モデルの確率
暑い0.50
寒い0.30
楽しい0.10
美しい0.05
速い0.05

この確率をそのまま使うのではなく、temperature でスケーリングしてからサンプリングします。

  • 数式的には:
    [
    P'(x) = \frac{P(x)^{1/T}}{\sum_j P(j)^{1/T}}
    ]
    (T = temperature)


2. 値の意味

  • temperature = 0

    • ほぼ決定的(確率が最も高い単語だけを選ぶ)

    • 出力は安定しているが単調

  • 0 < temperature < 1

    • 確率分布が「鋭く」なる(高確率の語を選びやすい)

    • 出力はやや安定

  • temperature = 1

    • モデルが計算した確率をそのまま利用

    • 標準的な設定

  • temperature > 1

    • 分布が「平坦」になる(低確率の語も選ばれやすい)

    • 出力は多様性が増えるが、不安定にもなる


3. 具体的な挙動の違い

  • 低temperature(例:0.2)

    • QAボット、コード生成、翻訳など「正確性重視」に向く

    • → 例:「今日はとても暑いです。」(常に似た回答)

  • 高temperature(例:0.8〜1.2)

    • 物語生成、ブレインストーミングなど「創造性重視」に向く

    • → 例:「今日はとても楽しい日です!」「今日はとても美しい空です!」


4. Modelfileでの指定例

parameters:  temperature: 0.7

この場合、出力はある程度多様だが、完全にランダムではない。


まとめ

  • temperature = 出力の「多様性」を決めるつまみ

  • 小さい値 → 決定的・正確・単調

  • 大きい値 → 多様・創造的・不安定

  • 用途に応じて調整(FAQや業務システムなら低め、創作なら高め)





AIに負けない子どもを育てる 21st Century Children/新井紀子【1000円以上送料無料】

価格:1760円
(2025/10/19 21:36時点)
感想(0件)


新人エンジニアのためのインフラ入門 (THINK IT BOOKS) [ BFT ]

価格:1980円
(2025/6/16 15:35時点)
感想(0件)


 



この記事へのコメント

広告です。クリックいただけると励みになります。