when reasoning pays off

運用エッセイ · GPT-4o から GPT-5.x へのサイジング

推論モデルへの移行を、モデル名だけでサイジングしてはいけない

あるチームが gpt-4o のトラフィックを GPT-5.x の推論モデルへ 移そうと計画し、新しいデプロイのための PTU 数を必要とします。反射的に、 すでにうまくいっているものを再利用したくなります——古い gpt-4o の PTU サイズをそのまま持ち越すか、それにファミリーレベルの「5.x」の乗数を当てるか。 モデル名がリサイズに十分な情報を運ぶ、という仮定です。しかし PTU の サイジングを駆動するのはモデル名ではなくトークンの形です——プロンプトの サイズ、可視出力、隠れた推論トークン、キャッシュヒット率、応答上限がすべて 結果を動かします。だから名前だけでサイジングしたい本能は、本記事が問う運用上の 問いに真正面からぶつかります——モデル名で十分なのか、それともまずリクエストの 形を測り直さなければならないのか。

ひと目で見るこの記事。 移行のサイジングは、モデル名の参照では なくモデル化された計算です。推奨 PTU = ceil(需要 ÷ 密度 ÷ 目標利用率) で、過大な応答上限(max_output_tokens)は本リポジトリ では——文書化されたプラットフォームの挙動ではなく——検証すべきアドミッション リスクの仮説として扱い、それがワークロードの予約する PTU を支配しうるかを 確かめます。1枚要約はその一つのメッセージを運び、境界を率直に示します。これは ピン留めした価格スナップショットを伴うモデル化されたワークロード上の合成された 計算例であって、測定された容量ではありません。 移行サイジングの1枚要約 SVG を開く
推論移行のサイジングの1枚要約。需要 TPM から、プロンプト+max_output の予約を経て、密度と目標利用率で割り、推奨 PTU の上限へと至るサイジングの連鎖をたどり、過大な応答上限(max_output_tokens)を、文書化されたプラットフォームの挙動ではなく検証すべきサイジングのリスクとして示す。中心メッセージ:移行のサイジングはモデル化された計算である。測定された容量ではなく合成された計算例であると明示する。

なぜ古いサイズを再利用せず、測り直すのか

再利用の反射は、モデル名がサイズを運ぶと仮定します——うまくいっている gpt-4o の数値を、ファミリーの乗数でスケールすれば、GPT-5.x にも なお収まる、と。それを受け入れる前に、二つのことを並べておく価値があります。 一つ目はドキュメントが規定していることです。Microsoft Learn は、ピーク RPM、 平均プロンプトと出力トークン、キャッシュ率、モデルの出力対入力比、そして PTU あたり Input TPM から、トラフィックを正規化 TPM に変換し、キャッシュ済み プロンプトトークンを利用率から差し引きます。OpenAI は推論トークンを、 output_tokens_details.reasoning_tokens に報告される、表示されない 出力側のトークンとして文書化しています。二つ目は本リポジトリの例示的な計算で、 その文書化された式を一つの呼び出しの形の例に走らせ、サイズを動かす要因を 並べて見せます——どのデプロイの測定でもありません。

立ち止まる価値があるのは、その対の部分です。可視出力だけで読むと、移行は 扱いやすく見えます——同じプロンプトと同じ可視の答えは、新しいモデルでおおむね 同じ水準か、わずかに軽くサイジングされることさえあります。しかし可視の答えは リクエストのすべてではありません。隠れた推論出力が現れると、同じ答えがはるかに 多くの正規化 TPM を必要としうるのです。そして本リポジトリの作業仮説——文書化 されたプラットフォームの挙動ではなく、検証すべきアドミッションリスク——は、 過大な max_output_tokens の上限が、それらのトークンが実際に生成 されるかどうかにかかわらず、アドミッションの重みを予約しうる、というものです。 だから運用上の問いは「新しいモデルは重いか」ではなく、「測定したリクエストの 形——可視出力、推論出力、キャッシュ率、応答上限——は実際に何を予約するのか」 です。正規化 TPM の式、モデル別の表、キャッシュの差し引き、推論トークンの会計は Microsoft Learn と OpenAI が文書化しているものです。過大な max_output_tokens を検証すべき PTU のアドミッションリスクとして 扱うのは、本リポジトリが擁護する運用上の推論です。続くチャートは、ピン留め した価格スナップショットを伴うモデル化されたワークロード上の合成された計算例 です——測定された容量でも、稼働中の PTU スループットでも、SLA でもありません。 下の例示チャートがサイズを動かす要因を明示します。

問い

GPT-4o のワークロードを PTU 上の GPT-5.x 向けにサイジングする前に、何を再測定すべきか?

根拠

Microsoft Learn は正規化 TPM の計算式を示し、OpenAI は推論トークンの会計方法を文書化しています。

判断

「5.x」というファミリーレベルの前提ではなく、実測したトークンの形からサイジングします。

サイジング計算式はトークンの形に関するものである

Microsoft Learn は、トラフィックを正規化 TPM に変換することで PTU 需要を サイジングします。入力となるのは、ピーク RPM、平均プロンプトトークン、 平均生成出力トークン、キャッシュ率、モデルの出力対入力比、そして モデルの PTU あたり Input TPM 値です。

計算式:

normalized_tpm = rpm × (prompt_tokens × (1 - cache_rate) + output_ratio × output_tokens)

raw_ptu = normalized_tpm ÷ input_tpm_per_ptu

この計算式があるからこそ、ファミリーレベルの近道は誤解を招きます。あるモデルは 出力比がより重くても、前のモデルより高い PTU あたり Input TPM を持つことが あり得ます。答えは、あなたのワークロード実際のプロンプト・出力・キャッシュ プロファイルに依存します。

移行が適合するかを決めるのは 4 つの要因

1. 出力の重み付け

GPT-4.1 以降について、Microsoft Learn は出力トークンが使用率においてモデル固有の入力トークン重みを持つと述べています。

2. 隠れた推論

OpenAI は推論トークンを、表示されない出力側のトークンとして文書化しています。output_tokens_details.reasoning_tokens から測定してください。

3. キャッシュ率

Microsoft Learn は、キャッシュされたプロンプトトークンが PTU 使用率から差し引かれると述べています。したがってプレフィックスの形の変化はサイジング結果を動かし得ます。

4. 応答上限

max_output_tokens を記録してください。本リポジトリは、過大な上限を、推測する値ではなく、検証すべき PTU 受け入れリスクの仮説として扱います。

隠れた出力が答えを変え得る

読み解くチャート: 200 入力トークンと 20 可視出力トークンを 持つ 1,000 RPM の例です。最初の 3 本のバーは公式の正規化 TPM 計算式と モデル表を使用します。最後の 2 本のバーは 60 トークンの推論を仮定として 加え、不可視の出力をなぜ測定しなければならないかを示します。
GPT-4o と GPT-5.2 の移行要因を比較する例示的な PTU サイジングチャート。
例示的なサイジングの行
モデル キャッシュ率 生成出力の仮定 丸めた PTU
可視ベースラインgpt-4o0%20 出力トークン115
可視移行gpt-5.20%20 出力トークン110
可視移行 + キャッシュgpt-5.250%20 出力トークン80
推論移行gpt-5.20%20 可視 + 60 推論トークン250
推論移行 + キャッシュgpt-5.250%20 可視 + 60 推論トークン220

これが意味すること

可視のみの行は、GPT-5.x が常に GPT-4o より効率が低いという一律の主張を 裏付けません。推論の行が罠を示しています。隠れた推論出力が現れると、 キャッシュと応答ポリシーを測定して調整しない限り、同じ可視の答えが はるかに多くの正規化 TPM を必要とし得ます。

移行を、名称変更ではなく測定として実行する

  1. タスク構成を固定してください。 プロンプト・ツール・スキーマ・検索の配置・サンプル分布を、各モデル設定間でバイト単位で安定させてください。
  2. 可視出力を測定してください。 移行前後で可視出力トークンの平均と p95 を比較してください。
  3. 推論出力を測定してください。 reasoning_tokens を取得してください。最終的な答えのテキストから推測しないでください。
  4. キャッシュ率を測定してください。 特に ReAct やツールスキーマの変更後は、キャッシュキーのバケットごとに cached_tokens / prompt_tokens を記録してください。
  5. 上限を適正化してください。 代表的な「可視 + 推論」のパーセンタイルから max_output_tokens を設定し、まれな長文の答えにはコールごとのオーバーライドを用いてください。
  6. そのうえで初めて PTU をサイジングしてください。 現行のモデル表と実測したワークロードの形を用いて、正規化 TPM 計算式を適用してください。

出典と根拠の境界

Tier 1 — サービス契約(Microsoft Learn と OpenAI)。 正規化 TPM のサイジング式、モデル別の PTU あたり Input TPM と出力対入力比、GPT-4.1 以降の出力トークンの重み付け、利用率からの 100% キャッシュ差し引き、そして 推論トークンの会計が、ここに文書化されています。

Tier 2 — 運用上の推論(本リポジトリ)。 過大な max_output_tokens を PTU のアドミッションリスクの仮説として扱う こと、そして推論トークンとキャッシュ済みトークンの測定契約は、本リポジトリの 運用上の推論であって Learn の仕様ではありません。

このトピックが証明するものとしないもの。 アクセス日時点で Microsoft Learn が明示する PTU サイジングの契約——正規化 TPM の式、モデル別の PTU あたり Input TPM と出力対入力比、GPT-4.1 以降の出力トークンの重み付け、 100% のキャッシュ差し引き——と、OpenAI の推論トークンの会計、そして本リポジトリの 経験則——サイジングの前に出力・推論・キャッシュ・上限を測り直す——を文書化します。 例示チャートは文書化された式を一つの呼び出しの形の例に適用したものです。これは 計算例であって容量の保証ではなく、特定の GPT-5.x のワークロードがすべての リージョン・モデルバージョン・トラフィック形状にわたって GPT-4o の前任より重いか 軽いかを証明するものではありません。

実務上のルール

実務上のルール:GPT-4o のトラフィックを PTU 上の GPT-5.x へ移す前に、 出力・推論・キャッシュ・max_output_tokens の上限ポリシーを測り直し、 そのうえで正規化 TPM の式でサイジングしてください。モデル名だけでは、ワークロードを サイジングするのに十分な情報ではないからです。

本記事は運用の弧を閉じます。ループは、そもそもどの根拠が公開に足るほど強かったかを判断した方法論へと戻ります。

どの根拠が公開に足るほど強いかを、ラボはどう判断したのか