You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature] Reuse Ulysses shard lengths across MiniMax-H3 blocks #15132
MiniMax-H3 keeps the same packed text/video/audio sequence throughout its transformer blocks. With Ulysses Anything, each attention call still gathers shard lengths separately for Q, K, V and the output exchange. This repeats metadata communication even though the layout is unchanged within that forward.
On main at aaf57d03, the Q/K/V helper calls gather_size_by_comm, as does the output helper. H3 then repeats attention across its block stack.
Could H3 share an immutable shard-length plan within one inference forward? The plan should be rebuilt on every call, preserve collective ordering on all ranks, and leave the default and token-refiner paths unchanged. It should not become a cache shared between requests.
The existing two-process CPU/Gloo checks for that implementation, recorded on base d42ebf9c, matched the default tiny-H3 outputs for packed lengths 18 → 20 → 18 while using fewer all-gathers. Uneven attention checks covered 9 → 10 → 9; inconsistent full layouts raised on both ranks, and the original parallel configuration stayed unchanged.
These are prior CPU/Gloo results for the proposed implementation, not a new run on current main. CUDA/NCCL, compile, isolated latency, full-checkpoint generation and output quality remain unvalidated; no speedup is claimed.
#14871/#14834 cover Ulysses Anything backward and metadata within an attention call. This request concerns reuse across H3 blocks. Would you prefer this scope in #15064 or an extension of that lower-level work? Maintainer coordination is pending. AI assistance was used to prepare the implementation and this proposal.
Activity