DeepSeek R1 蒸馏模型 GPU 主机部署教程
引言
DeepSeek R1 是一款基于深度学习技术的先进模型,广泛应用于图像识别、自然语言处理等领域。为了提升模型推理效率,模型蒸馏技术被引入,将大型教师模型的知识迁移到更轻量化的学生模型 R1 上。本教程将详细介绍如何在七牛云 GPU 主机上高效部署 DeepSeek R1 蒸馏模型,并提供最佳实践建议。
一、环境准备
通过【七牛云市场】购买【专用云服务器】,您可以根据下方模型列表选购您所需要的云服务器。
模型名称 | 模型大小 | 显存推荐 | GPU推荐 | 主机型号推荐 | 适用场景 |
---|---|---|---|---|---|
DeepSeek-R1-Distill-Qwen-7B | 5GB | 8GB+ | P4 8GB | GPU计算型 gn5i | 本地开发测试(中小型企业) 中等复杂度 NLP 任务(文本摘要、翻译) 轻量级多轮对话系统 |
DeepSeek-R1-Distill-Llama-8B | 5GB | 8GB+ | P4 8GB | GPU计算型 gn5i | 本地开发测试(中小型企业) 中等复杂度 NLP 任务(文本摘要、翻译) 轻量级多轮对话系统 |
DeepSeek-R1-Distill-Qwen-14B | 9GB | 16GB+ | P100 16GB T4 16GB |
GPU计算型 gn5 GPU计算型 gn6i |
企业级复杂任务(合同分析、报告生成) 长文本理解与生成(书籍/论文辅助写作) |
DeepSeek-R1-Distill-Qwen-32B | 20GB | 24GB+ | P100 16GB *2 T4 16GB *2 |
GPU计算型 gn5 GPU计算型 gn6i |
高精度专业领域任务(医疗/法律咨询) 多模态任务预处理(需结合其他框架) |
DeepSeek-R1-Distill-Llama-70B | 43GB | 48GB+ | P100 16GB * 4 A10 24GB * 2 |
GPU计算型 gn5 GPU计算型 gn7i |
科研机构/大型企业(金融预测、大规模数据分析) 高复杂度生成任务(创意写作、算法设计) |
DeepSeek-R1-671B (全参1.73bit量化) |
158GB | 200GB+ | V100 32GB * 8 H20 96GB * 8 H20 48GB * 8 A100 80GB * 8 |
GPU计算型 gn6e GPU计算型 gn8v GPU计算型 gn8i GPU计算型 A100 |
全参数 全能力 全场景 |
专属 GPU 主机限时优惠:立即前往活动页领取购买
二、模型部署
七牛云提供一键 docker(推荐)、ollama、vllm 部署,您可以根据需求部署 DeepSeek 7B / 8B / 14B / 32B / 70B 以及满血 671B 版本
方式一、使用 docker 一键部署(推荐)
# 镜像打开后 等待脚本自动下载、配置模型即可
#7B模型
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek7b_ollama_lite:0.1.0
#8B模型
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek8b_ollama_lite:0.1.0
#14B模型
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek14b_ollama_lite:0.1.0
#32B模型
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek32b_ollama_lite:0.1.0
#70B模型
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek70b_ollama_lite:0.1.0
方式二、使用 ollama 部署
#STEP 1 安装ollama
curl -fsSL https://ollama.com/install.sh | sh
#STEP 2 运行模型
ollama run deepseek-r1:8b
# 执行命令后自动下载模型(4GB左右)
# 查看ollama日志:
journalctl -u ollama --no-pager
# 或访问本地API
curl -X POST http://127.0.0.1:11434/api/generate -d '{"model":"deepseek-r1:8b", "prompt": "hello"}'
方式三、使用 vLLM 部署(多并发需求)
#STEP 1 安装vLLM
pip install vllm
#STEP 2 模型下载
# hfd下载方式:https://hf-mirror.com/
bash hfd.sh deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --local-dir deepseekr1-distill-32B --exclude "*git*" "README.md" "figures" "LICENSE"
#STEP 3 运行vllm服务
cd MODEL/PATH/TO/DEEPSEEK/
vllm serve deepseekr1-distill-32B --tensor-parallel-size 4 --max-model-len 32768 --enforce-eager --api-key deepseek-d-32B
#STEP 4 使用姿势
# http 请求方式
curl http://10.34.52.205:8000/v1/chat/completions \ # http://10.34.52.205:8000: 部署服务的ip地址与端口
-H "Content-Type: application/json" \
-H "Authorization: Bearer deepseek-d-32B" \ # 根据--api-key参数值修改
-d '{
"model": "deepseekr1-distill-32B", # 根据serve 后的 参数值修改
"messages": [
{"role": "system", "content": "You are a helpful assistant."}, # ai扮演的角色
{"role": "user", "content": "Who won the world series in 2020?"} # 提问的问题
]
}'
# python调用方式
from openai import OpenAI
# Modify OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "deepseek-d-32B" # 根据--api-key参数值修改
openai_api_base = "http://10.34.52.205:8000/v1" # 部署服务的ip地址与端口
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
chat_response = client.chat.completions.create(
model="deepseekr1-distill-32B", # 根据--api-key参数值修改
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Tell me a joke."},
]
)
print("Chat response:", chat_response)
DeepSeek-R1 满血 671B 全参数推理模型部署
方式一、使用 docker 一键部署(推荐)
# 镜像打开后 等待脚本自动下载、配置模型即可
docker run --gpus all -it registry-aigc.qiniu.io/miku-aigc/deepseek_ollama_lite:0.2.0
方式二、使用 ollama 部署
# 1.通过脚本hfd.sh从国内huggingface镜像模下载型
wget https://algorithm.qnaigc.com/DeepSeek/hfd.sh
bash hfd.sh unsloth/DeepSeek-R1-GGUF --include "DeepSeek-R1-UD-IQ1_M" --tool aria2c -x 8
# 2.安装llama.cpp用于模型合并
下载zip压缩包:https://github.com/ggerganov/llama.cpp/archive/refs/heads/master.zip
解压并命名为llama.cpp:mv llama.cpp-master llama.cpp
执行如下指令:
apt-get update
apt-get install build-essential cmake curl libcurl4-openssl-dev -y
cmake llama.cpp -B llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
合并模型:./llama.cpp/llama-gguf-split --merge ${PATH-TO-MODEL}/DeepSeek-R1-UD-IQ1_M-00001-of-00004.gguf DeepSeek-R1-UD-IQ1_M.gguf
# 3.安装ollama用于模型运行
curl -fsSL https://ollama.com/install.sh | sh
(可能上面因为网络原因会失败,多尝试几次)
# 4.编辑模型描述文件
创建文件:vim DeepSeekQ1_Modelfile
描述文件需要填写模型存放的路径,内容如下;
FROM ${PATH-TO-MODEL}/DeepSeek-R1-UD-IQ1_M.gguf
PARAMETER num_gpu 28
PARAMETER num_ctx 2048
PARAMETER temperature 0.6
TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"
# 5.创建 ollama 模型
ollama会创建一个新模型,且大小与原始模型一样,如果/usr/路径下空间不足,
可以手动指定存储路径:vim /etc/systemd/system/ollama.service
Environment="OLLAMA_MODELS=/disk5/ollama/model"
配置完成后需要重启:
sudo systemctl daemon-reload
sudo systemctl restart ollama
/usr/local/bin/ollama create DeepSeek-R1-UD-IQ1_M -f ${PATH-TO-MODEL}/DeepSeekQ1_Modelfile
# 6.运行模型
ollama run DeepSeek-R1-UD-IQ1_M --verbose
查看ollama日志:journalctl -u ollama --no-pager
# 7.本地API
curl -X POST http://127.0.0.1:11434/api/generate -d '{"model":"DeepSeek-R1-UD-IQ1_M", "prompt": "helllo"}'
三、最佳实践
1. 优化模型推理速度:
-
使用 TensorRT 或 ONNX Runtime 等工具对模型进行加速。
-
使用混合精度推理提升推理速度,七牛云提供的 DeepSeek 蒸馏模型,采用 FP16 + FP32 混合精度计算,减少显存占用并提高运算效率。
-
优化模型输入输出数据格式,减少数据传输时间。
2. 提高模型推理精度:
-
使用更高质量的蒸馏数据集训练模型,可参考七牛云 DeepSeek r1 蒸馏版。
-
调整模型超参数,例如学习率、batch size 等。
-
使用数据增强技术提升模型泛化能力。
3. 监控模型运行状态:
-
使用 GPU 监控工具 (例如 nvidia-smi) 监控 GPU 使用率、内存占用等指标。
-
使用日志记录工具记录模型推理过程中的关键信息。
4. 确保模型安全性:
-
对模型文件进行加密处理,防止模型泄露。
-
对模型输入数据进行合法性校验,防止恶意攻击。
四、总结
本教程详细介绍了七牛云 DeepSeek R1 蒸馏模型在 GPU 主机上的部署流程,并提供了最佳实践建议。通过遵循本教程,您可以高效地部署 R1 模型,并充分发挥其性能优势。
五、附录
相关链接:
- DeepSeek 官方网站: https://www.deepseek.com
- GPU 主机购买连接: 立即购买
文档反馈
(如有产品使用问题,请 提交工单)