{
  "version": "1",
  "updated": "2026-09-27",
  "data_version": "2026-09-27",
  "unit": "Wh per million output tokens",
  "itl_deadline_ms": 500,
  "source": {
    "name": "ML.ENERGY Leaderboard",
    "publisher": "The ML.ENERGY Initiative (started at SymbioticLab, University of Michigan)",
    "url": "https://ml.energy/leaderboard/",
    "data_url": "https://raw.githubusercontent.com/ml-energy/leaderboard/master/public/data/tasks/lm-arena-chat.json",
    "version": "3.0 (released 2025-12-01); data compiled 2026-02-16",
    "released": "2025-12-01",
    "compiled": "2026-02-16",
    "compiled_evidence": "the leaderboard's public/data/index.json last_updated, and the last commit to the task files, both 2026-02-16",
    "retrieved": "2026-09-26",
    "licence": "Apache-2.0 per the ml-energy/benchmark-v3 dataset card",
    "licence_evidence": [
      "Hugging Face dataset ml-energy/benchmark-v3: tagged license:apache-2.0, ships a LICENSE file, and its dataset card's License section reads Apache-2.0",
      "The ML.ENERGY Leaderboard web app's footer says Apache 2.0",
      "The leaderboard repository (github.com/ml-energy/leaderboard) carries no licence file; its JSON files are reproduced here as published measurements until the ML.ENERGY team confirms that the dataset licence covers them"
    ],
    "workload": "Text Conversation (lm-arena-chat)",
    "method": "Energy per output token is steady-state GPU energy divided by the output tokens generated in the steady-state window (the benchmark's steady_state_energy_per_token), measured with Zeus under vLLM 0.11.1 on H100 80GB HBM3 and B200 servers. Energy per request is that figure multiplied by the average output length, not a separate measurement. Prompt processing is included.",
    "selection": "Each index row is the lowest-energy configuration for its model and GPU whose median inter-token latency does not exceed 500 ms, the leaderboard's own default ceiling; no measured configuration reaches it.",
    "cite": "Chung et al., The ML.ENERGY Benchmark: Toward Automated Inference Energy Measurement and Optimization, NeurIPS 2025 Datasets and Benchmarks, arXiv 2505.06371",
    "cite_url": "https://arxiv.org/abs/2505.06371",
    "used_for": "index, per-model configurations, concurrency curves, measured GPU power",
    "configurations": "328 stable configurations: the leaderboard publishes the runs that passed its stability filter; every run, including the unstable ones, is in the gated Hugging Face dataset ml-energy/benchmark-v3"
  },
  "caveat": "GPU energy only, measured at steady state on a busy server (the most energy-efficient configuration under a latency limit). Host, network, cooling and idle time are not counted. Every figure is a floor; a lightly used server sits well above it.",
  "boundary": "gpu_only",
  "slug": "gemma-3-12b",
  "name": "Gemma 3 12B",
  "model_id": "google/gemma-3-12b-it",
  "params_b": 12.0,
  "active_params_b": 12.0,
  "architecture": "Dense Transformer",
  "gpus": [
    "B200",
    "H100"
  ],
  "configurations": [
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 8,
      "avg_requests_in_flight": 8.0,
      "wh_per_million_output_tokens": 185.91,
      "joules_per_output_token": 0.6692827,
      "median_itl_ms": 7.7,
      "p90_itl_ms": 10.2,
      "p99_itl_ms": 19.0,
      "tokens_per_second": 998.0,
      "gpu_power_watts_total": 668,
      "avg_output_tokens": 724,
      "under_itl_deadline": true,
      "avg_running_batch": 8.0,
      "p95_itl_ms": 11.9,
      "row_id": "gemma-3-12b/B200/1/8",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 16,
      "avg_requests_in_flight": 15.9,
      "wh_per_million_output_tokens": 109.51,
      "joules_per_output_token": 0.3942255,
      "median_itl_ms": 8.3,
      "p90_itl_ms": 12.6,
      "p99_itl_ms": 28.3,
      "tokens_per_second": 1726.3,
      "gpu_power_watts_total": 681,
      "avg_output_tokens": 717,
      "under_itl_deadline": true,
      "avg_running_batch": 15.9,
      "p95_itl_ms": 16.9,
      "row_id": "gemma-3-12b/B200/1/16",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 32,
      "avg_requests_in_flight": 31.9,
      "wh_per_million_output_tokens": 68.49,
      "joules_per_output_token": 0.2465468,
      "median_itl_ms": 11.3,
      "p90_itl_ms": 18.8,
      "p99_itl_ms": 34.2,
      "tokens_per_second": 2534.8,
      "gpu_power_watts_total": 625,
      "avg_output_tokens": 725,
      "under_itl_deadline": true,
      "avg_running_batch": 31.9,
      "p95_itl_ms": 24.1,
      "row_id": "gemma-3-12b/B200/1/32",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 64,
      "avg_requests_in_flight": 63.9,
      "wh_per_million_output_tokens": 47.69,
      "joules_per_output_token": 0.1716758,
      "median_itl_ms": 13.0,
      "p90_itl_ms": 21.2,
      "p99_itl_ms": 36.9,
      "tokens_per_second": 4374.8,
      "gpu_power_watts_total": 751,
      "avg_output_tokens": 722,
      "under_itl_deadline": true,
      "avg_running_batch": 63.9,
      "p95_itl_ms": 26.0,
      "row_id": "gemma-3-12b/B200/1/64",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 128,
      "avg_requests_in_flight": 127.7,
      "wh_per_million_output_tokens": 37.36,
      "joules_per_output_token": 0.1344931,
      "median_itl_ms": 18.9,
      "p90_itl_ms": 27.2,
      "p99_itl_ms": 41.7,
      "tokens_per_second": 6203.0,
      "gpu_power_watts_total": 834,
      "avg_output_tokens": 729,
      "under_itl_deadline": true,
      "avg_running_batch": 127.7,
      "p95_itl_ms": 32.5,
      "row_id": "gemma-3-12b/B200/1/128",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 256,
      "avg_requests_in_flight": 255.6,
      "wh_per_million_output_tokens": 31.45,
      "joules_per_output_token": 0.1132079,
      "median_itl_ms": 28.0,
      "p90_itl_ms": 40.0,
      "p99_itl_ms": 54.8,
      "tokens_per_second": 8333.3,
      "gpu_power_watts_total": 943,
      "avg_output_tokens": 724,
      "under_itl_deadline": true,
      "avg_running_batch": 255.6,
      "p95_itl_ms": 44.5,
      "row_id": "gemma-3-12b/B200/1/256",
      "repeat": 1
    },
    {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 512,
      "avg_requests_in_flight": 486.6,
      "wh_per_million_output_tokens": 26.49,
      "joules_per_output_token": 0.0953556,
      "median_itl_ms": 43.5,
      "p90_itl_ms": 60.3,
      "p99_itl_ms": 105.5,
      "tokens_per_second": 9732.8,
      "gpu_power_watts_total": 928,
      "avg_output_tokens": 723,
      "under_itl_deadline": true,
      "avg_running_batch": 486.6,
      "p95_itl_ms": 66.8,
      "row_id": "gemma-3-12b/B200/1/512",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 8,
      "avg_requests_in_flight": 8.0,
      "wh_per_million_output_tokens": 195.02,
      "joules_per_output_token": 0.702081,
      "median_itl_ms": 13.1,
      "p90_itl_ms": 13.7,
      "p99_itl_ms": 17.1,
      "tokens_per_second": 604.3,
      "gpu_power_watts_total": 424,
      "avg_output_tokens": 728,
      "under_itl_deadline": true,
      "avg_running_batch": 8.0,
      "p95_itl_ms": 13.9,
      "row_id": "gemma-3-12b/H100/1/8",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 16,
      "avg_requests_in_flight": 16.0,
      "wh_per_million_output_tokens": 116.08,
      "joules_per_output_token": 0.4179058,
      "median_itl_ms": 14.5,
      "p90_itl_ms": 15.3,
      "p99_itl_ms": 20.0,
      "tokens_per_second": 1082.3,
      "gpu_power_watts_total": 452,
      "avg_output_tokens": 724,
      "under_itl_deadline": true,
      "avg_running_batch": 16.0,
      "p95_itl_ms": 15.6,
      "row_id": "gemma-3-12b/H100/1/16",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 32,
      "avg_requests_in_flight": 31.9,
      "wh_per_million_output_tokens": 75.22,
      "joules_per_output_token": 0.2708027,
      "median_itl_ms": 17.5,
      "p90_itl_ms": 18.5,
      "p99_itl_ms": 26.8,
      "tokens_per_second": 1786.6,
      "gpu_power_watts_total": 484,
      "avg_output_tokens": 725,
      "under_itl_deadline": true,
      "avg_running_batch": 31.9,
      "p95_itl_ms": 19.3,
      "row_id": "gemma-3-12b/H100/1/32",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 64,
      "avg_requests_in_flight": 63.9,
      "wh_per_million_output_tokens": 55.79,
      "joules_per_output_token": 0.2008371,
      "median_itl_ms": 22.9,
      "p90_itl_ms": 24.7,
      "p99_itl_ms": 42.2,
      "tokens_per_second": 2691.4,
      "gpu_power_watts_total": 541,
      "avg_output_tokens": 718,
      "under_itl_deadline": true,
      "avg_running_batch": 63.9,
      "p95_itl_ms": 26.2,
      "row_id": "gemma-3-12b/H100/1/64",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 96,
      "avg_requests_in_flight": 95.8,
      "wh_per_million_output_tokens": 49.58,
      "joules_per_output_token": 0.17848,
      "median_itl_ms": 28.5,
      "p90_itl_ms": 30.8,
      "p99_itl_ms": 55.0,
      "tokens_per_second": 3224.4,
      "gpu_power_watts_total": 575,
      "avg_output_tokens": 729,
      "under_itl_deadline": true,
      "avg_running_batch": 95.8,
      "p95_itl_ms": 34.1,
      "row_id": "gemma-3-12b/H100/1/96",
      "repeat": 1
    },
    {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 128,
      "avg_requests_in_flight": 127.8,
      "wh_per_million_output_tokens": 46.14,
      "joules_per_output_token": 0.1661133,
      "median_itl_ms": 34.7,
      "p90_itl_ms": 37.3,
      "p99_itl_ms": 66.2,
      "tokens_per_second": 3545.6,
      "gpu_power_watts_total": 589,
      "avg_output_tokens": 723,
      "under_itl_deadline": true,
      "avg_running_batch": 127.8,
      "p95_itl_ms": 41.1,
      "row_id": "gemma-3-12b/H100/1/128",
      "repeat": 1
    }
  ],
  "best": {
    "B200": {
      "gpu": "B200",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 512,
      "avg_requests_in_flight": 486.6,
      "wh_per_million_output_tokens": 26.49,
      "joules_per_output_token": 0.0953556,
      "median_itl_ms": 43.5,
      "p90_itl_ms": 60.3,
      "p99_itl_ms": 105.5,
      "tokens_per_second": 9732.8,
      "gpu_power_watts_total": 928,
      "avg_output_tokens": 723,
      "under_itl_deadline": true,
      "avg_running_batch": 486.6,
      "p95_itl_ms": 66.8,
      "row_id": "gemma-3-12b/B200/1/512",
      "repeat": 1
    },
    "H100": {
      "gpu": "H100",
      "num_gpus": 1,
      "tensor_parallel": 1,
      "data_parallel": 1,
      "expert_parallel": 1,
      "precision": "BF16",
      "max_num_seqs": 128,
      "avg_requests_in_flight": 127.8,
      "wh_per_million_output_tokens": 46.14,
      "joules_per_output_token": 0.1661133,
      "median_itl_ms": 34.7,
      "p90_itl_ms": 37.3,
      "p99_itl_ms": 66.2,
      "tokens_per_second": 3545.6,
      "gpu_power_watts_total": 589,
      "avg_output_tokens": 723,
      "under_itl_deadline": true,
      "avg_running_batch": 127.8,
      "p95_itl_ms": 41.1,
      "row_id": "gemma-3-12b/H100/1/128",
      "repeat": 1
    }
  }
}
