当前位置: 首页 > article >正文

英伟达4090显卡ubuntu服务器部署deepseek大模型步骤(vLLM)(未验证)

文章目录

      • 一、环境搭建(关键步骤)
      • 二、模型部署(推荐vLLM方案)
        • 1. 启动OpenAI兼容API服务
        • 2. 参数说明
      • 三、API调用(完全兼容OpenAI协议)
      • 四、进阶优化建议
      • 五、验证流程
      • 附:vLLM与原生HuggingFace性能对比(RTX4090单卡)

要在NVIDIA 4090的Ubuntu服务器上部署DeepSeek-R1-Distill-Qwen-7B模型并暴露OpenAI风格的API接口,以下是关键步骤:


一、环境搭建(关键步骤)

# CUDA 12.1 (必须兼容RTX4090)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb
sudo apt-get update
sudo apt-get -y install cuda

# Pytorch及依赖
pip install torch==2.5.1+cu121 --extra-index-url https://download.pytorch.org/whl/cu121
pip install vllm==0.5.0 transformers==4.42.3 fastapi uvicorn

二、模型部署(推荐vLLM方案)

1. 启动OpenAI兼容API服务
python -m vllm.entrypoints.openai.api_server \
  --model /path/to/DeepSeek-R1-Distill-Qwen-7B \
  --served-model-name DeepSeek-API \
  --max-model-len 8192 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.95 \
  --host 0.0.0.0 \
  --port 10039 \
  --dtype float16
2. 参数说明
  • --tensor-parallel-size 1: RTX4090单卡运行
  • --gpu-memory-utilization 0.95: 显存使用率最大化
  • --dtype float16: 节省显存并获得3-5倍速度提升1

三、API调用(完全兼容OpenAI协议)

# CURL测试示例
curl http://127.0.0.1:10039/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "DeepSeek-API",
    "prompt": "如何解释量子纠缠?",
    "temperature": 0.3,
    "max_tokens": 500
  }'

# Python客户端示例(与OpenAI SDK完全兼容)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:10039/v1")

response = client.completions.create(
  model="DeepSeek-API",
  prompt="为什么天空是蓝色的?",
  temperature=0.5,
  max_tokens=300
)
print(response.choices[0].text)

四、进阶优化建议

  1. 性能优化

    # 开启PagedAttention(显存效率提升4倍)
    export VLLM_USE_PAGED_ATTENTION=1
    
    # 启用连续批处理(吞吐量提升2-10倍)[^2]
    export VLLM_USE_CONTINUOUS_BATCHING=1
    
  2. 生产级部署

    # 使用Gunicorn+Uvicorn部署
    gunicorn vllm.entrypoints.openai.api_server:app \
      --bind 0.0.0.0:10039 \
      --workers 4 \
      --timeout 180 \
      --log-level debug
    
  3. 监控方案

    # 开启metrics端点(默认端口: 8080)
    python -m vllm.entrypoints.api_server \
      --metric-port 8080 \
      ...(其他参数保持不变)
    

五、验证流程

  1. 查看GPU状态

    watch -n 1 nvidia-smi  # 观察显存占用是否正常
    
  2. 执行健康检查

    curl http://localhost:10039/v1/models
    

    应返回:

    {"object":"list","data":[{"id":"DeepSeek-API","object":"model"}]}
    

附:vLLM与原生HuggingFace性能对比(RTX4090单卡)

指标vLLMHuggingFace
吞吐量 (token/s)32048
首Token延迟 (ms)450630
显存占用 (GB)14.222.8

通过vLLM部署可获得5-6倍的性能提升12

[关键参考文档索引]


  1. vLLM部署DeepSeek官方指南(GitHub) ↩︎ ↩︎

  2. 生产级最佳实践(知乎专栏) ↩︎


http://www.kler.cn/a/564184.html

相关文章:

  • 【HCIE实验1】模拟 DHCPv6 服务器及 PD 服务器分配 IPv6 地址和前缀的网络环境。
  • WPS接入DeepSeek模型免费版本
  • Hadoop最新版本hadoop-3.4.1搭建伪分布式集群以及相关报错解决
  • 华为MindIE兼容OpenAI接口与兼容vLLM OpenAI接口的区别(华为VLLM)
  • redis --- 相关基础知识整理
  • 【YOLOv12改进[注意力]】引入无参数平均注意力PfAAM模块魔改v12 | 2022/10/14
  • 深度生成模型(二)——基本概念与数学建模
  • 阿里云AccessKey泄露以及nacos1.4.2漏洞修复
  • 数据库事务的基本要素(ACID)
  • 【HTML— 快速入门】HTML 基础
  • dify绑定飞书多维表格
  • 【补阙拾遗】排序之冒泡、插入、选择排序
  • Spring Boot 动态配置数据源全解析
  • deepseek-r1-centos-本地服务器配置方法
  • Python使用PyMySQL操作MySQL完整指南
  • 228页PPT丨制造业核心业务流程优化咨询全案(战略营销计划生产研发质量),附核心系统集成架构技术支撑体系,2月26日资料已更新
  • 定义数组存储3部汽车对象(class2:类在class1中请看上一篇博客)
  • Hive 与 TiDB 在大数据解析场景中的对比分析
  • 5.10 P-Tuning v2:多层级提示编码的微调革新
  • 利用DeepSeek-Kimi打通Excel与PPT的链条,自动生成数据分析报告