RELU到SwiGLU:LLM中FFN层的演变 原始transformer的FFN层 原始transformerFFN层非常简单,就是一个升维+降维的操作,中间套一个RELU激活函数: FFN层的作用是增加模型的非线性能力,升维再降维的操作也是老传统了,之前学从感知机到多层感知机就明白,一个低的维度的特征终…
|
3
|
|
1029 字
|
5 分钟
MHA、MQA、GQA小结 多头注意力(Multi-head Attention,MHA) 原始transformer架构的多头注意力是将QKV拆成多个头,对于(batch_size,seq_len,d_model)维度的QKV向量拆成:(batch_size,seq_len,head_…
|
6
|
|
1164 字
|
9 分钟
从 LayerNorm 到 RMSNorm:为什么可以去掉均值? 在现代 LLM 中,RMSNorm 已经成为非常常见的归一化方式。它可以看作是 LayerNorm 的一个简化版本。 要理解 RMSNorm,最自然的方式是先从 LayerNorm 开始。 1. LayerNorm 在做什么? 对于一个 hidden stat…
|
34
|
|
1083 字
|
5 分钟
CLIP、SigLIP、SigLIP2小结 写在前面:这个文章是我快速回顾这些知识点的输出,出发点并不是写一个易懂的知识博客,读者多多包涵。 CLIP CLIP的结构非常简单,输入端是图文对,训练数据中的图文对是具有强相关的,即文本就是图片的描述。 然后图片和文本都会经过一个编特征提取器,一般图片是用R…
|
35
|
|
2956 字
|
16 分钟
熵、交叉熵、KL散度的区别 熵、交叉熵、KL 散度的区别 信息量 很多教程会直接摆出熵的定义,但个人认为这之前最好先了解一下信息量这个概念。 从字面上来说,信息量就是衡量一件事情的信息量有多少…
|
94
|
|
1229 字
|
5 分钟
由Sinusoidal位置编码到RoPE 前言 请打开日间模式进行阅读 本来是想学习RoPE(旋转位置编码),所以回去从头从最开始的三角函数式位置编码开始看,发现自己当时学的还是浅了。在此总结一下。 注:本文涵盖不了所有位置编码,只挑主流的去学习。具体就是由绝对位置编码到相对位置编码再到RoPE 三角…
|
1,045
|
|
3518 字
|
14 分钟
得补补基础知识了。要学的好多,快两个月没怎么学习基础知识了
LoRA小结 前言:PEFT的诞生 传统的预训练-下游任务微调的范式,是对预训练模型所有参数进行微调,即全量微调。之前基于Bert、GPT1的下游微调任务都是这么干的。因为当时的预训练模型参数量比较少,所以速度并没有那么慢。…
|
1,226
|
|
2674 字
|
11 分钟
GPT3与ChatGPT有什么不同?——RLHF技术小结 1.前言 在2022年11月30日,ChatGPT横空出世。ChatGPT和GPT看起来都是GPT,为什么ChatGPT可以“Chat”? 首先从官方寻找答案: 可…
|
1,390
|
|
4173 字
|
18 分钟
Bert源码解读(HuggingFace Transformers源码) BertMoedel的架构组成: 在HuggingFace中,对应Bert模型的主要就是BertMoedel这个类: from transformers import BertModel HF源码对BertMoedel的封装也是一…
|
1,632
|
|
5193 字
|
25 分钟