5分钟在本地PC上使用VLLM快速启动DeepSeek-R1-Distill-Qwen-32B

news/2025/2/4 18:47:17 标签: VLLM, DeepSeek, DeepSeek-R1

5分钟在本地PC上使用VLLM快速启动DeepSeek-R1-Distill-Qwen-32B

    • 前言
    • 环境准备
      • 所需工具
      • 创建虚拟环境
      • 安装VLLM及依赖库
    • 模型下载
      • 安装Hugging Face CLI
      • 下载DeepSeek-R1-Distill-Qwen-32B
    • 模型启动
      • 启动命令
      • 启动确认
    • 模型验证
      • 发送API请求
      • 示例输出
    • 注意事项
    • 参考链接

前言

VLLM 是一个高效且轻量的大规模语言模型(LLM)服务器。本文将介绍如何在本地PC上使用VLLM快速启动 DeepSeek-R1-Distill-Qwen-32B 这一高性能语言模型。按照本文的步骤操作,您可以在5分钟内完成模型的启动。

环境准备

所需工具

请确保已安装以下工具:

  • conda:用于管理Python虚拟环境。
  • pip:用于安装Python包。
  • VLLM:用于高效运行LLM的服务器。
  • flash-attn:用于加速模型推理的库。

创建虚拟环境

首先,创建一个Python 3.11的虚拟环境并激活它。

conda create -n vllm_v0.7.1 python=3.11 -y
conda activate vllm_v0.7.1

VLLM_23">安装VLLM及依赖库

运行以下命令安装VLLMflash-attn

pip install vllm
pip install flash-attn --no-build-isolation

模型下载

安装Hugging Face CLI

为了下载模型,首先安装Hugging Face CLI。

pip install "huggingface_hub[hf_transfer]"

DeepSeekR1DistillQwen32B_40">下载DeepSeek-R1-Distill-Qwen-32B

使用以下命令下载 DeepSeek-R1-Distill-Qwen-32B 模型。

HF_HUB_ENABLE_HF_TRANSFER=1 \
huggingface-cli download deepseek-ai/DeepSeek-R1-Distill-Qwen-32B

模型启动

启动命令

使用以下命令启动模型。
(通过CUDA_VISIBLE_DEVICES指定使用的GPU,并通过--tensor-parallel-size指定GPU数量。)

CUDA_VISIBLE_DEVICES=3,1,0,2 \
VLLM_USE_V1=1 \
VLLM_WORKER_MULTIPROC_METHOD=spawn \
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B \
--trust-remote-code --served-model-name gpt-4 \
--gpu-memory-utilization 0.98 --tensor-parallel-size 4 \
--port 8000 --max-model-len 65536

启动确认

成功启动后,您将看到以下消息:

INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

模型验证

发送API请求

使用以下命令向启动的模型发送API请求,验证其是否正常运行。

invoke_url='http://localhost:8000/v1/chat/completions'

authorization_header='Authorization: Bearer sk-dummy'
accept_header='Accept: application/json'
content_type_header='Content-Type: application/json'

data=$'{
  "messages": [
    {
      "role": "user",
      "content": "Which number is larger, 9.11 or 9.8?"
    }
  ],
  "stream": false,
  "model": "gpt-4",
  "max_tokens": 4096,
  "presence_penalty": 0,
  "frequency_penalty": 0,
  "top_p": 0.7,
  "temperature": 0.6
}'

response=$(curl --silent -i -w "\n%{http_code}" --request POST \
  --url "$invoke_url" \
  --header "$authorization_header" \
  --header "$accept_header" \
  --header "$content_type_header" \
  --data "$data"
)

echo "$response"

示例输出

您将收到类似以下的响应:
image.png


注意事项

  • GPU内存设置--gpu-memory-utilization 0.98用于设置GPU内存利用率,请根据您的环境调整。
  • 张量并行处理--tensor-parallel-size 4应根据使用的GPU数量进行调整。
  • 端口号--port 8000是API的端口号,如果与其他应用程序冲突,请更改。

参考链接

  • VLLM官方文档
  • DeepSeek-R1-Distill-Qwen-32B(Hugging Face)

按照以上步骤,您可以在本地PC上快速启动 DeepSeek-R1-Distill-Qwen-32B 模型。赶快试试吧!


http://www.niftyadmin.cn/n/5841742.html

相关文章

虚幻基础17:动画层接口

能帮到你的话,就给个赞吧 😘 文章目录 animation layer interface animation layer interface 动画层接口:动画图表的集。仅有名字。 添加到动画蓝图中,由动画蓝图实现动画图表。

Golang 并发机制-4:用Mutex管理共享资源

并发性是Go的强大功能之一,它允许多个线程(并发线程)同时执行。然而,权力越大,责任越大。当多个例程并发地访问和修改共享资源时,可能会导致数据损坏、竞争条件和不可预测的程序行为。为了解决这些问题&…

【PyTorch】7.自动微分模块:开启神经网络 “进化之门” 的魔法钥匙

目录 1. 梯度基本计算 2. 控制梯度计算 3. 梯度计算注意 4. 小节 个人主页:Icomi 专栏地址:PyTorch入门 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活…

centos如何压缩zip

在CentOS系统中,压缩和解压缩文件是常见的任务之一。zip命令行工具可以方便地将文件或目录压缩成zip格式文件。本文将详细介绍如何在CentOS上安装并使用zip工具进行文件和目录的压缩。 安装zip工具 首先,确保系统安装了zip工具。如果未安装&#xff0c…

数据结构:时间复杂度

文章目录 为什么需要时间复杂度分析?一、大O表示法:复杂度的语言1.1 什么是大O?1.2 常见复杂度速查表 二、实战分析:解剖C语言代码2.1 循环结构的三重境界单层循环:线性时间双重循环:平方时间动态边界循环&…

【玩转 Postman 接口测试与开发2_015】第12章:模拟服务器(Mock servers)在 Postman 中的创建与用法(含完整实测效果图)

《API Testing and Development with Postman》最新第二版封面 文章目录 第十二章 模拟服务器(Mock servers)在 Postman 中的创建与用法1 模拟服务器的概念2 模拟服务器的创建2.1 开启侧边栏2.2 模拟服务器的两种创建方式2.3 私有模拟器的 API 秘钥的用法…

Leetcode—1427. 字符串的左右移【简单】Plus

2025每日刷题&#xff08;206&#xff09; Leetcode—1427. 字符串的左右移 实现代码 class Solution { public:string stringShift(string s, vector<vector<int>>& shift) {// shift[i] [dir, amount]// dir 0(左) or 1(右)// 左表示正, 右表示负int len…

音标-- 02-- 重音 音节 变音

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 国际音标1.重音2.音节3.变音 国际音标 1.重音 2.音节 3.变音