本文详细介绍了两种主流大模型本地部署方案:面向生产环境的高性能VLLM部署(支持Linux系统和高并发)和面向个人用户的轻量级Ollama部署(支持Windows系统)。文章提供了完整的实战步骤,包括环境准备、模型下载、服务启动和API调用,并解释了模型量化原理。通过对比两种方案的特点和适用场景,帮助读者在不同环境下快速搭建自己的大模型服务,实现数据隐私保护、完全自主控制和长期成本可控的优势。
一、本地部署大模型优势
相信很多同学和我一样,平时会直接使用 DeepSeek、通义千问等提供的 API 服务——这种方式确实方便快捷。既然云端调用如此便利,为什么还要学习本地部署大模型呢?
与云端部署相比,将大模型部署在本地通常具备以下几点优势:
数据隐私与安全可控
许多企业会使用内部数据训练或微调大模型,在这个过程中难免需要模型参与数据处理。为避免企业机密、个人隐私或受监管数据上传至第三方平台,本地部署能更好地满足数据合规要求,保障数据不出域。
完全自主的控制权
云端服务可能因厂商限速、服务中断或模型版本更新而导致调用失败或效果波动(例如年初 DeepSeek 服务受攻击,或平时忘记续费导致调用失败)。本地部署则确保模型版本、服务稳定性完全由自己掌控,避免因外部因素影响业务连续性。
长期成本更可控
虽然初期需要投入硬件与部署成本,但长期使用边际成本极低,尤其适合高频调用或规模化应用场景。这也避免了因供应商定价策略调整而带来的不确定性,有利于长期项目规划。
综上所述,对于重视数据安全、需要稳定服务或长期成本控制的企业、科研团队及开发者来说,掌握本地部署大模型的能力具有重要价值。它不仅是技术保障,也逐渐成为一项核心竞争优势。
接下来,笔者将为大家分享两种实用的部署方案:适合生产环境的高性能Vllm部署方案,以及适合本地快速实验的Ollama部署方案。
二、VLLM大模型部署方案
2.1 认识VLLM
虽然可以使用transformers库来完成大模型的调用和推理,但在生产环境中往往需要更高的推理效率。为此专为高性能推理的vllm库应运而生。
vLLM 是加州大学伯克利分校开发的一个 Python 库,其核心优势在于创新的内存管理技术、高效的任务调度能力,以及出色的易用性和兼容性。这使得它能在相同硬件上显著提升模型推理的吞吐量与并发处理能力。因此,vLLM 非常适合需要快速响应、高并发的生产环境。
值得注意的是,vLLM 目前仅支持 Linux 系统,在 Windows 下无法使用。如果大家使用的是 Windows 环境,可以考虑下文将介绍的 Ollama 框架作为替代方案。
vllm的核心优势总结主要有以下几点:
- 极致的内存效率: 利用分页注意力机制和KV缓存, 将显存利用率提高到90%;
- 极高的吞吐量与并发:动态合并新请求到正在进行的批处理中,持续“榨干”GPU算力,吞吐量可达传统静态批处理的2.8倍;
- 开箱即用的易用性:vllm与 HuggingFace无缝集成,更是提供 OpenAI兼容的API,无需复杂转换即可加载主流开源模型;现有应用可无缝迁移,极大降低部署门槛。
2.2 VLLM大模型部署方案实战
既然vllm部署有这么大的优点,那接下来必然要学习一下vllm的部署方法了,本次实验环境同样是在九章云极算力平台下进行部署,大家可以通过扫描下方二维码 ,免费体验H100 GPU 6.5小时的算力。本系列所有实战教程均将在该平台上完成,帮助大家低成本上手实践。
1. 创建实例:打开Lab4AI官网(https://www.lab4ai.cn/home),新建一个 VS Code 云实例。
- 选择镜像:在新建实例页面,选择适合的镜像并完成创建。
3. 检查环境:点击 VS Code 中的 Terminal,可以看到系统已预置名为lf的 Anaconda 虚拟环境,其中已安装llamafactory库及其依赖(包括 vLLM)。
执行pip show vllm可查看当前 vLLM 版本。大家也可以通过pip install vllm==xxx安装指定版本,但预置版本通常已足够新。
4. 查看显存:vLLM 对显存要求较高。执行nvidia-smi命令查看当前 GPU 资源。如图所示,环境配备了一块 80G 显存的 H100 显卡。
注意:一个 32B 参数模型约需 66G 显存,H100 单卡部署可能紧张。为便于演示,笔者选用更轻量的Qwen3-4B模型。
5. 下载模型:运行大模型第一步首先要下载大模型,大家还记得大模型训练全流程实战指南基础篇(二)——大模型文件结构解读与原理解析 上一小节内容中教大家如何从modelscope处获得模型的方法吧,访问 ModelScope 官网,搜索Qwen3-4B模型。点击下载,页面会显示下载命令。
6. 执行下载:在终端执行以下命令modelscope download --model Qwen/Qwen3-4B --local_dir ./Qwen3-4B将Qwen3-4B模型下载到当前目录下的Qwen3-4B文件夹中。下载完成后情况如下:
7. 启动 vLLM 服务:模型就绪后,执行以下命令启动兼容 OpenAI API 格式的推理服务器:vllm serve ./Qwen3-4B/ --served-model-name Qwen3-4B --max-model-len 32768 --gpu-memory-utilization 0.9 --port 6666即可开启兼容OpenAI格式请求的服务器,服务成功启动后,终端会显示运行日志:
8. 测试调用:在服务器根目录下新建test.py文件,并写入以下测试代码(因启动时未指定 API Key,此处可任意填写)。执行python test.py,成功返回模型响应即表示部署成功。
from openai import OpenAI client = OpenAI(base_url="http://localhost:6666/v1", api_key="EMPTY") response = client.chat.completions.create(model="Qwen3-4B", messages=[{"role": "user", "content": "你好"}]) print(response.choices[0].message.content)以上就是使用 vLLM 本地部署大模型的完整流程。掌握本地大模型服务的部署能力,对于后续的数据治理、模型训练与部署都至关重要。
2.3 VLLM常用部署参数详解
上一节仅展示了部分命令行参数,下表列出了更多生产中常用的参数及其说明:
| 参数 | 推荐值 | 作用说明 |
|---|---|---|
--max-model-len | 32768 | 设置模型的最大上下文长度,Qwen3模型支持32K上下文。 |
--gpu-memory-utilization | 0.8-0.95 | GPU显存利用率,值越高预留空间越少。 |
--tensor-parallel-size | GPU数量 | 张量并行大小,必须等于使用的GPU数量(默认单卡为1),如果你使用两张卡,这里就是2,注意数目只能是2^n次。 |
--max-num-seqs | 256 | 同时处理的最大请求数,影响并发能力。 |
--enforce-eager | (无值) | 在Ascend NPU上运行可能需要添加此参数,以避免编译错误。 |
--api-key | 如abc123 | 设置API密钥,增加基础安全性。 |
--enable-function-calling | (无值) | 启用工具功能(之后笔者会讲解) |
--pipeline-parallel-size | GPU数量 | 流水线并行大小,流水线通过将模型层分布到多个GPU,每个GPU顺序处理,可与tensor-parallel-size参数合用 |
--enable-expert-parallel | True or False | 针对MoE模型的优化,例如DeepSeek-V3等模型,平衡不同MoE专家计算开销 |
根据以上参数,如果需要使用 4 张 GPU 来推理Qwen3-32B模型,命令应如下所示:
vllm serve \ --model “Qwen3-32B模型所存位置” \ --tensor-parallel-size 4 \ --trust-remote-code \ --gpu-memory-utilization 0.8 \ --max-num-seqs 32 \ --max-model-len 8192 \ --port 8000参数组合清晰明了,相信大家都已经学会啦!
2.4 VLLM优化技巧
其实在实际生产环境中为了最大限度的压榨算力,还有很多的vllm的优化技巧,笔者常用的技巧有如下2点:
多实例负载均衡
当有多个相同模型同时部署时(例如 8 张卡,每 2 张部署一个
Qwen3-32B,共 4 个实例),可在前端使用Nginx 做负载均衡,实现吞吐量的线性增长。(如有需要,笔者后续可专门分享此方案。)超大模型部署策略
部署参数量极大的模型时,需要合理组合TP(张量并行)、PP(流水线并行)和EP(专家并行)策略。通常可以适当调大 TP 和 PP,并将 EP 设为
True,以在多 GPU 同步开销与整体性能之间取得最佳平衡。
三、Ollama大模型部署方案
3.1 认识Ollama
VLLM 部署方案虽然强大,但它主要面向生产环境,需要 Linux 系统和高性能显卡。如果大家想在个人电脑上快速体验模型,或者在 Windows 系统中进行本地调用,有什么更轻便的方案呢?Ollama 正是为此而生。
ollama是在llama.cpp基础上封装的简化的本地部署工具,提供了一键运行功能,非常适合大家非技术模型的快速验证。与vllm相比主要有如下三点优势:
部署极其简单,开箱即用
Ollama提供一键安装脚本和简单的命令行操作,下载后即可快速运行模型,非常适合个人快速体验。而vLLm通常需要配置Python环境、安装CUDA依赖并进行更多初始化设置,门槛相对较高。
对个人硬件更友好,资源要求低
Ollama专注于在消费级硬件(包括苹果芯片、普通CPU和消费级GPU)上运行。它通过高效的模型量化技术,能用更少的内存或显存运行大模型(不一定需要显卡,内存也可以)。
内置模型库,管理模型非常便捷
Ollama内置了一个包含大量主流开源预量化模型的“应用商店”。大家可以像安装软件一样,通过一条命令(如
ollama pull Qwen3:4b, 现在甚至不需要命令在界面也可以操作)轻松拉取、运行和切换不同模型,无需手动处理复杂的模型转换和优化步骤。
3.2 ollama部署实战演示
下面笔者以 Windows 系统为例,演示如何安装和使用 Ollama 部署大模型。目前最新版本的 Ollama 已提供图形界面,可方便地配置模型路径。若想了解更多细节或使用旧版本,可参考笔者之前的文章:人工智能大模型入门分享(一)——利用ollama搭建本地大模型服务(DeepSeek-R1)
1. 下载安装包:访问 Ollama 官网(https://ollama.com/),点击右上角 “Download” 按钮,选择 Windows 系统并下载安装包。
2. 安装软件:双击下载好的.exe文件,点击 “Install” 完成安装,默认安装至 C 盘。
3. 修改模型存放路径:安装完成后,建议先打开软件设置,将模型保存目录修改到非系统盘(如 D 盘或 E 盘),以避免占用过多系统空间。
4. 查找模型:在Ollama 官网(https://ollama.com/) 的模型搜索页中,搜索qwen3:
5. 下载并运行模型:进入 Qwen3 模型页面,页面会显示运行命令ollama run qwen3(默认下载 8B 版本)。若想下载 4B 版本,则执行以下命令:
6. 在 Ollama 界面中测试:下载完成后,可直接在 Ollama 自带的对话界面中输入问题进行测试。
7. 通过 OpenAI 兼容 API 调用:Ollama 同样提供兼容 OpenAI 格式的 API 服务(默认端口为11434)。可以通过以下 Python 代码进行调用(若本地未安装openai库,需先执行pip install openai):
from openai import OpenAI client = OpenAI(base_url="http://localhost:11434/v1", api_key="EMPTY") #api_key随便填 response = client.chat.completions.create(model="qwen3:4b", messages=[{"role": "user", "content": "你好"}]) print(response.choices[0].message.content)8. 了解模型存储结构:Ollama 下载的模型默认保存在你设置的目录下(例如E:\Ollama\models)。目录内主要包含两个文件夹:
blobs存放模型具体的二进制文件(通常以
sh开头的哈希文件命名)。manifests存放模型的元数据信息,用于定义哪些文件属于哪个模型。
9. 更多配置:如需了解更详细的配置选项(如修改端口、启用 GPU 等),可参考笔者之前的文章: 人工智能大模型入门分享(一)——利用ollama搭建本地大模型服务(DeepSeek-R1),非常简单,这里就不再赘述了~
3.3 ollama与量化
细心观察的大家会发现:在 Ollama 中下载的 Qwen3-4B 模型只有约 2.5 GB,而在 ModelScope 下载的原始模型却有 8.1 GB。Ollama 用了什么“魔法”让模型变得如此小巧?这背后的关键技术就是模型量化。
大模型训练全流程实战指南基础篇(二)——大模型文件结构解读与原理解析 文章中大家了解到,大模型主要由结构和大量参数构成,保存这些参数占用了绝大部分存储空间。
这些参数的储存形式通常都是浮点数,量化就是把浮点数的有效数字的位数进行缩小,举个形象的例子,圆周率可以用3.1415926535来表示,然而默认3.14也可以表示圆周率,存储3.1415926535要11位数字,存储3.14只需要3位数字,存储位数少了,存储模型的大小也自然小了。在大模型上就是把FP16的格式量化为INT4格式,将有效位数从16位降到4位。
Ollama 是基于llama.cpp构建的,llama.cpp是一个高性能的纯 C/C++ 大语言模型推理框架,支持在 CPU 或 GPU 上高效运行,并能够将原始模型进行量化,显著减少模型体积。量化后的模型可以方便地发布和部署,因此 Ollama 默认使用量化后的模型。
进一步来说,llama.cpp在转换模型时通常将其保存为GGUF格式。这是一种由llama.cpp创始人设计的二进制格式,针对高效推理进行了优化。与 Transformer 原生使用的*.safetensors格式不同,GGUF 格式通常将所有模型数据整合为单一文件。Ollama 原生支持该格式,这也解释了为什么在 Ollama 后端文件中会有一个体积特别大的文件——它本质上就是整个量化后的模型。
AI大模型从0到精通全套学习大礼包
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!
01.从入门到精通的全套视频教程
包含提示词工程、RAG、Agent等技术点
02.AI大模型学习路线图(还有视频解说)
全过程AI大模型学习路线
03.学习电子书籍和技术文档
市面上的大模型书籍确实太多了,这些是我精选出来的
04.大模型面试题目详解
05.这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势,构建起"前沿课程+智能实训+精准就业"的高效培养体系。
课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!
应届毕业生:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能 突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓