0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemma 4 が Amazon Bedrock に来たので、OpenAI 互換 API で呼んで、Nova 2 Lite・Claude Haiku と精度を比べてみた

0
Posted at

はじめに

2026年6月10日、Gemma 4 が Amazon Bedrock に登場。

忙しい人のための要約

  • Gemma 4 が Amazon Bedrock で利用可能に
  • 3 つのバリアント(31B / 26B-A4B / E2B)を提供
  • 呼び出し方法は bedrock-mantle エンドポイント + OpenAI 互換 API(Chat Completions / Responses)専用
  • 発表時点で対応リージョンは バージニア・オハイオ・オレゴン・フランクフルト の 4 つ(In-Region のみ、Geo/Global クロスリージョンは非対応)

Gemma 4 とは

Gemma は Google が公開しているオープンウェイトのモデルファミリーで、Gemini と技術を共有しつつ軽量に使えるのが売りです。その最新世代が Gemma 4 で、今回 Bedrock のラインナップに加わりました。

今回提供されるのは次の 3 バリアントです。

どのモデルを選ぶか、ざっくりした判断フローはこんなイメージです。

Bedrock での呼び方

Gemma 4 が対応する API とエンドポイントを、モデルカードの記載に基づいて整理すると次のとおりです。

API / エンドポイント Gemma 4 の対応
bedrock-mantle(OpenAI互換エンドポイント) ✅ 対応(こちらのみ)
bedrock-runtime ❌ 非対応
Chat Completions API ✅ 対応
Responses API ✅ 対応(openai/v1/responses パス)
Converse / InvokeModel / Messages ❌ 非対応

やってみた

それでは実際に Gemma 4 31B を呼び出してみます。今回は OpenAI 互換の openai SDK を使います。

手順1: Bedrock APIキーを発行する

Gemma 4 は OpenAI 互換のフローで認証するため、まず Bedrock の API キーを用意します。

AWS マネジメントコンソールの Amazon Bedrock → API keys → Long-term API keys から発行できます。

発行したキーは一度しか表示されないので、安全な場所に控えておきます。

手順2: 環境を準備する

OpenAI SDK をインストールし、環境変数を設定します。ベースURLにリージョンを埋め込むのがポイントです。

# OpenAI 互換 SDK をインストール
pip install openai

# 環境変数を設定(今回は us-east-1 を使用)
export OPENAI_API_KEY="ABSKQmVkcm9ja0FQSUtleS1lemowLWF0LTI2ODU0NjAzNzU0NDp0cjBGZTBtQjBoUXFOODRMb0g5SlpIQmZZVVNxK3ZDVVVFVk1VZ2NXQk90L0UzbzBwcUkwTlF6N01xTT0="
export OPENAI_BASE_URL="https://bedrock-mantle.us-east-1.api.aws/openai/v1"

bedrock-mantle.{region}.api.aws/openai/v1{region} を自分の使うリージョンに置き換えてください。

手順3: Chat Completions API で呼ぶ

gemma4_chat.py
from openai import OpenAI

client = OpenAI()  # 環境変数 OPENAI_API_KEY / OPENAI_BASE_URL を自動で読む

response = client.chat.completions.create(
    model="google.gemma-4-31b",
    messages=[
        {"role": "user", "content": "Amazon Bedrock の特徴を日本語で3つ教えて"}
    ],
)

print(response.choices[0].message.content)

出力イメージ:

スクリーンショット 2026-06-17 18.41.03.png

手順4: Responses API で reasoning(推論)の中身を見る

Gemma 4 は推論モデルなので、Responses API を使うと拡張推論(reasoning)を行い、その中身を返してくれます。

gemma4_responses.py
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="google.gemma-4-31b",
    input="MoE(Mixture-of-Experts)アーキテクチャが本番推論で有利な理由を説明して",
    max_output_tokens=512,
)

print(response.output_text)

スクリーンショット 2026-06-17 18.42.51.png

精度をざっくり比較してみる

せっかく新しいモデルが来たので、「で、結局どれくらい賢いの?」が気になります。そこで、Gemma 4 と他の Bedrock モデルで簡単な精度比較をやってみました。

あらかじめお断りすると、これはごく簡易な検証です。問題はたった 12 問、しかも自前で作ったものなので、ベンチマークとして厳密なものではありません。あくまで「手元で叩いた肌感」くらいに受け取ってください。

比較対象とお題

次の 4 モデルを比べます。

モデル 系統 呼び出し方
Gemma 4 31B bedrock-mantle OpenAI互換 Chat Completions
Gemma 4 E2B bedrock-mantle OpenAI互換 Chat Completions
Amazon Nova 2 Lite bedrock-runtime Converse API
Claude Haiku 4.5 bedrock-runtime Converse API

お題は、答えが一意に決まる日本語 12 問(算数・文章題・知識・論理・コード)です。各モデルに「最終行に『答え: <値>』の形式で書いて」と指示し、その値を正規化して期待値と突き合わせる、という雑な自動採点です。

# 設問の一部(答えが一意に決まるものを用意)
QUESTIONS = [
    ("算数",   "17 × 23 はいくつ?", "391"),
    ("文章題", "りんごを1個120円で5個、みかんを1個80円で3個買った。合計金額は何円?", "840"),
    ("算数",   "2の10乗はいくつ?", "1024"),
    ("知識",   "水の化学式は?", "H2O"),
    ("論理",   "すべての猫は動物である。タマは猫である。タマは動物か?", "はい"),
    ("算数",   "100 を 7 で割った余りはいくつ?", "2"),
    # …全12問
]
PROMPT_SUFFIX = "\n\n最終行に「答え: <値>」の形式で、答えだけを簡潔に書いてください。"

Gemma 4 は前述の OpenAI SDK でそのまま、Nova 2 Lite / Claude Haiku 4.5 は bedrock-runtimeconverse で叩きます。

# Gemma 4(mantle)は OpenAI SDK で
resp = client.chat.completions.create(
    model="google.gemma-4-31b",  # / "google.gemma-4-e2b"
    messages=[{"role": "user", "content": q + PROMPT_SUFFIX}],
    max_tokens=1024, temperature=0,
    reasoning_effort="low",  # 思考に使うトークンを抑えてコスト削減
)

# Nova 2 Lite / Claude Haiku 4.5(runtime)は Converse で
resp = bedrock_runtime.converse(
    modelId="us.amazon.nova-2-lite-v1:0",  # / "us.anthropic.claude-haiku-4-5-20251001-v1:0"
    messages=[{"role": "user", "content": [{"text": q + PROMPT_SUFFIX}]}],
    inferenceConfig={"maxTokens": 512, "temperature": 0},
)

結果

自動採点の素の結果です。

モデル 正解率(自動採点) 出力トークン合計 備考
Gemma 4 31B 12 / 12 377 安定して簡潔な出力
Gemma 4 E2B 11 / 12 2319 反復ループによる不安定さ
Amazon Nova 2 Lite 12 / 12 850 安価モデルとして堅実
Claude Haiku 4.5 12 / 12 690 説明が丁寧で出力トークン多め

正直なところ、今回くらいの易しさだと地力のあるモデルは軒並み満点で、精度では差がつきませんでした。

実際に差が見えたのは、

  • 出力の安定性:31B / Nova 2 Lite / Haiku は安定。E2B は小型ゆえに反復で暴れることがある
  • トークン効率:同じ満点でも 31B は 377 トークンと群を抜いて簡潔。reasoning を絞っても落ちないのが効いています

といった「精度そのもの」以外の部分でした。用途に応じてサイズ・モデルを選ぶ、という公式の整理が腹落ちする結果です。

12 問程度では当然ながら精度の差はほとんど出ません。きちんと比べるなら、件数を増やし、採点も「LLM-as-a-judge」などに寄せる必要がありそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?