LLama学习记录

学习前:

五大问题:

  1. 为什么SwiGLU激活函数能够提升模型性能?
  2. RoPE位置编码是什么?怎么用的?还有哪些位置编码方式?
  3. GQA(Grouped-Query Attention, GQA)分组查询注意力机制是什么?
  4. Pre-normalization前置 了层归一化,使用**RMSNorm**作为层归一化方法,这是什么意思?还有哪些归一化方法?LayerNorm?
  5. 将self-attention改进为使用KV-Cache的Grouped Query,怎么实现的?原理是什么?

Embedding

Embedding的过程word -> token_id -> embedding_vector,其中第一步转化 使用tokenizer的词表 进行,第二步转化 使用 learnable 的 Embedding layer

这里的第二步,不是很明白怎么实现的,需要再细化验证

RMS Norm

对比Batch Norm 和 Layer Norm:都是减去均值Mean,除以方差Var(还加有一个极小值),最终将归一化为正态分布N(0,1)。只不过两者是在不同的维度(batch还是feature)求均值和方差,(其中,减均值:re-centering 将均值mean变换为0,除方差:re-scaling将方差varance变换为1)。

参考知乎的norm几则

RoPE(Rotary Positional Encodding)

绝对Positional Encodding的使用过程:word -> token_id -> embedding_vector + position_encodding -> Encoder_Input,其中第一步转化使用tokenizer的词表进行,第二步转化使用 learnable 的 Embedding layer。将得到的embedding_vector 和 position_encodding 进行element-wise的相加,然后才做为input送入LLM的encoder。

理解LLM位置编码:RoPE

相关推荐
薛不痒12 小时前
深度学习之优化模型(数据预处理,数据增强,调整学习率)
深度学习·学习
昵称已被吞噬~‘(*@﹏@*)’~13 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
我想我不够好。13 小时前
学到的知识点 1.8
学习
旖旎夜光14 小时前
Linux(9)
linux·学习
浩瀚地学14 小时前
【Java】常用API(二)
java·开发语言·经验分享·笔记·学习
chao_66666615 小时前
解决 PowerShell 中文乱码问题
网络·学习·powershell
喵了meme15 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
BullSmall15 小时前
《庄子》导读
学习
HL_风神15 小时前
设计原则之迪米特
c++·学习·设计模式
HL_风神15 小时前
设计原则之合成复用
c++·学习·设计模式