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

网站开发用户需求说明书政务公开网站开发

网站开发用户需求说明书,政务公开网站开发,嘉兴做网站优化公司,龙华属于深圳哪个区在深度学习领域#xff0c;神经网络的训练性能瓶颈常常出现在 GPU显存的使用上。主要表现为两方面#xff1a; 单卡上可容纳的模型和数据量有限#xff1b;显存与计算单元之间的带宽和延迟限制了运算速度#xff1b; 为了解决显卡瓶颈的问题#xff0c;涌现了不同的解决…在深度学习领域神经网络的训练性能瓶颈常常出现在 GPU显存的使用上。主要表现为两方面 单卡上可容纳的模型和数据量有限显存与计算单元之间的带宽和延迟限制了运算速度 为了解决显卡瓶颈的问题涌现了不同的解决方法。 模型参数量估计 为了更好地估算模型所要占用的显存首先需要分析模型训练过程中有哪些部分需要消耗存储空间。在 “ZeRO: Memory Optimizations Toward Training Trillion Parameter Model” 中提出模型在训练时主要有两大部分的空间占用。 对于大模型来说主要的空间占用是模型状态包括优化器状态egAdam优化器的动量和方差、模型参数和模型参数的梯度剩余的空间主要被模型训练中间激活值、临时缓冲区和不可用的内存碎片占用统称为剩余状态。 以 3.5B 大模型为例。①35亿个参数如果使用 FP16进行存储的话即 70亿个字节约7GB左右②前向传播的激活值和反向传播的梯度大小跟模型参数保持一致约 7GB③以 Adam优化器为例包括三部分分别为 FP32格式模型参数的备份FP32的动量和方差加起来约28GB因此从理论上要微调此模型的话至少需要 49GB的空间。 1、BF16 半精度浮点数 双精度浮点 Float64单浮点精度 Float32半浮点精度 Float16被广泛应用于model推理 为了进一步降低计算量和显存占用可以考虑整数int4和int8量化推理 之前深度学习模型的训练通常都采用 Float32(FP32)的精度而作者发现使用较低的精度来进行模型的训练也是可行的并且能够显著提升速度。通过采用混合精度训练一般可以实现 2~3 倍的速度提升极大的优化了模型的训练流程。 FP32 整体长度为4个字节即32位其中有8位的指数位宽23位的尾数精度和1位的符号位能够表示的数值范围是 1 × 2 − 126 ∼ ( 2 − ϵ ) × 2 127 1\times 2^{-126} \sim (2-\epsilon)\times 2^{127} 1×2−126∼(2−ϵ)×2127 在一些不太需要高精度计算的应用中eg图像处理和神经网络中32位的空间其实有一些浪费因此又出现了新的数据类型半精度浮点数 FP16使用16位2个字节来存储浮点值有5位的指数位宽10位的尾数精度和1位的符号位能够表示的数值范围是 1 × 2 − 14 ∼ ( 2 − ϵ ) × 2 15 1\times 2^{-14} \sim (2-\epsilon)\times 2^{15} 1×2−14∼(2−ϵ)×215 格式位数/位指数位宽/位尾数精度/位符号位/位数值范围FP32328231 1 × 2 − 126 ∼ ( 2 − ϵ ) × 2 127 1\times 2^{-126} \sim (2-\epsilon)\times 2^{127} 1×2−126∼(2−ϵ)×2127FP16165101 1 × 2 − 14 ∼ ( 2 − ϵ ) × 2 15 1\times 2^{-14} \sim (2-\epsilon)\times 2^{15} 1×2−14∼(2−ϵ)×215BP3216871 1 × 2 − 126 ∼ ( 2 − ϵ ) × 2 127 1\times 2^{-126} \sim (2-\epsilon)\times 2^{127} 1×2−126∼(2−ϵ)×2127 混合精度训练即在模型训练时同时采用 FP32 和 FP16 两种精度。在实践过程中研究人员发现在大语言模型的训练中直接使用 FP16会有一些问题在训练过程中 loss 会非常不稳定因此使用 FP16 训练大模型非常困难。问题在于 FP16的指数位宽只有 5位能表示的最大整数为 65504一旦权重超过这个值就会发生溢出因此只能进行较小数的乘法eg可以计算 250 × 250 62500 250\times25062500 250×25062500但如果计算 255 × 255 65025 255\times 25565025 255×25565025 就会溢出这是导致训练出现问题的主要原因。这也意味着模型权重必须保持很小。一种成为损失缩放的技术可以缓解这个问题但是当模型变得非常大时FP16 较小的数值范围依旧是一个问题。 为了更好地解决 FP16的问题谷歌开发了一种新的浮点数格式 BF16Brain Floating Point, 2个字节用于降低存储需求提高机器学习算法的计算速度。BF16 的指数位宽为8位于 FP32相同尾数精度采用7位因此当使用 BF16时精度非常差。然而在训练模型时一般采用随机梯度下降法及其变体其过程像蹒跚而行即使某一步没有找到最优方向也没关系模型会在后续调整纠正。 将模型参数类型从 FP16换为 BF16训练的大模型 loss值的下降也会变得更加稳定。 这种低精度和 混合精度训练的方法逐渐被广泛接受和应用深度学习框架、GPU以及 神经网络加速器的设计也因此受到了深渊的影响。可以说混合精度训练的提出对深度学习领域起到了关键的推动作用有效地解决了 GPU显存的使用问题提升了模型训练的效率。 2、混合精度训练 paperMixed Precision Training 维护一个权重的单精度副本在每个优化器步骤后累计梯度(对于前向和反向传播此副本四舍五入到半精度)提出了损失缩放来保持小幅度的梯度值使用半精度算法该算法累积为单精度输出在存储到内存之前将其转化为半精度 FP32 为主副本权重 在混合精度训练时权重、激活函数、梯度被保存为 FP16为了与 FP32模型的精度相匹配在optimizer step时维持 FP32权重为主线并使用权重梯度进行更新。在每次迭代时主权重的 FP16副本用于前向和反向传播将 FP32训练所需的存储和带宽减半如上图所示。 虽然对 FP32住权重的需求并不普遍但许多模型还需要 FP32的两个可能原因是 权重更新变得太小无法在 FP16中表示任何大小小于 2 − 24 2^{-24} 2−24 的值在 FP16中都将变为 零当与学习率相乘时这些小值梯度在优化器中都会变为零并对模型的准确性产生不利影响。使用单精度进行更新可以解决这一问题权重值 与 权重更新的比例非常大。在这种情况下即使权重更新可以在 FP16中表示当加法操作将其右移以使二进制点与权重对齐时它仍然可能变为零。当归一化权重值的幅度比权重更新的新幅度大 至少2048倍就会发生这种情况。由于 FP16有10位尾数隐式位必须右移11位或更多位置才能潜在地创建一个零。在比例大于2048时隐式比特将右移12位或更多位。这将导致权重更新变得无法恢复的零。更大的比例将导致非标注化数字的效果。同样可以通过计算 FP32中的更新来抵消这种影响。 图2-a所示在 FP16前后传播更新 FP32权重主线时匹配FP32训练结果而更新FP16权重会导致 80%的相对精度损失。 由于更大的 batch-size 和每层的激活被保存以在反向传播过程中重复使用因此训练内存消耗主要由激活决定。由于激活也以半精度格式存储因此训练深度神经网络的整体内存消耗大约减半。 2.1 损失缩放 FP16指数偏差将归一化指数的范围集中到 [-14,15]而实践中的梯度值往往由小幅度(负指数)主导如图3所示显示了Multibox SSD模型的 FP32训练期间在所有层上的急活梯度值的直方图FP16 可表示范围的大部分未必使用而许多值低于最小可表示范围 变为指数为0。放大梯度将使它们占据更多的可表示范围并保留否则会丢失为0的值。当梯度未被缩放时这个特定的网络会发散但将其压缩8倍(指数为3)就足以匹配 FP32训练所达到的精度。这说明激活 2.2运算精度 神经网络模型分为三类vector dot-products, reductions, point-wise operations。当涉及到降低精度的算法时这些类别受益于不同的处理为了保持模型的准确性发现一些模型要求 FP16矢量点积将部分累加成 FP32在写入内存之前将其转换为 FP16。如果 FP32中没有这种积累一些 FP16模型与基线模型的精度不匹配。 之前的GPU只支持 FP16 乘/加法运算而 NVIDIA Volta GPU引入了 Tensor Core可以将 FP16输入矩阵相乘并将乘积累加到 FP16或 FP32输出中。 FP32中应进行大幅缩减(向量各元素之和)。在累积统计数据和 softmax层时这种建好主要出现在 batch-normalization 层中。在两种层类型种仍然从内存中读取和写入FP16张量在 FP32中执行算术运算这并没有减缓训练过程因为这些层的内存带宽有限对算术速度不敏感。 逐点操作如非线性和逐像素矩阵运算是内存带宽有限由于算术精度不影响这些运算的速度因此可以使用FP16 或 FP32.
http://www.ho-use.cn/article/10822728.html

相关文章:

  • 自学php做网站舆情系统排名
  • 专门做团购的网站李勇seo的博客
  • 管理系统和网站哪个好做如何做好网站建设
  • 综合性医院网站源代码下载制作七星网站
  • 一个网站如何做seo优化一键生成作文的网站
  • asp网站优化访问速度找别人做的网站问什么域名解析后还是上线不
  • 淄博网站建设高端企业做加盟的网站建设
  • 国家企业信息系统公示系统下载佛山网站快照优化公司
  • 软件开发招标网站wordpress 分页404
  • 好的做网站中国电商网站排名
  • 网站规划名词解释有阿里云主机管理平台如何自己做网站
  • 免费域名注册和免费建站专业团队广告语
  • 做网站的广告江津集团网站建设
  • 电信200m宽带做网站卡吗企业查询app 哪个好用
  • 网站建设衣服合肥市建设网站市场信息价
  • 中文域名网站标识辽宁自助网站建设公司
  • 知名营销网站wordpress自定义文章类型输出数量
  • 如何在国外网站做免费推广网站开发新型技术
  • 网站大全下载软件安装佛山制作网站企业
  • 西宁网络公司做网站哪家好福永电子烟网站开发
  • 金融网站建设内容微信小程序制作过程
  • 怎样做交互式网站中国建设教育协会是个什么网站
  • 溧阳做网站的哪家好aso关键词排名优化是什么
  • 微信网站公众平台单位网站建设申请
  • 装修网站怎么建设wordpress积分查看
  • 河南省住房和城乡建设门户网站营销培训师
  • 网站推广的8种方法中达世联网站建设
  • 江苏省和住房城乡建设厅网站wordpress赚钱
  • 如何通过c语言来做网站wordpress 一键分享
  • 汕头网站设计开发建筑人才网 一建港航