Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
vllm_cscc
Commits
f74f1572
Unverified
Commit
f74f1572
authored
Feb 21, 2026
by
Cyrus Leung
Committed by
GitHub
Feb 21, 2026
Browse files
[Benchmark] Improve benchmarks (#35012)
Signed-off-by:
DarkLight1337
<
tlleungac@connect.ust.hk
>
parent
bebfe55b
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
13 deletions
+38
-13
vllm/benchmarks/datasets.py
vllm/benchmarks/datasets.py
+18
-8
vllm/benchmarks/sweep/plot.py
vllm/benchmarks/sweep/plot.py
+8
-2
vllm/benchmarks/sweep/plot_pareto.py
vllm/benchmarks/sweep/plot_pareto.py
+9
-3
vllm/benchmarks/sweep/serve_sla.py
vllm/benchmarks/sweep/serve_sla.py
+3
-0
No files found.
vllm/benchmarks/datasets.py
View file @
f74f1572
...
...
@@ -2627,22 +2627,26 @@ class VisionArenaDataset(HuggingFaceDataset):
no_oversample
:
bool
=
False
,
**
kwargs
,
)
->
list
:
parser_fn
=
self
.
SUPPORTED_DATASET_PATHS
.
get
(
self
.
hf_name
)
if
parser_fn
is
None
:
raise
ValueError
(
f
"Unsupported dataset path:
{
self
.
hf_name
}
"
)
output_len
=
output_len
if
output_len
is
not
None
else
self
.
DEFAULT_OUTPUT_LEN
sampled_requests
=
[]
for
i
,
item
in
enumerate
(
self
.
data
):
if
len
(
sampled_requests
)
>=
num_requests
:
break
parser_fn
=
self
.
SUPPORTED_DATASET_PATHS
.
get
(
self
.
hf_name
)
if
parser_fn
is
None
:
raise
ValueError
(
f
"Unsupported dataset path:
{
self
.
hf_name
}
"
)
prompt
=
parser_fn
(
item
)
mm_content
=
process_image
(
item
[
"images"
][
0
])
prompt_len
=
len
(
tokenizer
(
prompt
)
.
input_ids
)
prompt_len
=
len
(
tokenizer
.
encode
(
prompt
))
if
enable_multimodal_chat
:
# Note: when chat is enabled the request prompt_len is no longer
# accurate and we will be using request output to count the
# actual prompt len
prompt
=
self
.
apply_multimodal_chat_transformation
(
prompt
,
mm_content
)
sampled_requests
.
append
(
SampleRequest
(
prompt
=
prompt
,
...
...
@@ -2652,6 +2656,7 @@ class VisionArenaDataset(HuggingFaceDataset):
request_id
=
request_id_prefix
+
str
(
i
),
)
)
self
.
maybe_oversample_requests
(
sampled_requests
,
num_requests
,
request_id_prefix
,
no_oversample
)
...
...
@@ -2681,22 +2686,26 @@ class MMVUDataset(HuggingFaceDataset):
no_oversample
:
bool
=
False
,
**
kwargs
,
)
->
list
:
parser_fn
=
self
.
SUPPORTED_DATASET_PATHS
.
get
(
self
.
hf_name
)
if
parser_fn
is
None
:
raise
ValueError
(
f
"Unsupported dataset path:
{
self
.
hf_name
}
"
)
output_len
=
output_len
if
output_len
is
not
None
else
self
.
DEFAULT_OUTPUT_LEN
sampled_requests
=
[]
for
i
,
item
in
enumerate
(
self
.
data
):
if
len
(
sampled_requests
)
>=
num_requests
:
break
parser_fn
=
self
.
SUPPORTED_DATASET_PATHS
.
get
(
self
.
hf_name
)
if
parser_fn
is
None
:
raise
ValueError
(
f
"Unsupported dataset path:
{
self
.
hf_name
}
"
)
prompt
=
parser_fn
(
item
)
mm_content
=
process_video
(
item
[
"video"
])
prompt_len
=
len
(
tokenizer
(
prompt
)
.
input_ids
)
prompt_len
=
len
(
tokenizer
.
encode
(
prompt
))
if
enable_multimodal_chat
:
# Note: when chat is enabled the request prompt_len is no longer
# accurate and we will be using request output to count the
# actual prompt len
prompt
=
self
.
apply_multimodal_chat_transformation
(
prompt
,
mm_content
)
sampled_requests
.
append
(
SampleRequest
(
prompt
=
prompt
,
...
...
@@ -2706,6 +2715,7 @@ class MMVUDataset(HuggingFaceDataset):
request_id
=
request_id_prefix
+
str
(
i
),
)
)
self
.
maybe_oversample_requests
(
sampled_requests
,
num_requests
,
request_id_prefix
,
no_oversample
)
...
...
vllm/benchmarks/sweep/plot.py
View file @
f74f1572
...
...
@@ -19,11 +19,17 @@ from .utils import sanitize_filename
try
:
import
matplotlib.pyplot
as
plt
import
pandas
as
pd
import
seaborn
as
sns
except
ImportError
:
plt
=
PlaceholderModule
(
"matplotlib"
).
placeholder_attr
(
"pyplot"
)
try
:
import
pandas
as
pd
except
ImportError
:
pd
=
PlaceholderModule
(
"pandas"
)
try
:
import
seaborn
as
sns
except
ImportError
:
seaborn
=
PlaceholderModule
(
"seaborn"
)
...
...
vllm/benchmarks/sweep/plot_pareto.py
View file @
f74f1572
...
...
@@ -16,12 +16,18 @@ from .utils import sanitize_filename
try
:
import
matplotlib.pyplot
as
plt
import
pandas
as
pd
import
seaborn
as
sns
except
ImportError
:
plt
=
PlaceholderModule
(
"matplotlib"
).
placeholder_attr
(
"pyplot"
)
try
:
import
pandas
as
pd
except
ImportError
:
pd
=
PlaceholderModule
(
"pandas"
)
sns
=
PlaceholderModule
(
"seaborn"
)
try
:
import
seaborn
as
sns
except
ImportError
:
seaborn
=
PlaceholderModule
(
"seaborn"
)
def
_first_present
(
run_data
:
dict
[
str
,
object
],
keys
:
list
[
str
]):
...
...
vllm/benchmarks/sweep/serve_sla.py
View file @
f74f1572
...
...
@@ -202,6 +202,7 @@ def solve_sla(
with
path
.
open
(
"rb"
)
as
f
:
past_iter_data
=
json
.
load
(
f
)
sla_data
.
append
(
past_iter_data
)
history
[
past_sla_value
]
=
_compute_margin
(
sla_comb
,
past_iter_data
)
# NOTE: We don't use equality here to be more robust against noisy results
...
...
@@ -264,6 +265,8 @@ def search_sla(
dry_run
:
bool
,
):
print
(
"[SLA START]"
)
print
(
f
"Serve parameters:
{
serve_comb
.
as_text
()
or
'(None)'
}
"
)
print
(
f
"Bench parameters:
{
bench_comb
.
as_text
()
or
'(None)'
}
"
)
print
(
f
"SLA criteria:
{
sla_comb
.
as_text
()
}
"
)
result
=
solve_sla
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment