本指南将引导您完成安装和设置 DeepSeek-V3 的过程,这是一个拥有 671B 总参数的强大混合专家 (MoE) 语言模型。我们将涵盖系统要求、依赖项、安装步骤以及各种部署选项,以帮助您开始使用这个高级模型。
系统要求
DeepSeek-V3 有特定的硬件和软件要求,必须满足这些要求才能成功安装和运行:
- 操作系统:仅支持 Linux(macOS 和 Windows 不支持)
- Python 版本:仅支持 Python 3.10
- GPU 要求:推荐使用多个 NVIDIA GPU(H100/A100)或 AMD GPU
- 存储:为模型权重提供足够的磁盘空间(模型文件可能非常大)
- RAM:根据您的部署配置需要大量的系统内存
来源:README.md
核心依赖项
DeepSeek-V3 需要以下 Python 包:
torch==2.4.1
triton==3.0.0
transformers==4.46.3
safetensors==0.4.5
这些依赖项在推理目录中的 requirements.txt
文件中指定,对于运行模型至关重要。请注意,需要特定版本以确保与模型架构兼容。
安装过程
1. 克隆仓库
首先,克隆 DeepSeek-V3 的 GitHub 仓库:
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
cd DeepSeek-V3
2. 设置环境
导航到 inference
文件夹并安装所需的依赖项:
cd inference
pip install -r requirements.txt
建议使用 conda
或 uv
等包管理器在安装依赖项之前创建一个新的虚拟环境。
来源:README.md
3. 下载模型权重
从 Hugging Face 下载模型权重。DeepSeek-V3 提供两种主要模型变体:
模型 | 总参数 | 激活参数 | 上下文长度 | 下载链接 |
---|---|---|---|---|
DeepSeek-V3-Base | 671B | 37B | 128K | 🤗 Hugging Face |
DeepSeek-V3 | 671B | 37B | 128K | 🤗 Hugging Face |
将下载的权重放置在您选择的目录中(例如,/path/to/DeepSeek-V3
)。
来源:README.md
4. 转换模型权重
DeepSeek-V3 本身使用 FP8 精度进行训练。要使用该模型,您需要将 Hugging Face 模型权重转换为特定格式:
python convert.py --hf-ckpt-path /path/to/DeepSeek-V3 --save-path /path/to/DeepSeek-V3-Demo --n-experts 256 --model-parallel 16
如果您需要 BF16 权重而不是默认的 FP8,请使用提供的转换脚本:
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights
部署选项
DeepSeek-V3 支持多个部署框架,每个框架具有不同的功能和优化级别。以下是可用选项的比较:
框架 | FP8 支持 | BF16 支持 | AMD GPU 支持 | 多节点 | 备注 |
---|---|---|---|---|---|
DeepSeek-Infer Demo | ✅ | ✅ | ❌ | ✅ | 由 DeepSeek 提供的简单演示 |
SGLang | ✅ | ✅ | ✅ | ✅ | 推荐,支持 MLA 优化 |
LMDeploy | ✅ | ✅ | ❌ | ✅ | 灵活的推理框架 |
TensorRT-LLM | ❌ (即将推出) | ✅ | ❌ | ✅ | 支持 INT4/8 量化 |
vLLM | ✅ | ✅ | ✅ | ✅ | 支持流水线并行 |
LightLLM | ✅ | ✅ | ❌ | ✅ | 支持单/多机部署 |
此外,华为 Ascend NPUs 通过 MindIE 框架支持。
来源:README.md
DeepSeek-Infer Demo
转换模型权重后,您可以使用包含的演示运行 DeepSeek-V3:
对于交互式聊天:
torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --interactive --temperature 0.7 --max-new-tokens 200
对于批量推理:
torchrun --nnodes 2 --nproc-per-node 8 --node-rank $RANK --master-addr $ADDR generate.py --ckpt-path /path/to/DeepSeek-V3-Demo --config configs/config_671B.json --input-file $FILE
来源:README.md
配置选项
DeepSeek-V3 提供了基于模型大小的多个配置文件:
config_16B.json
:16B 参数模型的配置config_236B.json
:236B 参数模型的配置config_671B.json
:671B 参数模型(完整大小)的配置
这些配置文件位于 inference/configs/
目录中,控制各种模型参数和推理设置。
推荐的部署方法
SGLang(推荐给大多数用户)
SGLang v0.4.1+ 完全支持在 NVIDIA 和 AMD GPU 上运行 DeepSeek-V3,并具有以下优化:
- 多头潜在注意力(MLA)优化
- 数据并行注意力
- FP8(W8A8)和 FP8 KV 缓存
- Torch 编译
有关设置说明,请参考:SGLang DeepSeek-V3 指南
来源:README.md
LMDeploy(推荐用于生产)
LMDeploy 提供离线流水线处理和在线部署功能。有关使用 LMDeploy 运行 DeepSeek-V3 的详细说明,请参考:LMDeploy DeepSeek-V3 指南
来源:README.md
故障排除
- 注意:Hugging Face 的 Transformers 库目前还不直接支持 DeepSeek-V3。
- 内存问题:如果遇到内存错误,考虑使用较小的模型大小或增加模型并行性。
- 转换错误:确保在转换模型权重时使用正确的路径。
- 多节点设置:在多节点上运行时,验证所有节点之间的网络连接是否正确配置。
来源:README.md
下一步
成功安装 DeepSeek-V3 后,您可以继续使用该模型进行推理。有关推理选项和高级配置的更多详细信息,请查看 基本推理示例 和 配置文件解释 指南。
为了优化性能,尤其是在资源受限的环境中运行时,请参考 优化推理性能 和 FP8 精度和混合精度操作 部分。