fix(hunyuan-video15): align vLLM-Omni rollout policy - #390
Open
leviking98z-rgb wants to merge 20 commits into
Open
fix(hunyuan-video15): align vLLM-Omni rollout policy#390leviking98z-rgb wants to merge 20 commits into
leviking98z-rgb wants to merge 20 commits into
Conversation
2 tasks
leviking98z-rgb
marked this pull request as ready for review
August 26, 2026 17:44
leviking98z-rgb
requested review from
celve,
haonan3 and
zzhuoxin1508
as code owners
August 26, 2026 17:44
leviking98z-rgb
marked this pull request as draft
August 26, 2026 17:55
leviking98z-rgb
marked this pull request as ready for review
August 26, 2026 18:00
2 tasks
Drop the HV1.5 loader workaround now provided upstream while retaining the two LoRA coverage patches that 0.27 still needs.
Select the official cu129 vLLM wheel and matching PyTorch packages so the 0.27 stack runs on the H20 fleet's current driver.
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.
Summary
Align HunyuanVideo-1.5 trainside and vLLM-Omni at the input, stochastic
transition, checkpoint, and online-LoRA boundaries:
mllm_crop_start=108is tied to that tokenized prefix;BF16 forward parameters;
(seed, step, sample_id)tuple on bothengines, preserving per-sample independence across vLLM request splitting;
sigma * 1000before the BF16 cast,matching Diffusers/vLLM;
the pinned vLLM-Omni selector;
them randomly initialized;
token-refiner
nn.LinearLoRA targets, failing fast on incomplete coverage;and
algorithm.old_logp_source: rollout, using the sampler-emitted densityas the frozen policy anchor.
The cleanup deliberately excludes the pin-specific exact-arithmetic
monkey-patches for autocast, Q/K RMSNorm, SDPA mask construction, and RoPE, as
well as the rejected merged-weight and raw-VAE-reward experiments.
Related Issue
Related to #386.
Test Plan
python -m py_compileon all changed Python modules — passed.ruff checkandruff format --checkon all changed Python modules —passed.
pre-commit run --files <all changed files>— all applicable hooks passed,including YAML, AST, Ruff, formatting, recipe target, docstring,
experimental-boundary, and dependency-direction checks.
to both pinned Diffusers and vLLM-Omni (
477characters).master_dtype: fp32, thevLLM-Omni recipe resolves
old_logp_source: rollout, and the stage resolvesattention_backend: TORCH_SDPA.unpatched
+0.0370to-0.0007, confirming that prompt whitespace is aninitial-conditioning requirement rather than a cosmetic edit.
probabilities on both engines while assigning different SDE noise to
different samples.
976versus
980and684versus680at two steps of the matched schedule;fp32 scaling makes all ten transformer timesteps bit-identical.
loader fix. After it, all 15.510 GiB compared bit-identically
(
missing=0,unequal=0).324to444active wrappers. In theloader-only versus full-coverage comparison at rollout 75, correlation
improved from
0.964188to0.992005and MAE from0.00398356to0.00226971.point: correlation/MAE were
0.999703 / 0.00046770through rollout 10 and0.991211 / 0.00354971through rollout 125. At rollout 140 correlation was0.990625with mean bias+0.00309; no ratio or reward-curve collapseoccurred:
That live curve included the exact-arithmetic probes now excluded from the
final diff. The selected input/weight/LoRA contracts were validated within
that run, but the narrowed final HEAD has not been rerun on GPU; the PR
therefore remains Draft.
Compatibility / Risk
HunyuanVideo-1.5 vLLM-Omni model. Existing packed checkpoint loading for the
54 main blocks remains unchanged.
denoise_seeds; existing callers without those keys keep their prior RNGbehavior.
Punica wrapper, adding a small refiner-forward cost.
single-online-adapter setup, and rejects an unexpected slot explicitly.
introduced.
Reviewer Notes
The exploratory history is intentionally retained. Commit
89e29069removesthe broad candidate set additively; commit
c95c7768restores only thevalidated input/training contracts and small backend selection path. The final
runtime contains exactly three HunyuanVideo-1.5 monkey-patches, all for
checkpoint or LoRA coverage.
Duplicate-work check: #220 covers HunyuanVideo-1.0 conditioning/merged rollout
weights, while #371 covers the SGLang pipeline/SDE path and supports both
sample-keyed noise and the rollout-logp anchor choice. Neither applies all
HunyuanVideo-1.5 vLLM-Omni packed/refiner LoRA targets. AI assistance was used;
the final diff and reported validation results were reviewed before
publication.
Checklist
EXP