GPU(关键):
最低要求:NVIDIA显卡(RTX 3090/4090,显存≥24GB)可运行非量化版。
经济方案:RTX 3060 12GB + 4-bit量化模型。
显存估算:模型参数每10B约需~20GB显存(FP16精度)。
CPU/RAM:
CPU:建议≥8核(如Intel i7/i9或AMD Ryzen 7/9)。
内存:≥32GB(若使用CPU卸载需≥64GB)。
存储:SSD硬盘,预留≥100GB空间(模型文件+临时缓存)。
推荐:Ubuntu 22.04 LTS(对CUDA支持最佳)。
次选:Windows 11 + WSL2(需配置GPU穿透)。
bash
复制
下载
# 检查显卡型号 lspci | grep -i nvidia # 添加官方驱动仓库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 安装驱动(示例为515版本) sudo apt install nvidia-driver-515 sudo reboot # 验证安装 nvidia-smi
bash
复制
下载
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run # 配置环境变量 echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc # 验证安装 nvcc --version
bash
复制
下载
# 安装Python 3.10 sudo apt install python3.10 python3.10-venv # 创建虚拟环境 python3.10 -m venv deepseek-env source deepseek-env/bin/activate
bash
复制
下载
# 安装PyTorch(匹配CUDA 11.8) pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118 # 安装HuggingFace库 pip install transformers==4.37.0 accelerate==0.25.0 sentencepiece huggingface_hub # 可选:安装bitsandbytes(用于4-bit量化) pip install bitsandbytes==0.41.3
bash
复制
下载
# 登录HuggingFace账号 huggingface-cli login # 下载模型(假设模型ID为deepseek-ai/deepseek-llm-67b-chat) git lfs install git clone https://huggingface.co/deepseek-ai/deepseek-llm-67b-chat
从DeepSeek官网或指定链接下载以下文件:
pytorch_model.bin
或 model.safetensors
config.json
tokenizer.json
和 tokenizer_config.json
将文件放入目录:./deepseek-67b/
python
复制
下载
from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_path = "./deepseek-67b" # 模型目录路径 tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) # 加载模型到GPU(假设单卡24GB显存) model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16, # 半精度减少显存占用 device_map="auto", # 自动分配多GPU trust_remote_code=True ).eval() # 生成文本 prompt = "如何做西红柿炒鸡蛋?请分步骤说明。" inputs = tokenizer(prompt, return_tensors="pt").to("cuda") outputs = model.generate( **inputs, max_new_tokens=300, temperature=0.7, top_p=0.9, repetition_penalty=1.1 ) print(tokenizer.decode(outputs[0], skip_special_tokens=True))
python
复制
下载
from transformers import BitsAndBytesConfig quant_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_use_double_quant=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.float16 ) model = AutoModelForCausalLM.from_pretrained( model_path, quantization_config=quant_config, device_map="auto", trust_remote_code=True )
bash
复制
下载
# 安装vLLM pip install vllm==0.3.0 # 启动API服务 python -m vllm.entrypoints.api_server \ --model ./deepseek-67b \ --tensor-parallel-size 2 # 使用2块GPU
bash
复制
下载
# 安装Flash Attention pip install flash-attn==2.5.0 # 加载时启用 model = AutoModelForCausalLM.from_pretrained( model_path, use_flash_attention_2=True, ... )
python
复制
下载
# 需要64GB+内存 model = AutoModelForCausalLM.from_pretrained( model_path, device_map="auto", offload_folder="offload", offload_state_dict=True, torch_dtype=torch.float32 )
解决方案:
使用max_split_size_mb
参数:
python
复制
下载
model = AutoModelForCausalLM.from_pretrained(..., max_split_size_mb=128)
减少max_new_tokens
(如从500降到200)。
AddedToken
修复:
python
复制
下载
tokenizer = AutoTokenizer.from_pretrained( model_path, use_fast=False, # 禁用快速tokenizer trust_remote_code=True )
步骤:
访问 https://huggingface.co/deepseek-ai/deepseek-llm-67b-chat
点击“Agree and Access Repository”
重新运行huggingface-cli login
python
复制
下载
import time start = time.time() outputs = model.generate(**inputs, max_new_tokens=200) print(f"生成耗时:{time.time()-start:.2f}s")
bash
复制
下载
# 查看GPU状态 watch -n 1 nvidia-smi # 查看内存占用 htop
模型协议:确认DeepSeek模型的许可协议(如是否允许商业用途)。
安全隔离:建议使用Docker部署:
dockerfile
复制
下载
FROM nvidia/cuda:11.8.0-base RUN apt update && apt install python3.10 -y COPY . /app WORKDIR /app RUN pip install -r requirements.txt CMD ["python", "app.py"]
网络代理:若国内下载慢,设置镜像:
bash
复制
下载
export HF_ENDPOINT=https://hf-mirror.com