Skip to content

Conversation

@moehanabi
Copy link
Contributor

What does this PR do?

fix the garbled rollout after update weights of SGLang. Don't know why it works but it works. Should use with sgl-project/sglang#14486

Checklist Before Starting

  • Search for similar PRs. Paste at least one query link here: ...
  • Format the PR title as [{modules}] {type}: {description} (This will be checked by the CI)
    • {modules} include fsdp, megatron, sglang, vllm, rollout, trainer, ci, training_utils, recipe, hardware, deployment, ray, worker, single_controller, misc, perf, model, algo, env, tool, ckpt, doc, data
    • If this PR involves multiple modules, separate them with , like [megatron, fsdp, doc]
    • {type} is in feat, fix, refactor, chore, test
    • If this PR breaks any API (CLI arguments, config, function signature, etc.), add [BREAKING] to the beginning of the title.
    • Example: [BREAKING][fsdp, megatron] feat: dynamic batching

Test

For changes that can not be tested by CI (e.g., algorithm implementation, new model support), validate by experiment(s) and show results like training curve plots, evaluation results, etc.

API and Usage Example

Demonstrate how the API changes if any, and provide usage example(s) if possible.

# Add code snippet or script demonstrating how to use this

Design & Code Changes

Demonstrate the high-level design if this PR is complex, and list the specific changes.

Checklist Before Submitting

Important

Please check all the following items before requesting a review, otherwise the reviewer might deprioritize this PR for review.

Copilot AI review requested due to automatic review settings December 15, 2025 07:00
Copy link
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 addresses an issue with garbled output after updating weights in SGLang by modifying the TensorBuffer class. The change to re-initialize the tensor in the clear() method is a good defensive measure. It prevents stale data from one weight synchronization from affecting subsequent ones by ensuring a fresh buffer is used, which likely resolves the observed issue. I have one suggestion to improve the robustness of this change by avoiding a hardcoded device string.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes garbled token generation after updating weights in SGLang by modifying the TensorBuffer class. The changes ensure that the buffer's tensor is properly reinitialized when cleared, preventing stale data from being reused during weight synchronization.

Key changes:

  • Store the dtype in the TensorBuffer class to enable proper tensor reinitialization
  • Reinitialize the tensor with torch.empty() in the clear() method to prevent data contamination

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@moehanabi moehanabi force-pushed the gkd-update-weights-fix branch from 488a515 to 662256e Compare December 15, 2025 07:06
@moehanabi moehanabi force-pushed the gkd-update-weights-fix branch from 662256e to ed49c75 Compare December 15, 2025 07:07
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.

1 participant