Deepseek-V3的显存优化

数字化转型网(Professionalism Achieves Leadership 专业造就领导者)人工智能 […]

数字化转型网(Professionalism Achieves Leadership 专业造就领导者)人工智能专题

一、FP8 低精度训练:混合训练框架和精细量化策略

1、混合精度训练框架

在 DeepSeek-V3 的训练中,对于占据大量计算量的 GEMM(通用矩阵乘法)操作,采用 FP8 精度执行,FP8 数据类型具有较低的内存占用和更快的计算速度,所以可以显著提升计算效率、降低显存开销;同时为了确保训练的稳定性,对于少数对精度要求比较高的关键操作,如嵌入模块(将输入 Token 转换为向量表示)、注意力操作等,仍保持高精度(BF16/FP32)计算。

2、精细量化策略

FP8 虽然在训练速度和显存占用方面优势明显,但是由于需要采取措施对训练数据、模型参数、中间激活值进行量化操作,容易在训练过程中出现因量化误差导致的模型发散等问题,影响训练稳定性和模型性能,DeepSeek-V3 在训练过程中采用了分块量化、块级量化、高精度累加三种精细量化策略解决这个问题。

a)分块量化:数据划分粒度相对较细,将数据划分为多个小块,然后对每个小块分别进行量化操作,这种方式能更精细地适应数据的局部特征,减少量化误差。

b)块级量化:数据划分粒度相对较粗,对更大的块进行统一量化处理,这种方式更关注数据的整体特征和分布情况,通过对较大块的数据采用相同的量化参数进行量化,可以简化量化计算过程,降低计算复杂度。

c)高精度累加:在一些关键计算步骤中,虽然中间计算过程使用了 FP8 精度以提高计算效率,但在进行累加等操作时,会将 FP8 数据转换为更高精度的数据类型(BF16/FP32)进行累加,然后再根据需要转换回 FP8 精度进行后续计算,这种机制可以有效控制量化误差的积累。

二、选择重计算:间隔重计算和选择性重计算优化

1、基本概念

在训练过程中,需要占用大量的显存来存储模型参数、中间结果等数据,当模型参数规模较大或者训练数据量较多时,可能会出现显存不够用的情况;所以业界会采用重计算优化方法,即在前向传播时不保存上述的中间结果数据,而是在反向传播需要的时候重新计算它们,大大减少中间结果所占用的显存空间。

2、实现方案

比较粗暴的实现方案是完全重计算,这种方案因为计算量较大,会大幅增加训练全过程时间,所以业界一直在探索更为高效的选择重计算方案,DeepSeek-V3 在训练过程中主要应用了间隔重计算和选择性重计算两种优化手段。

a)间隔重计算:即“隔一层重计算一次” ,在反向传播中对一半层的输入输出进行重计算,另一半层按照传统方式保存中间结果数据。

b)选择性重计算:大模型每一层的计算,通常由类似 RMSkernel 的计算强度较弱的部分(包含平方、求和、开方等计算操作,用于稳定训练过程、加速模型收敛)和计算强度较强的 GEMM 矩阵乘法部分组成,他们虽然都会产生中间结果,但是计算成本差异较大;通常 RMSkernel 的计算时间占比小、但单位计算的显存占用大,而GEMM的计算时间占比大、但单位计算的显存占用小;所以选择性重计算方法重点是针对 RMSkernel 相关的部分算子进行重计算,获得最大的性价比。

三、EMA显存优化:异步处理与显存卸载优化

1、基本概念

EMA是指数移动平均(Exponential Moving Average),它对于模型训练过程中每一步更新得到的参数,计算指数加权平均值,得到一组新的参数,用于监测训练方向,避免噪声对于模型参数更新的影响,以得到更加稳定、泛化能力更强的参数;由于EMA需要额外维护一组参数,所以会占用一定的显存空间。

2、实现方案

DeepSeek-V3 在训练过程中采用了异步处理和显存卸载方法,优化了EMA的显存占用。

a)异步处理:由于EMA的计算过程并不需要训练过程中实时产生的数据,所以可以独立于前向传播和反向传播而开展,DeepSeek采用异步处理方式,让EMA计算过程与训练过程并行开展。

b)显存卸载:基于上述异步处理的基础,可以将EMA计算从GPU显存卸载至CPU,即在每一轮训练结束后,将模型参数传递给CPU,在 CPU 上计算 EMA 参数,然后将更新后的 EMA 参数存储在 CPU 内存中,减少GPU的显存占用。

四、头尾参数共享:embedding 层和 lm_head 层共享参数的优化策略

1、基本概念

embedding层位于模型首端,核心作用是把离散的 Token 转换为连续的向量表示,实现这一转换依靠的是一个可学习的权重矩阵,其大小为 vocab_size * hidden_size(词表大小 * 每个 Token 对应的嵌入向量的维度);lm_head 层位于模型的末端,将模型输出的嵌入向量重新映射回 Token 的概率分布,以便计算损失函数,其实现方式同样是依赖一个大小为 vocab_size * hidden_size 的权重矩阵。

2、实现方案

头尾参数共享,指的是让 embedding 层和 lm_head 层使用同一个权重矩阵,这种优化方案由于减少了参数存储量,与之相关的梯度、优化器状态和参数备份等占用的显存也会相应减少,且共用的权重矩阵有助于模型学习到更稳定和通用的 Token 表示,从而提高模型的性能和泛化能力。

声明:本文来自Zero417,版权归作者所有。文章内容仅代表作者独立观点,不代表数字化转型网立场,转载目的在于传递更多信息。如有侵权,请联系我们。

💬 评论
🔗 本文链接

以专业为基,引领科技向善向新

Rooted in professionalism, we lead technology toward social good and innovation.

数智化转型网 · 了解更多产业资讯与选型数据 →

📰 你可能也喜欢

数智化转型网GEO专题 GEO专题栏目

对话式 AI 引用的内容特征:四要素构建法

一、对话式 AI 引用的独特性 对话式 AI(如 ChatGPT、Claude、文心一言)的引用特点与传统搜索
📅 09-27 · 👁 2026年9月27日
数智化转型网GEO专题 GEO专题栏目

GEO 平台评估:2026 年企业选型时需要关注的六大核心指标

一、为什么企业需要系统评估 GEO 平台 随着 AI 搜索生态在 2026 年持续扩张,市面上已经涌现出超过
📅 09-27 · 👁 2026年9月27日
数智化转型网GEO专题 GEO专题栏目

AI 引擎的引用决策机制:可解释性的四层评估模型

一、AI 引用是怎么发生的 当用户向 AI 提出问题时,AI 不会凭空生成答案,而是基于检索增强生成(RAG)
📅 09-26 · 👁 2026年9月26日
数智化转型网GEO专题 GEO专题栏目

2026 年 GEO 行业研究报告核心发现:五大趋势判断

一、行业研究的意义 2026 年初,多家权威机构发布了 GEO 行业研究报告。这些报告汇集了行业最新数据、案例
📅 09-26 · 👁 2026年9月26日
数智化转型网GEO专题 GEO专题栏目

Schema 类型全解:六种核心结构化数据与 GEO 应用

一、什么是 Schema 结构化数据 Schema 是由 Schema.org 维护的一套标准化词汇,用于在网
📅 09-26 · 👁 2026年9月26日
数智化转型网GEO专题 专题栏目

AI 答案中的引用位次:第一位、第二位与第三位的价值差异

一、AI 答案的引用结构 AI 引擎在生成答案时,会引用多个信源的内容。理解答案中引用信源的位次结构,对于优化
📅 09-26 · 👁 2026年9月26日