目录

目录

目录

前言

大模型分词(tokenization)

面经

transformer架构

编码 

attention的意义


前言

碎碎念:万般皆是命,半点不由人。

        本文主要是为了明确大模型学习路线,从JD的要求出发先了解一些基础概念,由浅入深,结合相关项目训练。主要矛盾就是这个岗位我需要会什么,项目那么多哪一个最相关?明确后再出发。

目标:

掌握分词embedding,encoder、 encoder+decoder、decoder结构,注意力

掌握Q/K/V 矩阵乘法,softmax操作和意义,彻底理解attention矩阵,线性缩放

transformer encoder:分词——embedding成向量——和wq,wk,wv(学习得到的)矩阵相乘得到Q,K向量——K,Q相乘知道两个词之间的关系(一个对另一个的影响,结果上往哪里偏移)即为注意力矩阵——做一个softmax减少规模[0,1]并使得加和为1——上一步结果和V矩阵相乘——(做一个线性变换变成原来向量的维度)知道偏移多少——残差连接(梯度消失梯度爆炸  防止参数越大效果反而变差)与原来的input一相加——layer normalize归一化(减去均值除以方差)


大模型分词(tokenization)

将输入的文本切分为机器可以处理的token(词元)。 因此分词很重要。不同语言分词逻辑不同

作用:减小序列长度,提高模型推理效率,减少推理成本

分词算法:

BPE 字节对编码

BPE 分词将训练语料的单词拆解成了重复出现的有意义⽚段

面经

介绍一下transformer的位置编码,以及你知道哪些关于位置编码优化改进的方法:

给模型提供序列中个元素的位置信息,弥补其循环或者卷积结构的不足

transformer架构

编码 

计算机怎么识别一句话。  embedding 词向量。
embedding(稠密向量:在特征空间里每一个维度都有数字,每一个词在特征空间里都能找到唯一的那个向量),如何捕捉单词与单词之间相互关系
向量和向量的距离来定义两个向量之间的关系、。把词放到向量里

attention的意义

输入一句话,模型预测下一个可能的单词。每一个单词对于接下来单词的影响,找到可能性最大的那个词。
单词和单词之间的相互影响,位置和单词之间的相互影响
看别的单词在这句话对此单词的影响来调整语义
注意力矩阵
在encoding_only的结构中,举例the flower中 flower对于the是不会有影响的,这是语义顺序决定的 ,所以我们需要一个mask矩阵把它遮住,全部变成负无穷,经过softmax就全部变成0 了
自注意力机制:自己对自己的影响
交叉注意力机制(连接编码解码器的那条线)和我没关系的那句话对我的影响
wq和wk 行数的大小和什么有关?  与你要表征的语义空间的维度有关 一般。隐藏层的维度,它决定计算后的行数
多头注意力机制(32-96个头),多搞几个wq和wk wv都和input token去乘,
同一个活,让多个人去干,总有一个人干得最好。因为模型学习是不稳定的所以需要这个操作
整个层的关系
intput_layer:   embedding,attention,残差连接,layer normalize    得到丰富的语义特征向量
hidden_layer处理非线性关系:  连续进行线性特征缩放,非线性变换
注意:怎么升维 降维。 降维就乘一个行数小的。列数和自己行数一样的

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐