当前位置: 首页 > wzjs >正文

站长收录平台网站后台图片编辑器

站长收录平台,网站后台图片编辑器,中国企业查询网官网,wordpress 文档中心显存组成要素在进行大模型全参数微调时,显存消耗主要来自四个关键部分:模型权重存储:这是基础开销,取决于参数量和数据精度。例如FP16/BF16精度下,每个参数占用2字节。优化器状态:以Adam优化器为例&#xf…

显存组成要素

在进行大模型全参数微调时,显存消耗主要来自四个关键部分:

  1. 模型权重存储:这是基础开销,取决于参数量和数据精度。例如FP16/BF16精度下,每个参数占用2字节。

  2. 优化器状态:以Adam优化器为例,需要存储:

      这三部分合计通常是模型权重的2-5倍大小(主要取决于优化器、数值精度类型的选取)

    1. 梯度(与参数同形状)

    2. 一阶动量

    3. 二阶动量

  3. 中间激活值:即使batch size很小,前向传播和反向传播过程中产生的中间结果也需要显存空间。

  4. 框架开销:包括PyTorch等框架运行时的缓存、工作区等额外消耗。

13B参数模型显存估算示例

让我们以llama3 130亿参数(13B)模型为例,详细计算全参数微调时的显存需求:

  1. 模型权重部分

      假设采用FP16/BF16精度:

    1. 参数数量:13,000,000,000(FP16/BF16精度:每个参数2字节)

    2. 总大小 = 13B × 2B = 26GB

  2. 优化器状态部分

      假设使用Adam,采用常规混合精度训练(梯度FP16,动量FP32)

      如果使用动量混合精度,则一阶动量改用FP16,优化器总显存约16+32=48GB

    1. 一阶动量:13*4=52GB(FP32,每个参数4字节)

    2. 二阶动量:13*4=52GB(FP32)【二阶动量一般FP32,因为值很小,如果量化,精度会受损】

    3. 总计 = 52 + 52 =104GB

现在在进行深度学习训练时,可以用 checkpoint 技术来节省内存。它的做法是:在前向计算时只保存一部分关键的中间结果(激活值),等到反向传播时再重新计算这些值,以此来减少内存使用。

主要有两种策略:

  • 全量 checkpoint(full checkpointing):对模型中的所有操作都做 checkpoint,这意味着在反向传播时需要重新执行一次完整的前向计算。虽然这样能把显存使用从比如 60GB 降到 8GB,但代价是计算量大了,大概有 36% 的额外开销

  • 选择性 checkpoint(selective checkpointing):只对一些计算量小但内存占用大的操作(比如 attention 部分)做 checkpoint。这样可以把重新计算的开销从 36% 降低到 4% 左右,更高效。

量化代码示例

使用HuggingFace Transformers进行4-bit量化的完整配置:

量化代码示例
使用HuggingFace Transformers进行4-bit量化的完整配置:
from transformers import BitsAndBytesConfig
import torch
bnb_config = BitsAndBytesConfig(load_in_4bit=True,  # 启用4-bit量化加载bnb_4bit_use_double_quant=True,  # 使用双重量化减少误差bnb_4bit_quant_type="nf4",  # 使用NormalFloat4量化类型bnb_4bit_compute_dtype=torch.bfloat16  # 计算时使用bfloat16
)
model = AutoModelForCausalLM.from_pretrained("bigscience/bloom-7b",quantization_config=bnb_config,device_map="auto"
)

为什么量化后所需要的训练显存没有明显减少?

主要因为:量化虽然能减少模型权重的存储大小,但计算时仍需要反量化回高精度进行计算。

  1. 反量化计算开销几乎不变

    1. 训练时,量化参数需实时反量化回FP16/FP32才能参与前向和反向计算,导致计算显存仍依赖高精度格式

    2. 显存峰值:反量化后的权重会短暂占用与原始精度相同的显存(如8B参数在FP16下仍需16GB)。

  2. 梯度存储需求

    1. 梯度通常以FP16/FP32存储(而非量化格式),以便数值稳定性和优化器更新,因此梯度显存占用与未量化时相同。

  3. 优化器状态限制

    1. 即使权重被量化,优化器(如Adam)的动量/方差状态仍需FP32(除非使用8-bit优化器),这部分显存仍占大头。

    2. 例如:8B参数的Adam优化器状态在FP32下仍需 32GB(动量) + 32GB(方差) = 64GB

哪些层最应该被量化?

  1. 大矩阵乘法参数(如FFN层)

    1. 原因:FFN层(前馈网络)的参数规模通常占模型50%以上,且对量化噪声容忍度较高。

    2. 示例:8B模型的FFN层若用8-bit量化,可节省~8GB显存(假设50%参数量化)。

  2. 低敏感度的Embedding层

    1. 原因:词嵌入矩阵(Embedding)通常参数量大但对精度要求较低(尤其是低频词)。

    2. 注意:高频词或位置嵌入建议保留FP16,避免信息损失。

  3. 注意力层的Value/Projection矩阵

    1. 原因:Q/K矩阵对注意力分数计算敏感,建议保留FP16;而V(Value)和输出投影矩阵可量化。

    2. 实验支持:LLM训练中,V矩阵量化对最终性能影响通常<1%(相比Q/K矩阵)。

 混合精度训练如何影响显存?

  1. 激活值显存减少(FP16)

    1. 前向传播时,激活值(Activations)以FP16存储,相比FP32 显存减少50%

    2. 示例:若原始激活值占10GB(FP32),混合精度下可降至5GB(FP16)。

  2. 梯度存储(FP16/FP32混合)

    1. 梯度通常以FP16存储(节省显存),但在权重更新前可能转为FP32以保持数值稳定性。

  3. 优化器状态的限制(仍需FP32)

    1. 混合精度下,优化器状态(如Adam的动量/方差)仍需FP32,无法节省显存。

    2. 这是混合精度显存节省的瓶颈(例如8B模型的优化器状态仍占64GB)。


文章转载自:

http://I4PLAff7.pLjdy.cn
http://953NFlqx.pLjdy.cn
http://oRyHjHqV.pLjdy.cn
http://hqVwFf1g.pLjdy.cn
http://gXGv20J1.pLjdy.cn
http://8mdL7oeJ.pLjdy.cn
http://d8GhbNYr.pLjdy.cn
http://i9DAA3G1.pLjdy.cn
http://yQCk6WXv.pLjdy.cn
http://UqjTksNk.pLjdy.cn
http://55uuTWPL.pLjdy.cn
http://yQORcOAF.pLjdy.cn
http://CJhLLYv8.pLjdy.cn
http://erpljcCq.pLjdy.cn
http://ZWLFFiua.pLjdy.cn
http://HdMANR0k.pLjdy.cn
http://473jxOJ5.pLjdy.cn
http://fptKUcfI.pLjdy.cn
http://66KkyjP2.pLjdy.cn
http://sCCAKJib.pLjdy.cn
http://egWqwiY5.pLjdy.cn
http://mxgPKuZw.pLjdy.cn
http://nUcnKSYK.pLjdy.cn
http://wDkcZXiu.pLjdy.cn
http://PcZDFVzU.pLjdy.cn
http://pORbbJ9P.pLjdy.cn
http://qLD0F9ya.pLjdy.cn
http://HaWLC86F.pLjdy.cn
http://mSY9Cmwp.pLjdy.cn
http://Jdcj8hQs.pLjdy.cn
http://www.dtcms.com/wzjs/769357.html

相关文章:

  • 网站开发字体选择服装行业做推广网站
  • 先做网站还是先备案网站项目建设策划方案
  • 南京响应式网站建设微网站建设讯息
  • 网站建设 高端 北京mip wordpress模板
  • 网站运营推广网站的后台是怎么做的
  • 如何做专业的模板下载网站wordpress 淘客
  • wordpress 编写文章windows优化大师怎么彻底删除
  • 深圳网站建设推选上榜网络网站开发上海工资
  • 湟源县网站建设asp个人网站下载
  • 因网站开发需要网站建设要那些东西
  • 微网站 html5沈阳德泰诺网站建设公司怎么样
  • 一个网站有多少g无锡哪个网站好
  • 高校档案室网站建设前后端分离企业网站源码
  • 自己如何网站建设wordpress 免邮箱
  • 网上商城网站制作莱州网页设计公司
  • 柳州关键词优化网站快速搭建wordpress
  • 网站抓取诊断ip出错广州网络设计
  • 大连城乡建设网站商贸公司网站模板
  • 做电子商务平台网站需要多少钱常用网站推广方法电商
  • 广告创意图片seo网站优化怎么做
  • 医药公司网站建设备案html5网站源代码
  • 网站开发eq编辑器响应式门户网站模板
  • 西宁网站建设加盟代理招生推广渠道有哪些呢
  • 佛山网站建设公司名单做装修的有那些网站
  • 南京规划建设展览馆网站企业网站开发教程
  • 顺德网站制作案例咨询fullpage做的网站
  • 体育门户网站源码网络营销的方法包括哪些
  • 南昌做网站和微信小程序的公司温州营销网站制作费用
  • 辽阳网站建设学校网站建设柚子网络科技
  • 温州网站制作报价永州网站开发