如果你要训练一个模型大概会考虑哪些因素?
-
模型多大?参数
-
占用显存多少,能不能装的下
-
我需要多少算力来支撑
本文就针对一个标准的Transfomer模型的套路和大家简单说一下

为了后文大家看算式明白,我们先约定一下每个变量代表的意义
-
L: Transfomer有多少层
-
H:代表两个意义,第一个意义是hiddensize的维度,第二个就是token被embedding以后的维度,这两值本来也相等
-
h: 小写的h代表多头注意力的数量,即有几个attention 头
-
B:batchsize
-
S:序列的长度,比如GPT 2K,LLama2 4K,就是这个东西
-
V: 词表里词的数量
然后我们逐一看一下我们都要算哪些模块
如上图所示是一个标准的Transfomer架构,但是这东西我讲过除了T5和一些特定的网络以外大家都不这么用了,目前的主流是Causal-decoder only,也就是做CLM的任务,自回归的生成,因为现在的LLM主流任务主要是做生成的,对这个知识点感兴趣的读者,可以先移步:

本文探讨训练语言模型时的关键因素,包括模型参数量、显存需求和所需算力。以标准Transformer模型为例,详细计算了Self-Attention层的运算量,分析了Causal-decoder-only架构的计算复杂度,适用于理解LLM训练的资源需求。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



