Files
vllm-omni/README.md
T

79 lines
2.5 KiB
Markdown
Raw Normal View History

2025-09-11 14:32:51 +08:00
# vLLM-omni: Multi-modal Extension for vLLM
vLLM-omni is designed to extend vLLM capabilities to support multi-modality model inference and serving, particularly focusing on non-autoregressive structures and non-textual outputs.
2025-09-16 16:17:10 +08:00
## 🎯 Overview
Traditional vLLM systems are limited to text-based, autoregressive generation. vLLM-omni addresses this limitation by enabling support for:
- **Multi-modal Models**: Text, image, video, audio, and sensor data processing
- **Non-autoregressive Architectures**: Diffusion Transformers (DiT) and other parallel generation models
2025-10-23 15:18:13 +08:00
- **Heterogeneous Outputs**: Beyond traditional text generation to multimodal outputs
2025-09-16 16:17:10 +08:00
## 🏗️ Architecture
vLLM-omni is built on a modular architecture that extends vLLM's core functionality:
## 🚀 Key Features
### Multi-Engine Support
- **Autoregressive Engine**: Traditional text generation with enhanced KV-caching
- **Diffusion Engine**: Support for DiT models and iterative generation
- **Hybrid Engine**: Combined AR+DiT processing pipelines
### Modality Processing
- **Text**: Advanced tokenization and embedding generation
- **Image**: Vision encoder integration (CLIP, etc.)
- **Audio**: Speech processing and audio embedding
## 📋 Supported Models
### AR + Diffusion Transformer (DiT) Models
- Qwen-omni (Thinker-Talker-Codec structure)
2025-10-23 15:18:13 +08:00
- HunyunaImage 3.0 (Ongoing)
- Qwen-Image (Ongoing)
2025-09-16 16:17:10 +08:00
## 🛠️ Installation
2025-10-23 15:18:13 +08:00
Set up basic environments
```bash
uv venv --python 3.12 --seed
source .venv/bin/activate
```
Install certain version of vllm with commitid: 808a7b69df479b6b3a16181711cac7ca28a9b941
2025-09-16 16:17:10 +08:00
```bash
2025-10-23 15:18:13 +08:00
git clone https://github.com/vllm-project/vllm.git
cd vllm
git checkout 808a7b69df479b6b3a16181711cac7ca28a9b941
VLLM_USE_PRECOMPILED=1 uv pip install --editable .
```
2025-10-25 12:24:05 +08:00
Install additional requirements for vllm-omni
2025-10-25 12:09:19 +08:00
```bash
uv pip install -r requirements.txt
```
2025-10-23 15:18:13 +08:00
## Run examples (Qwen2.5-omni)
2025-10-23 15:18:13 +08:00
Get into the example folder
```bash
2025-10-23 15:18:13 +08:00
cd vllm_omni
cd examples/offline_inference/qwen2_5_omni
```
2025-10-23 15:18:13 +08:00
Modify PYTHONPATH in run.sh as your path of vllm_omni. Then run.
```bash
2025-10-23 15:18:13 +08:00
bash run.sh
```
2025-10-23 15:18:13 +08:00
The output audio is saved in ./output_audio
2025-10-23 15:18:13 +08:00
## To-do list
- [x] Offline inference example for Qwen2.5-omni with single request
- [ ] Adaptation from current vllm branch to stable vllm v0.11.0
- [ ] Offline inference example for Qwen2.5-omni with streaming multiple requests
- [ ] Online inference support
- [ ] Support for other models
2025-10-24 16:49:19 +08:00
For detailed model management, see [vllm_omni_design.md](docs/architecture/vllm_omni_design.md) and [high_level_arch_design.md](docs/architecture/high_level_arch_design.md).