README.md 4.48 KB
Newer Older
zhuwenwen's avatar
zhuwenwen committed
1
2
# <div align="center"><strong>vLLM</strong></div>
## 简介
zhuwenwen's avatar
zhuwenwen committed
3
vLLM是一个快速且易于使用的LLM推理和服务库,使用PageAttention高效管理kv内存,Continuous batching传入请求,支持很多Hugging Face模型,如LLaMA & LLaMA-2、Qwen、Chatglm2 & Chatglm3等。
Woosuk Kwon's avatar
Woosuk Kwon committed
4

zhuwenwen's avatar
zhuwenwen committed
5
## 暂不支持的官方功能
gaoqiong's avatar
gaoqiong committed
6
- **量化推理**:目前支持fp16的推理和gptq,awq-int4推理,mralin的权重量化、kv-cache fp8推理方案暂不支持
7
- **模块支持**:目前不支持Sliding window attention
zhuwenwen's avatar
zhuwenwen committed
8
9
10


## 支持模型结构列表
zhuwenwen's avatar
zhuwenwen committed
11
12
| 结构 | 模型 | 模型并行 | FP16 |
| :------: | :------: | :------: | :------: |
zhuwenwen's avatar
zhuwenwen committed
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| LlamaForCausalLM      | Llama 3.1,Llama 3,Llama 2,Llama,Yi,Codellama、deepseek  | Yes | Yes |  
| QWenLMHeadModel       | QWen,Qwen-VL                                               | Yes | Yes |
| Qwen2ForCausalLM      | QWen2,QWen1.5,CodeQwen1.5                                 | Yes | Yes |
| ChatGLMModel          | glm-4v-9b,chatglm3,chatglm2                               | Yes | Yes |
| DeepseekV2ForCausalLM | DeepSeek-V2                                                 | Yes | Yes |
| BaiChuanForCausalLM   | Baichuan2,Baichuan                                         | Yes | Yes |
| BloomForCausalLM      | BLOOM                                                       | Yes | Yes |
| InternLMForCausalLM   | InternLM                                                    | Yes | Yes |
| InternLM2ForCausalLM  | InternLM2                                                   | Yes | Yes |
| MiniCPMForCausalLM    | MiniCPM                                                     | Yes | Yes |
| MiniCPM3ForCausalLM   | MiniCPM3                                                    | Yes | Yes |
| MixtralForCausalLM    | Mixtral-8x7B,Mixtral-8x7B-Instruct                         | Yes | Yes |
| TeleChat12BForCausalLM (#TelechatForCausalLM) | TeleChat-12B                        | Yes | Yes |
| LlavaForConditionalGeneration       | LLaMA,LLaMA-2,LLaMA-3                       | Yes | Yes |
| Qwen2VLForConditionalGeneration     | Qwen2-VL                                      | Yes | Yes |
| MiniCPMV                            | MiniCPM-V                                     | Yes | Yes |
| Phi3VForCausalLM                    | Phi-3.5-vision                                | Yes | Yes |
zhuwenwen's avatar
zhuwenwen committed
30
31


zhuwenwen's avatar
zhuwenwen committed
32
33
34
35
36
37
## 安装
vLLM支持
+ Python 3.8.
+ Python 3.9.
+ Python 3.10.
+ Python 3.11.
Woosuk Kwon's avatar
Woosuk Kwon committed
38

zhuwenwen's avatar
zhuwenwen committed
39
### 使用源码编译方式安装
Woosuk Kwon's avatar
Woosuk Kwon committed
40

zhuwenwen's avatar
zhuwenwen committed
41
42
#### 编译环境准备
提供2种环境准备方式:
Woosuk Kwon's avatar
Woosuk Kwon committed
43

44
1. 基于光源pytorch2.3.0基础镜像环境:镜像下载地址:[https://sourcefind.cn/#/image/dcu/pytorch](https://sourcefind.cn/#/image/dcu/pytorch),根据pytorch2.1.0、python、dtk及系统下载对应的镜像版本。
45

46
2. 基于现有python环境:安装pytorch2.3.0,pytorch whl包下载目录:[https://cancon.hpccube.com:65024/4/main/pytorch](https://cancon.hpccube.com:65024/4/main/pytorch),根据python、dtk版本,下载对应pytorch2.1.0的whl包。安装命令如下:
zhuwenwen's avatar
zhuwenwen committed
47
48
49
50
```shell
pip install torch* (下载的torch的whl包)
pip install setuptools wheel
```
Zhuohan Li's avatar
Zhuohan Li committed
51

zhuwenwen's avatar
zhuwenwen committed
52
53
#### 源码编译安装
```shell
zhuwenwen's avatar
zhuwenwen committed
54
git clone http://developer.hpccube.com/codes/OpenDAS/vllm.git # 根据需要的分支进行切换
Zhuohan Li's avatar
Zhuohan Li committed
55
```
zhuwenwen's avatar
zhuwenwen committed
56
57
58
59
安装依赖:
```shell
pip install -r requirements-rocm.txt
```
zhuwenwen's avatar
zhuwenwen committed
60
61
62
- 提供2种源码编译方式(进入vllm目录):
```
1. 编译whl包并安装
zhuwenwen's avatar
zhuwenwen committed
63
VLLM_INSTALL_PUNICA_KERNELS=1 python setup.py bdist_wheel 
zhuwenwen's avatar
zhuwenwen committed
64
65
cd dist
pip install vllm*
Zhuohan Li's avatar
Zhuohan Li committed
66

zhuwenwen's avatar
zhuwenwen committed
67
2. 源码编译安装
zhuwenwen's avatar
zhuwenwen committed
68
VLLM_INSTALL_PUNICA_KERNELS=1 python3 setup.py install 
zhuwenwen's avatar
zhuwenwen committed
69
```
Zhuohan Li's avatar
Zhuohan Li committed
70

zhuwenwen's avatar
zhuwenwen committed
71
#### 运行基础环境准备
72
1、使用上面基于光源pytorch2.3.0基础镜像环境
zhuwenwen's avatar
zhuwenwen committed
73

74
2、根据pytorch2.3.0、python、dtk及系统下载对应的依赖包:
zhuwenwen's avatar
zhuwenwen committed
75
76
77
- triton:[https://cancon.hpccube.com:65024/4/main/triton](https://cancon.hpccube.com:65024/4/main/triton/)
- xformers:[https://cancon.hpccube.com:65024/4/main/xformers](https://cancon.hpccube.com:65024/4/main/xformers)
- flash_attn: [https://cancon.hpccube.com:65024/4/main/flash_attn](https://cancon.hpccube.com:65024/4/main/flash_attn)
gaoqiong's avatar
gaoqiong committed
78
- lmslim: [https://cancon.hpccube.com:65024/4/main/lmslim](https://cancon.hpccube.com:65024/4/main/lmslim)
zhuwenwen's avatar
zhuwenwen committed
79

zhuwenwen's avatar
zhuwenwen committed
80
81
#### 注意事项
+ 若使用 pip install 下载安装过慢,可添加源:-i https://pypi.tuna.tsinghua.edu.cn/simple/
82

zhuwenwen's avatar
zhuwenwen committed
83
## 验证
zhuwenwen's avatar
zhuwenwen committed
84
- python -c "import vllm; print(vllm.\_\_version__)",版本号与官方版本同步,查询该软件的版本号,例如0.6.2;
Woosuk Kwon's avatar
Woosuk Kwon committed
85

zhuwenwen's avatar
zhuwenwen committed
86
87
## Known Issue
-
Woosuk Kwon's avatar
Woosuk Kwon committed
88

zhuwenwen's avatar
zhuwenwen committed
89
90
91
## 参考资料
- [README_ORIGIN](README_ORIGIN.md)
- [https://github.com/vllm-project/vllm](https://github.com/vllm-project/vllm)