如果你要训练一个模型大概会考虑哪些因素?
-
模型多大?参数
-
占用显存多少,能不能装的下
-
我需要多少算力来支撑
本文就针对一个标准的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主流任务主要是做生成的,对这个知识点感兴趣的读者,可以先移步: