【学习笔记】大模型

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等缓存机制来减少冗余计算。

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

相关推荐
小毅&Nora1 小时前
【人工智能】【深度学习】 ⑧ 一文讲清Transformer工作原理:从自注意力到大语言模型的革命
人工智能·深度学习·transformer
hjs_deeplearning1 小时前
应用篇#4:Qwen2视觉语言模型(VLM)的服务器部署
服务器·人工智能·python·深度学习·语言模型
荒野火狐1 小时前
【强化学习】关于PPO收敛问题
python·深度学习·机器学习·强化学习
nwsuaf_huasir1 小时前
Elsevier投稿系统编译latex文件参考文献显示为问号
深度学习
oliveray1 小时前
动手搭建Flamingo(VQA)
人工智能·深度学习·vlms
非著名架构师2 小时前
气象驱动的需求预测:零售企业如何通过气候数据分析实现库存精准控制
人工智能·深度学习·数据分析·transformer·风光功率预测·高精度天气预报数据
算法与编程之美2 小时前
理解pytorch中的L2正则项
人工智能·pytorch·python·深度学习·机器学习
LaughingZhu2 小时前
Product Hunt 每日热榜 | 2025-12-05
人工智能·经验分享·深度学习·神经网络·产品运营
子午3 小时前
【农作物谷物识别系统】Python+TensorFlow+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
科学最TOP3 小时前
KDD25|BLAST:面向通用预测的平衡采样时序语料库
人工智能·深度学习·机器学习·时间序列