📚 目录

  1. 前置说明
  2. 硬件与系统环境要求
  3. 准备工作
  4. 安装依赖
  5. 部署 KTransformer
  6. 部署 DeepSeek R1-671B(量化版)
  7. 适配多GPU并开启满血性能
  8. 安装并配置 OpenWebUI
  9. 启动与验证
  10. 常见问题与优化建议
  11. 参考资料

🧾 前置说明

本教程旨在帮助你在本地强力机器(如 4090 + 256GB RAM)中部署量化后的 DeepSeek R1-671B 模型,借助 KTransformer 实现推理,并配合 OpenWebUI 提供 Web 界面,支持多GPU并行执行。

模型信息:

  • 模型名称:DeepSeek R1-671B
  • 量化方式:Q4_K_M / Q5_K_M / Q6_K
  • 推理框架:KTransformer(基于 C++ / CUDA)
  • 接口层:OpenWebUI(支持自定义后端)

🖥️ 硬件与系统环境要求

项目最低配置推荐配置
操作系统Ubuntu 22.04 LTSUbuntu 22.04 LTS
显卡NVIDIA RTX 4090(24G) ×2多卡越多越好
内存≥ 128GB(建议 256GB)256GB ECC DDR5
CPUIntel Xeon / i9 多核支持 AVX-512 最佳
硬盘≥ 1TB NVMe SSD2TB+,高速固态
驱动NVIDIA Driver ≥ 550CUDA 12.2 + cuDNN 8.9+

⚙️ 准备工作

  1. 安装系统更新:sudo apt update && sudo apt upgrade -y
  2. 安装 NVIDIA 驱动:sudo ubuntu-drivers autoinstall reboot
  3. 验证 GPU 驱动加载:nvidia-smi

🧩 安装依赖

sudo apt install build-essential git cmake libopenblas-dev libomp-dev -y
sudo apt install python3 python3-pip -y

CUDA 与 cuDNN 安装略过,建议用官方 runfile 或 .deb 包完成。


🚀 部署 KTransformer

KTransformer 是一个支持高效多卡部署的大模型推理后端。

1. 克隆项目:

git clone https://github.com/kohya-ss/KTransformer.git
cd KTransformer

2. 编译项目:

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

✅ 编译成功后将生成 ./ktransformer 可执行文件。


🧠 部署 DeepSeek-R1-671B(量化版)

你可以从 HuggingFace 下载量化后的模型,例如:

量化模型支持:

  • GGUF 格式(推荐)
  • 模型路径建议放入 ./models 目录

示例目录结构:

KTransformer/
├── build/
├── models/
│   └── deepseek-r1-671b-q4_k.gguf

🧬 适配多GPU并开启满血性能

KTransformer 默认支持 CUDA + 多GPU,推荐使用如下参数:

./build/ktransformer \
  --model ./models/deepseek-r1-671b-q4_k.gguf \
  --gpu-split auto \
  --threads 16 \
  --batch-size 4

参数说明:

参数含义
--gpu-split自动按显存均分模型到多GPU
--threadsCPU线程数(一般为逻辑核心数)
--batch-size推理时的输入批次,越大性能越强需显存支撑

多GPU查看:

nvidia-smi
watch -n 1 nvidia-smi

🌐 安装并配置 OpenWebUI

OpenWebUI 是开源的 Web 前端,可用于对接本地模型。

1. 克隆项目

git clone https://github.com/open-webui/open-webui.git
cd open-webui

2. 安装依赖

npm install
npm run build

前端构建成功后会生成静态资源。

3. 配置本地 LLM 作为后端(例如用 llm_api_proxy

你可以启动一个本地 API 接口:

python3 -m llm_api_proxy --port 11434

或者将 KTransformer 封装为一个 HTTP 服务(需自定义 API 层,如用 FastAPI)


✅ 启动与验证

1. 启动推理服务

./build/ktransformer \
  --model ./models/deepseek-r1-671b-q4_k.gguf \
  --gpu-split auto \
  --interactive

或者配合 API 层转发请求给 OpenWebUI。

2. 启动前端界面

npm run dev
# 默认访问地址:http://localhost:3000

确保能通过 Web 界面输入提示词并获取响应。


❗ 常见问题与优化建议

问题解决方法
CUDA OOM(显存不足)降低 batch size / 使用更高量化模型(如 Q5 或 Q6)
模型启动缓慢使用 --gpu-split auto 并提前热启动
卡顿或响应慢启用 KV Cache / 设置 --threads 与 --stream 模式
CPU 占用过高合理设置 --threads,避免线程数大于物理核数
OpenWebUI 无法对接检查 API 端口是否暴露、接口返回是否规范(Chat格式)

📚 参考资料


如果你希望我帮你封装 FastAPI + KTransformer 的 HTTP API 接口,让它可直接接入 OpenWebUI,也可以继续告诉我,我来一步步写接口与结构代码。是否继续?