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

用 vLLM 在两张 RTX 3090 上部署 Qwen2.5-14B BF16全量大模型的完整过程

🐇明明跟你说过:个人主页

🏅个人专栏:《深度探秘:AI界的007》 🏅

🔖行路有良友,便是天堂🔖

目录

一、前言

1、Qwen2.5-14B 简介与优势

2、双 3090 的算力配置

二、技术栈介绍

1、vLLM简介

2、NVIDIA 系列 GPU 简介

3、Qwen系列模型简介

4、什么是模型量化(Quantization)

三、环境准备

1、硬件环境

2、软件环境

四、部署Qwen2.5:14B

1、模型文件准备

2、安装vLLM

3、使用 Python 脚本方式运行

4、常驻运行(对外提供服务)

5、本地调用测试

6、进阶建议


一、前言

1、Qwen2.5-14B 简介与优势

🤖 Qwen2.5-14B 是什么?

Qwen2.5-14B 是阿里云推出的大语言模型 Qwen2.5 系列中的「大块头」——拥有 140亿参数 的智能大脑🧠!

你可以把它想象成一个能写、能答、能聊、还能编程的超级助手,既聪明又可靠~


🌟 Qwen2.5-14B 有啥亮点?

1️⃣ 更聪明的大脑 🧠

相比之前的版本,Qwen2.5-14B 在理解语言、分析问题、写作、推理等方面全面升级
无论是日常对话,还是技术问题,它都能“对答如流”。


2️⃣ 多才多艺 ✍️🧑‍💻📚

它不仅能写文章📄、生成代码💻、翻译语言🌍,还能辅助写论文、整理文档,甚至参与编程教学!

👉 应用场景举几个:

  • 写周报、写PPT大纲 ✅

  • 翻译中英文 ✅

  • 分析数据结构、写 Python、Go、SQL ✅

  • 总结长文档、提取关键信息 ✅

  


3️⃣ 支持多轮对话,记忆力💾更强

Qwen2.5-14B 的对话能力更自然、更有逻辑,而且可以“记住上下文”,实现更流畅的多轮交流👏。

比如:你前面问了一个问题,后面继续提问时,它还能“接得上茬”!


4️⃣ 中英双语都厉害 🌏

中文自然不用说,母语级别✅
英文水平也很强,能轻松处理技术文档、科研论文和日常交流✒️


5️⃣ 开源友好 🔓

Qwen 系列是 开放的、可商用的模型,意味着开发者、企业可以自由使用和集成,构建自己的 AI 应用,少了很多束缚!💼💡

比如:

  • 构建企业客服助手

  • 嵌入到办公系统中

  • 自研 AI 产品(智能问答、知识库等)


2、双 3090 的算力配置

💥双 RTX 3090:极限性能,性价比之选⚡

如果说显卡是深度学习的“发动机”,那么双 RTX 3090绝对是民间炼丹师们的“神级座驾”!🏎️💨

在消费级显卡中,3090 拥有:

  • 🧠 24GB 大显存(训练大模型的“必需品”)

  • 🔥 强劲的 FP16/TF32 算力

  • 💵 相对合理的二手价格(尤其是在 4090/5090 推出之后)

而 **双卡并联(NVLink 或多进程策略)**更是把性价比拉满,成为小团队、本地实验、独立研究者的理想选择!


✅ 为什么说它是“极限”?

  • 可以单机跑 LLaMA、Qwen、Mistral 等中等规模模型 🧠

  • 数据吞吐速度快,训练速度比单卡提升一大截 🚀

  • 能胜任多模型并发推理任务,边训练边测试都不是问题!

   


✅ 为什么说它是“性价比”?

  • 二手一张 3090 价格≈一张 4080,但显存更大!

  • 比 4090 更便宜、比 A6000 更实用、比 4090Ti 更可控 👊

  • 配合 Open Source 大模型,打通训练 + 推理全流程 🧑‍💻


🧊 小提醒:

当然,双卡发热量大、功耗高,建议搭配:

  • 大功率电源(≥1000W)

  • 优秀的散热系统(风道通畅 or 水冷)

  • 机箱空间足够大!


🔚 总结一句话:

**双 3090,不只是极限堆料,更是 AI 开发者的“性价比之选”!**💻🔥

  


二、技术栈介绍

1、vLLM简介

🚀 什么是 vLLM?

vLLM 是一个开源的 高性能推理引擎,专为大语言模型(LLMs)打造,它让模型“跑得更快、用得更省”💨。

📌 项目地址:https://github.com/vllm-project/vllm
✅ 支持 Hugging Face 上的大多数主流模型(如 LLaMA、Mistral、Qwen 等)


🌟 vLLM 的核心亮点

1️⃣ 超快推理速度 ⚡

vLLM 使用了一种叫做 PagedAttention 的新机制,优化了传统 Transformer 的内存使用方式,使模型推理变得更高效,速度提升可达 2~4 倍


2️⃣ 多用户高并发 ✨

你可以让很多人同时调用同一个模型,vLLM 会智能调度,避免资源冲突。

适合部署到:

  • AI 聊天机器人

  • 多人问答接口

  • 在线写作、翻译工具

  


3️⃣ 支持 OpenAI 接口风格 🧠

只需几行命令,就能让你的本地大模型支持 OpenAI API 接口,像 chat/completions 一样调用,

再用 curlopenai SDK 调用就行!是不是很丝滑😎?


4️⃣ 多 GPU 高效利用 🔧

vLLM 支持 多 GPU 部署,能智能把模型参数分布到多个显卡上,非常适合:

  • 多张 3090 / A100 / H100 环境

  • 单机多卡或集群部署


5️⃣ 高吞吐、低延迟 🌀

即使是上百个请求同时进来,vLLM 也能做到:

  • ✅ 快速响应

  • ✅ 内存精打细算

  • ✅ 批处理优化

适合追求实时性的 AI 应用场景。

更多vLLM介绍,可以参考这篇文章

  


2、NVIDIA 系列 GPU 简介

🎮💻 NVIDIA GPU 系列介绍

NVIDIA 是显卡界的扛把子 💪,其 GPU 不仅统治着游戏圈,更是AI 和深度学习界的最强大脑 🧠。
它的产品线主要分为以下几大类👇:


🎮 GeForce 系列 —— 游戏 & 入门 AI 的主力军

这是最常见的一类显卡,主打游戏玩家和普通创作者。

型号说明是否适合 AI
GTX 1660、1050Ti老将,适合办公和轻游戏❌ 显存太小,不推荐
RTX 2060/3060/4060主流级游戏卡,性价比高⚠️ 可做基础 AI 实验(如小模型)
RTX 3080 / 3090 / 4070 / 4080 / 4090顶级消费卡,24GB 显存(3090/4090)✅ 深度学习性价比之选,能训模型

🌟 特别推荐:RTX 3090/4090

  • 24GB 大显存,能跑 LLaMA、Qwen、Mistral 等大语言模型

  • vLLM 推理、多卡训练完全胜任!

  


🤖 Tesla / A100 / H100 系列 —— 数据中心神器

这类 GPU 是为AI 训练 & 超大规模计算设计的,常见于服务器集群中:

型号显存适用场景
Tesla V10016/32GB经典 AI 卡,现在仍可用
A10040/80GB强大训练卡,AI 大模型常用
H10080GB HBM3当前最强卡之一,用于 GPT 级别模型

🔥 特点:

  • 不接显示器

  • 专为训练优化(FP16、TensorCore 超强)

  • 用在如 ChatGPT、BERT、Stable Diffusion 的大规模训练上


🧪 Jetson 系列 —— 边缘计算 / 物联网 AI

面向开发板 & 机器人等小型设备的 GPU:

型号特点
Jetson Nano轻量、便携
Jetson Xavier性能更强

👍 如果你做嵌入式 AI,小而强的 Jetson 是好选择!


🧠 总结一下:

场景推荐 GPU
游戏娱乐 + AI 入门RTX 3060/3080/3090
本地部署大模型RTX 3090、4090、A6000
多卡训练/企业研发A100、H100
移动设备 & 教育开发Jetson Nano/Xavier

  


3、Qwen系列模型简介

🤖 Qwen 系列大模型简介

你是否听说过「Qwen」这个名字?它是阿里云推出的开源大语言模型家族,名字取自 “通义千问”(Qwen = QianWen),寓意 “千问千答、智慧无边”🌌。

它不仅是国产开源大模型的佼佼者,还支持商业化使用,用起来放心又强大!


🧬 Qwen 系列进化之路

版本发布时间特点亮点参数范围代表模型
Qwen1.52023年末首次大规模开源中英文大模型,适合入门使用0.5B ~ 72BQwen1.5-7B、Qwen1.5-14B
Qwen2.52024年中架构优化 + 数据增强,支持 vLLM,推理速度快同上Qwen2.5-1.8B、7B、14B
Qwen32025年初接近 GPT-4 水准,中文 SOTA,多模态更强1.5B ~ 72B+Qwen3-7B、14B、72B、MoE

  


🧩 Qwen1.5:奠基之作

✅ 优点:

  • 良好的中英文通用性

  • 开源 + 商用许可

  • 已有众多第三方工具支持(如 LangChain)

⚠️ 限制:

  • 推理速度稍慢

  • 训练数据中英文比重偏中文

🔧 推荐用途:轻量部署、学习研究、初级应用开发


⚙️ Qwen2.5:速度与性能双升级

🚀 优化亮点:

  • 架构升级:基于 Transformer + SwiGLU + Rotary PosEmbedding

  • 支持 vLLM、多线程推理,速度飞快⚡

  • 中文、英文、代码理解都更强

✅ 更适合部署在 RTX3090 / 4090 / A100 等显卡上

🔧 推荐用途:企业私有部署、中型应用开发、快速响应系统


🧠 Qwen3:全能旗舰,媲美 GPT-4

🎯 核心优势:

  • 中英文能力双满分(中文能力甚至领先 GPT-4)

  • 更长上下文、更强代码推理、多轮对话无压力

  • 训练数据更丰富,知识更广泛

  • 支持 Qwen3-MoE(混合专家模型)👉 高性能低成本!

🏆 在 CMMLU、MMLU、HumanEval 等多个榜单碾压 LLaMA3 同级别模型

🔧 推荐用途:大模型基础设施、科研场景、AI 原生应用开发


💡 简单比一比:谁更适合你?

使用需求推荐版本显卡建议
学习 / 实验 / 嵌入式Qwen1.5-1.8B / Qwen2.5-1.8B8G显存左右
中型服务 / 本地 AI 助手Qwen2.5-7B / Qwen3-7B≥16G 显存
本地智能体 / 私有部署Qwen2.5-14B / Qwen3-14B≥24G 显存(如 3090)
科研 / AI 应用开发平台Qwen3-72B / Qwen3-MoEA100 / H100 多卡集群

🔚 总结一句话:

Qwen 是中国开源大模型的代表作,从 1.5 到 3,每一代都更聪明、更快、更强大,是国产 LLM 中最值得尝试的系列之一!💪

  


4、什么是模型量化(Quantization)

大模型非常大(几十GB起步),运行时显存压力巨大 💥。量化是为了:

  • ✅ 降低模型体积

  • ✅ 降低显存占用

  • ✅ 加速推理速度

  • ❗但可能会损失一定精度(需要权衡)


格式精度占用空间速度精度损失是否训练用说明
FP3232位浮点数非常大 🧱慢 🐌训练 & 推理最标准格式
FP1616位浮点数↓ 一半 💾中 🐢极小高性能推理与训练推荐格式
BF1616位浮点数↓ 一半 💾中 🐢极小与FP16类似,但更稳定于训练
INT88位整数↓ 75% 🔥快 🏃中等❌(仅推理)典型量化方案,兼顾速度与准确率
INT44位整数极小 🧊更快 🏎️明显❌(仅推理)极致压缩,适合部署但精度损失明显
GPTQ4位整数量化极小 🧊快 🏁可调❌(仅推理)基于分组感知误差最小化的先进量化方案,广泛用于部署
AWQ / GQA4~8位变精度极小 🧊快 🛞低~中各种研究型或优化型量化格式,兼顾精度与速度

🧱 FP32:原汁原味的大模型

  • 占空间最大,常见模型 50GB+

  • 准确率最高

  • 通常只用于训练和验证

✨ FP16(float16):“高性能原味”

  • 一般用于推理和训练,速度更快,显存减半

  • 精度接近 FP32,几乎无损失

  • 如你运行的 Qwen2.5-14B FP16,就是高质量推理版本

🧠 BF16(bfloat16)

  • 与 FP16 类似,但保留更多指数位,适合训练阶段

  • Google TPU 系上常见


⚡ INT8:“压缩之后还挺聪明”

  • 占空间只有 FP32 的 1/4

  • 推理速度显著提升

  • 精度略有下降,但可接受,常用于部署(ONNX, TensorRT)

🔬 INT4:“极限压缩选手”

  • 超省空间,仅 FP32 的 1/8

  • 推理快得飞起(尤其适合边缘设备)

  • 精度可能下降明显,不适合要求高准确率任务


🧠 哪种格式该选谁?

使用场景推荐格式备注
本地训练模型FP32 / BF16训练最可靠
本地高精度推理FP16性价比最佳
显存不足部署模型INT8部署好帮手
极致压缩跑模型INT4 / GPTQ推理速度最快,但可能牺牲少量准确率
WebUI部署 / 云端APIGPTQ / AWQ更快更省资源,适配广泛部署框架


三、环境准备

1、硬件环境

  • GPU:RTX 3090 x 2
  • CPU:32C
  • 内存:64G
  • 硬盘:≥ 50G 

2、软件环境

  • 操作系统:Ubuntu 22.04
  • GPU驱动版本:≥ 525(建议 570)
  • CUDA版本:CUDA 11.8 或 CUDA 12.x(推荐 CUDA 12.4)
  • Python 版本:python3.12
  • PyTorch版本: ≥ 2.1(推荐2.5.1) 


四、部署Qwen2.5:14B

1、模型文件准备

通过 Hugging Face 或 魔搭社区进行模型文件的下载,国内推荐魔搭社区

以魔搭社区为例,执行以下命令将 Qwen2.5-14B-Instruct 模型拉取至本地

pip install modelscope
modelscope download --model Qwen/Qwen2.5-14B-Instruct  --local_dir ./Qwen2.5-14B-Instruct


2、安装vLLM

创建虚拟环境(可选但推荐)

python -m venv vllm-env
source vllm-env/bin/activate

# 安装 vLLM + transformers(官方推荐)

pip install --upgrade pip
pip install "vllm[all]" transformers accelerate safetensors

安装包非常大,耗时可能会比较久


3、使用 Python 脚本方式运行

编写代码

from vllm import LLM, SamplingParams# 初始化模型
llm = LLM(model="/root/autodl-tmp/Qwen2.5-14B-Instruct",dtype="float16",tensor_parallel_size=2,max_model_len=8192,gpu_memory_utilization=0.95,
)# 定义推理参数
sampling_params = SamplingParams(temperature=0.7)# 拼接 prompt(低版本不支持 chat 格式)
prompt = "你是一个有帮助的 AI 助手。\n用户:你好,介绍一下Qwen2.5模型吧\n助手:"outputs = llm.generate(prompt, sampling_params)print(outputs[0].outputs[0].text)

执行代码

python test.py 


4、常驻运行(对外提供服务)

在命令行执行下面的命令

python -m vllm.entrypoints.openai.api_server \--model /root/autodl-tmp/Qwen2.5-14B-Instruct \--served-model-name Qwen2.5-14B-Instruct \--dtype float16 \--tensor-parallel-size 2 \--max-model-len 8192 \--gpu-memory-utilization 0.95

参数解释:

参数说明
--model模型名称(HF上自动拉取)
--dtype float16使用 FP16 推理,节省显存
--tensor-parallel-size 2使用 2 张显卡并行
--gpu-memory-utilization控制使用显存比例
--max-model-len最大上下文长度(Qwen2.5 支持 8K)

5、本地调用测试

上面我们已经将大模型启动完毕,接下来进行调用测试

vLLM 会默认监听 http://localhost:8000/v1/chat/completions,兼容 OpenAI 接口!

在命令行执行下面的命令

curl http://localhost:8000/v1/chat/completions   -H "Content-Type: application/json"   -d '{"model": "Qwen2.5-14B-Instruct","messages": [{"role": "user", "content": "你好,介绍一下Qwen模型吧"}],"temperature": 0.7}'


也可以用 Python + openai 兼容客户端调用:

from openai import OpenAIclient = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")response = client.chat.completions.create(model="Qwen2.5-14B-Instruct",messages=[{"role": "system", "content": "你是一个有帮助的AI助手"},{"role": "user", "content": "介绍一下你自己吧"}],temperature=0.7,
)print(response.choices[0].message.content)


6、进阶建议

--swap-space --load-format safetensorsvLLM 加载大型模型时两个常用的性能优化参数,它们可以:

  • ✅ 加速大模型加载速度(特别是首次运行)

  • ✅ 降低内存或显存压力

  • ✅ 提升容错性和部署效率


--load-format safetensors

🔍 作用:

告诉 vLLM 使用 .safetensors 格式加载权重文件,相比传统 .bin 格式,它:

  • 加载更快(是原生内存映射格式)

  • 更安全(防止任意代码执行)

  • 更节省内存

🛠 使用方式:

只需加上参数:

--load-format safetensors

✅ 条件:

  • 下载的模型文件夹必须包含 .safetensors 文件(大多数新模型默认已经支持了)。

--swap-space

🔍 作用:

设置 vLLM 在模型加载时最多使用的 CPU swap 空间(单位为 MB)

这非常有用,尤其是在:

  • 显卡内存不够时 ➜ 临时放一部分数据到内存

  • 第一次加载大模型时 ➜ 减缓“爆内存”崩溃

  • 启动大模型(如 Qwen2.5-14B)时显存紧张

🛠 使用方式(例如使用 8GB 交换空间):

--swap-space 8192

或者给个更大的缓冲:

--swap-space 16000

💡 注意:这个“swap”是 vLLM 自己管理的,并不是 Linux 的 swap 分区。


🧪 完整命令行推荐(适合双 3090 启动 Qwen2.5-14B)

python -m vllm.entrypoints.openai.api_server \--model /root/autodl-tmp/Qwen2.5-14B-Instruct \--served-model-name Qwen2.5-14B-Instruct \--dtype float16 \--tensor-parallel-size 2 \--max-model-len 8192 \--gpu-memory-utilization 0.95--swap-space 16000 \--load-format safetensors

启动后可以通过 nvidia-smi 命令来查看GPU功耗以及显存使用情况


💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!   

http://www.dtcms.com/a/265543.html

相关文章:

  • 替换springboot打好jar包中的class文件
  • Python 异步爬虫(aiohttp)高效抓取新闻数据
  • 前端开发中的 Base64 图片革命:从链接到嵌入的性能优化
  • Go爬虫实时性能监控方案
  • 利用人名语言分类案例演示RNN、LSTM和GRU的区别(基于PyTorch)
  • 【学习线路】机器学习线路概述与内容关键点说明
  • git 中删除提交历史
  • 闲庭信步使用SV搭建图像测试平台:第二十七课——图像的腐蚀
  • Windows DOS CMD 100
  • PostgreSQL-XL之 序列(Sequence)
  • 深度学习2(逻辑回归+损失函数+梯度下降)
  • 基于Spring Boot + MyBatis-Plus + Thymeleaf的评论管理系统深度解析
  • Spring Boot + Screw 一键生成数据库设计文档
  • GitHub 解码指南:用 AI 赋能,五步快速掌握任意开源项目
  • WordPress 站点漏洞利用:数据库恶意注入与多重感染的案例分析
  • 大数据环境搭建指南:基于 Docker 构建 Hadoop、Hive、HBase 等服务
  • 如何在Jupyter notebook中删除内核以及添加内核
  • 大数据救公益:数字时代下的社会力量如何玩转“数据+善意”
  • CSS之基础语法一文全解析
  • 大语言模型(LLM)按架构分类
  • 小黑黑日常积累大模型prompt句式2:【以段落的形式输出,不分点列举】【如果没有相关内容则不输出】【可读性强】【输出格式规范】
  • 音视频会议服务搭建(设计方案-Go服务端API业务逻辑流程图)-04
  • js随机生成一个颜色
  • Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
  • 【Linux】Rocky Linux 安装 Jenkins
  • Jenkins 构建过程常见错误
  • serviceWorker缓存资源
  • 项目——视频共享系统测试
  • 多线程(进阶)
  • PTA N个数求和