vllm多卡部署大模型
时间: 2025-01-23 08:08:07 浏览: 319
### 使用 VLLM 进行多GPU部署
为了在多个GPU上高效部署大型模型,VLLM 提供了一套完整的解决方案。这不仅简化了开发者的操作流程,还显著提高了模型推理的速度和效率。
#### 安装依赖项
确保环境中已安装 Python、Ray 库以及最新版本的 VLLM 及其相关组件[^1]:
```bash
pip install ray vllm
```
对于更全面的支持,特别是当计划使用特定功能如 `xformers` 或者来自 ModelScope 的预训练模型时,则需进一步扩展安装列表[^3]:
```bash
pip install -U xformers torch torchvision torchaudio triton --index-url https://download.pytorch.org/whl/cu121
pip install modelscope vllm
```
#### 初始化 Ray 集群并启动服务
创建一个简单的脚本来初始化 Ray 并加载目标模型到内存中。此过程会自动检测可用的 GPU 设备数量,并据此分配资源给各个 worker 实例处理请求。
```python
import os
from vllm import LLM, SamplingParams
# 设置环境变量以启用所有可见的 CUDA 设备
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3" # 假设有四块 GPU 卡
def start_llm_service(model_name='facebook/opt-1.3b'):
llm = LLM(
model=model_name,
tensor_parallel_size=len(os.getenv('CUDA_VISIBLE_DEVICES', '').split(',')),
seed=0
)
sampling_params = SamplingParams(temperature=0.7)
return llm.generate(["你好"], sampling_params=sampling_params)[0].outputs[0].text
if __name__ == '__main__':
result = start_llm_service()
print(f'Generated text: {result}')
```
上述代码片段展示了如何指定要使用的 GPU 列表,并通过设置 `tensor_parallel_size` 参数告知 VLLM 将模型切分至多少个设备上去运行。这里假设拥有四块 GPU,在实际应用中应根据实际情况调整该参数值。
阅读全文
相关推荐


















