Support sanity checking weight consistency especially for RL (#13854)

This commit is contained in:
fzyzcjy
2025-11-27 20:25:12 +08:00
committed by GitHub
parent 2bc8ee8b74
commit 25758647b1
7 changed files with 156 additions and 0 deletions
@@ -170,6 +170,7 @@ from sglang.srt.utils.offloader import (
)
from sglang.srt.utils.patch_torch import monkey_patch_torch_reductions
from sglang.srt.utils.torch_memory_saver_adapter import TorchMemorySaverAdapter
from sglang.srt.utils.weight_checker import WeightChecker
from sglang.srt.weight_sync.tensor_bucket import (
FlattenedTensorBucket,
FlattenedTensorMetadata,
@@ -328,6 +329,8 @@ class ModelRunner:
# CPU offload
set_offloader(create_offloader_from_server_args(server_args, dp_rank=dp_rank))
self._weight_checker = WeightChecker(model_runner=self)
if get_bool_env_var("SGLANG_DETECT_SLOW_RANK"):
slow_rank_detector.execute()
# Init mindspore running environment when model impl is "mindspore"
@@ -2508,6 +2511,9 @@ class ModelRunner:
)
ShardedStateLoader.save_model(self.model, path, pattern, max_size)
def check_weights(self, action: str):
self._weight_checker.handle(action=action)
def update_weights_from_ipc(self, recv_req):
"""Update weights from IPC for checkpoint-engine integration."""
try: