企业大模型部署指南

基于 vLLM 部署 kimi-2.6 API 服务 适用对象:从零开始的小白 · 全程中文 · pip 方式安装


目录

  1. 前置扫盲:先搞懂几个概念

  2. 硬件自检:你的电脑能不能跑

  3. 环境准备:装驱动、装Python、装vLLM

  4. 启动API服务:一条命令跑起来

  5. 验证服务:证明模型真的在跑

  6. 进阶配置:调优与持久化

  7. 故障排查:报错不用慌

  8. 附录:配置速查表与官方链接


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 用户:

  1. 百度搜索「NVIDIA 驱动下载」

  2. 选择你的显卡型号(根据 nvidia-smi 输出的 GPU 型号)

  3. 下载并安装驱动

  4. 重启电脑

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.103.11

Windows:

  1. 百度搜索「Python 下载」

  2. 官网下载 Python 3.10 或 3.11 安装包

  3. 安装时勾选 Add Python to PATH

  4. 打开 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

💡 如果网络下载慢,可以用 ModelScopeWiseModel 国内镜像加速下载。

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)

原因:显存不够,模型塞不进去。

解决(按顺序尝试):

  1. 降低 --gpu-memory-utilization

--gpu-memory-utilization 0.80
  1. 减小上下文长度:

--max-model-len 32768
  1. 使用更激进的量化:

--quantization fp8   # 比 awq 更省显存
  1. 加硬盘缓存(用硬盘换显存):

--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.jsonmodel.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 显示显存被大量占用

全部打勾 ✅ 说明部署成功!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐