📊

gpt-ossの推論速度とShaberi3ベンチマーク結果まとめ

に公開

はじめに

どんな人向けの記事?

  • 生成 AI の日本語性能に興味のある方
  • OpenAIの gpt-oss に興味のある方
計測環境
1. EVO-X2(Ryzen AI Max+ 395, Radeon 8060S, UMA 128GB)
2. Mac Studio(M2 Ultra, 60-GPU, UMA  128GB)
3. RTX 3090(24GB)

概要

本記事ではOpenAIから公開された gpt-oss-20B/120B の推論速度、Shaberi3ベンチマーク評価結果をまとめる。

使用したモデル

  • 推論速度測定
    llama.cppのllama-benchで評価するために、以下のGGUFモデルを使用。

https://huggingface.co/unsloth/gpt-oss-20b-GGUF/blob/main/gpt-oss-20b-F16.gguf

https://huggingface.co/unsloth/gpt-oss-120b-GGUF/blob/main/gpt-oss-120b-F16.gguf

  • Shaberi3ベンチマーク
    Ollamaモデルを使用。

https://ollama.com/library/gpt-oss

結果

推論速度

llama.cppのllama-benchを使用。pp512/tg128およびpp8192/tg8192の速度を計測した。
flash-attentionが使えるものはその結果も示している。

結果

  • prompt processing

  • token generation

RTX 3090はVRAMに収まる20Bモデルのみを評価している。また、EVO-X2ではflash-attentionが使えなかった。

以前Qwen3-Coder-30B-A3Bの評価をしたときは、Mac Studioが振るわない結果となったが、gpt-ossではかなり良いスピードを出せている。トークン生成においてはflash-attnもかなり有効なようだ。

RTX3090というかNVIDIA GPUはプロンプト処理がとにかく速いのがGood。

EVO-X2はメモリ帯域幅の割には生成速度が速いのはGood。しかし、他に比べてプロンプト処理がとにかく遅すぎることがわかる。
今回はROCmで推論できなかったためVulkanで処理しているが、ROCmの正式対応によってプロンプト処理だけでも数倍改善されることを祈る。


推論速度:詳細

以下に各環境における詳細を示す。

Mac Studio(M2 Ultra, 60-GPU, 128GB)

20B

  • pp512/tg128
🐔@Mac-Studio:~/AI/llama.cpp $ ./build/bin/llama-bench -m ../../models/gpt-oss-20b-F16.gguf -ngl 99 -fa 0,1
build: 9515c6131 (6097)
model size params backend threads fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 0 pp512 1674.75 ± 4.42
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 0 tg128 87.58 ± 0.10
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 1 pp512 1688.58 ± 16.86
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 1 tg128 90.53 ± 0.06
  • pp8192/tg8192
model size params backend threads fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 0 pp8192 1416.12 ± 1.34
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 0 tg8192 59.36 ± 0.08
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 1 pp8192 1438.67 ± 1.28
gpt-oss ?B F16 12.83 GiB 20.91 B Metal,BLAS 16 1 tg8192 83.27 ± 0.04

120B

  • pp512/tg128
🐔@Mac-Studio:~/AI/llama.cpp $ ./build/bin/llama-bench -m ../../models/gpt-oss-120b-F16.gguf -ngl 99 -fa 0,1
build: 9515c6131 (6097)
model size params backend threads fa test t/s
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 0 pp512 847.80 ± 3.78
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 0 tg128 61.52 ± 0.03
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 1 pp512 857.73 ± 2.56
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 1 tg128 63.65 ± 0.33
  • pp8192/tg8192
model size params backend threads fa test t/s
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 0 pp8192 748.44 ± 0.85
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 0 tg8192 41.01 ± 0.01
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 1 pp8192 757.24 ± 1.76
gpt-oss ?B F16 60.87 GiB 116.83 B Metal,BLAS 16 1 tg8192 57.99 ± 0.03

RTX 3090(24GB)

20B

  • pp512/tg128
model size params backend ngl fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 0 pp512 3733.03 ± 25.12
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 0 tg128 132.63 ± 0.43
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 1 pp512 2824.89 ± 26.75
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 1 tg128 135.98 ± 0.33
  • pp8192/tg8192
model size params backend ngl fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 0 pp8192 2657.94 ± 5.52
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 0 tg8192 114.17 ± 0.85
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 1 pp8192 1158.57 ± 0.63
gpt-oss ?B F16 12.83 GiB 20.91 B CUDA 99 1 tg8192 119.21 ± 0.12

EVO-X2

20B

  • pp512/tg128
🐔@EVO-X2:~/AI/llama.cpp-vulkan $ ./build/bin/llama-bench -m ../../models/gpt-oss-20b-F16.gguf -ngl 99 -fa 0,1
ggml_vulkan: Found 1 Vulkan devices:
ggml_vulkan: 0 = AMD Radeon Graphics (RADV GFX1151) (radv) | uma: 1 | fp16: 1 | bf16: 0 | warp size: 64 | shared memory: 65536 | int dot: 1 | matrix cores: KHR_coopmat
Segmentation fault (core dumped)
model size params backend ngl fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B Vulkan 99 0 pp512 616.57 ± 3.62
gpt-oss ?B F16 12.83 GiB 20.91 B Vulkan 99 0 tg128 44.65 ± 0.70
  • pp8192/tg8192
model size params backend ngl fa test t/s
gpt-oss ?B F16 12.83 GiB 20.91 B Vulkan 99 0 pp8192 509.90 ± 4.88
gpt-oss ?B F16 12.83 GiB 20.91 B Vulkan 99 0 tg8192 41.15 ± 0.13

120B

  • pp512/tg128
🐔@EVO-X2:~/AI/llama.cpp-vulkan $ ./build/bin/llama-bench -m ../../models/gpt-oss-120b-F16.gguf -ngl 99 -fa 0,1 
build: 9515c6131 (6097)
model size params backend ngl fa test t/s
gpt-oss ?B F16 60.87 GiB 116.83 B Vulkan 99 0 pp512 226.93 ± 2.09
gpt-oss ?B F16 60.87 GiB 116.83 B Vulkan 99 0 tg128 32.54 ± 0.04
  • pp8192/tg8192
model size params backend ngl fa test t/s
gpt-oss ?B F16 60.87 GiB 116.83 B Vulkan 99 0 pp8192 207.36 ± 1.33
gpt-oss ?B F16 60.87 GiB 116.83 B Vulkan 99 0 tg8192 30.12 ± 0.01

Shaberi3 ベンチマーク結果

結果を以下に示す。

スコアに基づくgpt-oss:20bの日本語性能に関する推測

  • reasoningありのgpt-oss:20bが、reasoningなしのQwen3-30B-A3B-Instruct-2507-GGUF:UD-Q4_K_XLに負けている。
    • 品質、速度の両方の観点からQwen3-30B-A3Bに軍配が上がる。
  • Qwen3-235B-A22B-Instruct-2507-UD-Q3_K_XLよりはgpt-oss:120bの方が日本語性能は少し良さそう。
    • ただし、reasoningありなのでフェアではない。
    • アクティブパラメータはgpt-oss:120bの方が1/4ぐらい小さいので、reasoningありでも回答を最後まで生成するまでの時間は同じぐらいかも。

まとめ

今回の記事では、gpt-oss の推論速度、Shaberi3 ベンチマーク結果についてまとめました。

Xで噂されていたとおり、残念ながら20BモデルはQwen3シリーズと比べて日本語にはあまり強くないようです。

とはいえ120Bモデルの方は倍のパラメータ数であるQwen3-235B-A22B-Instruct-2507-UD-Q3_K_XLのスコアを超えていること、アクティブパラメータが数Bなため推論速度は非常に速いこと、reasoningすることである程度論理的な出力ができることが強みかと思います。

しかしこうやって比べてみると、新しいQwen3シリーズはreasoningなしでこの性能を出せるのはすごいですね。

最後まで読んでいただきありがとうございました。次回もぜひよろしくお願いします。

Discussion