DeepSeek-R1 671B满血版部署硬件配置
📅 2025-02-20 | 🖱️
DeepSeek R1是DeepSeek公司于2025年1月20日发布的推理模型,被认为媲美OpenAI的o1模型。DeepSeek R1满血版:
模型 | 总参数量 | 激活参数量 | 上下文长度 | 下载链接 |
---|---|---|---|---|
DeepSeek-R1-Zero | 671B | 37B | 128K | 🤗 HuggingFace |
DeepSeek-R1 | 671B | 37B | 128K | 🤗 HuggingFace |
DeepSeek R1作为一个超大规模模型,其部署有严格的硬件要求,特别是在GPU内存和计算能力方面。
硬件配置要求 #
GPU配置 #
由于DeepSeek R1-671B是一个超大规模模型,即使只有37B的激活参数,仍然需要强大的GPU配置才能有效部署。推荐以下GPU配置:
- 最低配置:8 × NVIDIA A100 80GB (总显存640GB)
- 推荐配置:8 × NVIDIA H100 80GB (总显存640GB)
对于满血版DeepSeek R1-671B模型,由于其庞大的参数量,需要使用分布式推理技术进行部署,包括张量并行(Tensor Parallelism)和流水线并行(Pipeline Parallelism)。
CPU配置 #
- 处理器:双路Intel Xeon Platinum 8480+
- 核心数:每路至少56核心
- 线程数:总计至少224线程
内存配置 #
- 系统内存:至少1TB DDR5 ECC内存
- 内存频率:4800MHz或更高
存储配置 #
- 系统盘:2TB NVMe SSD
- 数据盘:8TB NVMe SSD RAID配置
DeepSeek R1满血模型在Linux下载为642G
网络配置 #
- 网络接口:多个100Gbps网络接口
分布式部署策略 #
对于DeepSeek R1-671B满血版模型,单机多GPU配置通常不足以满足部署需求,需要采用多节点分布式部署策略:
张量并行(Tensor Parallelism) #
张量并行是将模型的参数和计算分割到多个GPU上进行处理的技术。对于DeepSeek R1-671B,推荐的张量并行大小为每个节点的GPU数量(例如,如果每个节点有8个GPU,则张量并行大小为8)。
流水线并行(Pipeline Parallelism) #
流水线并行是将模型的不同层分配到不同节点上的技术。对于DeepSeek R1-671B,推荐的流水线并行大小为节点数量(例如,如果有2个节点,则流水线并行大小为2)。
2节点,每节点8个GPU
推理框架 #
对于DeepSeek R1-671B的部署,推荐使用以下推理框架:
- vLLM:支持高效的张量并行和流水线并行,适合大规模模型部署
- SGLang
量化与优化 #
为了在有限的硬件资源上部署DeepSeek R1-671B,可以考虑以下优化技术:
- 混合精度推理:使用FP16或BF16进行计算,减少内存需求
- 量化技术:考虑INT8或INT4量化,但需要权衡精度损失
- KV缓存优化:优化注意力机制的键值缓存,减少内存使用
部署实践 #
vLLM双机多卡部署 #
以下是使用vLLM部署DeepSeek R1-671B的示例命令(假设使用2个节点,每个节点8个GPU):
Running vLLM on multiple nodes
1# 设置环境变量
2export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
3export HF_HUB_OFFLINE=1
4
5# 启动服务
6vllm serve deepseek-ai/DeepSeek-R1 \
7 --served-model-name deepseek-r1 \
8 --tensor-parallel-size 8 \
9 --pipeline-parallel-size 2 \
10 --max-model-len=131072 \
11 --port 8000
Kubernetes+SGLang #
相关系统和软件:
系统和软件 | 版本 | 说明 |
---|---|---|
操作系统 | Ubuntu 24.04 LTS | |
Kubernetes | 1.32 | |
LeaderWorkerSet | v0.5.1 | 用于将一组Pod作为复制单元进行部署的API。它旨在解决AI/ML推理工作负载的常见部署模式,特别是多主机推理工作负载,其中LLM将被分片并在多个节点的多个设备上运行。 |
GPU Operator | 24.9.2 | NVIDIA GPU Operator通过Kubernetes的operator框架自动化管理GPU所需的全部NVIDIA软件组件,解决了手动配置GPU驱动、容器运行时等复杂且易错的问题,简化了GPU资源在Kubernetes环境中的使用和管理。 |
CUDA | CUDA 12.4 | |
NVIDIA-Fabric Manager | ||
SGLang | v0.4.3 |
AIBrix,vLLM,Kubernetes #
DeepSeek-R1 671B需要16块显存80+GB GPU。“通过AIBrix多节点部署DeepSeek-R1 671B模型”该博文测试使用的实例规格如下,可根据实际环境选择类似配置:
- 云平台:火山引擎
- 实例:ecs.ebmhpcpni3l.48xlarge x 2
- CPU: 192 vCPU
- 内存:2048GiB DRAM
- GPU: NVIDIA H20-SXM5-96GB x 8
- 网络:400 Gbps x 8 RDMA + 96 Gbps
- 磁盘:本地 NVME 3576GiB x 4