[Test] Add Stable Audio offline e2e TeaCache Test#2377
Conversation
Signed-off-by: Zhang <jianmusings@gmail.com>
Signed-off-by: Zhang <jianmusings@gmail.com>
Signed-off-by: Zhang <jianmusings@gmail.com>
There was a problem hiding this comment.
Thanks for the contribution. The code itself generally looks good to me. But according to our convention, the expanded coverage test (L4) should be placed in another file test_stable_audio_expansion.
(Also, could you help rename this file to test_stable_audio to match the new L2 test naming convention as well? Thanks)
And the L4 test should have the label advanced_model instead of core_model. You can refer to .buildkite/test-ready and test-merge YAML files to see which and how tests are selected. You can also copy the pytest command with --collect-only to test yourself without actually running.
For the run-validate helper function, could you please also remove this function and reuse assert_audio_valid function in tests/conftest.py? This function can be reused in both two files. This function is currently not used anywhere else (because there is no other audio generation models), so you can debug or change its signature per your need.
Finally, it is possible to combine quantization and cache in one test case in its L4 test? This way the test coverage is more complete.
Thanks for your attention. I presume the maintenance of this model has been stale for quite a while now, and now is a good change to consolidate the new test guidance 😁
Signed-off-by: Zhang <jianmusings@gmail.com>
Made-with: Cursor
Signed-off-by: Zhang <jianmusings@gmail.com>
|
Hey @fhfuih, thanks for the comprehensive feedback! I split the original test file into |
Signed-off-by: Zhang <jianmusings@gmail.com>
fhfuih
left a comment
There was a problem hiding this comment.
Thanks for the contribution. Looks good to me now. A few comments for others who stumble on this PR:
- Since #1794 is still not available, stable audio test uses offline mode.
- The offline test execution helper
omni_runneras a counterpart toomni_serverdoes not currently support diffusion yet. @yenuo26 and I are aware of this matter and planning to ship update with some other refactoring. It is currently good for now that this tests creates it own helper
This comment was marked as resolved.
This comment was marked as resolved.
|
Hey @yenuo26, the CI has passed, please help me add the ready label. Thank you! 🙌 |
lishunyang12
left a comment
There was a problem hiding this comment.
looks good overall, just a minor nit
Signed-off-by: Zhang Jian <jianmusings@gmail.com>
|
Hey @zhangj1an ! cache-dit (#1341) got merged today, so feel free to expand the tests for it. If you’re busy with other work, I’m happy to add them myself. |
lishunyang12
left a comment
There was a problem hiding this comment.
LGTM. Fix conflict please.
3101832 to
9b36b0b
Compare
Signed-off-by: Zhang <jianmusings@gmail.com>
…_audio docs/user_guide/examples/offline_inference/*.md is produced at build time; tea_cache usage remains documented in examples/offline_inference/text_to_audio/README.md. Signed-off-by: Zhang <jianmusings@gmail.com>
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Agree. No need to cover the complete feature set for this model. Just one or two most common one will do. I think this PR is all good for now. And we can ignore the AMD CI. And it is OK to not always keep the branch updated (if there is no conflict). Otherwise it keeps aborting CI test and restarting a new one. The repetitive CI request also wastes the GPU resource. Let's wait for the current version to pass the CI (the CUDA one) |
…/vllm-omni into jian/add_test_teacache
…l.py deleted The test was replaced by test_stable_audio_expansion.py on this branch. Applied main's refactor (remove sys.path hack) to the expansion test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Zhang <jianmusings@gmail.com>
|
Seems the primary CI has passed: https://buildkite.com/vllm/vllm-omni/builds/6480/steps/canvas But the doc CI fails due to occasional timeout. I think it is OK to remove the nightly tag and put a ready tag, trigger a quick rerun and merge. @wtomin @Gaohan123 PTAL Thanks |
Signed-off-by: Zhang <jianmusings@gmail.com> Signed-off-by: Zhang Jian <jianmusings@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Zhang <jianmusings@gmail.com> Signed-off-by: Zhang Jian <jianmusings@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Zhang <jianmusings@gmail.com> Signed-off-by: Zhang Jian <jianmusings@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Zhang <jianmusings@gmail.com> Signed-off-by: Zhang Jian <jianmusings@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED.
Purpose
This PR adds the Stable-Audio-Open offline e2e TeaCache test as part of the diffusion-feature L4 test coverage effort tracked in #1832.
For Stable-Audio-Open, TeaCache (#1314) is currently the only supported diffusion acceleration feature in vllm-omni. Other diffusion features listed in #1217, such as Tensor Parallel (#1406), Cache-DiT (#1341), CFG parallelism, VAE parallelism, and HSDP, are not yet supported for this model, so they are intentionally out of scope for this PR. Extended coverage will be covered in future PRs.
Key changes
cache_backend="tea_cache"--cache-backend tea_cacheand--tea-cache-rel-l1-thresh, following [skip ci][Doc] Refine the Diffusion Features User Guide #1928Test plan
Run:
Test result
2 passed, 16 warnings in 32.91s.
cc: @fhfuih @akshatvishu @linyueqian
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model. Please runmkdocs serveto sync the documentation editions to./docs.BEFORE SUBMITTING, PLEASE READ https://github.com/vllm-project/vllm-omni/blob/main/CONTRIBUTING.md (anything written below this line will be removed by GitHub Actions)