菜单

配置选项

相关源文件

本文档详细介绍了 DeepSeek-V3 中可用的各种配置选项,重点关注如何针对不同用例自定义和优化模型。配置文件控制模型架构、推理行为和性能特征。有关不同可用模型大小的信息,请参阅模型大小

核心配置参数

DeepSeek-V3 模型通过指定模型架构和行为的 JSON 配置文件进行配置。下面显示了 671B 参数模型的主要配置文件。

来源:inference/configs/config_671B.json1-22

配置参数说明

参数描述
vocab_size词汇表中的 token 数量 (129,280 个 token)
dim模型的隐藏层维度大小 (7,168)
inter_dim前馈网络中间维度大小 (18,432)
moe_inter_dim每个 MoE expert 的中间维度大小 (2,048)
n_layersTransformer 层总数 (61)
n_dense_layers不包含 MoE 的密集层数量 (3)
n_heads注意力头数量 (128)
n_routed_expertsMoE 层中总路由 expert 数量 (256)
n_shared_experts每个 MoE 层中的共享 expert 数量 (1)
n_activated_experts每个 token 激活的 expert 数量 (MoE) (8)
n_expert_groups并行路由的 expert 组数量 (8)
n_limited_groups限制的 expert 组数量 (4)
route_scale路由决策的缩放因子 (2.5)
score_funcexpert 路由的评分函数 ("sigmoid")
q_lora_rankquery 投影的 LoRA rank (1,536)
kv_lora_rankkey-value 投影的 LoRA rank (512)
qk_nope_head_dim不带旋转位置编码的 query/key 的头维度 (128)
qk_rope_head_dim带旋转位置编码的 query/key 的头维度 (64)
v_head_dimvalue 投影的头维度 (128)
dtype权重存储和计算的数据类型 ("fp8")

来源:inference/configs/config_671B.json1-22

配置架构概述

下图说明了配置参数如何影响 DeepSeek-V3 架构的不同组件。

来源:inference/configs/config_671B.json1-22

MoE 配置选项

DeepSeek-V3 采用复杂的混合专家 (MoE) 配置,在大型参数空间中实现计算效率。MoE 相关参数控制 token 如何通过 expert 网络进行路由。

MoE 配置允许 token 动态访问不同的专业 expert,通过仅为每个 token 激活一部分参数来提高模型效率。

来源:inference/configs/config_671B.json5-15

多头潜在注意力 (MLA) 配置

DeepSeek-V3 中的注意力机制使用参数组合来定义多头潜在注意力 (MLA) 行为。

MLA 配置决定了注意力是如何计算的,其中包含旋转位置编码 (RoPE) 以及 query、key 和 value 的维度的专用参数。

来源:inference/configs/config_671B.json8-20

数据类型配置

dtype 参数指定了用于模型权重和计算的数值精度。DeepSeek-V3 支持 FP8 精度,以最大化内存效率和推理速度。

数据类型描述用例
"fp8"8 位浮点格式默认值,可实现最佳内存使用和速度
"bf16"Brain Float 16 位格式不兼容 FP8 平台的替代选项

当模型权重以 FP8 格式存储时,可以将其转换为 BF16,以用于不支持 FP8 计算的平台。此转换由推理管道中的 fp8_cast_bf16.py 实用程序处理。

来源:inference/configs/config_671B.json21

配置文件使用

配置文件位于 inference/configs/ 目录中,每个模型大小都有单独的文件。

  • config_16B.json - 16B 参数模型的配置
  • config_236B.json - 236B 参数模型的配置
  • config_671B.json - 671B 参数模型的配置

要使用特定配置,可以在初始化模型时加载相应的 JSON 文件。配置参数控制模型架构和推理行为。

配置与模型实现的关系

配置参数直接影响模型的构建方式,影响内存使用、计算需求和推理速度。不同的配置可用于在性能和资源限制之间取得平衡,以适应各种部署场景。

来源:inference/configs/config_671B.json1-22

尽管默认配置已针对特定模型大小进行了优化,但您可能需要根据硬件限制和用例调整某些参数。

场景建议的配置更改
GPU 内存有限减少 n_activated_experts 或使用更小的模型
提高吞吐量调整批大小和精度(如果支持,请使用 FP8)
提高精度使用 BF16 精度而不是 FP8
仅 CPU 部署考虑使用 BF16 精度的 16B 模型

请注意,修改核心架构参数(例如 dimn_heads 等)需要重新训练模型,而像 dtype 这样的推理参数可以在不重新训练的情况下进行修改。

有关在各种框架(vLLM、TensorRT-LLM、LMDeploy 等)上进行特定于部署的配置,请参阅这些框架的文档以了解其他配置选项。