2025-02-23 00:10:59 +08:00
## Run evaluation
### Evaluate sglang
2025-03-28 03:14:16 +05:30
Host the VLM:
2025-02-23 00:10:59 +08:00
```
2025-05-10 09:14:09 -07:00
python -m sglang.launch_server --model-path Qwen/Qwen2-VL-7B-Instruct --port 30000
2025-03-18 09:11:47 +08:00
```
2025-05-01 18:20:08 -07:00
It's recommended to reduce the memory usage by appending something like `--mem-fraction-static 0.6` to the command above.
2025-03-28 03:14:16 +05:30
Benchmark:
2025-03-18 09:11:47 +08:00
```
2025-05-01 18:20:08 -07:00
python benchmark/mmmu/bench_sglang.py --port 30000 --concurrency 16
2025-02-23 00:10:59 +08:00
```
2025-05-01 18:20:08 -07:00
You can adjust the `--concurrency` to control the number of concurrent OpenAI calls.
2025-02-23 00:10:59 +08:00
2025-06-15 21:17:57 -07:00
You can use `--lora-path` to specify the LoRA adapter to apply during benchmarking. E.g.,
```
# Launch server with LoRA enabled
python -m sglang.launch_server --model-path microsoft/Phi-4-multimodal-instruct --port 30000 --trust-remote-code --disable-radix-cache --lora-paths vision=< LoRA path >
# Apply LoRA adapter during inferencing
python -m benchmark/mmmu/bench_sglang.py --concurrency 8 --lora-path vision
```
2025-08-09 00:59:13 -07:00
You can use `--response-answer-regex` to specify how to extract the answer from the response string. E.g.,
```
python3 -m sglang.launch_server --model-path zai-org/GLM-4.1V-9B-Thinking --reasoning-parser glm45
python3 bench_sglang.py --response-answer-regex "< \|begin_of_box \|> (.*)< \|end_of_box \|> " --concurrency 64
```
You can use `--extra-request-body` to specify additional OpenAI request parameters. E.g.,
```
python3 bench_sglang.py --extra-request-body '{"max_new_tokens": 128, "temperature": 0.01}'
```
2025-09-14 23:26:39 -04:00
### Evaluate HF
2025-02-23 00:10:59 +08:00
```
python benchmark/mmmu/bench_hf.py --model-path Qwen/Qwen2-VL-7B-Instruct
```
2025-09-14 23:26:39 -04:00
# Profiling MMMU
You should use the standard instructions found in the [dedicated profiling doc ](../../docs/developer_guide/benchmark_and_profiling.md ) if running this benchmark with the profile option. We recommend using `--concurrency 1` for consistency, which makes profiling and debugging easier.