Commit Graph
2199 Commits
Author SHA1 Message Date
tzhouamandClaude Opus 4.8 f18bb69b7d fix(entrypoints): pass ChatTemplateConfig to pooling serving classes for vLLM 0.25
vLLM 0.25 reworked the pooling serving base: PoolingServing.__init__ now
requires a `chat_template_config: ChatTemplateConfig` keyword and no longer
accepts the old `chat_template` / `chat_template_content_format` /
`trust_request_chat_template` kwargs. Build a ChatTemplateConfig once and pass
it to the embedding / pooling / classification / score / responses serving
objects. ServingTokenization keeps the flat kwargs (unchanged upstream).

Without this, omni_init_app_state crashes at startup (missing required arg /
unexpected kwargs) whenever an embed/classify/score task is served.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 14:21:18 +08:00
tzhouamandClaude Opus 4.8 fe16565cf6 test(entrypoints): grade realtime audio output with whisper-large-v3
The Qwen3-Omni /v1/realtime accuracy check transcribed the generated
audio with whisper-small, which mishears short Chinese TTS clips
(observed: 北京->韦京 plus a dropped leading sentence, sim=0.443) and
produced spurious sim<threshold failures under async_chunk codec
variability even though audio generation was correct. Switch the grader
to large-v3 so a failure here points at the model, not the ASR check.
Also parameterize the threshold per mode (0.65 async_chunk, 0.8 sync).

Verified on 2x H100 (GPU 0,1), both realtime tests pass:
  test_streaming_audio_input_pcm_output_async_chunk[async_chunk] PASSED
  test_streaming_audio_input_pcm_output[sync] PASSED

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 14:21:18 +08:00
tzhouamandClaude Opus 4.8 c898701d53 fix(engine): dedup ZMQ ports across stages to stop OmniMasterServer bind races
Each (stage_id, replica_id) route allocated its 3 handshake/input/output
ports via a separate get_open_ports_list(count=3) call. That helper only
guarantees uniqueness *within* a single call, so across routes the OS could
hand back a just-closed ephemeral port. Two stages then drew the same port
and the second engine subprocess to bind() it died with
"zmq.error.ZMQError: Address already in use", surfacing as
"Orchestrator initialization failed" / "Stage N replica M exited before API
server became ready". This flaked multi-stage startup (e.g. Qwen3-Omni
thinker/talker/code2wav) — one CI shard passed while a parallel shard failed
on the same commit (build 2630, dev/vllm-align).

OmniMasterServer now tracks every port it hands out in self._allocated_ports
(seeded with the registration port and the coordinator ROUTER port) and a new
_alloc_unique_ports() redraws any collision with a bounded retry budget,
raising loudly on port exhaustion instead of spinning. Adds _port_from_zmq_address()
helper and two CPU-only regression tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 14:21:17 +08:00
tzhouam cbc3b5e923 Rebase adaptation: sync Dockerfile.ci/deps with upstream vLLM before rebase 2026-07-11 14:21:17 +08:00
tzhouamandClaude 9aed0e4eb8 test(accuracy): re-baseline HunyuanImage3 SSIM/PSNR for the vLLM rebase
HunyuanImage-3 (expert-parallel MoE) accuracy fails deterministically on
dev/vllm-align (SSIM 0.9490 vs 0.97, PSNR 26.21 vs 30 dB) while passing on
main's nightly. The align branch changes no hunyuan code; the drift comes
from the newer upstream vLLM (65a7b4628409, 585 commits past the v0.24.0
tag main tracks) shifting MoE kernel numerics. The image still renders
correctly and the mean/p99 pixel-diff checks pass — only the structural
metrics dip below a strict bar.

Per owner decision, re-baseline to the new stack: relax SSIM 0.97->0.94
and PSNR 30.0->25.0 (below the deterministic 0.9490 / 26.21, with margin).
The HunyuanImage CI job uploads no image artifact, so the reference PNG
cannot be auto-regenerated here; relaxing thresholds is the equivalent
re-baseline. main keeps the stricter bar.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-11 14:21:17 +08:00
tzhouamandClaude 25057ad8df fix(diffusion): gate meta-safe weight move to online quant only (fix HSDP regression)
The previous commit (93730cfd) replaced the blanket module.to() in
_process_weights_after_loading with an unconditional per-parameter move.
That broke the FSDP/HSDP path: after apply_hsdp_to_model the params are
FSDP-sharded DTensors whose storage cannot be cross-device reassigned via
`param.data = param.data.to(cpu)`, raising at load time:

  RuntimeError: Attempted to set the storage of a tensor on device
  "cuda:0" to a storage on different device "cpu". This is no longer
  allowed; the devices must match.

Regressed nightly test_zimage[layerwise_hsdp] (Diffusion X2I Function
Test with L4), which passed pre-fix. The FP8 online-quant variants it was
meant to fix (qwen/bagel fp8, parallel_*_fp8_*) all passed.

Meta-device params only ever arise from online quant (uses_meta_device),
so gate the meta-safe per-parameter move to that case and keep the
original FSDP/HSDP-aware whole-module module.to() for everything else.
Online quant initializes on the accelerator, so its params are normally
already on the target device (the per-param loop is a no-op move) — the
only behavioral change vs. the original is skipping meta stragglers.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-11 14:21:16 +08:00
tzhouamandClaude f74e98119e fix(diffusion): make FP8 online-quant weight loading meta-device safe
Newer upstream vLLM (65a7b4628409, 585 commits past the v0.24.0 tag that
vllm-omni main tracks) reworked online quantization: online-quant linear
methods now declare `uses_meta_device=True` and create weights on the
`meta` device, materializing them just-in-time via the layerwise
online-process loader as each layer's weights finish loading.

The diffusion loader's `_process_weights_after_loading` did a blanket
`module.to(target_device)`, which raises
`NotImplementedError: Cannot copy out of meta tensor; no data!` on any
layer whose weights were not fully materialized during load (padded /
partially-loaded "straggler" layers), crashing diffusion worker startup.

This regressed the nightly diffusion FP8 tests on dev/vllm-align (all
green on main nightly): Quantization Test (H100 + L4,
test_single_stage_qwen_image_fp8 / test_bagel_fp8_generates_image) and
the Qwen-Image Multi-GPU vae_patch_parallel_2 case (fp8).

Mirror upstream's loader contract:
- Materialize online-quant stragglers via finalize_layerwise_processing()
  before processing (imported lazily, only when online quant is in use,
  so older vLLM is unaffected). model_config=None is safe: it is only
  used for vLLM Attention/MLAAttention layers, which diffusion DiT models
  do not have.
- Replace the blanket module.to() with a per-parameter move that mirrors
  upstream's device_loading_context: move only real (non-meta) params to
  the target device for processing and restore them afterward, leaving
  meta params for the quant method / finalize step.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-11 14:21:16 +08:00
tzhouamandClaude Opus 4.8 49f4891e3e ci: fix libnvJitLink.so.13 step — register torch-provided lib, drop bad pkg install
Dockerfile.ci build failed at the nvjitlink step:
  uv pip install --system "nvidia-cuda-nvjitlink-cu13"
  -> No solution found ... nvidia-cuda-nvjitlink-cu13 was not found in the registry

That package name does not exist (spurious 'cuda-'; real wheel is
nvidia-nvjitlink-cu13), and the install is redundant: the cu130 torch
force-reinstall one step above already pulls nvidia-nvjitlink==13.0.88 into
site-packages, which provides libnvJitLink.so.13. The step only needs to
register that lib dir with ldconfig.

Locate the already-installed .so.13 and ldconfig-register it; fall back to a
correctly-named nvidia-nvjitlink-cu13 install only if torch deps did not bring
it in.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 14:21:16 +08:00
tzhouam d58beb13d9 rebase: align vllm-omni with vLLM 65a7b4628409
Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
2026-07-11 14:21:16 +08:00
tzhouam ef3172d416 Rebase adaptation: sync Dockerfile.ci/deps with upstream vLLM before rebase 2026-07-11 14:21:15 +08:00
tzhouam b73036f538 rebase: align vllm-omni with vLLM 740f379faefd
Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
2026-07-11 14:21:15 +08:00
tzhouam d25be7385f Rebase adaptation: sync Dockerfile.ci/deps with upstream vLLM before rebase 2026-07-11 14:21:14 +08:00
tzhouam 7d43bdda9f Rebase adaptation: sync Dockerfile.ci/deps with upstream vLLM before rebase 2026-07-11 14:21:14 +08:00
tzhouamandClaude Opus 4.8 b5c6a30d4e ci: fix numpy/numba, libnvJitLink.so.13, and gr00t AutoProcessor.register on align branch
Three regressions surfaced only on dev/vllm-align in Buildkite build 2520
(26 failing jobs vs 5 on main); ~15 of the 19 align-unique failures trace to these:

1. numpy 2.5 vs numba: Dockerfile.ci pinned numpy==2.2.6 before the flashinfer
   and torch cu130 reinstalls, which resolved numpy back to 2.5 and broke
   'import numba' (needs numpy <= 2.4). Re-pin numpy as the final dependency op.

2. libnvJitLink.so.13 not found: the CUDA-13 JIT linker lives in the
   nvidia-cuda-nvjitlink-cu13 wheel, not /usr/local/cuda (CUDA 12) as the old
   LD_LIBRARY_PATH assumed; bitsandbytes/torch.compile subprocesses could not
   dlopen it (broke Entrypoint L4, a multi-GPU diffusion job, both Quantization
   jobs via hang/timeout). Install the wheel and register its lib dir via ldconfig.

3. transformers >= 5.5 AutoProcessor.register now requires the config class, not a
   model_type string; processing_gr00t_n1d7.py passed "Gr00tN1d7" -> AttributeError
   'str' object has no attribute '__module__' -> pytest collection errors (exit 2).
   Pass Gr00tN1d7Config, matching AutoModel.register in modeling/gr00t_n1d7.py.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 14:21:14 +08:00
tzhouam 7dcbe4e957 rebase: align vllm-omni with vLLM 2dfaae752b4d
Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
2026-07-11 14:21:14 +08:00
tzhouam 4063db33ff Rebase adaptation: sync Dockerfile.ci/deps with upstream vLLM before rebase 2026-07-11 14:21:13 +08:00
tzhouam 83e60cf7cf [CI] Update Dockerfile for vLLM installation and dependency management
- Added installation of vLLM from a precompiled wheel with a specific commit.
- Set LD_LIBRARY_PATH for CUDA compatibility with bitsandbytes.
- Upgraded flashinfer dependencies and ensured proper installation order for torch to avoid symbol issues.
2026-07-11 14:21:13 +08:00
ff6f0da271 [Core] Composable parallel: Phase 1 strategy overlay (TP/DP/stage-replica) (RFC #4084) (#4281)
Signed-off-by: Kushan A. <kahmadian@nvidia.com>
Signed-off-by: kushanam <kushanam@users.noreply.github.com>
Signed-off-by: Kushan A <kahmadian@nvidia.com>
Signed-off-by: kahmadian <kahmadian@users.noreply.github.com>
Co-authored-by: kushanam <kushanam@users.noreply.github.com>
Co-authored-by: kahmadian <kahmadian@users.noreply.github.com>
2026-07-10 21:29:24 -06:00
NumberWan fe478a95ab [BugFix] Restore vllm_c IR op priority and torch.nn.RMSNorm for Qwen-Image (#4964) (#5009)
Signed-off-by: NumberWan <wantszkin2003@gmail.com>
2026-07-10 17:39:07 +00:00
amy-why-3459 cbd3939c3d [BugFix] Fix CI failures caused by stale test expectations after recent stage-payload / deploy-config changes. (#5015)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
2026-07-10 18:02:17 +08:00
amy-why-3459 9a44e7e019 [Refactor][Phase 1]Remove redundant functions and logs (#4986)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
2026-07-10 15:13:35 +08:00
LHXuuu 5c3923509d [BugFix][Ming-TTS] Use uploaded direct speaker embeddings by voice (#5005)
Signed-off-by: LHXuuu <xulianhao.xlh@antgroup.com>
2026-07-10 07:06:18 +00:00
Zheng Wengang 9fe26cfacb [Bugfix][Model] Fix Qwen3-Omni video metadata handling for use_audio_in_video (#4959)
Signed-off-by: ZhengWG <zwg0606@gmail.com>
2026-07-10 14:24:18 +08:00
林鑫andyurain 020792e6be [Perf][Qwen3-TTS] Sample code predictor outputs via Gumbel-max (#4261)
Signed-off-by: 林鑫 <77673148+l-wave@users.noreply.github.com>
Co-authored-by: yurain <yurain26@users.noreply.github.com>
2026-07-10 05:41:54 +00:00
leo b3a4819694 Fix VoxCPM2 perf server trust remote code (#4984)
Signed-off-by: leo <yaoliu548926@gmail.com>
2026-07-10 04:01:10 +00:00
amy-why-3459 5dc787d5e8 [Perf][Qwen3-TTS] Align talker MTP CUDA graph capture with Qwen3-Omni & Adapt to async output (#4923)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
2026-07-10 11:11:29 +08:00
Ricardo Noriega ca0ae7269c Bump safetensors to the 0.8.0 release (#4713)
Signed-off-by: Ricardo Noriega De Soto <rnoriega@redhat.com>
2026-07-09 15:09:23 +00:00
Alex Brooks 690864f277 [Tests] Tiny Diffusion Model Pattern (#4524)
Signed-off-by: Alex Brooks <albrooks@redhat.com>
2026-07-09 09:03:51 -06:00
Samit a5db2d839a [Diffusion] Improve HuggingFace hub kernel loading in flash_attn_hub (#4977)
Signed-off-by: samithuang <285365963@qq.com>
2026-07-09 12:10:10 +08:00
Yueqian Lin 3a64da194c [Perf][Qwen3-TTS] Drop default seed from qwen3_tts.yaml to restore batched MTP sampling (#4970)
Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
2026-07-08 19:25:18 +00:00
Yueqian Lin 6d50348ef1 [Perf][Qwen3-TTS] Skip per-step hidden-state D2H via hidden pooler payload opt-out (#4879)
Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
2026-07-08 11:59:41 -07:00
Yueqian Lin da15a4cb1c [Bugfix] Drop out-of-vocabulary stop ids from min-tokens masking (qwen3-tts min_tokens engine crash) (#4971)
Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
2026-07-08 11:24:31 -07:00
leo 267b49b880 Fix Voxtral TTS feedback and short ASR checks (#4954)
Signed-off-by: leo <yaoliu548926@gmail.com>
2026-07-08 16:52:48 +00:00
Alex Brooks b7d08fe5f6 [Core / Bugfix] Add Mechanism for Endpoint Rejection (#4762)
Signed-off-by: Alex Brooks <albrooks@redhat.com>
2026-07-08 09:00:47 -06:00
amy-why-3459 7d4decc1d8 docs(recipe): fix MiniCPM-o 4.5 curl TTS example and clarify chat_template_kwargs usage (#4950)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
2026-07-08 17:45:02 +08:00
Samit b96bc5ac87 Support HuggingFace kernels package for native diffusion attention backends (#4926)
Signed-off-by: samithuang <285365963@qq.com>
Signed-off-by: Samit <285365963@qq.com>
2026-07-08 14:34:36 +08:00
Inesh Reddy Chappidi 4908b85731 [Bugfix] MOSS-TTS codec: resolve decode method across remote-code and vendored tokenizers (#4760)
Signed-off-by: Inesh Reddy <ineshreddy249@gmail.com>
2026-07-08 05:23:13 +00:00
17e27c80e3 [Test] Add image-to-video offline example docs and tests (#3573)
Signed-off-by: loveysuby <loveysuby@users.noreply.github.com>
Signed-off-by: Hyoseop Song <crad_on25@naver.com>
Signed-off-by: Didan Deng <33117903+wtomin@users.noreply.github.com>
Co-authored-by: loveysuby <loveysuby@users.noreply.github.com>
Co-authored-by: Didan Deng <33117903+wtomin@users.noreply.github.com>
2026-07-08 11:20:30 +08:00
Zhang Jian d5e197fb97 [Diffusion][Feature] Add SP for Omnigen2 (#3206)
Signed-off-by: Zhang Jian <jianmusings@gmail.com>
2026-07-08 10:29:41 +08:00
Yukim1andAdvik 460a5c6b48 [Refactor] Migrate MammothModa2 and OmniVoice to pipeline registry (#4647)
Signed-off-by: Advik <scince5678@gmail.com>
Signed-off-by: Nightwing-77 <scince5678@gmail.com>
Signed-off-by: zwhzzz0821 <2831474076@qq.com>
Co-authored-by: Advik <scince5678@gmail.com>
2026-07-08 00:44:33 +00:00
WeiQing Chen 7ab50965e8 Update WeChat group QR code (#4939) 2026-07-07 19:27:46 +08:00
Ting FU 815abce2ba [BugFix] fix possible shape mismatch when using ROPE (#4655)
Signed-off-by: Semmer <semmer@live.cn>
2026-07-07 17:54:39 +08:00
SamitandCursor 31c9c751fc [Bugfix] Fix LoRA arguments passing in offline text-to-image script (#4936)
Signed-off-by: SamitHuang <285365963@qq.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 09:32:32 +00:00
Yuanheng Zhao d365d3a69e [Refactor] Migrate Ming-flash-omni-2.0 Image-gen examples with model_extras (#4835)
Signed-off-by: Yuanheng <jonathan.zhaoyh@gmail.com>
Signed-off-by: Yuanheng Zhao <jonathan.zhaoyh@gmail.com>
2026-07-07 08:09:12 +00:00
herotai214 d4a869fe5e [Bugfix] Fix tokenizer config for higgs-audio-v3 test error (#4918)
Signed-off-by: herotai214 <herotai214@gmail.com>
v0.24.0
2026-07-06 10:53:24 +00:00
amy-why-3459 9ceca4ec85 [Bugfix] Fix full-payload mm splitting for dual hidden/scheduled batch axes (#4870 follow-up) (#4910)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
2026-07-06 15:08:05 +08:00
Vensen ba7e9e6496 [CI][sleep mode] fix sleep pytest CI error (#4912)
Signed-off-by: vensen <vensenmu@gmail.com>
2026-07-06 15:07:01 +08:00
汪志鹏 14fad9835d [BugFix]: fix #3236 bug (#4877)
Signed-off-by: princepride <wangzhipeng628@gmail.com>
2026-07-05 17:26:09 +00:00
汪志鹏 862e0a2b27 [BugFix] Preserve diffusion extra_body params for out-of-process CFG Parallel (#4900)
Signed-off-by: princepride <wangzhipeng628@gmail.com>
2026-07-05 17:06:30 +00:00
TaffyOfficialandzuiho 66ec3a2aff [Bugfix] Fix HunyuanImage3 MoE groups for vLLM 0.24 (#4893)
Signed-off-by: zuiho <2324465096@qq.com>
Co-authored-by: zuiho <2324465096@qq.com>
2026-07-05 15:37:42 +00:00