【大模型LLMs基础面Plus】
Layernormalization-方法篇
一、LayerNorm篇
1.1LayerNorm的计算公式写一下?
μ = E(X) ← Ha←-Var(z) μ)²e(2x-E(z)=f Var(X) egamma:可训练的再缩放参数beta:可训练的再偏移参数
二、RMSNorm篇(均方根Norm)
2.1RMSNorm的计算公式写一下?
2.2RMSNorm相比于LayerNorm有什么特点?
RMSNorm 简化了LayerNorm,去除掉计算均值进行平移的部分.对比LN,RMSNorm的计算速度更快.效果基本相当,甚至略有提升.
三、Deep Norm篇
3.1 Deep Norm思路?
Deep Norm 方法在执行Layer Norm之前,up-scale了残差连接(alpha>l):另外,在初始化阶段down-scale了模型参数(beta<1). def deepnorm(x):return LayerNorm(xaf(x))def deepnorm_init(v): ifwis['ffn' 'v_proj' 'out_proj']:nn.init.xavier_normal_(w gain=)elifvis['q_proj' ‘k_proj’]: nn.init.xavier_normal_(v gain=1) DeepNorm有什么优点? DeepNorm可以缓解爆炸式模型更新的问题,把模型更新限制在常数,使得模型训练过程更稳定. Layernormalization-位置篇 LN在LLMs中的不同位置有什么区别么?如有能介绍一下区别么? 回答:有,LN在LLMs位置有以下几种: Post LN:位置:layer norm在残差链接之后缺点:PostLN在深层的梯度范式逐渐增大,导致使用post-LN的深层transformer容易出现训练不稳定的间题 Pre-LN: 位置:layernorm在残差链接中优点:相比于Post-LN,PreLN在深层的梯度范式近似相等,所以使用Pre-LN的深层缺点:相比于Post-LN,Pre-LN的模型效果略差 transformer训练更稳定,可以缓解训练不稳定间题 Sandwich-LN: 位置:在pre-LN的基础上,额外插入了一个layernorm 优点:Cogview用来通免值爆炸的间题 缺点:训练不稳定,可能会导致训练崩溃. Layernormalization对比篇 LLMs各模型分别用了哪种Layernormalization? 模型 normalizationGPT3 Pre layer NormLLaMA PreRMS Normbaichuan Pre RMS NormChatGLM-6B PostDeepNormChatGLM2-6B PostRMSNormBloom Prelayer NormFalcon Prelayer Norm BLOOM在embedding层后添加layer normalization,有利于提升训练稳定性:但可能会带来很大的性能损失. LLMs激活函数篇 1.介绍一下FFN块计算公式? 2.介绍一下GeLU计算公式? 3.介绍一下Swish 计算公式? 注:2个可训练权重矩阵,中间维度为4h 4.介绍一下使用GLU线性门控单元的FFN块计算公式? 5.介绍一下使用GeLU的GLU块计算公式? 6.介绍一下使用 Swish的GLU块计算公式? 注:3个可训练权重矩阵,中间维度为4h*2/3 各LLMs都使用哪种激活函数? 模型 激活函数GPT3 GeLULLaMA SwiGLULLaMA2 SwiGLUbaichuan SwiGLUChatGLM-6B GeLUChatGLM2- 6B SwiGLUBloom GeLUFalcon GeLU LLMs注意力机制优化篇 1传统Attention存在哪些问题? 传统Attention 存在上下文长度约束问题: 传统Attention速度慢,内存占用大: 2Attention优化方向? 提升上下文长度 加速、减少内存占用 3Attention变体有哪些? 稀疏attention.将稀疏偏差引入attention机制可以降低了复杂性:线性化attention.解开attention 矩阵与内核特征图,然后以相反的顺序计算attention 以实现线性复杂度: Attention与先验.该研究探索了用先验attention 分布来补充或替代标准atention:改进多头机制.该系列研究探索了不同的替代多头机制. 4Multi-QueryAttention篇 4.1Multi-headAttention存在什么问题? 训练过程:不会显著影响训练过程,训练速度不变,会引起非常细微的模型效果损失:推理过程:反复加载巨大的KVcache,导致内存开销大,性能是内存受限: 4.2介绍一下Multi-QueryAttention? Multi-Query Attention 在注意力头上共享key和value. 4.3对比-下Multi-head Attention 和 Multi-Query Attention? Multi-head Atention:每个注意力头都有各自的 qucery、key 和 value.Multi-query Attention:在的注意力头上共享key和value.