【学习笔记】大模型

ch01 大模型原理

典型的LLM结构

  1. 输入层:输入文本分词为词元(Token)序列;每个词元进一步映射到对应的Token ID;最终转换为多维数值矩阵。
  2. 多层Decoder堆叠结构:由多个完全相同的Decoder层堆叠而成。通过逐层计算,模型逐步总结和建模输入序列的深层语义与依赖关系。每个Decoder层的关键组件如下:
    1. 自注意力(Self-Attention)机制:通过查询(Q)、键(K)、值(V)向量进行注意力计算,并结合因果掩码,保证每个词元只能关注其之前的序列位置,使模型能够建模序列中不同词元之间的语义关系。自注意力机制通常以多头注意力(MHA)、多查询注意力(MQA)、分组查询注意力(GQA)、多头潜在注意力(MLA)等形式实现。
    2. 位置编码(Positional Encoding):通过引入序列中的词元位置信息,帮助模型理解序列的相对和绝对位置。RoPE方法被广泛使用。
    3. 前馈网络(Feed-Forward Network, FFN):对经过自注意力机制计算的隐藏状态(Hidden States)进行非线性变换,进一步提取特征和语义。FFN内部通常包含激活函数(例如 SwiGLU),以提高模型的非线性拟合能力,捕捉更复杂的模式。对于采用MoE结构的LLM,FFN部分通常由多个专家网络组成,并通过路由机制动态激活少数专家,从而提升模型的容量和计算效率。
    4. 归一化(Normalization):采用RMSNorm等层归一化(Layer Normalization)方法,稳定数值计算,提升训练稳定性并加速模型收敛。
    5. 残差连接(Residual Connection):在每个子层输入和输出之间添加残差连接,确保信息顺畅传递,缓解深层网络中的梯度消失问题,提升模型训练效率。
  3. 输出层:将Decoder输出的多维隐藏状态通过线性变换映射到全词表的Logits,得到词元候选的概率分布。随后,解码模块根据概率分布,采用不同的解码算法生成最终输出文本。
    1. 提取最后位置的Logits:推理时只计算最后一个位置的Logits。预测下一个词元仅依赖序列最后一个位置的Logits,因此需要从所有位置的Logits中提取最后一个位置的Logits。
    2. 解码(Decoding):根据概率分布,应用解码策略(随机采样、或选择最大概率)确定最终预测的下一个词元。例如,在贪婪搜索解码策略下,选择概率最高的词元作为预测结果。

(1)预填充阶段(Prefill):一次性处理完整的输入序列并计算其隐藏状态。随后,模型计算下一个词元的概率分布。

(2)继续生成:模型接续迭代计算,逐步生成其余Token。

模型在每个生成步骤中都需要重复计算相同的前缀。为提升推理效率,通常会采用KVCache等缓存机制来减少冗余计算。

每个词元对应的向量,是通过预训练学习得到的,蕴含了词元的语义信息。

相关推荐
羞儿8 小时前
人体姿态估计系统知识框架
深度学习·计算机视觉·姿态估计·行为识别
Easy_API8 小时前
从“有多少卡“到“卖多少 Token“:算力的标尺正在换
大数据·人工智能·深度学习
蓝羽飞鸟11 小时前
什么是自监督学习
人工智能·深度学习
大江东去浪淘尽千古风流人物11 小时前
【UniSim-SLAM】前馈SLAM的双流架构:Sim(3)统一位姿图、与经典SLAM及DPVO的三范式对比
深度学习·计算机视觉·3d·交互·人体姿态估计·eccv·3d重建
richard_yuu12 小时前
AOI 实战第五篇:c_broken 漏检严重,V4 迭代背后的权衡
开发语言·深度学习·yolo
FL162386312913 小时前
字母手势识别分割数据集labelme格式366张26类别
深度学习
知识分享小能手16 小时前
深度学习学习教程,从入门到精通,自编码器 — 完整知识点与代码案例(14)
人工智能·深度学习·学习
2601_9622935317 小时前
人工智能 & 神经网络完整入门路线(零基础可走,分阶段)
人工智能·python·深度学习·神经网络·机器学习
纪伊路上盛名在17 小时前
MISATO:基于结构的药物发现的蛋白-配体复合物机器学习数据集
深度学习·机器学习·数据集·分子动力学模拟·蛋白质结构·药物发现·蛋白质-配体互作