8000 Change `enforce_eager` default value in vLLM server. by LeonEricsson · Pull Request #3607 · huggingface/trl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Change enforce_eager default value in vLLM server. #3607

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

Merged
merged 2 commits into from
Jun 18, 2025

Conversation

LeonEricsson
Copy link
Collaborator
@LeonEricsson LeonEricsson commented Jun 17, 2025

What does this PR do?

Fixes #3603

Before submitting

  • This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
  • Did you read the contributor guideline,
    Pull Request section?
  • Was this discussed/approved via a GitHub issue? Please add a link
    to it if that's the case.
  • Did you make sure to update the documentation with your changes?
  • Did you write any new necessary tests?

Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@LeonEricsson LeonEricsson changed the title Fix of enforce_eager default value in vLLM server. Change enforce_eager default value in vLLM server. Jun 17, 2025
@HuggingFaceDocBuilderDev

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@shirinyamani shirinyamani self-requested a review June 18, 2025 09:26
Copy link
Member
@shirinyamani shirinyamani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @LeonEricsson
Thanks for this change, i know the default settin in our setup for enforce_eager=False so i get the motivation, and i know the only possible values are bool; True/False for this arg, however, if you check vllm original documentation, they also put it this way (None)
here , therefore, it might be okay to have it as it is , just incase in future vllm change the values for this arg, WDYT?

@Bihan
Copy link
Bihan commented Jun 18, 2025

Hi @LeonEricsson,

We're encountering the same issue after updating to the latest version of vLLM. Initially, we were seeing a pydantic validation error, but after reviewing your PR and the related issue, we tried adding --enforce_eager false, which successfully allowed vLLM to start.

However, our GRPO training node (using the open-r1 example) no longer proceeds beyond below point.

wandb: ⭐️ View project at https://wandb.ai/sjbbihan-dstack/huggingface
wandb: 🚀 View run at https://wandb.ai/sjbbihan-dstack/huggingface/runs/d41fq288
  0%|                  | 0/2930 [00:00<?, ?it/s]

We’re running on an InfiniBand-connected cluster with two nodes (each with 8×H100 GPUs). One node runs the training process, while the other runs the vLLM server.

If we pin vLLM to version 0.8.5.post1, everything works as expected. I've attached the vLLM output log showing the stalled behavior with the latest version for your reference:
open-r1_vLLM_latest_stuck.txt.

So, I think even this PR does not resolve our issue. Looking forward for your suggestion.

@LeonEricsson
Copy link
Collaborator Author

Hi @LeonEricsson Thanks for this change, i know the default settin in our setup for enforce_eager=False so i get the motivation, and i know the only possible values are bool; True/False for this arg, however, if you check vllm original documentation, they also put it this way (None) here , therefore, it might be okay to have it as it is , just incase in future vllm change the values for this arg, WDYT?

hey! okay I see, yeah I was having some trouble understanding why it was set to None in the first place. From what I can gather, newer versions of vLLM are enforcing (?) this bool type through pydantic, which means the vllm server won't start when enforce_eager=None. In the latest versions of the docs it seems that they've stopped using None, see here, more specifically here

@LeonEricsson
Copy link
Collaborator Author
LeonEricsson commented Jun 18, 2025

hi @Bihan.
thanks for the additional information. Are you able to run with enforce_eager=False on vllm 0.8.5.post1? If so, I don't think your issue is related to this PR. Seems like others are experiencing similar issues #3608

@Bihan
Copy link
Bihan commented Jun 18, 2025

hi @Bihan. thanks for the additional information. Are you able to run with enforce_eager=False on vllm 0.8.5.post1? If so, I don't think your issue is related to this PR. Seems like others are experiencing similar issues #3608

@LeonEricsson
Yes; with or without enforce_eager=False we are able to run on vllm 0.8.5.post1. Thanks for link to the issue.

Copy link
Member
@qgallouedec qgallouedec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@LeonEricsson LeonEricsson merged commit 58ea227 into huggingface:main Jun 18, 2025
9 of 10 checks passed
@LeonEricsson LeonEricsson deleted the vllm_server_eager_default branch June 18, 2025 12:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GRPO server mode fails with pydantic error
5 participants
0