【HuggingFace】Transformer结构的大模型训练过程最消耗算力的操作
在消耗算力上,Transformers 结构包括三部分的操作符,了解这些知识可以帮助分析性能瓶颈。
一、张量缩并 Tensor Contractions
线性层和多头注意力组件都要进行批量矩阵-矩阵乘法。这些操作是训练Transformer中最compute-intensive的部分。
二、统计归一化 Statistical Normalizations
Softmax和layer normalization 没有张量缩并那样计算密集,并涉及一个或多个reduction操作,它的结果通过映射应用。
三、逐元素运算符 Element-wise Operators
其他的运算符:偏置biases,dropout,activations 和残差连接residual connections。这些相比之下是最不计算密集的操作。
来源:
1. https://huggingface.co/docs/transformers/main/en/perf_train_gpu_one
2. DATA MOVEMENT IS ALL YOU NEED: A CASE STUDY ON OPTIMIZING TRANSFORMERS
https://arxiv.org/abs/2007.00072