Commit Graph
1805 Commits
Author SHA1 Message Date
Hongsheng Liu 4a4c3c1b82 Merge pull request #20 from tzhouam/feat/multimodal-output-processor
[Engine]Refactor output processing for multimodal capabilities in vLLM-omni
2025-10-24 11:25:23 +08:00
Hongsheng Liu 40d20978f1 Merge pull request #17 from tzhouam/feat/gpu-omni-model-runner-base
[Worker]Add OmniGPUModelRunner and OmniModelInputForGPU classes
2025-10-24 11:23:19 +08:00
Zhou TaichangandCopilot d0423129f8 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-24 11:14:58 +08:00
Zhou TaichangandCopilot b04f114773 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-24 11:14:41 +08:00
Hongsheng Liu 27fbe3511a Merge pull request #16 from tzhouam/feat/diffusion_gpu_worker_and_model_runner
[Worker]Refactor GPU diffusion model runner and worker
2025-10-24 11:11:02 +08:00
tzhouam ee4822327b Remove unnecessary numpy imports and update return type in extract_multimodal_outputs method in OmniGPUModelRunner
- Eliminated redundant numpy import statements to streamline the code.
- Changed the return type of extract_multimodal_outputs from dict to tuple for better clarity on output structure.
2025-10-24 11:08:42 +08:00
Hongsheng Liu a874cd23fb Merge pull request #15 from tzhouam/feat/ar_gpu_worker_and_model_runner
[Worker]Feat/ar gpu worker and model runner
2025-10-24 11:04:30 +08:00
tzhouam 6b196dee24 Enhance error handling in output processing for multimodal tensors
- Added logging for exceptions during tensor movement to CPU in OmniRequestState and MultimodalOutputProcessor.
- Improved robustness by ensuring the output pipeline continues without crashing on errors.
- Updated comments for clarity on error handling behavior.
2025-10-24 11:01:32 +08:00
Zhou TaichangandCopilot 9ebc1dd652 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-24 10:41:54 +08:00
Hongsheng Liu 15dbe97750 Merge pull request #13 from Gaohan123/entrypoint_stage
[Engine] Add entrypoint class and stage management
2025-10-24 10:38:16 +08:00
tzhouam 634915652d Remove unused code and comments in GPUDiffusionModelRunner for improved clarity
- Deleted the `has_kv_transfer_group` import as it was not utilized.
- Cleaned up commented-out code related to model methods, focusing on the forward method.
- Added a TODO comment to implement the diffuse method for additional model support.
2025-10-24 10:34:41 +08:00
Gaohan123 61a215fb54 fix file name 2025-10-24 10:19:35 +08:00
Gaohan123 2c08c04730 fix for reviews of copilot 2025-10-24 10:17:22 +08:00
tzhouam ae3b7504b2 Merge branch 'feat/qwen_2_5_omni_models' of https://github.com/tzhouam/vllm-omni into feat/qwen_2_5_omni_models 2025-10-24 10:02:58 +08:00
tzhouam 52905a0d17 Enhance Qwen2.5-Omni model by defining TALKER_CODEC_EOS_TOKEN_ID and TALKER_CODEC_BOS_TOKEN_ID constants. Update audio generation logic to use these constants for improved clarity and maintainability. Refactor tensor initialization to utilize the talker's hidden size. Update comments for better understanding and consistency. 2025-10-24 10:02:51 +08:00
Zhou TaichangandCopilot 8a6e298243 Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-24 09:43:45 +08:00
tzhouam 4acaef3ccb Merge branch 'feat/omni-schedulers' of https://github.com/tzhouam/vllm-omni into feat/omni-schedulers 2025-10-24 09:41:29 +08:00
tzhouam c37cd6f0e3 delete unused imports 2025-10-24 09:41:20 +08:00
tzhouam 28ae542eed match runner, worker name with file name 2025-10-23 14:35:23 +08:00
tzhouam a3a77b6cc4 Qwen2.5-Omni: squash 5 commits (add components, refactor, load thinker embedding from weights, remove unused code)
Squashed commits:\n- 4e2d812 Add Qwen2.5-Omni model components\n- 351f833 load the thinker embedding from the weights, not rely on local .pt files\n- 2c32533 Refactor Qwen2.5-Omni model files\n- 9163a60 remove unused codes\n- 192bdf8 remove
2025-10-23 14:24:03 +08:00
tzhouam ea16546ae9 Refactor GPU diffusion model classes for clarity and consistency
- Renamed `DiffusionModelRunner` to `GPUDiffusionModelRunner` for better clarity in class purpose.
- Updated `DiffusionGPUWorker` to utilize the renamed `GPUDiffusionModelRunner`.
- Simplified output handling in `GPUDiffusionModelRunner` by removing unnecessary checks, enhancing code readability.
2025-10-23 11:04:10 +08:00
Gaohan123 98a85d42a6 fix for some reviews 2025-10-23 10:26:21 +08:00
tzhouam 3a27ff51d0 add back the diffusion engine as a placeholder for the actural diffusion engine in the future 2025-10-23 10:04:27 +08:00
Gaohan123 87d6414a26 supplement some imports 2025-10-22 18:14:11 +08:00
Gaohan123 6111c288d0 fix some reviews from gemini 2025-10-22 17:46:10 +08:00
Zhou TaichangandCopilot b207bf89f2 Update vllm_omni/core/sched/diffusion_scheduler.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-22 17:44:20 +08:00
tzhouam 4609afa613 Refactor sampled_token_ids assignment in OmniGPUModelRunner
- Simplified the assignment of sampled_token_ids by removing the conditional check for "model_stage".
- Ensured consistent handling of sampled_token_ids for improved clarity and maintainability.
2025-10-22 17:42:29 +08:00
tzhouam 2cc33bb3ea Fix tensor handling in DiffusionModelRunner for multimodal outputs
- Updated assertions and tensor management to correctly handle multimodal outputs in the `DiffusionModelRunner` class.
- Ensured that the output tensors are processed based on the type of multimodal outputs received, improving robustness and clarity in the code.
2025-10-22 17:38:49 +08:00
tzhouam 53b86439fc Refactor ARModelRunner to streamline hidden state handling
- Removed unnecessary imports of numpy and torch within the request scheduling logic.
- Simplified the handling of auxiliary hidden states by initializing it to None when not present.
- Optimized CPU tensor conversion for text hidden states to improve performance.
2025-10-22 17:16:15 +08:00
Zhou TaichangandCopilot 8d6a360f96 Update vllm_omni/core/sched/diffusion_scheduler.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Zhou Taichang <tzhouam@connect.ust.hk>
2025-10-22 17:13:45 +08:00
tzhouam 54977bd590 Add OmniGPUModelRunner and OmniModelInputForGPU classes
- Introduced OmniGPUModelRunner for enhanced GPU model execution with state management.
- Added OmniModelInputForGPU and its builder to support additional information in model inputs.
- Implemented methods for updating request states and handling multimodal inputs.
- Enhanced input preparation for CUDA graph execution and LoRA integration.
2025-10-22 15:33:11 +08:00
tzhouam 811057ce11 Refactor GPU diffusion model runner and worker
- Introduced `DiffusionModelRunner` class to handle diffusion processes, extending `OmniGPUModelRunner`.
- Updated `DiffusionGPUWorker` to initialize device settings and manage memory more effectively.
- Enhanced model execution with support for multimodal inputs and improved tensor management.
- Removed legacy code and streamlined the generation process for better performance.
2025-10-22 15:30:46 +08:00
tzhouam 6d04ea8450 rename to gpu-xx-model-runner style 2025-10-22 15:28:23 +08:00
tzhouam 91c11c3ff4 Add AR GPU Model Runner and Worker
- Introduced ARModelRunner for autoregressive GPU model execution, enabling per-request hidden state outputs and token sampling.
- Added ARGPUWorker to initialize GPU settings and manage distributed environment for the AR model runner.
- Enhanced memory management and error handling for GPU resources during initialization.
2025-10-22 15:25:17 +08:00
tzhouam 83e7f6ba12 Add Omni model components and input processing for hidden states support
- Introduced `OmniModelRunnerOutput` and `OmniRequestOutput` classes for handling multimodal outputs.
- Implemented `OmniEngineCoreRequest` and `OmniInputPreprocessor` to manage prompt embeddings and additional information.
- Created `OmniTokensPrompt`, `OmniTokenInputs`, and `OmniEmbedsPrompt` for enhanced token handling.
- Added parsing and preprocessing functions to support new input structures.
- Removed the obsolete `diffusion_engine.py` file as part of the refactor.
2025-10-22 15:16:25 +08:00
tzhouam 19220aae82 Add scheduling components for vLLM-omni
- Introduced `DiffusionScheduler` to handle scheduling for diffusion models, allowing immediate request completion.
- Added `OmniNewRequestData` to encapsulate additional request data, including prompt embeddings and extra information.
- Updated `OmniScheduler` to ensure compatibility with new request data structures.
- Created `output.py` to define new data classes for enriched request handling.
- Enhanced `__init__.py` in the engine module to support new payload structures for prompt embeddings and additional information.
2025-10-22 15:05:23 +08:00
Gaohan123 20cfd15cc6 Add entrypoint class and stage management 2025-10-22 14:37:55 +08:00
tzhouam b4fa09f756 Refactor output processing for multimodal capabilities in vLLM-omni
- Introduced OmniRequestState to manage multimodal request states.
- Enhanced MultimodalOutputProcessor to handle various output types including images, text, and latents.
- Implemented methods for accumulating multimodal tensors and processing outputs.
- Updated output handling to ensure compatibility with vLLM's base processor while allowing custom modality handlers.
2025-10-22 11:54:07 +08:00
hsliu 05d23676ff change omni.py to serve.py and mv to cli 2025-09-29 18:10:37 +08:00
hsliu c330e5e8f3 del unnessearcy files 2025-09-29 17:49:32 +08:00
hsliu f8a6606176 fix diffusion engine 2025-09-28 22:09:13 +08:00
hsliu 4435d581c3 update diffusion_engine 2025-09-28 22:02:03 +08:00
hsliu 81f04d3cf9 update ar_dit_test 2025-09-28 21:58:48 +08:00
hsliu e8b9425bab refactor: move omni_llm.py to entrypoints directory
- Move vllm_omni/core/omni_llm.py to vllm_omni/entrypoints/omni_llm.py
- Update all import statements across the codebase to reflect new location
- Fix relative imports within the moved file
- Maintain functionality while improving code organization
- All imports and functionality tested and working correctly

This change better reflects that OmniLLM and AsyncOmniLLM are the main entry points
for vLLM-omni functionality, rather than core implementation details.
2025-09-26 17:39:00 +08:00
hsliu afe5c2692c feat: enhance serving functionality and add comprehensive examples
- Improve API server with better error handling and response formatting
- Enhance CLI with additional options for DiT stages and configuration
- Add comprehensive examples in examples/basic/ including:
  - API client with health checks and text generation
  - Docker setup and usage examples
  - Simple usage patterns for different scenarios
- Add utility scripts for model downloading and Docker setup
- Update documentation with implementation details and testing guidelines
- Fix configuration validation issues in OmniLLM
- Improve stage configuration handling for AR and DiT stages
- Add proper error handling and fallback mechanisms

Tested with Qwen3-0.6B model:
- Server starts successfully on port 8000
- Health and info endpoints working correctly
- Text generation with various parameters functioning
- API client examples working as expected
- CLI help and configuration options working properly
2025-09-26 15:47:55 +08:00
hsliu 51d2570464 feat: Complete vLLM-omni implementation with conda environment setup
- Add comprehensive PRD, architecture design, and test design documents
- Implement core modules: OmniLLM, AsyncOmniLLM, stage configurations
- Add DiT scheduler and cache manager for diffusion models
- Implement CLI integration with --omni flag support
- Add API server and plugin system for vLLM integration
- Create comprehensive test suite with fixtures
- Update dependencies to vLLM 0.10.2 and PyTorch 2.8.0
- Add conda environment setup and package installation
- Implement stage-based processing architecture
- Add multimodal output processing capabilities

This commit establishes the foundation for multi-modality models
inference and serving with non-autoregressive structures.
2025-09-25 09:10:54 +08:00
hsliu 0c5caf6ab1 scheduler api design 2025-09-16 16:05:47 +08:00
hsliu 8dbe6db1be init request.py 2025-09-15 22:46:40 +08:00
hsliu dcb8868477 update config and entrypoints 2025-09-11 16:15:48 +08:00
hsliu 8e075d4917 update dirs 2025-09-11 15:56:28 +08:00