Linux环境下使用vLLM部署本地大模型

本地部署模型主要包含下载模型、编写模型加载代码和发布为支持API访问的应用服务这三个步骤。

一、准备工作

  1. 系统环境
    • 确保Linux系统满足vLLM的硬件和软件要求,例如具有足够的内存、存储空间以及兼容的GPU(如果支持GPU加速)。
  2. 安装Docker
    • Docker是一个开源的应用容器引擎,用于创建、部署和管理容器化应用程序。vLLM的部署通常依赖于Docker。
    • 根据Linux发行版的不同,从Docker官网下载并安装Docker。
  3. 安装Python及pip
    • vLLM可能需要使用Python进行配置和管理,因此确保系统上已安装Python及pip包管理工具。

二、下载与配置vLLM

  1. 下载vLLM镜像
    • 从Docker Hub或其他容器镜像仓库下载vLLM的Docker镜像。
    • 使用命令如docker pull [镜像名称]来下载镜像。
  2. 下载大模型
    • 从模型库(如ModelScope、HuggingFace等)下载所需的大模型文件。
    • 将下载的模型文件解压到指定目录。
  3. 配置vLLM
    • 根据vLLM的文档,配置相关的环境变量和参数。
    • 例如,设置模型路径、数据类型、服务端口等。

#### 操作示例

1 准备GPU环境

本课程实验环境需与微调章节保持一致,确保在GPU环境下执行模型部署操作。

2 安装vLLM依赖项

# 此外,还需要安装这些依赖
! pip install vllm==XXX modelscope==XXX

3 使用vLLM部署模型并启动服务

3.1 部署开源模型

这里选择在ModelScope模型库中下载模型进行部署。当然,也可以在HuggingFace模型库下载开源模型进行部署,暂不在此演示。

首先,下载模型文件到本地。

!mkdir -p ./model/qwenxxx
!modelscope download --model qwen/Qwenxxx-1.5B-Instruct --local_dir './model/qwenxxx'

下载成功后,模型文件会保存在./model/qwen2_5-1_5b-instruct文件夹下。

接着,在终端窗口执行vllm命令启动一个模型服务。

vllm serve "./model/qwenxxxxb-instruct" --load-format "safetensors" --port 8000
  • vllm serve:表示启动模型服务。
  • "./model/qwenxxxx-instruct":表示加载的模型路径,通常包含模型文件、版本信息等。
  • --load-format "safetensors":指定加载模型时使用的格式。
  • --port 8000:指定端口号,如果端口被占用,请切换为其他端口,如8100等。

服务启动成功后,终端窗口会打印 “INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)” 信息。

请注意,关闭终端窗口将会立即终止服务。后续的步骤3和步骤4将依赖于该服务进行测试,因此请务必不要关闭此终端窗口。

如果你希望在后台持续运行服务而不受终端窗口关闭的影响,可以使用这条命令。

# 后台运行服务,且服务的运行日志存储到vllm.log
nohup vllm serve "./model/qwenxxxx-instruct" --load-format "safetensors" --port 8000 > vllm.log 2>&1 &

三、启动vLLM服务

  1. 使用Docker启动vLLM容器
    • 使用docker run命令启动vLLM容器,并映射所需的端口和卷。
    • 例如,使用命令:docker run --gpus '"device=X"' -v /path/to/model:/model -p 8080:8080 [镜像名称] --model /model --port 8080
    • 其中,--gpus '"device=X"'指定使用哪块GPU(X为GPU的编号),-v参数用于映射本地目录到容器内,-p参数用于映射端口。
  2. 验证vLLM服务是否启动成功
    • 使用docker ps命令查看正在运行的容器。
    • 使用curl或其他HTTP客户端工具向vLLM服务的端口发送请求,验证服务是否响应。

四、集成与应用

  1. 设置客户端
    • 在Python环境中,创建一个客户端来与vLLM服务进行交互。
    • 使用OpenAI SDK或其他HTTP客户端库发送请求到vLLM服务。
  2. 发送请求并处理响应
    • 构造请求体,包括模型名称、输入文本等。
    • 发送请求到vLLM服务的指定端口。
    • 处理响应结果,例如提取生成的文本或进行其他处理。

五、注意事项

  1. 兼容性
    • 确保下载的vLLM镜像和模型文件与您的系统架构和GPU兼容。
  2. 资源限制
    • 根据您的硬件配置和实际需求,合理设置vLLM服务的资源限制(如内存、显存等)。
  3. 安全性
    • 注意保护vLLM服务的访问端口和API密钥,避免未经授权的访问。
  4. 监控与维护
    • 定期监控vLLM服务的运行状态和资源使用情况,确保服务的稳定性和可靠性。
  5. 文档与社区
    • 查阅vLLM的官方文档和社区论坛,获取最新的更新和支持。

通过以上步骤,您可以在Linux环境下成功部署vLLM并运行大模型服务。在实际操作中,可能需要根据具体的vLLM版本和模型文件进行调整和优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

剑飞的编程思维

你的鼓励让是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值