Linux部署:
一、环境准备
(图示:Python版本检查截图/Pytorch安装界面)
- 硬件要求
- GPU:NVIDIA显卡(推荐RTX 3090/4090,显存≥24GB)
- 内存:≥32GB DDR4
- 存储:≥50GB可用空间(建议SSD)
- 软件依赖
bash
复制
# 创建虚拟环境
conda create -n deepseek python=3.10
conda activate deepseek
# 安装基础依赖
pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu118
pip install transformers==4.35.0 accelerate sentencepiece
二、模型获取
(图示:HuggingFace模型下载页面示意图)
- 访问官方渠道:
bash
复制
# 通过git-lfs下载(需先安装git-lfs)
git clone https://huggingface.co/deepseek-ai/deepseek-llm-7b-chat
- 国内镜像加速(推荐):
python
复制
from huggingface_hub import snapshot_download
snapshot_download(repo_id="deepseek-ai/deepseek-llm-7b-chat",
local_dir="./model",
local_dir_use_symlinks=False)
三、部署配置
(图示:项目目录结构示意图)
- 创建项目结构:
复制
/deepseek-deploy
├── model/ # 模型文件
├── config.json # 配置文件
└── inference.py # 推理脚本
- 配置文件示例(config.json):
json
复制
{
"model_path": "./model",
"device_map": "auto",
"torch_dtype": "bfloat16",
"quantization": {
"load_in_8bit": true,
"llm_int8_threshold": 6.0
}
}
四、推理代码
(图示:终端运行效果截图)
python
复制
# inference.py
from transformers import AutoModelForCausalLM, AutoTokenizer
def load_model(config):
model = AutoModelForCausalLM.from_pretrained(
config["model_path"],
device_map=config["device_map"],
torch_dtype=config["torch_dtype"],
load_in_8bit=config["quantization"]["load_in_8bit"]
)
tokenizer = AutoTokenizer.from_pretrained(config["model_path"])
return model, tokenizer
def generate(prompt):
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
五、运行测试
(图示:成功运行输出示例)
- 启动推理服务:
bash
复制
python -c "from inference import *; print(generate('如何解释量子纠缠?'))"
- 常见问题处理:
- 显存不足:添加--device_map "cpu"或减小max_new_tokens
- 依赖冲突:使用pip freeze > requirements.txt导出依赖
- 中文乱码:在代码开头添加# -*- coding: utf-8 -*-
六、高级配置
(图示:vLLM加速框架架构图)
- 使用vLLM加速:
bash
复制
pip install vLLM>=0.2.0
python
复制
from vllm import LLM, SamplingParams
llm = LLM(model="./model", tensor_parallel_size=2)
总结
通过本教程可完成DeepSeek模型的基础部署,建议:
- 定期检查模型更新(git pull)
- 使用LangChain等框架构建应用
- 监控GPU使用(nvidia-smi -l 1)
官方资源:
DeepSeek-LLM GitHub
HuggingFace模型库
技术白皮书
请根据实际需求调整量化策略(4bit/8bit)和并行计算配置。部署过程中如遇问题,可通过torch.cuda.empty_cache()清理显存后重试。
Windows部署
一、系统环境准备
(图示:Windows系统信息截图 + NVIDIA控制面板显存查看)
1.1 硬件检查
- GPU要求:NVIDIA显卡(GTX 1080Ti及以上,推荐RTX 3090/40系)
- 显存验证:右键桌面 → NVIDIA控制面板 → 帮助 → 系统信息
1.2 软件准备
powershell
复制
# 安装必要组件(以管理员身份运行PowerShell)
winget install Git.Git
winget install Python.Python.3.10
git lfs install # 安装大文件支持
# 验证安装
python --version # 应显示3.10.x
nvidia-smi # 查看CUDA版本(需≥11.8)
二、模型获取(国内优化版)
(图示:阿里云盘文件下载示意图)
2.1 国内镜像加速下载
python
复制
# 新建download.py文件
from huggingface_hub import snapshot_download
snapshot_download(
repo_id="deepseek-ai/deepseek-llm-7b-chat",
local_dir="D:/deepseek_model",
local_dir_use_symlinks=False,
resume_download=True,
token="hf_您的令牌" # 可选
)
国内用户推荐使用阿里云OSS镜像下载
三、Python环境配置
(图示:Pycharm虚拟环境配置界面)
3.1 创建专用环境
powershell
复制
# 建议使用conda(需提前安装Miniconda)
conda create -n deepseek-win python=3.10
conda activate deepseek-win
# 安装核心依赖
pip install torch==2.1.0+cu118 torchvision --extra-index-url https://download.pytorch.org/whl/cu118
pip install transformers==4.35.0 accelerate sentencepiece
3.2 解决常见Windows报错
- error: Microsoft C++ 14.0 required:安装Visual Studio Build Tools
- DLL load failed:更新NVIDIA CUDA Toolkit至11.8+
四、模型部署实战
(项目结构图示:资源管理器窗口截图)
4.1 目录结构
复制
D:\DEEPSEEK_DEPLOY
├── model/ # 模型文件
│ ├── config.json
│ └── model.safetensors
├── deepseek.bat # 启动脚本
└── inference.py
4.2 启动脚本(deepseek.bat)
batch
复制
@echo off
set PYTHONIOENCODING=utf-8
conda activate deepseek-win
python inference.py
pause
4.3 推理代码(inference.py)
python
复制
# -*- coding: utf-8 -*-
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "D:/deepseek_model"
device = "cuda" if torch.cuda.is_available() else "cpu"
# 自动处理显存不足问题
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="auto",
torch_dtype=torch.bfloat16,
load_in_8bit=True # 8位量化节省显存
)
tokenizer = AutoTokenizer.from_pretrained(model_path)
def ask(prompt):
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(**inputs, max_new_tokens=200)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
if __name__ == "__main__":
while True:
question = input("请输入问题(输入exit退出): ")
if question.lower() == 'exit':
break
print("思考中...")
print(ask(question))
print("\n" + "="*50 + "\n")
五、常见问题解决方案
(图示:Windows任务管理器GPU性能监控)
5.1 显存优化技巧
- 启用8bit量化:
python
复制
model = AutoModelForCausalLM.from_pretrained(..., load_in_8bit=True)
- 设置分页注意力:
python
复制
model = AutoModelForCausalLM.from_pretrained(...,
device_map="auto",
attn_implementation="flash_attention_2")
5.2 中文乱码修复
- 修改CMD/PowerShell编码:
batch
复制
chcp 65001 # 在bat文件开头添加
- 使用支持UTF-8的终端:
- 推荐Windows Terminal
六、性能加速方案
(图示:DirectML加速配置示意图)
6.1 使用DirectML加速(AMD/Intel显卡)
powershell
复制
pip install torch-directml
python
复制
import torch_directml
device = torch_directml.device()
6.2 多GPU配置
python
复制
model = AutoModelForCausalLM.from_pretrained(...,
device_map="balanced",
max_memory={0:"20GiB", 1:"20GiB"})
部署验证与监控
(图示:GPU-Z实时监控截图)
- 运行测试:
powershell
复制
python -c "from inference import ask; print(ask('北京有哪些必去的景点?'))"
- 资源监控工具:
- GPU-Z
- HWMonitor
- Windows任务管理器 → 性能标签
重要提示:
路径中不要包含中文或特殊字符
建议关闭Windows Defender实时保护(可能误删模型文件)
首次加载模型需要5-10分钟(观察硬盘灯状态)
推荐使用WSL2获得类Linux体验
官方技术支持:
- DeepSeek Windows支持文档
- CUDA Windows安装指南