README.md 3.54 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
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## 暂不支持的官方功能
- **量化推理**:目前支持fp16的推理和gptq推理,awq-int4和mralin的权重量化、kv-cache fp8推理方案暂不支持
- **模块支持**:目前不支持Sliding window attention、 moe kernel和lora模块


## 支持模型结构列表
|     结构     |     模型      | 模型并行 | FP16 |
| :----------: | :----------: | :------: | :--: |
|    LlamaForCausalLM       |    LLaMA          |   Yes    | Yes  |
|    LlamaForCausalLM       |    LLaMA-2        |   Yes    | Yes  |
|    LlamaForCausalLM       |    LLaMA-3        |   Yes    | Yes  |
|    LlamaForCausalLM       |    Codellama      |   Yes    | Yes  |
|    QWenLMHeadModel        |    QWen           |   Yes    | Yes  |
|    BaiChuanForCausalLM    |    Baichuan-7B    |   Yes    | Yes  |
|    BaiChuanForCausalLM    |    Baichuan2-7B   |   Yes    | Yes  |
|    ChatGLMModel           |    chatglm2-6b    |   Yes    | Yes  |
|    ChatGLMModel           |    chatglm3-6b    |   Yes    | Yes  |
|    InternLMForCausalLM    |    InternLM       |   Yes    | Yes  |
|    InternLM2ForCausalLM   |    InternLM2      |   Yes    | Yes  |
|    LlamaForCausalLM       |    Yi             |   Yes    | Yes  |
|    MixtralForCausalLM     |    Mixtral-8x7B   |   Yes    | Yes  |


zhuwenwen's avatar
zhuwenwen committed
28
29
30
31
32
33
## 安装
vLLM支持
+ Python 3.8.
+ Python 3.9.
+ Python 3.10.
+ Python 3.11.
Woosuk Kwon's avatar
Woosuk Kwon committed
34

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

zhuwenwen's avatar
zhuwenwen committed
37
38
#### 编译环境准备
提供2种环境准备方式:
Woosuk Kwon's avatar
Woosuk Kwon committed
39

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

zhuwenwen's avatar
zhuwenwen committed
42
2. 基于现有python环境:安装pytorch2.1.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
43
44
45
46
```shell
pip install torch* (下载的torch的whl包)
pip install setuptools wheel
```
Zhuohan Li's avatar
Zhuohan Li committed
47

zhuwenwen's avatar
zhuwenwen committed
48
49
#### 源码编译安装
```shell
zhuwenwen's avatar
zhuwenwen committed
50
git clone http://developer.hpccube.com/codes/OpenDAS/vllm.git # 根据需要的分支进行切换
Zhuohan Li's avatar
Zhuohan Li committed
51
52
```

zhuwenwen's avatar
zhuwenwen committed
53
54
55
56
- 提供2种源码编译方式(进入vllm目录):
```
1. 编译whl包并安装
python setup.py bdist_wheel 
zhuwenwen's avatar
zhuwenwen committed
57
58
cd dist
pip install vllm*
Zhuohan Li's avatar
Zhuohan Li committed
59

zhuwenwen's avatar
zhuwenwen committed
60
61
62
2. 源码编译安装
python3 setup.py install 
```
Zhuohan Li's avatar
Zhuohan Li committed
63

zhuwenwen's avatar
zhuwenwen committed
64
65
#### 运行基础环境准备
1、使用基于光源pytorch2.1.0基础镜像环境:docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-centos7.6-dtk24.04-py310 
zhuwenwen's avatar
zhuwenwen committed
66

zhuwenwen's avatar
zhuwenwen committed
67
68
69
70
2、安装以下依赖对应的包:
- 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/)
zhuwenwen's avatar
zhuwenwen committed
71
72


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

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

zhuwenwen's avatar
zhuwenwen committed
79
80
## Known Issue
-
Woosuk Kwon's avatar
Woosuk Kwon committed
81

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