[diffusion] CI: restore public Qwen-Image 2.1 TP2 E2E coverage (#40507)
Co-authored-by: Mick Qian <mickqian@users.noreply.github.com>
This commit is contained in:
@@ -105,12 +105,10 @@ replay only matching warmup signatures, including condition-prefix length;
|
|||||||
other shapes run eagerly. VAE tiling is opt-in and can change numerical results.
|
other shapes run eagerly. VAE tiling is opt-in and can change numerical results.
|
||||||
Do not infer compatibility from the older Qwen-Image row.
|
Do not infer compatibility from the older Qwen-Image row.
|
||||||
|
|
||||||
Use an authorized local checkpoint with `--model-id Qwen-Image-2.1`.
|
Use the public `Qwen/Qwen-Image-2.1` checkpoint; no Hugging Face token is required.
|
||||||
See the [Qwen-Image 2.1 cookbook](/cookbook/diffusion/Qwen-Image/Qwen-Image-2.1)
|
See the [Qwen-Image 2.1 cookbook](/cookbook/diffusion/Qwen-Image/Qwen-Image-2.1)
|
||||||
for checkpoint layout and usage. This entry does not assert public weight
|
for checkpoint layout and usage. The standard two-GPU E2E suite includes `qwen_image21_t2i_tp2`
|
||||||
availability. The standard two-GPU E2E suite includes `qwen_image21_t2i_tp2`
|
|
||||||
with TP2, 1024px/40-step generation, two requests, and image consistency checks.
|
with TP2, 1024px/40-step generation, two requests, and image consistency checks.
|
||||||
Its runners need access to `Qwen/Qwen-Image-2.1`.
|
|
||||||
|
|
||||||
The additional opt-in HTTP cases check repeated generation, editing, and real
|
The additional opt-in HTTP cases check repeated generation, editing, and real
|
||||||
RGBA alpha output from a local checkpoint:
|
RGBA alpha output from a local checkpoint:
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ from sglang.multimodal_gen.test.test_utils import (
|
|||||||
DEFAULT_FLUX_2_KLEIN_BASE_4B_MODEL_NAME_FOR_TEST,
|
DEFAULT_FLUX_2_KLEIN_BASE_4B_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_JOYAI_IMAGE_EDIT_MODEL_NAME_FOR_TEST,
|
DEFAULT_JOYAI_IMAGE_EDIT_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_MOVA_360P_MODEL_NAME_FOR_TEST,
|
DEFAULT_MOVA_360P_MODEL_NAME_FOR_TEST,
|
||||||
|
DEFAULT_QWEN_IMAGE_21_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_QWEN_IMAGE_EDIT_2509_MODEL_NAME_FOR_TEST,
|
DEFAULT_QWEN_IMAGE_EDIT_2509_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_QWEN_IMAGE_EDIT_2511_MODEL_NAME_FOR_TEST,
|
DEFAULT_QWEN_IMAGE_EDIT_2511_MODEL_NAME_FOR_TEST,
|
||||||
DEFAULT_QWEN_IMAGE_EDIT_MODEL_NAME_FOR_TEST,
|
DEFAULT_QWEN_IMAGE_EDIT_MODEL_NAME_FOR_TEST,
|
||||||
@@ -1141,26 +1142,25 @@ TWO_GPU_CASES = [
|
|||||||
ring_degree=2,
|
ring_degree=2,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
# TODO: re-enable when the checkpoint is accessible to fork PR CI
|
DiffusionTestCase(
|
||||||
# DiffusionTestCase(
|
"qwen_image21_t2i_tp2",
|
||||||
# "qwen_image21_t2i_tp2",
|
DiffusionServerArgs(
|
||||||
# DiffusionServerArgs(
|
model_path=DEFAULT_QWEN_IMAGE_21_MODEL_NAME_FOR_TEST,
|
||||||
# model_path="Qwen/Qwen-Image-2.1",
|
tp_size=2,
|
||||||
# tp_size=2,
|
ulysses_degree=1,
|
||||||
# ulysses_degree=1,
|
ring_degree=1,
|
||||||
# ring_degree=1,
|
),
|
||||||
# ),
|
replace(
|
||||||
# replace(
|
T2I_sampling_params,
|
||||||
# T2I_sampling_params,
|
output_size="1024x1024",
|
||||||
# output_size="1024x1024",
|
output_format="png",
|
||||||
# output_format="png",
|
extras={"num_inference_steps": 40, "guidance_scale": 1, "seed": 42},
|
||||||
# extras={"num_inference_steps": 40, "guidance_scale": 1, "seed": 42},
|
),
|
||||||
# ),
|
perf_repeat_requests=2,
|
||||||
# perf_repeat_requests=2,
|
run_perf_check=False,
|
||||||
# run_perf_check=False,
|
run_component_accuracy_check=False,
|
||||||
# run_component_accuracy_check=False,
|
run_t2v_input_reference_check=False,
|
||||||
# run_t2v_input_reference_check=False,
|
),
|
||||||
# ),
|
|
||||||
DiffusionTestCase(
|
DiffusionTestCase(
|
||||||
"qwen_image_t2i_2_gpus_extra_high",
|
"qwen_image_t2i_2_gpus_extra_high",
|
||||||
DiffusionServerArgs(
|
DiffusionServerArgs(
|
||||||
|
|||||||
@@ -206,9 +206,11 @@
|
|||||||
"estimated_full_test_time_s": 65.6
|
"estimated_full_test_time_s": 65.6
|
||||||
},
|
},
|
||||||
"qwen_image21_t2i_tp2": {
|
"qwen_image21_t2i_tp2": {
|
||||||
|
"expected_load_ms": 45596.77,
|
||||||
|
"notes": "H100 CI run 35549625911 attempt 3, job 106188864502, PR head 044e71f5ecb507ffdf66729f934b51c3dc68b59f; request 1 after server warmup, complete cached public model snapshot b3179ad355be050328e483a9dfdd9e60cd62adfa. Existing tolerances are unchanged.",
|
||||||
"stages_ms": {},
|
"stages_ms": {},
|
||||||
"denoise_step_ms": {},
|
"denoise_step_ms": {},
|
||||||
"expected_e2e_ms": 0.0,
|
"expected_e2e_ms": 2914.82,
|
||||||
"expected_avg_denoise_ms": 0.0,
|
"expected_avg_denoise_ms": 0.0,
|
||||||
"expected_median_denoise_ms": 0.0,
|
"expected_median_denoise_ms": 0.0,
|
||||||
"estimated_full_test_time_s": 300.0
|
"estimated_full_test_time_s": 300.0
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ logger = init_logger(__name__)
|
|||||||
# NPU/ascend) is read from sgl-project/ci-data-diffusion, where the GT-gen workflows
|
# NPU/ascend) is read from sgl-project/ci-data-diffusion, where the GT-gen workflows
|
||||||
# publish.
|
# publish.
|
||||||
SGL_TEST_FILES_CI_DATA_REPO = "sgl-project/ci-data-diffusion"
|
SGL_TEST_FILES_CI_DATA_REPO = "sgl-project/ci-data-diffusion"
|
||||||
SGL_TEST_FILES_CI_DATA_REVISION = "252710158cd4c74b7604808a385e93f7bced6d28"
|
SGL_TEST_FILES_CI_DATA_REVISION = "38ba32bd812b2dfb0eccc83ef063096c089e3389"
|
||||||
|
|
||||||
# The NPU pin is kept as a separate branch so ascend GT can be bumped independently
|
# The NPU pin is kept as a separate branch so ascend GT can be bumped independently
|
||||||
# when it's regenerated on its own cadence.
|
# when it's regenerated on its own cadence.
|
||||||
|
|||||||
Reference in New Issue
Block a user