|
1 |
| -<p align="center"> |
2 |
| - <picture> |
3 |
| - <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/vllm-project/vllm/main/docs/source/assets/logos/vllm-logo-text-dark.png"> |
4 |
| - <img alt="vLLM" src="https://raw.githubusercontent.com/vllm-project/vllm/main/docs/source/assets/logos/vllm-logo-text-light.png" width=55%> |
5 |
| - </picture> |
6 |
| -</p> |
| 1 | +## Neural Magic vLLM |
7 | 2 |
|
8 |
| -<h3 align="center"> |
9 |
| -Easy, fast, and cheap LLM serving for everyone |
10 |
| -</h3> |
| 3 | +Fork of vLLM with sparsity. |
11 | 4 |
|
12 |
| -<p align="center"> |
13 |
| -| <a href="https://docs.vllm.ai"><b>Documentation</b></a> | <a href="https://vllm.ai"><b>Blog</b></a> | <a href="https://arxiv.org/abs/2309.06180"><b>Paper</b></a> | <a href="https://discord.gg/jz7wjKhh6g"><b>Discord</b></a> | |
| 5 | +### To Run |
14 | 6 |
|
15 |
| -</p> |
16 |
| - |
17 |
| ---- |
18 |
| - |
19 |
| -**The Second vLLM Bay Area Meetup (Jan 31st 5pm-7:30pm PT)** |
20 |
| - |
21 |
| -We are thrilled to announce our second vLLM Meetup! |
22 |
| -The vLLM team will share recent updates and roadmap. |
23 |
| -We will also have vLLM collaborators from IBM coming up to the stage to discuss their insights on LLM optimizations. |
24 |
| -Please register [here](https://lu.ma/ygxbpzhl) and join us! |
25 |
| - |
26 |
| ---- |
27 |
| - |
28 |
| -*Latest News* 🔥 |
29 |
| -- [2023/12] Added ROCm support to vLLM. |
30 |
| -- [2023/10] We hosted [the first vLLM meetup](https://lu.ma/first-vllm-meetup) in SF! Please find the meetup slides [here](https://docs.google.com/presentation/d/1QL-XPFXiFpDBh86DbEegFXBXFXjix4v032GhShbKf3s/edit?usp=sharing). |
31 |
| -- [2023/09] We created our [Discord server](https://discord.gg/jz7wjKhh6g)! Join us to discuss vLLM and LLM serving! We will also post the latest announcements and updates there. |
32 |
| -- [2023/09] We released our [PagedAttention paper](https://arxiv.org/abs/2309.06180) on arXiv! |
33 |
| -- [2023/08] We would like to express our sincere gratitude to [Andreessen Horowitz](https://a16z.com/2023/08/30/supporting-the-open-source-ai-community/) (a16z) for providing a generous grant to support the open-source development and research of vLLM. |
34 |
| -- [2023/07] Added support for LLaMA-2! You can run and serve 7B/13B/70B LLaMA-2s on vLLM with a single command! |
35 |
| -- [2023/06] Serving vLLM On any Cloud with SkyPilot. Check out a 1-click [example](https://github.com/skypilot-org/skypilot/blob/master/llm/vllm) to start the vLLM demo, and the [blog post](https://blog.skypilot.co/serving-llm-24x-faster-on-the-cloud-with-vllm-and-skypilot/) for the story behind vLLM development on the clouds. |
36 |
| -- [2023/06] We officially released vLLM! FastChat-vLLM integration has powered [LMSYS Vicuna and Chatbot Arena](https://chat.lmsys.org) since mid-April. Check out our [blog post](https://vllm.ai). |
37 |
| - |
38 |
| ---- |
39 |
| -## About |
40 |
| -vLLM is a fast and easy-to-use library for LLM inference and serving. |
41 |
| - |
42 |
| -vLLM is fast with: |
43 |
| - |
44 |
| -- State-of-the-art serving throughput |
45 |
| -- Efficient management of attention key and value memory with **PagedAttention** |
46 |
| -- Continuous batching of incoming requests |
47 |
| -- Fast model execution with CUDA/HIP graph |
48 |
| -- Quantization: [GPTQ](https://arxiv.org/abs/2210.17323), [AWQ](https://arxiv.org/abs/2306.00978), [SqueezeLLM](https://arxiv.org/abs/2306.07629) |
49 |
| -- Optimized CUDA kernels |
50 |
| - |
51 |
| -vLLM is flexible and easy to use with: |
52 |
| - |
53 |
| -- Seamless integration with popular Hugging Face models |
54 |
| -- High-throughput serving with various decoding algorithms, including *parallel sampling*, *beam search*, and more |
55 |
| -- Tensor parallelism support for distributed inference |
56 |
| -- Streaming outputs |
57 |
| -- OpenAI-compatible API server |
58 |
| -- Support NVIDIA GPUs and AMD GPUs |
59 |
| - |
60 |
| -vLLM seamlessly supports many Hugging Face models, including the following architectures: |
61 |
| - |
62 |
| -- Aquila & Aquila2 (`BAAI/AquilaChat2-7B`, `BAAI/AquilaChat2-34B`, `BAAI/Aquila-7B`, `BAAI/AquilaChat-7B`, etc.) |
63 |
| -- Baichuan & Baichuan2 (`baichuan-inc/Baichuan2-13B-Chat`, `baichuan-inc/Baichuan-7B`, etc.) |
64 |
| -- BLOOM (`bigscience/bloom`, `bigscience/bloomz`, etc.) |
65 |
| -- ChatGLM (`THUDM/chatglm2-6b`, `THUDM/chatglm3-6b`, etc.) |
66 |
| -- DeciLM (`Deci/DeciLM-7B`, `Deci/DeciLM-7B-instruct`, etc.) |
67 |
| -- Falcon (`tiiuae/falcon-7b`, `tiiuae/falcon-40b`, `tiiuae/falcon-rw-7b`, etc.) |
68 |
| -- GPT-2 (`gpt2`, `gpt2-xl`, etc.) |
69 |
| -- GPT BigCode (`bigcode/starcoder`, `bigcode/gpt_bigcode-santacoder`, etc.) |
70 |
| -- GPT-J (`EleutherAI/gpt-j-6b`, `nomic-ai/gpt4all-j`, etc.) |
71 |
| -- GPT-NeoX (`EleutherAI/gpt-neox-20b`, `databricks/dolly-v2-12b`, `stabilityai/stablelm-tuned-alpha-7b`, etc.) |
72 |
| -- InternLM (`internlm/internlm-7b`, `internlm/internlm-chat-7b`, etc.) |
73 |
| -- LLaMA & LLaMA-2 (`meta-llama/Llama-2-70b-hf`, `lmsys/vicuna-13b-v1.3`, `young-geng/koala`, `openlm-research/open_llama_13b`, etc.) |
74 |
| -- Mistral (`mistralai/Mistral-7B-v0.1`, `mistralai/Mistral-7B-Instruct-v0.1`, etc.) |
75 |
| -- Mixtral (`mistralai/Mixtral-8x7B-v0.1`, `mistralai/Mixtral-8x7B-Instruct-v0.1`, etc.) |
76 |
| -- MPT (`mosaicml/mpt-7b`, `mosaicml/mpt-30b`, etc.) |
77 |
| -- OPT (`facebook/opt-66b`, `facebook/opt-iml-max-30b`, etc.) |
78 |
| -- Phi (`microsoft/phi-1_5`, `microsoft/phi-2`, etc.) |
79 |
| -- Qwen (`Qwen/Qwen-7B`, `Qwen/Qwen-7B-Chat`, etc.) |
80 |
| -- Qwen2 (`Qwen/Qwen2-7B-beta`, `Qwen/Qwen-7B-Chat-beta`, etc.) |
81 |
| -- StableLM(`stabilityai/stablelm-3b-4e1t`, `stabilityai/stablelm-base-alpha-7b-v2`, etc.) |
82 |
| -- Yi (`01-ai/Yi-6B`, `01-ai/Yi-34B`, etc.) |
83 |
| - |
84 |
| -Install vLLM with pip or [from source](https://vllm.readthedocs.io/en/latest/getting_started/installation.html#build-from-source): |
| 7 | +Clone and install magic_wand: |
85 | 8 |
|
86 | 9 | ```bash
|
87 |
| -pip install vllm |
| 10 | +git clone https://github.com/neuralmagic/magic_wand.git |
| 11 | +cd magic_wand |
| 12 | +export TORCH_CUDA_ARCH_LIST=8.6 |
| 13 | +pip install -e . |
88 | 14 | ```
|
89 | 15 |
|
90 |
| -## Getting Started |
91 |
| - |
92 |
| -Visit our [documentation](https://vllm.readthedocs.io/en/latest/) to get started. |
93 |
| -- [Installation](https://vllm.readthedocs.io/en/latest/getting_started/installation.html) |
94 |
| -- [Quickstart](https://vllm.readthedocs.io/en/latest/getting_started/quickstart.html) |
95 |
| -- [Supported Models](https://vllm.readthedocs.io/en/latest/models/supported_models.html) |
96 |
| - |
97 |
| -## Contributing |
| 16 | +Install: |
| 17 | +```bash |
| 18 | +cd ../ |
| 19 | +pip install -e . |
| 20 | +``` |
98 | 21 |
|
99 |
| -We welcome and value any contributions and collaborations. |
100 |
| -Please check out [CONTRIBUTING.md](./CONTRIBUTING.md) for how to get involved. |
| 22 | +### Run Sample |
101 | 23 |
|
102 |
| -## Citation |
| 24 | +Run a 50% sparse model: |
103 | 25 |
|
104 |
| -If you use vLLM for your research, please cite our [paper](https://arxiv.org/abs/2309.06180): |
105 |
| -```bibtex |
106 |
| -@inproceedings{kwon2023efficient, |
107 |
| - title={Efficient Memory Management for Large Language Model Serving with PagedAttention}, |
108 |
| - 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}, |
109 |
| - booktitle={Proceedings of the ACM SIGOPS 29th Symposium on Operating Systems Principles}, |
110 |
| - year={2023} |
111 |
| -} |
112 |
| -``` |
| 26 | +```bash |
| 27 | +from vllm import LLM, SamplingParams |
| 28 | + |
| 29 | +model = LLM( |
| 30 | + "nm-testing/Llama-2-7b-pruned50-retrained", |
| 31 | + sparsity="sparse_w16a16", # If left off, model will be loaded as dense |
| 32 | + enforce_eager=True, # Does not work with cudagraphs yet |
| 33 | + dtype="float16", |
| 34 | + tensor_parallel_size=1, |
| 35 | + max_model_len=1024 |
| 36 | +) |
| 37 | + |
| 38 | +sampling_params = SamplingParams(max_tokens=100, temperature=0) |
| 39 | +outputs = model.generate("Hello my name is", sampling_params=sampling_params) |
| 40 | +outputs[0].outputs[0].text |
| 41 | +``` |
0 commit comments