94057c3d3e
CI Model Inventory / build-inventory (push) Waiting to run
Lint / lint (push) Waiting to run
PR Benchmark (SMG Components) / Benchmark Compilation Check (push) Waiting to run
PR Benchmark (SMG Components) / Benchmark - Manual Policy (push) Waiting to run
PR Benchmark (SMG Components) / Benchmark - Request Processing (push) Waiting to run
PR Benchmark (SMG Components) / Benchmark Summary (push) Blocked by required conditions
Release SGLang Model Gateway Docker Image / publish (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on macos (aarch64 - auto) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on windows (x86_64 - auto) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on macos (x86_64 - auto) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - auto) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - auto) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on linux (aarch64 - musllinux_1_1) (push) Waiting to run
Release SGLang Model Gateway to PyPI / build on linux (x86_64 - musllinux_1_1) (push) Waiting to run
Release SGLang Model Gateway to PyPI / Build SDist (push) Waiting to run
Release SGLang Model Gateway to PyPI / Upload to PyPI (push) Blocked by required conditions
Release SGLang Kernels / build-cu129-matrix (aarch64, 12.9, 3.10, arm-kernel-build-node) (push) Waiting to run
Release SGLang Kernels / build-cu129-matrix (x86_64, 12.9, 3.10, x64-kernel-build-node) (push) Waiting to run
Release SGLang Kernels / release-cu129 (push) Blocked by required conditions
Release SGLang Kernels / build-cu130-matrix (aarch64, 13.0, 3.10, arm-kernel-build-node) (push) Waiting to run
Release SGLang Kernels / build-cu130-matrix (x86_64, 13.0, 3.10, x64-kernel-build-node) (push) Waiting to run
Release SGLang Kernels / release-cu130 (push) Blocked by required conditions
Release SGLang Kernels / build-rocm-matrix (3.10, 700) (push) Waiting to run
PR Test (SMG) / build-wheel (push) Waiting to run
PR Test (SMG) / python-unit-tests (push) Blocked by required conditions
PR Test (SMG) / unit-tests (push) Waiting to run
PR Test (SMG) / benchmarks (push) Blocked by required conditions
PR Test (SMG) / chat-completions (push) Blocked by required conditions
PR Test (SMG) / chat-completions-4gpu (push) Blocked by required conditions
PR Test (SMG) / e2e (push) Blocked by required conditions
PR Test (SMG) / docker-build-test (push) Waiting to run
PR Test (SMG) / k8s-integration (push) Waiting to run
PR Test (SMG) / finish (push) Blocked by required conditions
PR Test (SMG) / summarize-benchmarks (push) Blocked by required conditions
Release SGLang Kernels / build-rocm-matrix (3.10, 720) (push) Waiting to run
Release SGLang Kernels / release-rocm700 (push) Blocked by required conditions
Release SGLang Kernels / release-rocm720 (push) Blocked by required conditions
Release SGLang Kernels / build-musa43 (43, 3.10) (push) Waiting to run
Release SGLang Kernels / release-musa43 (push) Blocked by required conditions
PR Test (NPU) / check-changes (push) Has been cancelled
PR Test (NPU) / pr-gate (push) Has been cancelled
PR Test (NPU) / set-image-config (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-1-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (0) (push) Has been cancelled
PR Test (NPU) / stage-b-test-2-npu-a2 (1) (push) Has been cancelled
PR Test (NPU) / stage-b-test-4-npu-a3 (push) Has been cancelled
PR Test (NPU) / stage-b-test-16-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-1-npu-a3 (push) Has been cancelled
PR Test (NPU) / multimodal-gen-test-2-npu-a3 (push) Has been cancelled
PR Test (Arm64) / pr-gate (push) Has been cancelled
PR Test (Arm64) / check-changes (push) Has been cancelled
PR Test (Arm64) / build-test (push) Has been cancelled
PR Test (sgl-router) / gate (push) Has been cancelled
PR Test (sgl-router) / tier-1 — lint (push) Has been cancelled
PR Test (sgl-router) / tier-2 — build + test (push) Has been cancelled
PR Test (sgl-router) / tier-3 — docker (placeholder) (push) Has been cancelled
PR Test (sgl-router) / tier-3 — k8s integration (push) Has been cancelled
PR Test (sgl-router) / tier-3 — e2e (push) Has been cancelled
PR Test (sgl-router) / finish (push) Has been cancelled
PR Test (NPU) / single-node-poc (map[name:qwen3_6_27b_w8a8_1p_in64k_out1k_50ms runner:linux-aarch64-a3-2 test_case:test/registered/ascend/performance/qwen3_6_27b/test_npu_qwen3_6_27b_w8a8_1p_in64k_out1k_50ms.py test_type:perf]) (push) Has been cancelled
PR Test (NPU) / pr-test-npu-finish (push) Has been cancelled
PR Test (Xeon) / pr-gate (push) Has been cancelled
PR Test (Xeon) / check-changes (push) Has been cancelled
PR Test (Xeon) / build-test (, xeon-gnr, base-b-test-cpu) (push) Has been cancelled
PR Test (XPU) / check-changes (push) Has been cancelled
PR Test (XPU) / pr-gate (push) Has been cancelled
PR Test (XPU) / stage-a-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / wait-for-stage-a (push) Has been cancelled
PR Test (XPU) / stage-b-test-1-gpu-xpu (push) Has been cancelled
PR Test (XPU) / finish (push) Has been cancelled
150 lines
3.6 KiB
Plaintext
150 lines
3.6 KiB
Plaintext
---
|
|
title: "Evaluating New Models with SGLang"
|
|
metatags:
|
|
description: "SGLang model evaluation: MMLU, GSM8K, GPQA, HumanEval, MMMU benchmarks. Latency and throughput testing commands."
|
|
---
|
|
This document provides commands for evaluating models' accuracy and performance. Before open-sourcing new models, we strongly suggest running these commands to verify whether the score matches your internal benchmark results.
|
|
|
|
**For cross verification, please submit commands for installation, server launching, and benchmark running with all the scores and hardware requirements when open-sourcing your models.**
|
|
|
|
[Reference: MiniMax M2](https://github.com/sgl-project/sglang/pull/12129)
|
|
|
|
## Accuracy
|
|
|
|
### LLMs
|
|
|
|
SGLang provides built-in scripts to evaluate common benchmarks.
|
|
|
|
**MMLU**
|
|
|
|
```bash Command
|
|
python -m sglang.test.run_eval \
|
|
--eval-name mmlu \
|
|
--port 30000 \
|
|
--num-examples 1000 \
|
|
--max-tokens 8192
|
|
```
|
|
|
|
**GSM8K**
|
|
|
|
```bash Command
|
|
python -m sglang.test.few_shot_gsm8k \
|
|
--host http://127.0.0.1 \
|
|
--port 30000 \
|
|
--num-questions 200 \
|
|
--num-shots 5
|
|
```
|
|
|
|
**HellaSwag**
|
|
|
|
```bash Command
|
|
python benchmark/hellaswag/bench_sglang.py \
|
|
--host http://127.0.0.1 \
|
|
--port 30000 \
|
|
--num-questions 200 \
|
|
--num-shots 20
|
|
```
|
|
|
|
**GPQA**
|
|
|
|
```bash Command
|
|
python -m sglang.test.run_eval \
|
|
--eval-name gpqa \
|
|
--port 30000 \
|
|
--num-examples 198 \
|
|
--max-tokens 120000 \
|
|
--repeat 8
|
|
```
|
|
|
|
<Tip>
|
|
For reasoning models, add `--thinking-mode <mode>` (e.g., `qwen3`, `deepseek-r1`, `deepseek-v3`). You may skip it if the model has forced thinking enabled.
|
|
</Tip>
|
|
|
|
**HumanEval**
|
|
|
|
```bash Command
|
|
pip install human_eval
|
|
|
|
python -m sglang.test.run_eval \
|
|
--eval-name humaneval \
|
|
--num-examples 10 \
|
|
--port 30000
|
|
```
|
|
|
|
### VLMs
|
|
|
|
**MMMU**
|
|
|
|
```bash Command
|
|
python benchmark/mmmu/bench_sglang.py \
|
|
--port 30000 \
|
|
--concurrency 64
|
|
```
|
|
|
|
<Tip>
|
|
You can set max tokens by passing `--extra-request-body '{"max_tokens": 4096}'`.
|
|
</Tip>
|
|
|
|
For models capable of processing video, we recommend extending the evaluation to include `VideoMME`, `MVBench`, and other relevant benchmarks.
|
|
|
|
## Performance
|
|
|
|
Performance benchmarks measure **Latency** (Time To First Token - TTFT) and **Throughput** (tokens/second).
|
|
|
|
### LLMs
|
|
|
|
**Latency-Sensitive Benchmark**
|
|
|
|
This simulates a scenario with low concurrency (e.g., single user) to measure latency.
|
|
|
|
```bash Command
|
|
python -m sglang.bench_serving \
|
|
--backend sglang \
|
|
--host 0.0.0.0 \
|
|
--port 30000 \
|
|
--dataset-name random \
|
|
--num-prompts 10 \
|
|
--max-concurrency 1
|
|
```
|
|
|
|
**Throughput-Sensitive Benchmark**
|
|
|
|
This simulates a high-traffic scenario to measure maximum system throughput.
|
|
|
|
```bash Command
|
|
python -m sglang.bench_serving \
|
|
--backend sglang \
|
|
--host 0.0.0.0 \
|
|
--port 30000 \
|
|
--dataset-name random \
|
|
--num-prompts 1000 \
|
|
--max-concurrency 100
|
|
```
|
|
|
|
**Single Batch Performance**
|
|
|
|
You can also benchmark the performance of processing a single batch offline.
|
|
|
|
```bash Command
|
|
python -m sglang.bench_one_batch_server \
|
|
--model <model-path> \
|
|
--batch-size 8 \
|
|
--input-len 1024 \
|
|
--output-len 1024
|
|
```
|
|
|
|
You can run more granular benchmarks:
|
|
|
|
- **Low Concurrency**: `--num-prompts 10 --max-concurrency 1`
|
|
- **Medium Concurrency**: `--num-prompts 80 --max-concurrency 16`
|
|
- **High Concurrency**: `--num-prompts 500 --max-concurrency 100`
|
|
|
|
## Reporting Results
|
|
|
|
For each evaluation, please report:
|
|
|
|
1. **Metric Score**: Accuracy % (LLMs and VLMs); Latency (ms) and Throughput (tok/s) (LLMs only).
|
|
2. **Environment settings**: GPU type/count, SGLang commit hash.
|
|
3. **Launch configuration**: Model path, TP size, and any special flags.
|
|
4. **Evaluation parameters**: Number of shots, examples, max tokens.
|