Skip to content

[v0.5.10][7][FSDP] move FSDP to experimental and disable by default#961

Open
yueming-yuan wants to merge 6 commits intofix/fsdp-weight-sync-version-mismatchfrom
deprecate/fsdp-to-experimental
Open

[v0.5.10][7][FSDP] move FSDP to experimental and disable by default#961
yueming-yuan wants to merge 6 commits intofix/fsdp-weight-sync-version-mismatchfrom
deprecate/fsdp-to-experimental

Conversation

@yueming-yuan
Copy link
Copy Markdown
Collaborator

@yueming-yuan yueming-yuan commented Apr 8, 2026

ci-sglang-pr: sglang-miles-v0.5.10

Summary

  • Move miles/backends/fsdp_utils/ to miles/backends/experimental/fsdp_utils/ and update all import paths
  • Add assertion in argument validation to block --train-backend fsdp with deprecation message
  • Remove FSDP tests from CI jobs except run-ci-fsdp and run-ci-image
  • Add [FSDP] prefix to all FSDP test names in CI matrix

- Move miles/backends/fsdp_utils/ to miles/backends/experimental/fsdp_utils/
- Add assertion to block --train-backend fsdp with deprecation message
- Remove FSDP tests from CI jobs except run-ci-fsdp and run-ci-image
- Add [FSDP] prefix to FSDP test names in CI matrix
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request moves the FSDP backend to the experimental directory and adds a runtime check to warn users about its current maintenance status. The reviewer correctly identified that using an assertion for this validation is unsafe because it can be disabled with the -O flag, and suggested replacing it with a ValueError to ensure the check is always enforced.

Comment on lines +1674 to +1678
assert backend != "fsdp", (
"The FSDP backend has known issues with SGLang v0.5.10 and is not actively maintained in the current version. "
"It has been moved to miles.backends.experimental. "
"Contributions are welcome if you are interested in improving it."
)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Using assert for runtime validation of user-provided arguments is generally discouraged in Python. Assertions can be globally disabled using the -O optimization flag, which would bypass this safety check. For critical validation intended to block a feature or provide a user-facing error message, it is better to raise an exception like ValueError to ensure the check is always performed.

Suggested change
assert backend != "fsdp", (
"The FSDP backend has known issues with SGLang v0.5.10 and is not actively maintained in the current version. "
"It has been moved to miles.backends.experimental. "
"Contributions are welcome if you are interested in improving it."
)
if backend == "fsdp":
raise ValueError(
"The FSDP backend has known issues with SGLang v0.5.10 and is not actively maintained in the current version. "
"It has been moved to miles.backends.experimental. "
"Contributions are welcome if you are interested in improving it."
)

Copy link
Copy Markdown
Contributor

@maocheng23 maocheng23 left a comment

Choose a reason for hiding this comment

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

Merge after resolve conflict please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants