神经网络模型主要参数含义

发布时间:2024-09-25 21:54:33

⓵深度神经网络中的FLOPs是什么意思?

在深度学习域,FLOP(每秒浮点运算次数)、MAC(乘加运算)、FC(全连接层)、CNN、LSTM等模型的算力衡量标准非常流行。 这很重要。 而Transformer模型的计算复杂度是性能的重要指标。 让我们一一分解这些术语。


FLOPs

Mac

学习模型的估计

全连接层(FCLayer)等的计算量主要是矩阵乘法,每个元素包括乘法和加法。 为了简化计算,FLOP公式通常包含许多有助于预测训练时间的参数。


CNNLayer的计算复杂度由卷积核大小和输入通道数决定。 每层的FLOPs公式包括这些变量,但不包括常数项。 在实际计算中,要简化分析。


LSTMLayer

Transformer架构

,特别是在LLM(大型语言模型)中,其计算负荷主要来自注意力机和多层感知器(MLP)模块。 码器和解码器各有六个注意层,以及解码器中的屏蔽机。 每层的参数包括多注意力和MLP的具体矩阵形状。


在Transformer参数分析中,每一层的参数计算包括attention模块的缩放和变换参数,以及MLP的参数量。 例如,每层注意力的参数数量可以通过矩阵乘法的大小来估计。


Transformer的总参数还包括词嵌入矩阵。 随着模型层数的增加,例如从7B模型到70B模型,隐层参数的数量通常会显着增加。


计算FLOP时,Transformer模型主要依赖于矩阵乘法。 此公式通常将Input_size乘以参数数量,然后乘以2。 假设训练语料库中的token数量为10亿,则训练所需的FLOP可以估计为:FLOP≈100,000,000xParameterx2。


对于LLaMa-13B模型等LLM,FLOP公式更加复杂,并且考虑了注意力、LMhead和隐层大小。 简化一下,FLOP大约为(具体值根据模型参数计算):


有关这些计算的更多信息,请参阅EthanYan的文章。 本文详细介绍了估计计算和精算计算之间的区别,以及是否考虑FFN(前馈)。 网络)和词汇量计算。 如需更多见解,请务必查看权威论文和博客,例如attendanceIsAllyouNeed和TheIllusteratedTransformer。


以上由ZhihuOnVSCode整理,为理解模型训练背后的算力计算提供了宝贵的指导。

⓶什么是参数

参数是指在数学、统计学和计算机科学中用于定义和描述系统或模型的变量。 1.参数的概念

参数通常用于描述函数、方程或模型中的变量。 在数学和统计学中,参数代表一组用于定义特定函数或概率分布的数值。 在计算机科学和机器学习中,参数用于描述算法或模型中的权重、偏差和超参数。

2.。 抽样参数:通过从总体中选择样本来估计的参数,例如样本均值、样本标准差等。

计算机科学和机器学习指标:权重和偏差:连接权重和偏差项用于神经网络等模型中,以计算神经元的输出。 超参数:用于调整模型性能的参数,例如学习率、归一化参数等。

3参数的作用

描述系统行为:参数可以描述系统或模型的属性和性能,例如均值和方差、概率分布。

模型训练和优化:通过调整参数的值,使模型更好地拟合已知数据,提高模型的预测精度。

模型通用性:适当的参数选择提高了模型的通用性,使其在未观测的数据上表现良好。

超参数调优:通过调优超参数,可以优化模型的性能和鲁棒性,以适应不同的任务和数据。

4常用的参数估计有最大值估计、最小二乘法、贝叶斯估计等。 这些方法可以根据给定的数据估计最优参数值,从而使模型准确地描述实际情况。

参数是用于定义和描述系统或模型的变量,广泛应用于数学、统计学和计算机科学。

它们可以用来描述系统的属性和行为,优化模型的性能,并通过近似方法从实际数据中获得更好的参数。 在实际应用中,参数的合理选择和调整对于解决问题和模型优化具有重要意义。