[Bugfix] Track DFlash Mamba state at checkpoint boundaries (#37818)
Co-authored-by: lvweiv <vwei.lv@gmail.com> Co-authored-by: kpham-sgl <khoa.pham@radixark.ai> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Baizhou Zhang <sobereddiezhang@gmail.com>
This commit is contained in:
co-authored by
lvweiv
kpham-sgl
Claude Fable 5.1
Baizhou Zhang
parent
29cc9d2dc9
commit
b805cc5014
@@ -1777,6 +1777,7 @@ class DFlashWorkerV2(BaseSpecWorker):
|
||||
*,
|
||||
batch: ScheduleBatch,
|
||||
seq_lens_pre_verify: torch.Tensor,
|
||||
seq_lens_post_verify: torch.Tensor,
|
||||
commit_lens: torch.Tensor,
|
||||
) -> None:
|
||||
"""Commit Mamba intermediate states for accepted verify steps.
|
||||
@@ -1796,10 +1797,10 @@ class DFlashWorkerV2(BaseSpecWorker):
|
||||
mamba_track_interval = mamba_track_grid(batch.tree_cache.page_size)
|
||||
to_track_mask = (
|
||||
seq_lens_pre_verify // mamba_track_interval
|
||||
!= batch.seq_lens // mamba_track_interval
|
||||
!= seq_lens_post_verify // mamba_track_interval
|
||||
)
|
||||
tracking_point = (
|
||||
batch.seq_lens // mamba_track_interval * mamba_track_interval
|
||||
seq_lens_post_verify // mamba_track_interval * mamba_track_interval
|
||||
)
|
||||
to_track_ith = torch.clamp(tracking_point - seq_lens_pre_verify - 1, min=0)
|
||||
can_track_mask = to_track_mask & (
|
||||
@@ -2460,9 +2461,12 @@ class DFlashWorkerV2(BaseSpecWorker):
|
||||
|
||||
if self._need_mamba_verify_commit:
|
||||
assert seq_lens_pre_verify is not None
|
||||
if new_seq_lens is None:
|
||||
new_seq_lens = prefix_lens + commit_lens.to(prefix_lens.dtype)
|
||||
self._update_target_mamba_state_after_verify(
|
||||
batch=batch,
|
||||
seq_lens_pre_verify=seq_lens_pre_verify,
|
||||
seq_lens_post_verify=new_seq_lens,
|
||||
commit_lens=commit_lens,
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user