はじめに
本記事では、2023 年 11 月 6 日の OpenAI Dev Day 2023 にて発表された seed
パラメーターを使用して ChatGPT の出力を固定する方法について詳しく紹介してきたいと思います。

ノート
現時点では API でのみ利用可能で、WEB ブラウザ版の ChatGPT では利用できません。
OpenAI Dev Day 2023 の発表内容については、こちらの記事にまとめていますので、適宜参考にしてください。
ChatGPT の出力を固定する方法
ChatGPT の出力を固定するには次の 3 つが固定されている必要があります。
seed パラメーター
seed
パラメーターは、ランダム性を制御するために使用されるパラメーターです。同じ値の seed パラメーターを使用すると、同じ入力に対して常に同じ出力が生成されます。開発者は、seed パラメーターの値として任意の整数を指定することができます。
system_fingerprint パラメーター
ChatGPT の API を提供している OpenAI は定期的に提供しているモデルのアップデートを行なっています。
system_fingerprint
とは API をリクエストした際に OpenAI が使用していた LLM モデルの重みや、インフラ、その他の設定項目を特定する識別子です。
system_fingerprint
の値は API のリスポンスの中で確認することができます。
その他のパラメーター
当然ですが、プロンプト、temperature などの ChatGPT に入力するパラメーターの値も固定する必要があります。
注意点
ChatGPT が決定的な値を出力するのではなく確率的な出力を行うモデルであるため、上記 3 つのパラメーターを固定しても必ず同じ出力が得られるわけではないことを留意してください。
まとめ
本記事では、ChatGPT の出力を固定する方法について解説しました。seed パラメータと system_fingerprint を活用することで、開発者はランダム性を持たせずに出力を一貫させることができます。これにより、開発者は再現性のある結果を得ることができます。
参考文献

備考