Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bugfix] Prevent benchmark_throughput.py from using duplicated random prompts #10753

Conversation

mgoin
Copy link
Member

@mgoin mgoin commented Nov 28, 2024

Currently this benchmark script is misleading performance for V1 (as in the performance is too good) since prefix caching is enabled by default and all of the prompts in the default case are identical.

Before this PR:

VLLM_USE_V1=1 python benchmarks/benchmark_throughput.py --model meta-llama/Llama-3.1-8B-Instruct --num-prompts 1000 --input-len 128 --ou
tput-len 128 --max-model-len 4096
...
Throughput: 151.99 requests/s, 38910.45 total tokens/s, 19455.23 output tokens/s

After this PR:

VLLM_USE_V1=1 python benchmarks/benchmark_throughput.py --model meta-llama/Llama-3.1-8B-Instruct --num-prompts 1000 --input-len 128 --ou
tput-len 128 --max-model-len 4096
...
Throughput: 95.80 requests/s, 24524.24 total tokens/s, 12262.12 output tokens/s

"Reference" baseline of V0 + --num-scheduler-steps 8:

python benchmarks/benchmark_throughput.py --model meta-llama/Llama-3.1-8B-Instruct --num-prompts 2000 --input-len 128 --output-len 128 --max-model-len 4096 --num-scheduler-steps 8
...
Throughput: 97.71 requests/s, 25014.13 total tokens/s, 12507.06 output tokens/s

Copy link

👋 Hi! Thank you for contributing to the vLLM project.
Just a reminder: PRs would not trigger full CI run by default. Instead, it would only run fastcheck CI which starts running only a small and essential subset of CI tests to quickly catch errors. You can run other CI tests on top of those by going to your fastcheck build on Buildkite UI (linked in the PR checks section) and unblock them. If you do not have permission to unblock, ping simon-mo or khluu to add you in our Buildkite org.

Once the PR is approved and ready to go, your PR reviewer(s) can run CI to test the changes comprehensively before merging.

To run CI, PR reviewers can do one of these:

  • Add ready label to the PR
  • Enable auto-merge.

🚀

@comaniac comaniac added the ready ONLY add when PR is ready to merge/full CI is needed label Dec 3, 2024
@comaniac comaniac enabled auto-merge (squash) December 3, 2024 01:36
@comaniac comaniac merged commit 4433195 into vllm-project:main Dec 3, 2024
45 checks passed
@mgoin mgoin deleted the deduplicate-benchmark-throughput-prompts branch December 3, 2024 02:34
sleepwalker2017 pushed a commit to sleepwalker2017/vllm that referenced this pull request Dec 13, 2024
BKitor pushed a commit to BKitor/vllm that referenced this pull request Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready ONLY add when PR is ready to merge/full CI is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants