feat:Support LoRA incremental weight synchronization on disk for FSDP and SGLang#1233
Open
TaoZex wants to merge 25 commits intoinclusionAI:mainfrom
Open
feat:Support LoRA incremental weight synchronization on disk for FSDP and SGLang#1233TaoZex wants to merge 25 commits intoinclusionAI:mainfrom
TaoZex wants to merge 25 commits intoinclusionAI:mainfrom
Conversation
added 10 commits
April 21, 2026 13:14
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces "LoRA Delta Sync," an incremental weight update mechanism for FSDP and SGLang that reduces communication overhead by transmitting only adapter weights after an initial full sync. It also adds entropy regularization to the PPO actor. Feedback focuses on potential memory issues when collecting full model parameters on a single rank, the need for shared storage in multi-node setups for adapter files, and minor code cleanups regarding imports and logic simplification.
Collaborator
Author
Collaborator
Author
Collaborator
Author
|
@rchardx This idea is inspired by the incremental update of weights. If you’re interested, would you mind reviewing it or sharing your suggestions in your spare time? Looking forward to your reply. Thanks~ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.






Description
Implement disk-based LoRA delta weight synchronization for FSDP training engine and SGLang inference backend. When
lora_delta_syncis enabled, the first weight sync transmits the full base model via/update_weights_from_disk, and subsequent syncs only transmit LoRA adapter weights via/load_lora_adapter, significantly reducing communication overhead.Key changes:
/update_weights_from_disk; adapter weights are saved as PEFT format and loaded via/load_lora_adapter.lora_delta_sync=True, the delta sync path is used regardless ofweight_update_mode(disk or xccl), eliminating the need for NCCL-based distributed weight update.entropy_coeffparameter toPPOActorConfigandgrpo_loss_fn, supporting entropy bonus in the loss function.delta_sync_dirconfig field for multi-node setups, defaulting to~/.cache/areal/for single-node.TestDeltaSyncDispatchLogic,test_entropy_coeff_default,test_entropy_coeff_can_setunit tests.Related Issue
Fixes #(issue)
Type of Change
Checklist
pre-commit run --all-files)./docs/build_all.sh)/review-prcommand/create-prBreaking Change Details (if applicable):
Additional Context
Files changed:
areal/api/cli_args.pyentropy_coeffanddelta_sync_dirfields; updatelora_delta_synchelp textareal/engine/fsdp_engine.py_update_weights_delta_sync_disk,_save_base_model_for_delta_sync);areal/engine/sglang_remote.pyareal/trainer/ppo/actor.pyentropy_coeffparameter and entropy bonus logic