在深度学习域,模型的计算性能衡量标准至关重要,包括FLOPs(每秒浮点运算)、Macs(乘法和加法运算)和FC(全连接层)、CNN、LSTM和Transformer。 模型的计算范围是性能的重要指标。 让我们一一分解这些术语。
FLOPs,代表FloatingPointOperationsPerSecond,是评估硬件性能和模型运行速度的基石。 其单位包括MFLOPs(百万)、GFLOPs(十亿)、TFLOPs(万亿)、PFLOP(千万亿)及更高。 值得注意的是,尽管FLOPs和FLOPS(每秒浮点运算次数)相似,但前者侧重于每秒执行的运算次数,而后者更侧重于概念表达。
Macs
训练模型估计,例如B.全连接层(FCLayer),计算量主要来自矩阵乘法,每个元素包括乘法和加法。 为了简化计算,FLOPs的计算公式通常包括有助于预测训练时间的参数数量。
CNNLayer的计算范围由卷积核的大小和输入通道数决定。 虽然每层的FLOPs计算公式都包含了这些变量,但为了简化分析,在实际计算中排除了常数项。
LSTMLayer
Transformer架构
,尤其是LLM(大型语言模型),其计算负荷主要来自注意力机和多层感知器模块(MLP)。 码器和解码器各有6层注意力以及解码器的掩码机。 每层的参数包括Multi-HeadAttention和MLP的具体矩阵形状。在Transformer参数分析中,每一层的参数计算包括Attention模块的缩放和平移参数以及MLP的参数集。 例如,可以通过矩阵乘法的大小来估计每个注意力层的参数数量。
Transformer的整体参数还包括词嵌入矩阵。 随着模型层数的增加,例如B.7B到70B模型,隐层参数的数量通常会显着增加。
在计算FLOPs时,Transformer模型主要基于矩阵乘法。 公式通常为:input_size乘以参数个数,然后再乘以2。 例如,假设训练语料中的token数量为10亿,则训练所需的FLOPs可估算如下:FLOPs≈100,000。 000x参数x2。
对于LLM,例如LLaMa-13B模型,FLOPs的计算公式更加复杂,并且考虑了注意力、LMhead和隐层的大小。 简化后,FLOPs大约是……(具体值根据模型参数计算)。
要了解有关这些计算的详细信息,您可以阅读EthanYan的文章,该文章详细解释了估计计算和精算计算之间的差异以及FFN(前馈)是否应为网络)和词汇量计算。 请务必查看AttentionisAllyouNeed和TheIllusteratedTransformer等信誉良好的文章和博客,以获取详细见解。
以上由ZhihuOnVSCode整理,为理解模型训练背后的算力计算提供了有价值的指导。
+ω+深度学习之神经网络(ANN/FNN/MLP)工神经网络(ANN)、全连接神经网络(FNN)和多层感知器(MLP)(也称为神经网络)是深度学习的核心构建块。 它源自对脑神经元及其复杂连接的模拟,通过学习如何调整神经元之间的连接强度来实现预测。 在机器学习中,神经网络模仿脑中的数十亿个神经元来构建复杂的网络来学习逻辑、语言和情感。 尤其应用于深度学习和工智能域,如图像识别、语音识别等。 技术。