DeepSeek-R1本地部署步骤(通用版)
torch==2.1.1+cu118)、CUDA Toolkit(11.8/12.1)、cuDNN(匹配PyTorch版本)。使用conda隔离依赖,避免冲突:
conda create -n deepseek_r1 python=3.10 # 创建名为deepseek_r1的环境
conda activate deepseek_r1 # 激活环境根据CUDA版本选择对应命令(以CUDA 11.8为例):
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118安装Transformers、Accelerate等核心库:
pip install transformers==4.35.0 accelerate sentencepiece einops vllm通过Hugging Face官方仓库下载(以7B版本为例):
from huggingface_hub import snapshot_download
snapshot_download(repo_id="deepseek-ai/deepseek-r1", local_dir="./deepseek-r1") # 下载至本地目录或使用Transformers库直接加载(自动下载):
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "./deepseek-r1"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto", torch_dtype=torch.float16)下载后检查文件哈希值(官网提供),确保与官方一致,避免文件损坏。
使用Transformers库进行单次推理:
inputs = tokenizer("介绍一下DeepSeek-R1模型", return_tensors="pt").to("cuda") # 输入转至GPU
outputs = model.generate(**inputs, max_new_tokens=200) # 生成200字以内文本
print(tokenizer.decode(outputs[0], skip_special_tokens=True)) # 解码输出通过vLLM提升推理性能(支持批量请求):
pip install vllm # 安装vLLM启动vLLM服务:
from vllm import LLM, SamplingParams
llm = LLM(model="./deepseek-r1", tensor_parallel_size=1) # tensor_parallel_size根据GPU数量调整
sampling_params = SamplingParams(temperature=0.7, top_p=0.9) # 采样参数
outputs = llm.generate(["如何评价大语言模型的涌现能力?"], sampling_params)
print(outputs[0].outputs[0].text) # 输出结果netstat -tuln | grep 8080),修改config.yaml中的port参数;查看日志(logs/deepseek.log)定位具体错误。