[Diffusion][Attention] Support per-role attention backend via CLI (#2681)

Signed-off-by: gcanlin <canlinguosdu@gmail.com>
Signed-off-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
This commit is contained in:
Canlin GuoandHongsheng Liu authored and GitHub committed 2026-05-10 11:59:05 +08:00
1 parent 26d481fc84
commit 11c4c7f0ff
29 files changed
+1262 -106

No files matched your search

@@ -319,8 +319,11 @@ class DiffusersPipelineLoader:
elif load_format == "diffusers":
model = DiffusersAdapterPipeline(od_config=od_config, device=target_device)
elif load_format == "custom_pipeline":
from vllm_omni.diffusion.config import set_current_diffusion_config
model_cls = resolve_obj_by_qualname(custom_pipeline_name)
model = model_cls(od_config=od_config)
with set_current_diffusion_config(od_config):
model = model_cls(od_config=od_config)
else:
raise ValueError(f"Unknown load_format: {load_format}")
logger.debug("Loading weights on %s ...", load_device)
@@ -588,8 +591,11 @@ class DiffusersPipelineLoader:
if load_format == "default":
model = initialize_model(od_config)
elif load_format == "custom_pipeline":
from vllm_omni.diffusion.config import set_current_diffusion_config
model_cls = resolve_obj_by_qualname(custom_pipeline_name)
model = model_cls(od_config=od_config)
with set_current_diffusion_config(od_config):
model = model_cls(od_config=od_config)
self.load_weights(model)
# Collect all transformers to shard (some models have transformer_2 for MoE)