DeepSeek-V3模型参数规模解析:37B激活参数的计算方法
2025-04-28 02:48:59作者:戚魁泉Nursing
DeepSeek-V3作为一款强大的混合专家(MoE)语言模型,其技术报告中提到总参数规模达到671B,但每个token仅激活37B参数。这一设计在保持模型强大能力的同时,显著提升了推理效率。本文将详细解析37B激活参数的计算方法,帮助读者理解MoE模型的参数结构。
模型架构概述
DeepSeek-V3采用混合专家架构,主要包含以下几个关键组件:
- 嵌入层(Embedding Layer)
- 多层Transformer结构
- 多头注意力机制(MLA)
- 混合专家层(MoE)
- 输出层(Output Layer)
参数计算详解
1. 嵌入层参数
嵌入层负责将输入token映射到隐藏空间:
- 词汇表大小(vocab_size): 129,280
- 隐藏层维度(hidden_size): 7,168
- 参数规模: 129280 × 7168 ≈ 0.9B
2. Transformer隐藏层参数
多头注意力机制(MLA)
MLA层采用LoRA(Low-Rank Adaptation)技术降低参数规模:
-
键值(KV)投影:
- 下投影矩阵: 7168 × 512 ≈ 3.7M
- 键上投影矩阵: 512 × 128 × 128 ≈ 8.4M
- 键RoPE矩阵: 7168 × 64 ≈ 0.5M
- 值上投影矩阵: 512 × 128 × 128 ≈ 8.4M
-
查询(Q)投影:
- 下投影矩阵: 7168 × 1536 ≈ 11.0M
- 查询上投影矩阵: 1536 × 128 × 128 ≈ 25.2M
- 查询RoPE矩阵: 1536 × 64 × 128 ≈ 12.6M
-
输出投影:
- 输出矩阵: 7168 × 128 × 128 ≈ 117.4M
-
归一化层:
- 两个RMSNorm层: 7168 × 2 ≈ 14K
总MLA参数: 61层 × (3.7M + 8.4M + 0.5M + 8.4M + 11.0M + 25.2M + 12.6M + 117.4M + 14K) ≈ 11.4B
混合专家层(MoE)
MoE层是参数规模的主要来源:
-
路由层(Router):
- 前三层不使用路由
- 参数规模: 7168 × 256 × 58 ≈ 106.4M
-
专家网络(Experts):
- 每个专家包含3层前馈网络
- 中间层维度(moe_intermediate_size): 2,048
- 每个token激活8个路由专家和1个共享专家
- 参数规模: 3 × 2048 × 7168 × 61 × 9 ≈ 24.1B
3. 输出层参数
输出层将隐藏状态映射回词汇空间:
- 参数规模: 129280 × 7168 ≈ 0.9B
总激活参数计算
将所有激活部分相加:
- 嵌入层: 0.9B
- MLA层: 11.4B
- MoE层: 24.1B + 0.1B
- 输出层: 0.9B
- 总计: ≈37.5B
设计优势分析
DeepSeek-V3的37B激活参数设计体现了几个关键优势:
- 计算效率:相比全参数激活,仅激活5.5%的参数(37B/671B),大幅降低计算量
- 专家利用率:每个token仅激活8个专家,实现计算资源的动态分配
- 参数共享:共享专家机制确保基础能力的稳定性
- LoRA技术:在注意力机制中应用低秩适应,有效控制参数规模
这种设计在保持模型强大表达能力的同时,显著提升了推理效率,是MoE架构在实际应用中的成功实践。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
Ascend Extension for PyTorch
Python
758
968
昇腾LLM分布式训练框架
Python
186
231
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
699
1.4 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
879
2.03 K
暂无描述
Dockerfile
780
5.08 K
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
70
22
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.09 K
217