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

免费seo网站自动推广软件企业网站搜索引擎拓客

免费seo网站自动推广软件,企业网站搜索引擎拓客,网站3d展示怎么做的,推广服务商是什么意思深度学习模型训练计算量的估算 方法1#xff1a;基于网络架构和批处理数量计算算术运算次数前向传递计算和常见层的参数数量全连接层#xff08;Fully connected layer#xff09;参数浮点数计算量 CNN参数浮点数计算量 转置CNN参数浮点数计算量 RNN参数浮点数计算量 GRU参数… 深度学习模型训练计算量的估算 方法1基于网络架构和批处理数量计算算术运算次数前向传递计算和常见层的参数数量全连接层Fully connected layer参数浮点数计算量 CNN参数浮点数计算量 转置CNN参数浮点数计算量 RNN参数浮点数计算量 GRU参数浮点数计算量 LSTM参数浮点数计算量 Self-Attention参数浮点数计算量 Multi-Headed Attention参数浮点数计算量 示例CNN-LSTM-FCN模型 方法2基于硬件设置和训练时间计算运算次数1.从论文/参考文献中提取信息2.阅读硬件规格3.进行估算估算GPU的总FLOP精度的考虑考虑硬件特性 深度学习模型训练计算量的估算 在当今的机器学习领域深度学习模型的性能和先进性往往与其在更多计算资源上进行的训练有关。为了确保不同深度学习模型之间的准确比较估算和报告训练过程中的计算资源使用情况变得至关重要。 本文将探讨深度学习模型训练计算量的估算方法并介绍了该领域的一些前沿。 计算资源的使用通常以训练模型的最终版本所需的浮点运算次数FLOP来衡量。 我们将重点介绍两种估算方法以大家更好地理解和比较不同深度学习模型的训练计算量这两种方法用于估算深度学习模型的训练计算量 一种基于网络架构和批处理数量一种基于硬件的最大配置和模型训练时间 方法1基于网络架构和批处理数量计算算术运算次数 这种方法通过分析模型的架构和训练数据量来估算计算量。我们将探讨如何通过这种信息来估算模型训练的计算资源需求以及其在实际研究中的应用。 大致公式如下 计算量 2 × c o n n e c t i o n s × 3 × t r a i n i n g e x a m p l e × e p o c h s 计算量 2 \times connections \times 3 \times training \space example \times epochs 计算量2×connections×3×training example×epochs connections指的是神经网络中的连接数即神经元之间的直接相互连接。在神经网络中神经元之间的连接表示它们之间的信息传递和相互作用。 举个例子如果你有一个具有 N 个输入神经元和 M 个输出神经元的全连接层fully connected layer那么它将有 NM 个连接。这意味着每个输入神经元都与每个输出神经元相连接形成了 NM 个连接。 training example指的是用于训练机器学习模型的数据集中的样本数量 epochs是指在训练深度学习模型时的迭代次数 计算资源的使用通常是以模型的前向传播inference或反向传播backpropagation所需的浮点运算次数FLOP来衡量。这是在单次迭代一个batch中的计算而不是迭代的总和在深度学习框架中每个批次计算完成后框架通常会自动释放相应的计算资源包括中间结果的内存。 为什么不可以层层计算释放资源进入下一层呢 在神经网络的训练中每一层的计算都依赖于前一层的输出因此不能在每一层的计算中释放资源并进入下一层。神经网络的计算通常是流水线式的每一层的输出是下一层的输入。如果在每一层都等待上一层计算完成并释放资源会导致整个计算过程变得非常慢。 下面我们可以将上面的公式翻译转换一下可以用如下公式来解释 t r a i n i n g _ c o m p u t e ( o p s _ p e r _ f o r w a r d _ p a s s o p s _ p e r _ b a c k w a r d _ p a s s ) ∗ n _ p a s s e s training\_compute (ops\_per\_forward\_pass ops\_per\_backward\_pass) * n\_passes training_compute(ops_per_forward_passops_per_backward_pass)∗n_passes 其中 ops_per_forward_pass表示的是前向传播中的计算数ops_per_backward_pass是反向传播中的计算数n_passes等于模型迭代次数和训练样本数的乘积 n _ p a s s e s n _ e p o c h s ∗ n _ e x a m p l e s n\_passes n\_epochs * n\_examples n_passesn_epochs∗n_examples 如果不知道自己一个迭代的训练样本数有时可以计算为每个迭代的批次数乘以每个批次的大小 n _ e x a m p l e s n _ b a t c h e s ∗ b a t c h _ s i z e n\_examples n\_batches * batch\_size n_examplesn_batches∗batch_size ops_per_backward_pass与ops_per_forward_pass的比率相对稳定因此可以将二者整合为 f p _ t o _ b p _ r a t i o o p s _ p e r _ b a c k w a r d _ p a s s o p s _ p e r _ f o r w a r d _ p a s s fp\_to\_bp\_ratio \frac{ops\_per\_backward\_pass}{ops\_per\_forward\_pass} fp_to_bp_ratioops_per_forward_passops_per_backward_pass​。 得到以下公式 t r a i n i n g _ c o m p u t e o p s _ p e r _ f o r w a r d _ p a s s ∗ ( 1 f p _ t o _ b p _ r a t i o ) ∗ n _ p a s s e s training\_compute ops\_per\_forward\_pass * (1 fp\_to\_bp\_ratio) * n\_passes training_computeops_per_forward_pass∗(1fp_to_bp_ratio)∗n_passes 通常估计fp_to_bp_ratio的值为2:1 。最终的公式为 t r a i n i n g _ c o m p u t e o p s _ p e r _ f o r w a r d _ p a s s ∗ 3 ∗ n _ e p o c h s ∗ n _ e x a m p l e s training\_compute ops\_per\_forward\_pass * 3 * n\_epochs * n\_examples training_computeops_per_forward_pass∗3∗n_epochs∗n_examples 为什么反向传递操作与前向传递操作的比率2:1 计算反向传递需要为每一层计算与权重相关的梯度和每个神经元关于要回传的层输入的误差梯度。这些操作中的每一个需要的计算量大致等于该层前向传递中的操作量。因此fp_to_bp_ratio约为2:1。 为什么权重更新参数计算可以忽略不计 在深度学习训练中权重更新所需的参数计算量相对于前向传播和反向传播来说通常可以被认为是可以忽略不计的。这主要有以下几个原因 批量更新 在深度学习中通常使用批量梯度下降或小批量梯度下降等优化算法进行权重更新。这意味着权重更新是基于整个训练数据集或小批次的梯度。相比于前向传播和反向传播其中需要对每个训练样本进行计算权重更新的计算是在更大的数据集上进行的因此其计算量相对较小。累积梯度 在实际应用中通常会累积多个批次的梯度来更新参数。这样做有助于降低梯度的方差提高梯度估计的稳定性。由于梯度的累积单个批次中的权重更新计算相对于整体训练过程来说是较小的一部分。参数共享 在卷积神经网络CNN等架构中存在参数共享的情况。在这种情况下多个神经元共享同一组权重从而减少了参数的数量。由于参数共享权重的梯度计算是相对较小的。 前向传递计算和常见层的参数数量 下面是整理了一个常见神经网络层的表格估算了它们的参数数量以及每层前向传递所需的浮点运算次数。 前文已经知道了在许多层中前向传递中的FLOP数量大致等于参数数量的两倍然而有许多例外情况例如CNN由于参数共享而具有更少的参数而词嵌入则不进行任何操作。 全连接层Fully connected layer 参数 浮点数计算量 CNN 从形状为 H × W × C H \times W \times C H×W×C 的张量中使用形状为 K × K × C K \times K \times C K×K×C的 D 个滤波器应用步幅为 S 和填充为 P 的卷积神经网络CNN。 参数 浮点数计算量 转置CNN 从形状为 H × W × C H \times W \times C H×W×C 的张量中使用形状为 K × K × C K \times K \times C K×K×C的 D 个滤波器应用步幅为 S、填充为 P 的转置卷积神经网络Transpose CNN。 参数 浮点数计算量 RNN 带有偏置向量的循环神经网络RNN其输入大小为 N输出大小为 M。 参数 浮点数计算量 GRU 带有偏置向量的全门控门循环单元Fully Gated GRU其输入大小为 N输出大小为 M。 参数 浮点数计算量 LSTM 带有偏置向量的长短时记忆网络LSTM其输入大小为 N输出大小为 M。 参数 浮点数计算量 Self-Attention 具有序列长度 L、输入大小为 W、键大小为 D 和输出大小为 N 的自注意力层Self-Attention Layer。 参数 浮点数计算量 Multi-Headed Attention 具有序列长度 L、输入大小为 W、键大小为 D、每个注意力头输出大小为 N、最终输出大小为 M 以及 H 个注意力头的多头注意力层Multi-Headed Attention Layer。 参数 浮点数计算量 示例CNN-LSTM-FCN模型 例如假设我们有一个CNN-LSTM-FCN架构具体如下 输入是形状为 [400x400x5] 的图像序列。每个输入序列的平均长度为20张图像。CNN 具有16个形状为 5x5x5 的滤波器应用步幅为2填充为2。LSTM 是一个多对一层具有256个输出单元和偏置向量。全连接层有10个输出单元。训练过程经过10个时期每个时期包含100个大小为128的序列批次。 当我们考虑一个CNN-LSTM-FCN模型时循环部分包括CNN和LSTM而FC则是网络的非循环部分。 首先CNN接受一个形状为 400 ∗ 400 ∗ 5 400 *400 * 5 400∗400∗5的输入图像序列。该CNN有16个5x5x5的滤波器应用步幅为2填充为2。它产生一个输出宽度和高度为 H ’ W ’ [ ( W − K 2 P ) / S ] 1 [ ( 400 − 5 2 ∗ 2 1 ) / 2 ] 200 H’W’ [(W -K 2P)/S]1 [(400 - 52 * 21)/2 ]200 H’W’[(W−K2P)/S]1[(400−52∗21)/2]200通道数为16。整个CNN的前向传递需要约 1.024 × 1 0 12 1.024 \times 10^{12} 1.024×1012 次浮点运算FLOP。 在将输入馈送到LSTM之前CNN的输出被重新排列成一个 200 ∗ 200 ∗ 16 200*200*16 200∗200∗16的输入。然后LSTM中每个序列标记的操作数量约为 1.31 × 1 0 9 1.31 \times 10^9 1.31×109FLOP。最后全连接层FC有10个输出单元它需要5120 FLOP。 整个网络的非循环部分相对较小我们可以将总操作数近似为 t r a i n i n g _ c o m p u t e ≈ o p s _ p e r _ f o r w a r d _ p a s s _ r e c u r r e n t × 3 × n _ e p o c h s × n _ b a t c h e s × b a t c h _ s i z e × a v g _ t o k e n s _ p e r _ s e q u e n c e ≈ 1.024 × 1 0 12 F L O P × 3 × 10 × 100 × 128 × 20 7.86432 × 1 0 18 F L O P training\_compute≈ops\_per\_forward\_pass\_recurrent \times 3 \times n\_epochs \times n\_batches \times batch\_size \times avg\_tokens\_per\_sequence ≈1.024 \times 10^{12}FLOP \times 3 \times 10 \times 100 \times 128 \times 207.86432×10 ^{18}FLOP training_compute≈ops_per_forward_pass_recurrent×3×n_epochs×n_batches×batch_size×avg_tokens_per_sequence≈1.024×1012FLOP×3×10×100×128×207.86432×1018FLOP 方法2基于硬件设置和训练时间计算运算次数 另一种估算方法涉及考虑所使用的硬件和训练时间。我们将研究如何利用这些硬件方面的信息来估算计算资源的使用情况并探讨硬件选择如何影响深度学习模型的性能和效率。 传统的基于硬件设置和训练时间计算运算次数是用使用GPU天数做为标准。 GPU使用天数描述了单个GPU用于训练的累积天数。如果训练持续了5天总共使用了4个GPU那等于20个GPU天数。 传统的用GPU天数来估算计算资源的方法存在一些问题。首先它只关注训练所使用的时间而忽略了训练过程中所使用的计算硬件的性能。在十年内GPU的性能显著提升因此相同的GPU天数在不同时期所完成的实际计算工作量可能存在巨大差异。 此外该方法没有考虑到不同硬件设置之间的差异。同样的GPU天数在不同的硬件配置下可能导致不同数量的浮点运算。因此为了更准确地估算计算资源的使用情况我们需要考虑硬件性能和配置的影响。 因此我们需要用GPU时间结合硬件配置估算FLOP具体步骤如下 1.从论文/参考文献中提取信息 在深入研究模型相关论文时我们需要从中提取以下关键信息 GPU天数的数量论文中应该包含关于训练模型所用GPU的天数这反映了模型在训练期间的计算资源使用情况。所使用的计算系统/GPU论文应该明确说明在训练期间使用的计算系统或GPU型号这对于了解硬件规格和性能至关重要。训练运行期间使用的浮点数数字表示论文应提供关于训练运行期间所采用的数字表示的信息如FP32、FP16、BF16、INT8等。这直接关系到模型在计算过程中使用的精度。 2.阅读硬件规格 通过阅读硬件规格表我们可以获取以下信息 GPU/系统的型号通过查阅制造商的规格表我们可以确定所使用的GPU或计算系统的具体型号。此信息对于计算性能的准确评估至关重要。GPU的峰值性能规格表通常包含GPU的峰值性能以FLOP/s每秒浮点运算次数为单位。这是评估硬件计算能力的关键指标。 以下是NVIDIA A100的示例 如果您找不到使用过的硬件或上述硬件的规格建议参考下面链接里的表格估计给定年份的平均计算能力。您还可以在下面的框中找到每年峰值表现的图表。 ML Hardware Data sheet 3.进行估算 综合上述信息我们可以进行如下估算 估算GPU的总FLOP 步骤 1计算单个GPU的峰值性能 从硬件规格表中获取GPU的峰值性能表示为FLOP/s。例如若峰值性能为 X X X FLOP/s。 步骤 2计算总的GPU FLOP 通过将单个GPU的峰值性能乘以GPU使用的天数我们得到总的GPU FLOP。假设GPU使用天数为 Y 天那么总的GPU FLOP 为 X × Y X \times Y X×Y。 精度的考虑 步骤 1确定训练使用的数字表示 从论文中获取模型在训练期间使用的数字表示如FP32、FP16等。 步骤 2确定每个数字表示的FLOP数 根据不同数字表示的标准确定每个数字表示所需的FLOP数。例如FP32可能需要 A A A FLOPFP16可能需要 B B BFLOP。 步骤 3计算总的FLOP数 将每个数字表示所需的FLOP数与模型中相应数字表示的使用情况相乘得到总的FLOP数。假设使用了FP32和FP16总FLOP数为 A × 数量 1 B × 数量 2 A×数量1B×数量2 A×数量1B×数量2。 考虑硬件特性 步骤 1检查是否使用了张量核心 查阅硬件规格表或相关文献确定是否启用了NVIDIA的张量核心。如果启用我们可以考虑这一特性对性能的影响。 步骤 2了解张量核心的使用情况 若启用了张量核心了解它在模型训练中的具体使用情况。这可能涉及到特殊的参数设置或架构要求。 步骤 3调整总的GPU FLOP 如果使用了张量核心可以根据其使用情况调整总的GPU FLOP。这可能需要根据具体情况进行一些额外的计算和估算。 通过这些详细的步骤我们可以更准确地估算模型在训练期间的计算资源使用情况考虑到不同精度和硬件特性的影响。
http://www.dnsts.com.cn/news/83720.html

相关文章:

  • 移动互联网开发招人南昌搜索引擎优化
  • 广州市官网网站建设报价wordpress企业外贸主题
  • 推荐10个网站计算机网站设计
  • 手机怎么注册自己的网站wordpress 整站转移
  • 交友类网站功能建设思路讯美智能网站建设
  • 外贸型网站建设公司亿度网络网站建设
  • 17一起做网站广州无锡高端网站建设咨询
  • 个体户可以做企业网站鲜花网站建设论文百度文库
  • 汕头 网站建设电脑做网站服务器视频教程
  • 企业网站seo分析邯郸网站建设fkop
  • 免费wap网站推荐做网站的没有进项票怎么办
  • 在国外做盗版网站吗网站建设与实训
  • 云服务器开网站医院网站php源码
  • 网站开发 设计文档有wordpress模板安装教程视频教程
  • 一个虚拟主机多个网站神华集团两学一做网站
  • 外包做网站不满意机关网站建设 方案
  • 网站做优化按点击收费科凡全屋定制
  • 网站建设-部署与发布平谷网站建设
  • 静安网站建设北京哪家公司做网站好
  • 国外做二手服装网站有哪些贵阳百度seo点击软件
  • 小企业做网站有没有用怎么写网站文案
  • 做起点说网站的服务器多少钱做外贸自己公司的网站一定要吗
  • 做网站代码编辑工具网站后台编辑框不显示
  • 找工作哪个网站好智联招聘公司网站程序
  • 元氏县城有做网站广告的吗深圳模板网站建设公司
  • 河南工程招标网站站点建设网站
  • 企业网站如何优化排名做跨境电商开店流程
  • 什么网站都能打开的浏览器有了云服务器怎么做网站
  • 珠海市香洲区建设局网站wordpress副标题代码
  • wordpress设置邮件注册搜索引擎优化培训班