CGXBeta

安装和依赖

- 分钟等级: 进阶

本指南将引导您完成安装和设置 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 包:

PYTHON
torch==2.4.1
triton==3.0.0
transformers==4.46.3
safetensors==0.4.5

这些依赖项在推理目录中的 requirements.txt 文件中指定,对于运行模型至关重要。请注意,需要特定版本以确保与模型架构兼容。

来源:requirements.txt

安装过程

1. 克隆仓库

首先,克隆 DeepSeek-V3 的 GitHub 仓库:

SHELL
git clone https://github.com/deepseek-ai/DeepSeek-V3.git
cd DeepSeek-V3

2. 设置环境

导航到 inference 文件夹并安装所需的依赖项:

SHELL
cd inference
pip install -r requirements.txt

建议使用 condauv 等包管理器在安装依赖项之前创建一个新的虚拟环境。

来源:README.md

3. 下载模型权重

从 Hugging Face 下载模型权重。DeepSeek-V3 提供两种主要模型变体:

模型总参数激活参数上下文长度下载链接
DeepSeek-V3-Base671B37B128K🤗 Hugging Face
DeepSeek-V3671B37B128K🤗 Hugging Face

将下载的权重放置在您选择的目录中(例如,/path/to/DeepSeek-V3)。

来源:README.md

4. 转换模型权重

DeepSeek-V3 本身使用 FP8 精度进行训练。要使用该模型,您需要将 Hugging Face 模型权重转换为特定格式:

SHELL
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,请使用提供的转换脚本:

SHELL
python fp8_cast_bf16.py --input-fp8-hf-path /path/to/fp8_weights --output-bf16-hf-path /path/to/bf16_weights

来源:README.md, README.md

部署选项

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:

对于交互式聊天:

SHELL
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

对于批量推理:

SHELL
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/ 目录中,控制各种模型参数和推理设置。

来源:README.md, 项目结构

推荐的部署方法

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 精度和混合精度操作 部分。