Skip to main content

A high-throughput and memory-efficient inference and serving engine for LLMs

Project description

vLLM

Easy, fast, and cheap LLM serving for everyone

| Documentation | Blog | Paper | Discord |

Blitz-specific Stuff

Docs

Docs are hosted at https://etched-ai.github.io/blitz/intro.html. To make changes, add new or make new notebooks/md files inside docs/blitz-notebook-docs. When you open a PR, it will automatically get deployed to https://etched-ai.github.io/blitz/_branch/YOUR_BRANCH_NAME/index.html. When you merge it into main it will get automatically deployed to the main page.

If you make a .ipynb file, it will automatically add a "Run in Colab" and "Run in JupyterHub" button that will run that notebook in colab. If you want to make that run a custom notebook, then in the top of the first cell (must be markdown), add the following:

```{eval-rst}
:colab-url: https://github.com/etched-ai/blitz/blob/main/path/to/your/file
:github-url: https://github.com/etched-ai/blitz/blob/main/path/to/your/file
```

The URLs can be whatever you want.

Please make sure that any changes you make update or create relevant documentation. We emphasize keeping docs up to date and very detailed. Good DX starts with good docs and we aim to provide world-class DX to anyone using Blitz.

Google Colab

We are running a custom Colab backend on a GCP VM (eventually this will be on our own servers). To give people access to our Colab runtime, add them as a Service Account User under the Blitz Colab Access service account.

Server Structure

Google Colab only allows you to connect to a custom GCE VM as a runtime. Our solution is to establish a proxy from our VM to colab using Google's official tunnel docker container. You can get this by creating a GCE Colab VM from Google's marketplace then copying over the proxy container. It will establish a socket from the VM to Colab and direct any requests from colab to an port-forwarding address.

Then, we have a forwarding-rule on GCP that forwards requests directed to it to our second VM that is running the jupyter server (this is the one that will be switched to our own servers). It receives requests from the proxy from the first VM, then forwards them to 127.0.0.1:8080, which is the port exposed to a docker container running the jupyter server.

vLLM Merging

There is a remote called vllm which points to vLLM's public repository. If you ever need to bring Blitz up to date with it, simply pull from it and rebase.


Ray Summit CPF is Open (June 4th to June 20th)!

There will be a track for vLLM at the Ray Summit (09/30-10/02, SF) this year! If you have cool projects related to vLLM or LLM inference, we would love to see your proposals. This will be a great chance for everyone in the community to get together and learn. Please submit your proposal here


Latest News 🔥

  • [2024/06] We hosted the fourth vLLM meetup with Cloudflare and BentoML! Please find the meetup slides here.
  • [2024/04] We hosted the third vLLM meetup with Roblox! Please find the meetup slides here.
  • [2024/01] We hosted the second vLLM meetup in SF! Please find the meetup slides here.
  • [2024/01] Added ROCm 6.0 support to vLLM.
  • [2023/12] Added ROCm 5.7 support to vLLM.
  • [2023/10] We hosted the first vLLM meetup in SF! Please find the meetup slides here.
  • [2023/09] We created our Discord server! Join us to discuss vLLM and LLM serving! We will also post the latest announcements and updates there.
  • [2023/09] We released our PagedAttention paper on arXiv!
  • [2023/08] We would like to express our sincere gratitude to Andreessen Horowitz (a16z) for providing a generous grant to support the open-source development and research of vLLM.
  • [2023/07] Added support for LLaMA-2! You can run and serve 7B/13B/70B LLaMA-2s on vLLM with a single command!
  • [2023/06] Serving vLLM On any Cloud with SkyPilot. Check out a 1-click example to start the vLLM demo, and the blog post for the story behind vLLM development on the clouds.
  • [2023/06] We officially released vLLM! FastChat-vLLM integration has powered LMSYS Vicuna and Chatbot Arena since mid-April. Check out our blog post.

About

vLLM is a fast and easy-to-use library for LLM inference and serving.

vLLM is fast with:

  • State-of-the-art serving throughput
  • Efficient management of attention key and value memory with PagedAttention
  • Continuous batching of incoming requests
  • Fast model execution with CUDA/HIP graph
  • Quantization: GPTQ, AWQ, SqueezeLLM, FP8 KV Cache
  • Optimized CUDA kernels

vLLM is flexible and easy to use with:

  • Seamless integration with popular Hugging Face models
  • High-throughput serving with various decoding algorithms, including parallel sampling, beam search, and more
  • Tensor parallelism support for distributed inference
  • Streaming outputs
  • OpenAI-compatible API server
  • Support NVIDIA GPUs, AMD GPUs, Intel CPUs and GPUs
  • (Experimental) Prefix caching support
  • (Experimental) Multi-lora support

vLLM seamlessly supports most popular open-source models on HuggingFace, including:

  • Transformer-like LLMs (e.g., Llama)
  • Mixture-of-Expert LLMs (e.g., Mixtral)
  • Multi-modal LLMs (e.g., LLaVA)

Find the full list of supported models here.

Getting Started

Install vLLM with pip or from source:

pip install vllm

Visit our documentation to learn more.

Contributing

We welcome and value any contributions and collaborations. Please check out CONTRIBUTING.md for how to get involved.

Sponsors

vLLM is a community project. Our compute resources for development and testing are supported by the following organizations. Thank you for your support!

  • a16z
  • AMD
  • Anyscale
  • AWS
  • Crusoe Cloud
  • Databricks
  • DeepInfra
  • Dropbox
  • Lambda Lab
  • NVIDIA
  • Replicate
  • Roblox
  • RunPod
  • Sequoia Capital
  • Trainy
  • UC Berkeley
  • UC San Diego
  • ZhenFund

We also have an official fundraising venue through OpenCollective. We plan to use the fund to support the development, maintenance, and adoption of vLLM.

Citation

If you use vLLM for your research, please cite our paper:

@inproceedings{kwon2023efficient,
  title={Efficient Memory Management for Large Language Model Serving with PagedAttention},
  author={Woosuk Kwon and Zhuohan Li and Siyuan Zhuang and Ying Sheng and Lianmin Zheng and Cody Hao Yu and Joseph E. Gonzalez and Hao Zhang and Ion Stoica},
  booktitle={Proceedings of the ACM SIGOPS 29th Symposium on Operating Systems Principles},
  year={2023}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file etched_blitz-0.0.1.dev1-cp310-cp310-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for etched_blitz-0.0.1.dev1-cp310-cp310-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0c1b6701e0c312a37e5ba560f3454e24cd5341451037ef831d37d121c2ba2dc6
MD5 62b64bad1f5affe208abab674c2469d9
BLAKE2b-256 a133bb1a190d8c83a1767489d846fadc85abd4471f0604c356e24f3a1779bd52

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page