本文へスキップ

AI運用の判断と根拠を引く

トップへ戻る

Stochastic Reproducibility/Nondeterminism Budget

用語・参照用語・参照公式仕様のみ公式仕様のみ現行現行として扱う

記事状態: 公開 · 最終確認: 2026-10-18

要点

「seed固定により再現可能」と一般化しない。「特定実行環境・バージョン・hardware・scheduler等の前提を固定した範囲で再現性を高められる」「完全一致が契約できない系では反復分布と許容差を管理する」と記述する。

現在の判断

「seed固定により再現可能」と一般化しない。「特定実行環境・バージョン・hardware・scheduler等の前提を固定した範囲で再現性を高められる」「完全一致が契約できない系では反復分布と許容差を管理する」と記述する。

どこまで当てはまるか

Stochastic Reproducibility/Nondeterminism Budget

詳しく理解する

要点と前提

LLM・生成AIシステムの再現性は、「seedを固定すれば同じ出力になる」という単純な性質ではない。実運用では、サンプリング乱数、推論ランタイムのスケジューリング、バッチ構成、並列reduction、カーネル選択、ハードウェア、ライブラリ/モデル/提供元側の更新など、複数の変動源が出力へ影響する。そのため再現性は二値の属性ではなく、どの条件を固定し、どの程度の差異を許容し、差異がどこから生じたかを追跡できるかという運用上の「nondeterminism budget」として扱うべきである。

運用上の意味

再現性要求は用途別に分ける必要がある。デバッグや回帰試験では同一入力から同一または十分近い結果を再取得できることが重要である。一方、本番のオンライン推論では並行要求や動的batchingが入り、完全なbitwise再現性が性能・スループットと衝突し得る。したがって「完全一致」を全系統へ要求するのではなく、①入力・prompt・ツール 状態・モデル/バージョン・sampling parametersを再構成できること、②実行環境の主要内容を照合する識別値を記録すること、③同一条件での反復分布を測定すること、④許容差を越えた変動を変更・障害として検出すること、を分離して設計する。

実装・運用

  • Replay envelopeを保存する。最低限、request 本文、prompt/template 改訂版、システム/developer instruction 改訂版、検索・取得/ツール inputsの識別子、モデル/提供元 identifier、sampling parameters、seed(利用可能な場合)、実行環境/library バージョン、hardware class、時刻、response、重要な提供元/実行環境 内容を照合する識別値を同一traceへ束ねる。秘密情報や個人情報は直接保存せず、必要に応じて機密情報の削除・伏せ字化または参照ID化する。
  • 再現性を階層化する。例として、R0=監査用replay情報が不足、R1=入力と設定を再構成可能、R2=同一環境で統計的に安定、R3=同一環境でtoken/output一致、R4=許容された異環境でも規定差以内、といった内部契約を定義する。重要なのは名称ではなく、各処理の流れがどの水準を必要とするかを事前に固定することである。
  • Nondeterminism budgetを測る。golden promptを一度だけ実行して合否を決めず、同一条件で複数回実行し、task 成功、structured-output validity、tool-call sequence、意味上の score、token-level divergence、latency/cost等の分布を取得する。budgetは「完全一致率100%」だけでなく、業務上の失敗率上限や分位点で定義できる。高リスク処理では意味上の similarityだけでなく、禁止動作・ツール 外部への変更・送信・データ形式の定義違反を別軸で監視する。
  • Change 適用限界を記録する。モデル alias、提供元 backend、serving 実行環境、driver、GPU、数値の精度を下げて処理を軽くする方法、kernel、prompt、検索・取得 検索対象の文書群の変更前後で同じreplay setを走らせる。差異がbudgetを越えた場合、単に「LLMは確率的」として受容せず、変更点と変動源を切り分ける。
  • 決まった規則に従う modeは限定適用する。self-hosted 実行環境で再現性が必要な検証系では、実行環境が提供する決まった規則に従う scheduling/batch invariance/決まった規則に従う algorithmを利用できる。ただし性能低下や対応hardware制約があり得るため、本番設定へ無条件に持ち込まない。検証系と本番系で設定が異なる場合、その差自体をreplay 付随情報へ残す。

適用境界

完全なbitwise reproducibilityは、外部提供元の内部backendが利用者から固定できない場合や、hardware/実行環境更新を跨ぐ場合には契約できないことがある。その場合の安全な表現は「同一出力を保証する」ではなく、「観測可能な入力・設定・バージョン/内容を照合する識別値を保存し、反復評価で許容変動を管理する」である。逆に、自前推論基盤でhardware、実行環境、schedulerまで管理できる場合は、より強い再現性契約を設定できる。

よくある失敗・反証

  • 第一の失敗はseedの過信である。seedは乱数系列の一部を制御しても、実行順序、並列計算、batching、hardware差、バージョン差まで固定しない。vLLMは再現性をデフォルトでは保証せず、現行ドキュメントではofflineでmultiprocessingを無効化して決定的schedulerにする方法、またはbatch invarianceを有効化する方法を示している。さらに、設定後も同一hardware・同一vLLM バージョンという条件を明示している。

    第二は「temperature=0なら決定的」という扱いである。sampling randomnessを抑えても、数値演算や実行系の非決定性が残れば、logitの微小差がargmax境界や後続token列へ波及し得る。PyTorchの決まった規則に従う algorithms設定も、同一入力・同一software/hardware条件で決定的algorithmを選ぶ仕組みであり、設定単独でアプリケーション全体の再現性を保証しない。

    第三はオンライン負荷を無視した試験である。単発offline試験だけが安定していても、実サービスではbatch size、request order、同時実行数、tensor 並列処理等が変わる。vLLMのbatch invarianceはまさにbatch sizeやrequest orderから出力を独立させることを目的としており、決定的kernelや固定reduction order等を使う一方、性能影響を明示している。再現性向上にはコストがあるため、SLOと同時に評価する必要がある。

  • 決定性を強めるほど常に品質が上がるわけではない。生成タスクでは意図的な多様性が価値になる場合があり、再現性のためにsamplingを過度に固定すると探索幅を失う。また、決まった規則に従う kernelやbatch invarianceは性能最適化とトレードオフになり得る。したがってnondeterminism budgetは「揺らぎをゼロにする予算」ではなく、「必要な多様性を残しながら、監査・回帰・安全性に影響する揺らぎを上限管理する契約」と解釈する。

まだ確認できていないこと

  • EA-684-UNKNOWN-01

    外部managed LLM 提供元では、同一モデル名・同一request・同一seed相当パラメータでもbackend更新や非公開実行条件を完全には固定できない場合がある。提供元固有の保証範囲は、その時点の公式仕様で個別確認する必要がある。

根拠資料

更新履歴

  1. EA-684-R1-20261018: 正式な 監査/publication 対応付け

出典ID・検証情報・機械可読データ

根拠の種類と情報の鮮度は、ラベルとアイコンで確認できます。

記事ID
EA-684
最終確認日
2026-10-18
提供元・モデル・プラン・利用環境
—
対象地域
—
元資料の全文と収録照合記録
要点と前提

LLM・生成AIシステムの再現性は、「seedを固定すれば同じ出力になる」という単純な性質ではない。実運用では、サンプリング乱数、推論ランタイムのスケジューリング、バッチ構成、並列reduction、カーネル選択、ハードウェア、ライブラリ/モデル/provider側の更新など、複数の変動源が出力へ影響する。そのため再現性は二値の属性ではなく、どの条件を固定し、どの程度の差異を許容し、差異がどこから生じたかを追跡できるかという運用上の「nondeterminism budget」として扱うべきである。

運用上の意味

再現性要求は用途別に分ける必要がある。デバッグや回帰試験では同一入力から同一または十分近い結果を再取得できることが重要である。一方、本番のオンライン推論では並行要求や動的batchingが入り、完全なbitwise再現性が性能・スループットと衝突し得る。したがって「完全一致」を全系統へ要求するのではなく、①入力・prompt・tool state・model/version・sampling parametersを再構成できること、②実行環境の主要fingerprintを記録すること、③同一条件での反復分布を測定すること、④許容差を越えた変動を変更・障害として検出すること、を分離して設計する。

failure / limitation

第一の失敗はseedの過信である。seedは乱数系列の一部を制御しても、実行順序、並列計算、batching、hardware差、version差まで固定しない。vLLMは再現性をデフォルトでは保証せず、現行ドキュメントではofflineでmultiprocessingを無効化して決定的schedulerにする方法、またはbatch invarianceを有効化する方法を示している。さらに、設定後も同一hardware・同一vLLM versionという条件を明示している。

第二は「temperature=0なら決定的」という扱いである。sampling randomnessを抑えても、数値演算や実行系の非決定性が残れば、logitの微小差がargmax境界や後続token列へ波及し得る。PyTorchのdeterministic algorithms設定も、同一入力・同一software/hardware条件で決定的algorithmを選ぶ仕組みであり、設定単独でapplication全体の再現性を保証しない。

第三はオンライン負荷を無視した試験である。単発offline試験だけが安定していても、実サービスではbatch size、request order、concurrency、tensor parallelism等が変わる。vLLMのbatch invarianceはまさにbatch sizeやrequest orderから出力を独立させることを目的としており、決定的kernelや固定reduction order等を使う一方、性能影響を明示している。再現性向上にはコストがあるため、SLOと同時に評価する必要がある。

control / implementation implication
  • Replay envelopeを保存する。最低限、request body、prompt/template revision、system/developer instruction revision、retrieval/tool inputsの識別子、model/provider identifier、sampling parameters、seed(利用可能な場合)、runtime/library version、hardware class、時刻、response、重要なprovider/runtime fingerprintを同一traceへ束ねる。秘密情報や個人情報は直接保存せず、必要に応じてredactionまたは参照ID化する。
  • 再現性を階層化する。例として、R0=監査用replay情報が不足、R1=入力と設定を再構成可能、R2=同一環境で統計的に安定、R3=同一環境でtoken/output一致、R4=許容された異環境でも規定差以内、といった内部契約を定義する。重要なのは名称ではなく、各workflowがどの水準を必要とするかを事前に固定することである。
  • Nondeterminism budgetを測る。golden promptを一度だけ実行して合否を決めず、同一条件で複数回実行し、task success、structured-output validity、tool-call sequence、semantic score、token-level divergence、latency/cost等の分布を取得する。budgetは「完全一致率100%」だけでなく、業務上のfailure率上限や分位点で定義できる。高リスク処理ではsemantic similarityだけでなく、禁止動作・tool side effect・schema違反を別軸で監視する。
  • Change boundaryを記録する。model alias、provider backend、serving runtime、driver、GPU、quantization、kernel、prompt、retrieval corpusの変更前後で同じreplay setを走らせる。差異がbudgetを越えた場合、単に「LLMは確率的」として受容せず、変更点と変動源を切り分ける。
  • Deterministic modeは限定適用する。self-hosted runtimeで再現性が必要な検証系では、runtimeが提供するdeterministic scheduling/batch invariance/deterministic algorithmを利用できる。ただし性能低下や対応hardware制約があり得るため、本番設定へ無条件に持ち込まない。検証系と本番系で設定が異なる場合、その差自体をreplay metadataへ残す。
適用境界

完全なbitwise reproducibilityは、外部providerの内部backendが利用者から固定できない場合や、hardware/runtime更新を跨ぐ場合には契約できないことがある。その場合の安全な表現は「同一出力を保証する」ではなく、「観測可能な入力・設定・version/fingerprintを保存し、反復評価で許容変動を管理する」である。逆に、自前推論基盤でhardware、runtime、schedulerまで管理できる場合は、より強い再現性契約を設定できる。

Counterevidence / limitations

決定性を強めるほど常に品質が上がるわけではない。生成タスクでは意図的な多様性が価値になる場合があり、再現性のためにsamplingを過度に固定すると探索幅を失う。また、deterministic kernelやbatch invarianceは性能最適化とトレードオフになり得る。したがってnondeterminism budgetは「揺らぎをゼロにする予算」ではなく、「必要な多様性を残しながら、監査・回帰・安全性に影響する揺らぎを上限管理する契約」と解釈する。

OPEN_UNKNOWN

外部managed LLM providerでは、同一model名・同一request・同一seed相当パラメータでもbackend更新や非公開実行条件を完全には固定できない場合がある。provider固有の保証範囲は、その時点の公式仕様で個別確認する必要がある。

SAFE_WORDING

「seed固定により再現可能」と一般化しない。「特定runtime・version・hardware・scheduler等の前提を固定した範囲で再現性を高められる」「完全一致が契約できない系では反復分布と許容差を管理する」と記述する。

Provenance / source locators

AUDIT_HANDOFF TARGET_ID=EA-684 CANDIDATE_ID=ORPHAN-RESCUE-EA684-20261019-C1 CANONICAL_TOPIC=Stochastic Reproducibility/Nondeterminism Budget CANDIDATE_DOC_ID=1wXwrvTDzQei_Ptij8kRN6-EctEFvoalZCrGvHZrqE7Y CANDIDATE_DOC_URL=https://docs.google.com/document/d/1wXwrvTDzQei_Ptij8kRN6-EctEFvoalZCrGvHZrqE7Y/edit SOURCE_LOCATORS=vLLM Reproducibility; vLLM Batch Invariance; PyTorch deterministic algorithms; canonical EA-684 proposal AUDIT_HANDOFF=YES

  • EVD-EA-684-URL-FC849E8674F9研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    vLLM Reproducibility (current docs):

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-684-URL-FC849E8674F9
    検証箇所
    SAFE_WORDING · - vLLM Reproducibility (current docs): https://docs.vllm.ai/en/latest/usage/reproducibility/
    適用範囲
    SAFE_WORDING
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-684-URL-CFB60CCD1A9B研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    vLLM Batch Invariance (current docs):

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-684-URL-CFB60CCD1A9B
    検証箇所
    SAFE_WORDING · - vLLM Batch Invariance (current docs): https://docs.vllm.ai/en/latest/features/batch_invariance/
    適用範囲
    SAFE_WORDING
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-684-URL-5FFDE80BD139研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    PyTorch torch.use_deterministic_algorithms (current docs):

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-684-URL-5FFDE80BD139
    検証箇所
    SAFE_WORDING · - PyTorch torch.use_deterministic_algorithms (current docs): https://docs.pytorch.org/docs/stable/generated/torch.use_deterministic_algorithms.html
    適用範囲
    SAFE_WORDING
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-684-URL-7A3BE6A2F53E研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    CANDIDATE_DOC_URL=

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-684-URL-7A3BE6A2F53E
    検証箇所
    SAFE_WORDING · CANDIDATE_DOC_URL=https://docs.google.com/document/d/1wXwrvTDzQei_Ptij8kRN6-EctEFvoalZCrGvHZrqE7Y/edit
    適用範囲
    SAFE_WORDING
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EA-684-CURRENT-APPROVAL研究資料研究資料根拠の出所: AUDITED_CANONICAL_RESEARCH_PACKET

    現行本文の監査・revision対応

    裏付ける内容
    現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。
    確認日
    —
    出典・実験ID
    ORPHAN-RESCUE-EA684-20261019-C1
    検証箇所
    1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-684&revision_id=EA-684-R1-20261018&candidate_id=ORPHAN-RESCUE-EA684-20261019-C1 · EA-684-R1-20261018
    適用範囲
    —
    出典・来歴
    CURRENT_CANONICAL_APPROVAL_READBACK
    限界
    監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。
  • EA-684-CURRENT-BODY-READBACK実装資料実装資料根拠の出所: IMPLEMENTATION_READBACK

    現行本文の収録照合

    裏付ける内容
    公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。
    確認日
    2026-10-19
    出典・実験ID
    BODY-SHA256:7198809c45d073959161f28f5e817c1bfef68359423bf4aa13d63b6c89152cc1
    検証箇所
    content/staging/EA-684.md · 7198809c45d073959161f28f5e817c1bfef68359423bf4aa13d63b6c89152cc1 · EA-684-R1-20261018
    適用範囲
    —
    出典・来歴
    CURRENT_APPROVED_BODY_HASH_MATCH
    限界
    本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。
出典ID
ORPHAN-RESCUE-EA684-20261019-C1, SRC-EA-684-URL-FC849E8674F9, SRC-EA-684-URL-CFB60CCD1A9B, SRC-EA-684-URL-5FFDE80BD139, SRC-EA-684-URL-7A3BE6A2F53E, BODY-SHA256:7198809c45d073959161f28f5e817c1bfef68359423bf4aa13d63b6c89152cc1
追跡中のUNKNOWN ID
EA-684-UNKNOWN-01
再確認のきっかけ
正式な 改訂版/publication 状態 change · 本文 成果物 hash change · 出典 現行性 change · new contradiction or 実装 結果の照合

機械検査: 通過 — 機械検査の結果です。情報の正確性や実行の承認を保証するものではありません。

    同じ記事IDの機械可読データです。