Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Roadmap] vLLM Roadmap Q3 2024 #5805

Open
46 tasks
simon-mo opened this issue Jun 25, 2024 · 7 comments
Open
46 tasks

[Roadmap] vLLM Roadmap Q3 2024 #5805

simon-mo opened this issue Jun 25, 2024 · 7 comments

Comments

@simon-mo
Copy link
Collaborator

simon-mo commented Jun 25, 2024

Anything you want to discuss about vllm.

This document includes the features in vLLM's roadmap for Q3 2024. Please feel free to discuss and contribute, as this roadmap is shaped by the vLLM community.

Themes.

As before, we categorized our roadmap into 6 broad themes:

  • Broad model support: vLLM should support a wide range of transformer based models. It should be kept up to date as much as possible. This includes new auto-regressive decoder models, encoder-decoder models, hybrid architectures, and models supporting multi-modal inputs.
  • Excellent hardware coverage: vLLM should run on a wide range of accelerators for production AI workload. This includes GPUs, tensor accelerators, and CPUs. We will work closely with hardware vendors to ensure vLLM utilizes the greatest performance out of the chip.
  • Performance optimization:vLLM should be kept up to date with the latest performance optimization techniques. Users of vLLM can trust its performance to be competitive and strong.
  • Production level engine: vLLM should be the go-to choice for production level serving engine with a suite of features bridging the gaps from single forward pass to 24/7 service.
  • Strong OSS product: vLLM is and will be a true community project. We want it to be a healthy project with regular release cadence, good documentation, and adding new reviewers to the codebase.
  • Extensible architectures: For vLLM to grow at an even faster pace, it needs good abstractions to support a wide range of scheduling policies, hardware backends, and inference optimizations. We will work on refactoring the codebase to support that.

Broad Model Support

Help wanted:

Hardware Support

  • A feature matrix for all the hardware that vLLM supports, and their maturity level
  • Enhanced performance benchmark across hardwares
  • Expanding features support on various hardwares
    • PagedAttention and Chunked Prefill on Inferentia
    • Chunked Prefill on Intel CPU/GPU
    • PagedAttention on Intel Gaudi
    • TP and INT8 on TPU
    • Bug fixes and GEMM tuning on AMD GPUs

Performance Optimizations

  • Spec Decode Optimization (tracker)
  • APC Optimizations
  • Guided Decode Optimizations
  • API server performance
  • Quantization
    • FP8/INT8 quantization improvements
    • Quantized MoEs
    • AWQ Performance
    • Fused GEMM/all-reduce
  • Scheduler overhead removal
  • Optimize prepare input, sampling, process output

Production Features

  • Chunked Prefill on by default
  • APC on by default
  • N-gram prompt lookup spec decode on by default
  • Tool use
  • Request prioritization framework

Help wanted

  • Support multiple models in the same server
  • [Feedback wanted] Disaggregated prefill: please discuss with us your use case and in what scenario it is preferred over chunked prefill.

OSS Community

  • Reproducible performance benchmark on realistic workload
  • CI enhancements
  • Release process: minimize breaking changes and include deprecations

Help wanted

  • Documentation enhancements in general (styling, UI, explainers, tutorials, examples, etc)

Extensible Architecture


If any of the item you wanted is not on the roadmap, your suggestion and contribution is still welcomed! Please feel free to comment in this thread, open feature request, or create an RFC.

@simon-mo simon-mo added misc and removed misc labels Jun 25, 2024
@simon-mo simon-mo pinned this issue Jun 25, 2024
@Jeffwan
Copy link

Jeffwan commented Jun 25, 2024

Support multiple models in the same server

Does vLLM need the multi-model support similar like what FastChat does or something else?

@CSEEduanyu
Copy link

#2809 hello,how about this?

@jeejeelee
Copy link
Contributor

Hi, the issues were mentioned in #5036 and should be taken into account.

@MeJerry215
Copy link

MeJerry215 commented Jun 27, 2024

Will vLLM use Triton more to optimize operators' performance in future, or will it consider using the torch.compile mechanism more?

And are there any plans for this?

@ashim-mahara
Copy link

Hi! Is there or will there be support for the OpenAI Batch API ?

@huseinzol05
Copy link

huseinzol05 commented Jun 28, 2024

I am doing for Whisper, my fork at https://github.com/mesolitica/vllm-whisper, the frontend later should compatible with OpenAI API plus able to stream output tokens, few hiccups, still trying to figure out based on T5 branch,

out = xops.memory_efficient_attention_forward(

  1. still try to figure out kv cache for Encoder hidden state or else each steps will recompute Encoder hidden state.
  2. No non causal attention for Encoder and Cross Attention in Decoder, seems like all attention implementation in VLLM is for causal
  3. Reuse KV Cache Cross Attention from the first step for the next steps.

@huseinzol05
Copy link

Able to load and infer, https://github.com/mesolitica/vllm-whisper/blob/main/examples/whisper_example.py, but the output is still trash, might be bugs related to weights or the attention, still debugging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants