Re Reference AI

技術

Seedとは

乱数シード

乱数生成の初期値。同じ値を指定することでLLMの出力サンプリング結果を再現できる

LLMデコーディング再現性

ひとことで言うと

AIの出力のランダムさを決める初期値。同じ値なら同じ結果を再現できる。

概要

Seed(乱数シード)とは、LLMがTemperatureTop-p等の設定に基づいて次のトークンをサンプリングする際に使う擬似乱数生成器の初期値。 コンピュータの乱数は特定の初期値(シード)から決定的に生成される擬似乱数であるため、他のパラメータと入力プロンプトが同一であれば、同じシード値を指定することで出力を再現しやすくなる。 テストやデバッグ、実験結果の再現性確保などの用途で用いられる。 GPU上の浮動小数点演算には非決定的な要素が残る。そのため、同じシード値を指定しても、実装やハードウェア構成によっては出力が常に一致するとは限らない。 APIによってはシード指定機能自体を提供していない場合もある。また、内部実装の変更により同一シードでも出力が変わりやすく、再現性を厳密に求める用途では注意が必要。

背景

Temperature等による確率的サンプリングを行うLLMは、同じ入力でも実行のたびに異なる出力を返しうる。 この非決定性は創造性の面では有用だが、テストやデバッグ、研究の再現性という観点では障害になる。 Seedを固定できる仕組みは、この非決定性を制御する手段として提供されている。

利点

  • 同じ設定・シードであれば出力を再現しやすくなり、デバッグやテストに有用
  • 実験結果の比較・検証がしやすくなる

欠点

  • モデルの更新やインフラ(GPU構成・バッチ処理等)の違いにより、同じシードでも同一の出力が保証されるとは限らない
  • Temperatureが0に近い場合はシードの影響がほぼ無くなる

比較

  • TemperatureSeedはTemperature等のサンプリングパラメータと組み合わせて使うことで、確率的な出力を再現可能にする

関連用語

TemperatureLLM

よくある質問

Seedを指定すれば必ず同じ出力になる?

多くの場合再現性が高まるが、モデルの更新やサーバー側の実行環境の違いにより、完全な再現が保証されるとは限らない。

参考文献

関連Zenn記事