Gemini 3.1 Proが登場!3 Proはもう不要?

に公開

結論

  • 多くの場合ではGemini 3 ProをGemini 3.1 Proに移行した方が良い
  • ただしTPS(Tokens Per Second)が重要な場合にはGemini 3 Proも選択肢となる

背景

昨年11月にGemini 3 Proが登場してから早3ヶ月、先日Gemini 3.1 Proがリリースされました。
Googleによると、Gemini 3.1 ProはあらゆるベンチマークでGemini 3 Proを上回っているようです。[1]

しかしモデルの選定には性能以外にもコスト、機能、速度などの考慮が必要です。
総合的に見てGemini 3.1 ProはGemini 3 Proに優っているのでしょうか?

まずコストについてですがGemini 3.1 ProとGemini 3 Proの価格は完全に同一です。[2]
また機能面についても同じものとなっています。[3][4]
速度については公式からは言及がないようなので計測してみましょう。

というわけで本記事の残りは速度の計測になります。

計測コード

TTFT(Time To First Token)とTPS(Tokens Per Second)を計測します。
TTFTは最初の出力トークンが返されるまでにかかった時間で、これが遅いといつまでも結果が返ってこないように見えてしまいます。
TPSは毎秒どれだけの出力を生成できるかで、これが少ないとなかなか出力が進まずもっさりした動作に見えてしまいます。

import time
from typing import TypedDict

from litellm import completion


class Result(TypedDict):
    reasoning_tokens: int
    ttft: float

    output: str
    output_tokens: int
    generation_time: float
    tps: float


def measure(model: str, input: str, thinking_level: str) -> Result:
    response = completion(
        model=model,
        messages=[{"content": input, "role": "user"}],
        temperature=0.0,
        seed=42,
        extra_body={
            "generation_config": {"thinking_config": {"thinking_level": thinking_level}}
        },
        stream=True,
        stream_options={"include_usage": True},
    )

    is_first = True
    output = ""
    start_time = time.perf_counter()
    for chunk in response:
        if chunk.choices[0].delta.content:
            output += chunk.choices[0].delta.content

        if is_first:
            first_token_time = time.perf_counter()
            is_first = False

        if "usage" in chunk:
            output_tokens = chunk.usage.completion_tokens_details.text_tokens
            reasoning_tokens = chunk.usage.completion_tokens_details.reasoning_tokens

        if chunk.choices[0].delta.provider_specific_fields:
            end_time = time.perf_counter()

    result: Result = {
        "reasoning_tokens": reasoning_tokens,
        "ttft": first_token_time - start_time,
        "output": output,
        "output_tokens": output_tokens,
        "generation_time": end_time - start_time,
        "tps": output_tokens / (end_time - start_time),
    }
    return result

TTFTの計測

TTFTは長い文字列を渡して計測します。
今回は『吾輩は猫である』の冒頭n文字を渡し、内容を要約させてみました。
TTFTはreasoning(thinking)の影響を受けるのでそれも確認します。

結果

参考:gemini-3-flash-preview

冒頭1000字 冒頭5000字 冒頭10000字
thinking_level: minimal 2.333秒(reasoning_tokens: 0) 2.114秒(reasoning_tokens: 0) 2.066秒(reasoning_tokens: 0)
thinking_level: low 8.821秒(reasoning_tokens: 546) 7.967秒(reasoning_tokens: 711) 8.742秒(reasoning_tokens: 837)
thinking_level: medium 7.770秒(reasoning_tokens: 691) 9.722秒(reasoning_tokens: 910) 10.037秒(reasoning_tokens: 941)
thinking_level: high 8.114秒(reasoning_tokens: 694) 9.345秒(reasoning_tokens: 880) 10.862秒(reasoning_tokens: 995)

gemini-3-pro-preview

冒頭1000字 冒頭5000字 冒頭10000字
thinking_level: minimal - - -
thinking_level: low 4.488秒(reasoning_tokens: 117) 17.074秒(reasoning_tokens: 1533) 18.551秒(reasoning_tokens: 1254)
thinking_level: medium - - -
thinking_level: high 16.629秒(reasoning_tokens: 1426) 18.681秒(reasoning_tokens: 1584) 20.517秒(reasoning_tokens: 1605)

gemini-3.1-pro-preview

冒頭1000字 冒頭5000字 冒頭10000字
thinking_level: minimal - - -
thinking_level: low 6.495秒(reasoning_tokens: 325) 7.077秒(reasoning_tokens: 341) 8.035秒(reasoning_tokens: 515)
thinking_level: medium 9.111秒(reasoning_tokens: 458) 10.304秒(reasoning_tokens: 587) 8.600秒(reasoning_tokens: 558)
thinking_level: high 10.162秒(reasoning_tokens: 742) 11.567秒(reasoning_tokens: 845) 15.271秒(reasoning_tokens: 1322)

「-」はサポートされていないことを表します。

考察

まず全モデル共通の傾向として

  • thinking_levelを上げるとTTFTが伸びる
  • 入力長が伸びるとTTFTが伸びる

がわかります(当たり前ですが)。

3 Proと3.1 Proの比較では

  • thinking_level: lowかつ1000字では3 Proの方がTTFTが短い
  • それ以外の条件では3.1 Proの方がTTFTが短い

という結果になりました。もっと言えば

  • 3.1 Proはthinking_levelの上昇や入力長増加に対してTTFTが「緩やか」に伸びる
  • 逆に3 Proは、入力1000字でthinking_levelをlowからhighした時や、thinking_level: lowで入力を1000字から5000字にした時などで、劇的にTTFTが悪化する

ことがわかります。

まとめ

TTFTに関して言えば、3 Proの方が良い場合もあるものの、全体として高速で安定している3.1 Proの方が使い勝手は良さそうです。

TPSの計測

TPSは長い文字列を生成させて計測します。
今回は『吾輩は猫である』の冒頭100文字を渡し、続きをn文字執筆するよう指示しました。
TPSもreasoning(thinking)の影響を受ける可能性がありそうな気がしたため、それも確認します。

結果

参考:gemini-3-flash-preview

1000文字生成を指示 5000文字生成を指示 10000文字生成を指示
thinking_level: minimal 83.683(output_tokens: 848) 113.502(output_tokens: 2665) 109.338(output_tokens: 3689)
thinking_level: low 61.664(output_tokens: 1321) 81.366(output_tokens: 2696) 85.474(output_tokens: 4215)
thinking_level: medium 50.333(output_tokens: 1206) 78.667(output_tokens: 3313) 100.812(output_tokens: 5421)
thinking_level: high 46.382(output_tokens: 872) 66.042(output_tokens: 2046) 92.751(output_tokens: 4369)

gemini-3-pro-preview

1000文字生成を指示 5000文字生成を指示 10000文字生成を指示
thinking_level: minimal - - -
thinking_level: low 70.569(output_tokens: 2320) 67.453(output_tokens: 4181) 75.351(output_tokens: 4399)
thinking_level: medium - - -
thinking_level: high 35.501(output_tokens: 1678) 60.880(output_tokens: 4779) 72.129(output_tokens: 8260)

gemini-3.1-pro-preview

1000文字生成を指示 5000文字生成を指示 10000文字生成を指示
thinking_level: minimal - - -
thinking_level: low 35.824(output_tokens: 1138) 46.296(output_tokens: 3449) 77.347(output_tokens: 3478)
thinking_level: medium 14.907(output_tokens: 985) 27.361(output_tokens: 3100) 35.355(output_tokens: 2775)
thinking_level: high 20.871(output_tokens: 872) 53.084(output_tokens: 4354) 59.733(output_tokens: 4747)

「-」はサポートされていないことを表します。

考察

まず全モデル共通の傾向として

  • 出力トークン数が増えるとTPSは上がる
  • thinking_levelが上がるとTPSは下がる

ようです。

3 Proと3.1 Proの比較では

  • thinking_level: lowかつ10000文字生成指示では3.1 Proの方がTPSが少しだけ高い
  • それ以外の条件では3 Proの方がTPSが高い
    • 特にthinking_levelが高く、出力長が短い場合

という結果になりました。

まとめ

TPSの観点では3 Proの方が優れているようです。

結論

比較結果としては

  • 性能はGemini 3.1 Proが上
  • コスト、機能面はほとんど同等
    • 今回見たようにthinking_levelの指定など細かい部分で違いはあり
  • 速度について、TTFTはGemini 3.1 Proが上、TPSはGemini 3 Proが上

となります。
そもそも速度が必要な場合はGemini 3 Flashも候補になりますが、性能とTPSが必要な場面ではGemini 3 Proも引き続き選択肢になるでしょう。

余談:なぜProだけ3.1が出たのかの考察

Gemini 3 Flashは3 Proから1ヶ月遅れでリリースされましたが、一部のベンチマークでは3 Proを上回っていました。[5]
これに対しGoogle Deepmindの研究者が以下のように述べています。

https://x.com/ankesh_anand/status/2002017859443233017

要するに3 Flashには3 Proに間に合わなかった手法が適用されており、それによって性能が上がっているということです。
完全に推測ですが、3 Proにこの研究結果を入れたのが3.1 Proだと考えています。
なのでFlashの3.1は出ないんじゃないかな。

脚注
  1. https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-pro/ ↩︎

  2. https://cloud.google.com/vertex-ai/generative-ai/pricing ↩︎

  3. https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro ↩︎

  4. https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-pro ↩︎

  5. https://blog.google/products-and-platforms/products/gemini/gemini-3-flash/ ↩︎

Discussion