【基于vllm部署kimi-2.6大模型部署需要考虑的条件】
企业大模型部署指南
基于 vLLM 部署 kimi-2.6 API 服务 适用对象:从零开始的小白 · 全程中文 · pip 方式安装
目录
1. 前置扫盲:先搞懂几个概念
1.1 什么是 vLLM
vLLM 是一个专门用来跑大语言模型的推理引擎,全称是 Virtual Large Language Model。
你可以把它理解为一个"高性能引擎":
| 对比项 | 不用 vLLM(原生 HuggingFace) | 用 vLLM |
|---|---|---|
| 显存占用 | 大 | 小(用 PagedAttention 技术) |
| 吞吐量 | 低 | 高 10~24 倍 |
| 多并发 | 差 | 好 |
| API 服务 | 需额外搭 | 内置 |
简单说:vLLM 就是让大模型跑得更快、更省显存的工具。
1.2 什么是 kimi-2.6
kimi-2.6 是月之暗面(Moonshot AI)开源的大语言模型,总参数量约 2470 亿(247B),是一个 MoE(混合专家)架构 模型。
理解 MoE 架构的关键一句话:
模型虽然有 247B 参数,但每次实际参与计算的只有约 20B 参数,就像一个公司有 247 人,但每次只派 20 人干活。
| 参数 | 数值 |
|---|---|
| 总参数量 | ~247B |
| 每次激活参数 | ~20B/token |
| 上下文长度 | 128K(目前最长上下文之一) |
| 擅长方向 | 超长上下文、代码、长文本分析 |
1.3 显存到底要多少
这一步很重要,提前算清楚,不然跑到一半 OOM(显存爆了)很崩溃。
计算公式:
显存需求 ≈ 参数量 × 精度字节数
| 精度 | 每参数占字节 | 247B 参数需要显存 |
|---|---|---|
| fp32(32位浮点) | 4 字节 | ~988 GB |
| fp16 / bf16(16位) | 2 字节 | ~494 GB |
| int8(8位整数) | 1 字节 | ~247 GB |
| int4(4位整数) | 0.5 字节 | ~124 GB |
| int4(激进压缩) | ~0.35 字节 | ~86 GB |
实际需求对照表:
| 你的显卡 | 显存 | 能跑的最低精度 |
|---|---|---|
| RTX 3090 / 4090 | 24GB | int4 激进压缩版 |
| A100 | 40GB | int4 |
| A100 | 80GB | int8 或 int4 完整版 |
| 2 × A100 80GB | 160GB | fp16 |
| 8 × A100 80GB | 640GB | fp16 |
💡 小白建议:没有多卡 A100 的情况下,选择 int4 量化版本是性价比最高的选择,显存需求最低,效果也足够好。
2. 硬件自检:你的电脑能不能跑
2.1 第一步:检查显卡
打开终端(Windows 用 PowerShell 或 CMD),输入:
nvidia-smi
正常输出长这样:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 545.xx Driver Version: 545.xx CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M.| |===============================+======================+======================| | 0 NVIDIA GeForce ... WDDM | 00000000:01:00.0 On | N/A | | 0% 42C P8 28W / 350W | 1024MiB / 24576MiB | 0% Default | +-------------------------------+----------------------+----------------------+
看到这一屏说明显卡正常驱动已安装。
重点看这一行:
Memory-Usage: 1024MiB / 24576MiB
24576MiB = 24GB 显存。如果小于 20GB,建议用 int4 激进压缩版。
2.2 第二步:检查 CUDA 版本
nvcc --version
正常输出:
nvcc: NVIDIA (R) Cuda compiler driver Cuda compilation tools, release 12.2, V12.2.x
vLLM 对 CUDA 版本有要求:
| CUDA 版本 | vLLM 支持情况 |
|---|---|
| CUDA 11.8 | ✅ 支持 |
| CUDA 12.1 | ✅ 支持 |
| CUDA 12.8 | ✅ 支持(最新) |
如果看到 CUDA 版本低于 11.8,需要先升级驱动。
2.3 自检清单
| 检查项 | 命令 | 预期结果 |
|---|---|---|
| 显卡可见 | nvidia-smi |
能看到 GPU 型号和显存 |
| CUDA 版本 | nvcc --version |
11.8 或更高 |
| Python 版本 | python --version |
3.9 以上 |
3. 环境准备:装驱动、装Python、装vLLM
3.1 安装显卡驱动
如果你已经能看到 nvidia-smi 的输出,这步可以跳过。
Windows 用户:
-
百度搜索「NVIDIA 驱动下载」
-
选择你的显卡型号(根据 nvidia-smi 输出的 GPU 型号)
-
下载并安装驱动
-
重启电脑
Linux (WSL/Ubuntu) 用户:
sudo apt update sudo apt install nvidia-driver-545 # 版本号可根据需要调整 sudo reboot
⚠️ WSL2 环境下,显卡驱动需要在 Windows 端安装,WSL 会自动继承。
3.2 安装 Python
vLLM 要求 Python 3.9 以上,推荐 Python 3.10 或 3.11。
Windows:
-
百度搜索「Python 下载」
-
官网下载 Python 3.10 或 3.11 安装包
-
安装时勾选 Add Python to PATH
-
打开 CMD,验证:
python --version # 输出:Python 3.10.x 表示安装成功
Linux/WSL:
# Ubuntu 安装 Python 3.10 sudo apt update sudo apt install python3.10 python3.10-venv python3.10-dev # 创建虚拟环境(推荐) python3.10 -m venv vllm_env source vllm_env/bin/activate # 验证 python --version
3.3 安装 vLLM(重点)
这是最核心的一步,耐心等待,安装包比较大。
确保在虚拟环境中(如果创建了的话):
pip install vllm
⚠️ 安装时间:首次安装大约需要 5~20 分钟,取决于网速。中间可能出现红色的下载进度条,不要中断它。
如果安装太慢,换国内镜像源:
pip install vllm -i https://pypi.tuna.tsinghua.edu.cn/simple
如果遇到编译报错(Linux 常见):
需要先安装编译依赖:
# Ubuntu/Debian sudo apt install build-essential python3-dev git # CentOS/RHEL sudo yum groupinstall "Development Tools" sudo yum install python3-devel git
验证安装成功:
python -c "import vllm; print('vLLM 版本:', vllm.__version__)"
输出类似 vLLM 版本: 0.6.x.x 即表示成功。
4. 启动API服务:一条命令跑起来
4.1 下载模型
vLLM 支持 HuggingFace 格式的模型。kimi-2.6 的 HuggingFace 地址需要从官方获取。
这里以 HuggingFace 上的模型为例,模型名称假设为 your-org/kimi-2.6-int4(实际请替换为真实模型名):
# 安装 huggingface_hub(用于下载模型) pip install huggingface_hub # 下载模型(首次约 40~80GB,看量化版本) huggingface-cli download your-org/kimi-2.6-int4 --local-dir ./models/kimi-2.6-int4
💡 如果网络下载慢,可以用 ModelScope 或 WiseModel 国内镜像加速下载。
4.2 启动命令(最小可用版)
以下命令在 24GB 显存(RTX 4090/3090)上运行 int4 量化版。
python -m vllm.entrypoints.openai.api_server \
--model ./models/kimi-2.6-int4 \
--dtype half \
--quantization awq \
--max-model-len 131072 \
--gpu-memory-utilization 0.92 \
--host 0.0.0.0 \
--port 8000
命令解释(逐行):
| 参数 | 含义 | 建议值 |
|---|---|---|
--model |
模型文件路径 | 填你的本地路径 |
--dtype half |
用 fp16 精度运行(非量化部分) | 非量化层用半精度 |
--quantization awq |
量化方式,AWQ 是常用高效量化 | int4 用 awq |
--max-model-len 131072 |
最大上下文长度(128K) | 128K 需要足够显存 |
--gpu-memory-utilization 0.92 |
允许 vLLM 使用 92% 的显存 | 留一点余量 |
--host 0.0.0.0 |
监听所有网卡(允许远程访问) | 本机用 127.0.0.1 |
--port 8000 |
API 监听端口 | 默认 8000 |
4.3 多卡启动(如果你有多张卡)
python -m vllm.entrypoints.openai.api_server \
--model ./models/kimi-2.6-int4 \
--dtype half \
--quantization awq \
--max-model-len 131072 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.92 \
--host 0.0.0.0 \
--port 8000
新增参数:
| 参数 | 含义 |
|---|---|
--tensor-parallel-size 2 |
用 2 张卡并行推理 |
4.4 启动后的输出
耐心等待模型加载(首次加载大约 2~10 分钟,取决于模型大小和显卡速度)。
加载成功的标志:
INFO: Started server process INFO: Uvicorn running on http://0.0.0.0:8000
看到这个输出说明 API 服务已经跑起来了!
⚠️ 不要关闭这个终端窗口,它是服务进程。关闭后服务就停了。
5. 验证服务:证明模型真的在跑
5.1 第一个测试:健康检查
新开一个终端窗口(不要关掉服务那个),输入:
curl http://localhost:8000/health
正常返回:
{"status": "OK"}
5.2 第二个测试:发一个对话请求
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-2.6",
"messages": [
{"role": "user", "content": "你好,请用一句话介绍自己"}
],
"max_tokens": 200,
"temperature": 0.7
}'
正常返回(格式):
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "kimi-2.6",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "我是 Kimi,由月之暗面研发的大语言模型..."
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 12,
"completion_tokens": 48,
"total_tokens": 60
}
}
💡 返回了中文回答,说明模型已经正常运行了!
5.3 第三个测试:Python 调用(推荐)
写一个简单的 Python 脚本测试:
from openai import OpenAI
# 连接本地 vLLM 服务
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="EMPTY" # 本地服务不需要 API Key
)
# 发送请求
response = client.chat.completions.create(
model="kimi-2.6",
messages=[
{"role": "user", "content": "什么是大语言模型?请用简单的比喻解释。"}
],
max_tokens=300,
temperature=0.7
)
# 打印回复
print(response.choices[0].message.content)
保存为 test_api.py,运行:
python test_api.py
看到模型回复的内容,说明一切正常。
5.4 查看显存占用
回到服务运行的终端,或者新开一个窗口输入:
nvidia-smi
找到 Memory-Usage 那一行,正常情况显存应该被大量占用(接近你设置的 --gpu-memory-utilization 比例)。
6. 进阶配置:调优与持久化
6.1 常用参数速查
| 参数 | 说明 | 常用值 |
|---|---|---|
--tensor-parallel-size N |
用 N 张卡并行 | 1~8 |
--max-model-len N |
最大上下文 token 数 | 8192 / 32768 / 131072 |
--gpu-memory-utilization |
显存使用比例 | 0.85 ~ 0.95 |
--swap-space N |
硬盘缓存(GB),OOM 时可调大 | 4 ~ 16 |
--enforce-eager |
禁用 CUDA graph(省显存但慢) | 按需开启 |
--trust-remote-code |
允许运行自定义推理代码 | 必须加 |
--chat-template |
指定对话模板 | 按模型来 |
6.2 完整启动脚本(推荐写法)
把启动命令写成一个脚本文件,方便管理和修改。
创建 start_vllm.sh:
#!/bin/bash
# ==================== 配置区(按需修改) ====================
MODEL_PATH="./models/kimi-2.6-int4" # 模型本地路径
PORT=8000 # API 端口
MAX_LEN=131072 # 最大上下文 128K
TP_SIZE=1 # 显卡数量
GPU_MEM=0.92 # 显存使用比例
# ==========================================================
python -m vllm.entrypoints.openai.api_server \
--model $MODEL_PATH \
--dtype half \
--quantization awq \
--max-model-len $MAX_LEN \
--tensor-parallel-size $TP_SIZE \
--gpu-memory-utilization $GPU_MEM \
--trust-remote-code \
--host 0.0.0.0 \
--port $PORT \
--log-requests
echo "vLLM API 服务已启动:http://localhost:$PORT"
echo "文档地址:http://localhost:$PORT/docs"
赋予执行权限并启动:
chmod +x start_vllm.sh ./start_vllm.sh
6.3 开机自启(systemd,Linux/WSL)
让 vLLM 服务在开机时自动启动,不需要每次手动运行。
创建 systemd 服务文件:
sudo nano /etc/systemd/system/vllm.service
写入以下内容(按你的实际路径修改):
[Unit]
Description=vLLM API Service (kimi-2.6)
After=network.target
[Service]
Type=simple
User=wangxx
WorkingDirectory=/home/wangxx/vllm
ExecStart=/home/wangxx/vllm/vllm_env/bin/python -m vllm.entrypoints.openai.api_server \
--model /home/wangxx/models/kimi-2.6-int4 \
--dtype half \
--quantization awq \
--max-model-len 131072 \
--tensor-parallel-size 1 \
--gpu-memory-utilization 0.92 \
--trust-remote-code \
--host 0.0.0.0 \
--port 8000
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
启用并启动服务:
# 重新加载 systemd 配置 sudo systemctl daemon-reload # 设为开机自启 sudo systemctl enable vllm # 立即启动服务 sudo systemctl start vllm # 查看服务状态 sudo systemctl status vllm
看到 active (running) 说明服务正在运行。以后开机就会自动启动,不需要手动运行脚本了。
6.4 通过 API 文档页面测试
服务启动后,打开浏览器访问:
http://localhost:8000/docs
你会看到一个 Swagger UI 页面,可以直接在网页上点「Try it out」发送请求,测试模型效果。
6.5 优雅停止服务
# 查找进程 ps aux | grep vllm # 杀掉进程(PID 换成实际看到的数字) kill -INT <PID>
或者用 systemd:
sudo systemctl stop vllm
7. 故障排查:报错不用慌
报错 1:CUDA not found
ImportError: CUDA not found. Please check your CUDA installation.
原因:vLLM 找不到 CUDA。
解决:
# 确认 CUDA 已安装 nvcc --version # 设置 CUDA 路径(根据你的安装路径调整) export CUDA_HOME=/usr/local/cuda export PATH=$CUDA_HOME/bin:$PATH export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH # 再试一次 python -m vllm.entrypoints.openai.api_server --help
报错 2:CUDA out of memory(OOM)
CUDA out of memory. Tried to allocate ... GB (GPU 0; ... GB total capacity)
原因:显存不够,模型塞不进去。
解决(按顺序尝试):
-
降低
--gpu-memory-utilization:
--gpu-memory-utilization 0.80
-
减小上下文长度:
--max-model-len 32768
-
使用更激进的量化:
--quantization fp8 # 比 awq 更省显存
-
加硬盘缓存(用硬盘换显存):
--swap-space 8
报错 3:Model not found / 加载失败
ValueError: Model not found. Please check the model path.
原因:模型路径写错了,或者模型文件没下完整。
解决:
# 确认模型目录存在且有文件 ls -lh ./models/kimi-2.6-int4/ # 检查是否有 config.json cat ./models/kimi-2.6-int4/config.json | head
确保目录里至少有 config.json、model.safetensors(或 .bin)等文件。
报错 4:port already in use
OSError: [Errno 98] Address already in use
原因:8000 端口被其他程序占用了。
解决:
# 查找占用端口的进程 lsof -i :8000 # 杀掉它(换成实际 PID) kill -9 <PID> # 或者换一个端口 --port 8001
报错 5:vLLM 版本和 CUDA 版本不兼容
RuntimeError: NCCL operation returned a CUDA error.
原因:CUDA 版本太旧或太新。
解决:对照下表确认版本匹配。
| CUDA 版本 | 对应 vLLM 版本 |
|---|---|
| 11.8 | vLLM 0.2.x ~ 0.4.x |
| 12.1 | vLLM 0.3.x ~ 0.5.x |
| 12.6 | vLLM 0.6.x 及以上 |
升级 vLLM:
pip install --upgrade vllm
报错 6:trust-remote-code 相关
ValueError: The model has custom code. Please add --trust-remote-code flag.
解决:启动命令加 --trust-remote-code:
--trust-remote-code \
报错 7:量化格式不支持
ValueError: quantization awq is not supported for this model
原因:你的模型不是用 AWQ 量化的,或者 vLLM 版本不支持该量化方式。
解决:换一个量化方式:
# 选项1:GPTQ 量化 --quantization gptq # 选项2:不用量化(全精度,非极端情况不推荐) # (去掉 --quantization 参数)
报错 8:模型下载慢或中断
解决:用国内镜像下载:
# 方式1:设置 HF 镜像 export HF_ENDPOINT=https://hf-mirror.com huggingface-cli download your-org/kimi-2.6-int4 # 方式2:ModelScope pip install modelscope modelscope download --model your-org/kimi-2.6-int4 --local_dir ./models/
报错 9:Import Error(各种模块找不到)
pip install flash-attn pip install transformers pip install accelerate
然后重试。
报错 10:WSL 下显存显示正常但跑不起来
原因:WSL2 需要确保 Windows 驱动版本和 WSL 内的 CUDA 版本匹配。
解决:
# 在 Windows CMD 或 PowerShell 里更新 NVIDIA 驱动到最新 # 在 WSL 里重装 vLLM pip uninstall vllm -y pip install vllm
8. 附录:配置速查表与官方链接
8.1 硬件配置推荐单
| 显卡 | 显存 | 推荐量化 | 推荐命令参数 |
|---|---|---|---|
| RTX 3090 / 4090 | 24GB | int4(激进) | --quantization awq --max-model-len 32768 |
| A100 40GB | 40GB | int4 | --quantization awq --max-model-len 65536 |
| A100 80GB | 80GB | int8 或 int4 | --quantization awq --max-model-len 131072 |
| 2 × A100 80GB | 160GB | fp16 或 int8 | --tensor-parallel-size 2 --dtype half |
| 8 × A100 80GB | 640GB | fp16 | --tensor-parallel-size 8 --dtype half |
8.2 常用命令速查
# 安装 vLLM
pip install vllm
# 验证安装
python -c "import vllm; print(vllm.__version__)"
# 启动 API 服务(单卡)
python -m vllm.entrypoints.openai.api_server \
--model ./models/kimi-2.6-int4 \
--dtype half \
--quantization awq \
--max-model-len 131072 \
--gpu-memory-utilization 0.92 \
--port 8000
# 健康检查
curl http://localhost:8000/health
# 查看显存占用
nvidia-smi
# 查看 vLLM 日志(看吞吐量)
# 日志在服务运行终端直接输出,关键词:throughput、tok/s
8.3 Python 调用完整模板
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="EMPTY"
)
response = client.chat.completions.create(
model="kimi-2.6",
messages=[
{"role": "system", "content": "你是一个专业助手。"},
{"role": "user", "content": "你的问题"}
],
temperature=0.7,
max_tokens=1024,
stream=False
)
print(response.choices[0].message.content)
8.4 官方资源链接
| 资源 | 链接 |
|---|---|
| vLLM 官方文档 | https://docs.vllm.ai |
| vLLM GitHub | https://github.com/vllm-project/vllm |
| HuggingFace 模型下载 | https://huggingface.co/models |
| NVIDIA 驱动下载 | https://www.nvidia.com/Download/index.aspx |
| ModelScope 国内镜像 | https://www.modelscope.cn |
| CUDA 下载 | https://developer.nvidia.com/cuda-downloads |
快速启动 Checklist
部署完成后,用这个清单确认一切正常:
nvidia-smi能看到显卡和显存python -c "import vllm"不报错- 启动命令运行后看到
Uvicorn running on http://0.0.0.0:8000 curl http://localhost:8000/health返回{"status": "OK"}curl发送对话请求,收到了模型回复nvidia-smi显示显存被大量占用
全部打勾 ✅ 说明部署成功!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)