大家好,我是皮先生!!
今天给大家分享一些关于大模型面试常见的面试题,希望对大家的面试有所帮助。
目录
1.在Transformer模型中,为什么在计算QK内积之后,softmax之前要除以根号dk?
5.为什么现在主流的LLM模型基本都是Decoder-only的结构?
1.在Transformer模型中,为什么在计算QK内积之后,softmax之前要除以根号dk?
dk越大,导致qk点积的方差越大,导致向量元素值之间的差距变大,导致softmax输出出现某个值接近1,其他值接近0,从而导致梯度消失的问题。除以根号dk是为了将q、k点积后的结果归一化成均值为0,方差为1的向量,使得学习过程更加稳定。
2.MHA、MQA和GQA的区别
在MHA中,每个头有自己单独的 key-value 对。
(1)MHA的优点:多头注意力使用多个维度较低的子空间分别进行学习。一般来说,相比单头的情况,多个头能够分别关注到不同的特征,增强了表达能力。
(2)MHA的缺点:训练过程中,不会显著影响训练过程,训练速度不变,会引起非常细微的模型效果损失;推理过程中,反复加载巨大的KV cache,导致内存开销大。
在MQA中所有的头之间共享同一份 key-value 对,从而大大减少 Key 和 Value 矩阵的参数量。虽然可以提升推理的速度,但是会带来精度上的损失。
在GQA中,会对attention进行分组操作,quer