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

【VLLM】大模型本地化部署

目录

 一、租用服务器到服务器连接VScode全流程(可选)

二、下载模型到本地服务器

1、进入魔塔社区官网

2、选择下载模型

3、执行下载

三、部署VLLM

1 参考vllm官网文档

2 查看硬件要求

3 安装vLLM框架

 4 启动模型

5 调用模型进行对话

四、vLLM 本地部署的核心特点

✅ 1. 极致性能:高吞吐 + 低延迟

✅ 2. 高效显存利用,适配大模型

✅ 3. OpenAI API 完美兼容

✅ 4. 支持多种主流大模型

✅ 5. 灵活部署能力

五、适合人群

六、不太适合的人群或场景

七、典型应用场景

1. 本地化大模型 API 服务

2. 数据隐私要求高的企业应用

3. 模型评估、对比实验

4. 智能问答 / RAG 系统推理引擎

5. 高并发的 AI 接口服务部署

6. 模型能力展示和原型验证

总结


 一、租用服务器到服务器连接VScode全流程(可选)

AutoDL连接VSCode运行深度学习项目的全流程教程:
【云端深度学习训练与部署平台】AutoDL连接VSCode运行深度学习项目的全流程-CSDN博客

AutoDL官网地址:AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

这里介绍了 AutoDL 平台的使用方法,从平台简介、服务器租用、VSCode远程连接,到高级GPU监控工具的安装,适合中文开发者快速上手深度学习任务。

▲如果说电脑硬件配置太低(如:显存低于24GB),请根据【AutoDL连接VSCode运行深度学习项目的全流程教程】,通过云服务器来进行部署运行;

▲如果说电脑硬件配置足够高(如:显存24GB及以上),或者说有自己的服务器,可以直接跳过这一步;


二、下载模型到本地服务器

1、进入魔塔社区官网

魔塔社区官网地址:ModelScope 魔搭社区

2、选择下载模型

这里根据业务场景选择合适的模型类型和模型参数大小即可。

这里用SDK的下载方式下载模型:将代码复制到服务器中

3、执行下载

▲在服务器的数据盘中(autodl-tmp下 )创建一个.py文件(如download_model.py);

▲将复制的SDK下载代码复制到【download_model.py】 ;

▲修改存放路径为数据盘:cache_dir="/root/autodl-tmp"

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B',cache_dir="/root/autodl-tmp")

cache_dir="/root/autodl-tmp"表示存放的路径,/root/autodl-tmp为数据盘路径;

#出发路径:服务器根目录#查看当前位置
ls#进入到数据盘路径
cd autodl-tmp/#运行下载脚本download.py
python download.py

【注意】

▲下载完后,提示成功的信息可能会夹在进度条的中间,按下【回车】即可继续操作


▲验证模型文件是否下载完整?

这种情况主要出现在下载大参数模型时(如7B及以上参数模型),下载中途可能会因为网络问题导致文件下载失败从而终止。这种情况只需再次执行下载命令(如:python download.py),即可继续下载,中断反复执行即可,直到出现下载成功的提示信息即可。


▲模型资源重复

在下载模型时,有的模型文件可能会出现2个模型资源文件夹,不过这都不影响,不管用哪一份都可以;


三、部署VLLM

1 参考vllm官网文档

VllM文档参考地址:vLLM - vLLM 文档

因为VLLM的更新快,所以在部署过程中以官方文档为准

2 查看硬件要求

确保自己电脑硬件要求是否符合该要求,否则无法正常运行;

【知识扩展】

GPU 计算能力 7.0 或更高能干嘛?

  • 用途:AI 训练/推理(像 ChatGPT 模型)、科学计算、游戏光线追踪、3D 渲染、大数据处理。

  • 为什么越高越好

    • 更快:更多核心、更高效的计算(像张量核心加速 AI)。

    • 更强:支持高级指令,处理复杂任务。

    • 更省电:新架构能效更高。

    • 更兼容:支持最新软件和算法。

符合 7.0 或更高要求的 GPU

  • Volta(7.0):Tesla V100、TITAN V

  • Turing(7.5):RTX 2080 Ti、RTX 2070、RTX 2060、T4

  • Ampere(8.0/8.6):RTX 3090、3080、3060、A100、RTX A6000

  • Ada Lovelace(8.9):RTX 4090、4080、4070

  • Hopper(9.0):H100、H200

  • Blackwell(9.x):B100、B200(数据中心用)

建议

  • 个人/游戏:选 RTX 3060、4070、4090,性价比高。

  • AI/专业:选 A100、H100,算力强但贵。

  • 查具体型号:去 NVIDIA 官网(https://developer.nvidia.com/cuda-gpus)或用 nvidia-smi 工具。

如果有具体需求(比如预算、用途),告诉我,我再帮你缩小范围!


3 安装vLLM框架

第一步:创建虚拟环境

在服务器中执行以下命令

#创建一个虚拟环境
conda create -n vllm python=3.12 -y

vllm表示虚拟环境名称(可自定义);

python=3.12 表示python版本,根据vllm官方指定版本即可; 

第二步:激活虚拟环境

sourch activate vllm

conda activate vllm

 【可能报错】

root@autodl-container-9b344ca36c-008f014e:~/autodl-tmp# conda activate vllm
CondaError: Run 'conda init' before 'conda activate'                           root@autodl-container-9b344ca36c-008f014e:~/autodl-tmp# sourch activate vllm   
bash: sourch: command not found      

修复 Conda 激活问题

运行以下命令初始化 Conda:

conda init bash

然后重新打开一个终端(或运行 source ~/.bashrc 让改动立即生效):

source ~/.bashrc

然后你就可以正常激活虚拟环境了:

conda activate vllm

第三步:安装vllm

pip install vllm

 4 启动模型服务

vllm serve /root/autodl-tmp/Qwen/Qwen3-0.6B

/root/autodl-tmp/Qwen/Qwen3-0.6B 表示模型本地保存模型的绝对路径 


5 调用模型进行对话

#进入数据盘路径下
cd root/autodl-tmp#运行test.py脚本
python test.py

 

 执行代码如下

#使用openai的API风格调用本地模型
from openai import OpenAIclient = OpenAI(base_url="http://localhost:8000/v1",  api_key="yyds"  # 填任意非空字符串即可(vLLM/Ollama 不验证)
)chat_completion = client.chat.completions.create(model="/root/autodl-tmp/Qwen/Qwen3-0.6B",  messages=[{"role": "user", "content": "你好,做个自我介绍"}]
)print(chat_completion.choices[0].message.content)

 【扩展命令】

#退出虚拟环境
conda deactivate#查看你当前机器上所有 Conda 虚拟环境
conda info --env#彻底删除名为 vllm 的 Conda 环境及其所有内容
conda remove -n vllm --all 


四、vLLM 本地部署的核心特点

vLLM 是一个由 UC Berkeley 等团队开发的高性能、大语言模型推理引擎,专为本地或私有化部署场景设计,特别适合 高并发、低延迟、大模型服务化部署


✅ 1. 极致性能:高吞吐 + 低延迟

  • 📦 基于 PagedAttention 技术,极大减少内存碎片和重复计算

  • 🚀 比 HuggingFace Transformers 快 3~10 倍

  • ⏱ 支持 批量推理(Batching)并发调度(Multi-Request Handling)


✅ 2. 高效显存利用,适配大模型

  • 💾 利用显存分页机制,可在 1 张 GPU 上运行多个上下文窗口

  • ✂️ 更低显存开销,支持 上下文长度 4K~32K+

  • ⚖️ 支持 模型动态加载、按需调度


✅ 3. OpenAI API 完美兼容

  • 🧠 启动后可用 /v1/chat/completions 接口

  • 🛠 可直接接入 LangChain、Flowise、FastAPI、WebUI 等工具链

  • 🔒 本地化部署,数据私有、安全合规


✅ 4. 支持多种主流大模型

兼容 HuggingFace 上的绝大多数模型,包括但不限于:

模型系列示例
LLaMAmeta-llama/Llama-2-7b-chat
QwenQwen/Qwen-7B-Chat
Baichuanbaichuan-inc/Baichuan2-13B-Chat
Mistralmistralai/Mistral-7B-Instruct-v0.2
Gemmagoogle/gemma-7b
ChatGLMTHUDM/chatglm3-6b(通过支持的 fork)

✅ 5. 灵活部署能力

  • 🖥 单卡即可运行(如 24G RTX3090)

  • 🧩 支持多 GPU 分布式并行:Tensor Parallel + DeepSpeed

  • 🧵 支持多线程、高并发调用


五、适合人群

适合人群说明
👨‍💻 开发者 / AI 工程师具备基础 Python + Linux + CUDA 环境配置能力,想快速部署一个大模型 API 服务
🧪 科研人员 / 教研用户需要复现或评估多个大语言模型,在本地做精细对比实验
🧰 企业内测团队公司希望私有化部署 GPT 类服务、规避数据泄露风险,不依赖公网 API
🧠 AI 应用开发者开发基于大模型的应用,如智能客服、Agent、RAG 系统、Chat UI 等
🧩 边缘计算/轻量模型部署人员在小型服务器(单卡)或本地推理设备上运行压缩后的大模型,如 7B Qwen、Mistral 等

六、不太适合的人群或场景

不适合原因
零基础用户需具备一定 Linux、Python、CUDA 环境配置能力
纯 CPU 环境不支持无 GPU 的推理
需要训练/微调vLLM 专注推理,不支持模型训练或微调

vLLM 本身不直接支持微调,但你可以在 Hugging Face 或 PEFT 中微调模型(推荐 LoRA 节省资源),然后将微调后的权重加载到 vLLM 进行高效推理。


七、典型应用场景

1. 本地化大模型 API 服务

替代 OpenAI API,提供标准接口给 Web、APP、内部系统调用。

  • ✅ 完整兼容 OpenAI 接口(/v1/completions, /v1/chat/completions)

  • ✅ 可替代 GPT-3.5/4 接口使用,接入 LangChain、Flowise 等工具链


2. 数据隐私要求高的企业应用

如金融、医疗、政务、教育等对隐私数据严格的行业。

  • ✅ 模型在本地运行,不经公网传输,数据安全可控

  • ✅ 可部署在内网、企业自研云或私有服务器上


3. 模型评估、对比实验

比如需要对比 Qwen、LLaMA、Baichuan、Gemma 在多轮对话、长文摘要等任务上的表现。

  • ✅ 快速切换不同模型测试

  • ✅ 原生支持多个主流 HuggingFace 模型


4. 智能问答 / RAG 系统推理引擎

构建基于向量检索 + 大模型问答的知识问答系统。

  • ✅ 和 LangChain / LlamaIndex 高度兼容

  • ✅ 高吞吐、低延迟,适合在线用户交互场景


5. 高并发的 AI 接口服务部署

提供企业内嵌式 AI 能力,如 AI 编写文案、生成摘要、多轮对话等。

  • ✅ 支持批量推理 + 多线程

  • ✅ 吞吐量远高于传统 Transformers 推理方式


6. 模型能力展示和原型验证

快速部署一套模型接口,用于产品 MVP 测试或演示 Demo。


总结

vLLM 非常适合中高级开发者、AI 工程团队,在具备一定 GPU 资源的前提下部署高效、低成本、可控的大语言模型服务,尤其适合本地化、安全敏感、高并发调用等场景。

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

相关文章:

  • 【图片识别内容改名】用图片的内容改图片文件的名字,批量OCR识别图片上的文字并同时进行批量改名的操作步骤和注意事项
  • 深入了解JAVA中Synchronized
  • MD5算法深度剖析与可视化解析
  • Kubernetes集群安装
  • Codeforces Round 1032 (Div. 3)(A-G)
  • 嵌入式 Linux开发环境构建之安装 Samba
  • Wireshark的安装和基本使用
  • C语言---自定义类型(上)(结构体类型)
  • Vue Router 完全指南:从入门到实战,高效管理前端路由
  • C++高频知识点(十二)
  • 【LeetCode数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
  • 通信原理与USRP :PSK的调制解调(BPSK、QPSK、16PSK) 文本、图片
  • Struts2框架对重定向URL处理不当导致的OGNL注入漏洞(s2-057)
  • 【LeetCode 热题 100】105. 从前序与中序遍历序列构造二叉树——(解法二)O(n)
  • SSE连接错误机制处置
  • lvs负载均衡实操模拟
  • docker高级管理——Compose容器编排与私有仓库
  • 基于YOLOv11的无人机目标检测实战(Windows环境)
  • 小程序部分pai
  • 深度剖析:自定义线程安全 ppp::function 实现 vs std::function
  • 黑洞是什么?
  • 苍穹外卖Day3
  • python kivy 打包apk
  • 基于手势识别完成ESP32C3控制8位继电器实现智能鱼缸整体方案设计
  • “找到一个或多个多重定义的符号“(LNK2005 或 LNK1169)
  • JAVA 反射总结
  • 开源工具DeepFilterNet:实时语音降噪
  • SQL的初步学习(二)(以MySQL为例)
  • 第四章 城市给水排水处理厂站工程
  • 双向链表:前后遍历的艺术