
transformer
文章平均质量分 93
亲持红叶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MLA:KV Cache 的“低秩跃迁”
DeepSeek V2 提出的 MLA(Multi-head Latent Attention) 通过低秩压缩优化大模型注意力机制,显著降低 KV Cache 存储需求。原创 2025-07-20 17:19:09 · 946 阅读 · 0 评论 -
MHA、MQA、GQA:大模型注意力机制的演进
大模型注意力机制从MHA到MQA再到GQA的演进,为平衡性能与效率提供了不同方案。MHA通过多头并行计算获得最佳模型质量,但内存消耗大、推理速度慢;MQA共享KV投影显著提升推理速度,但可能降低性能;GQA折中地将查询头分组,在保持接近MHA性能的同时获得接近MQA的效率。以32层Decoder为例,MHA每个token占用512KB缓存,GQA(4组)为128KB,MQA仅16KB。GQA作为MHA和MQA的泛化,通过调整分组数实现性能与效率的最佳平衡,已成为当前主流选择。原创 2025-07-13 16:11:22 · 1394 阅读 · 0 评论 -
RMSProp
RMSProp是AdaGrad的改进算法,通过指数加权移动平均替代梯度平方累加,动态调整学习率。它根据近期梯度波动调整步长:波动大时减慢,平稳时加速。在缓坡场景下,RMSProp能稳定学习率,避免AdaGrad的学习率消失问题。与动量法相比,RMSProp更适合处理缓坡和悬崖,但难以逃离鞍点。两种方法具有互补性,结合二者优点的Adam算法应运而生。该算法既能通过动量加速收敛,又能自适应调整各维度学习率。原创 2025-06-25 17:00:46 · 356 阅读 · 0 评论 -
A Visual Guide to Mixture of Experts (MoE)
一篇非常棒的介绍moe架构的文章原创 2025-06-25 16:30:46 · 1162 阅读 · 0 评论 -
transformer-kv缓存
KV Cache是一种用于优化生成式AI模型推理性能的技术,通过存储和复用历史计算结果来避免重复计算。在自注意力机制中,KV Cache保存已生成Token的Key和Value向量,使得每次生成新Token时只需计算当前Token的QKV向量并与缓存的历史KV向量交互,将计算复杂度从O(n²)降低到O(n)。该技术显著提升推理速度,但会占用大量显存(与模型层数、隐藏维度和序列长度成正比),可能限制最大上下文长度。目前主要通过量化技术和分组查询注意力等方法优化其内存消耗。KV Cache已成为大模型高效推理的原创 2025-06-23 11:12:18 · 1301 阅读 · 0 评论 -
transformers- Softmax VS Safe-Softmax
简介softmax和safe-softmax原创 2025-06-11 10:00:28 · 1114 阅读 · 0 评论 -
GPU时间与transformer架构计算量分析
分析GPU计算时间的主要影响因素及Transformer架构的计算量。GPU时间包含计算、内存访问、数据传输和同步时间,受模型复杂度、GPU性能等多因素影响。针对Decoder-Only的Transformer架构,详细推导了各模块参数量计算公式原创 2025-05-28 17:39:18 · 997 阅读 · 0 评论 -
transformer-PositionalEncoding (对数空间计算实现)
通过将对数空间计算应用于Transformer模型中的位置编码公式,提高了数值计算的稳定性。原创 2025-05-28 17:12:39 · 1078 阅读 · 0 评论 -
Transformer架构汇总
从零实现一个transformer架构原创 2025-05-27 15:13:02 · 1072 阅读 · 0 评论 -
transformer-实现transformer架构
Transformer是一种基于自注意力机制的神经网络架构,用于序列到序列的转换任务。它由编码器(Encoder)和解码器(Decoder)两部分组成,通过自注意力机制实现对输入和输出序列的有效建模。这里实现完整的Transformer结构,包含编码器和解码器编码器(Encoder):处理输入序列并生成上下文表示解码器(Decoder):基于编码器输出和已生成的序列预测下一个token线性层:将解码器输出映射到目标词表空间。原创 2025-04-30 14:17:47 · 965 阅读 · 0 评论 -
transformer-实现解码器Decoder
Transformer Decoder是Transformer模型的核心生成组件,负责基于编码器输出和已生成内容预测后续token。通过堆叠多层结构相同的解码层(Decoder Layer),每层包含自注意力机制、编码器-解码器注意力机制和前馈神经网络,实现序列生成的上下文感知。实现上图红色框中的整个Decoder结构词嵌入层:将目标序列token映射为连续向量位置编码:加入自回归生成的位置信息多层解码层:通过三类注意力机制进行上下文建模。原创 2025-04-30 11:30:17 · 1154 阅读 · 0 评论 -
transformer-实现单层Decoder 层
今天这里实现的是上图中蓝色框中的单层DecoderLayer,不包含 embedding和位置编码,以及最后的Linear和Softmax。:关注解码器序列当前位置之前的上下文(因果掩码)下面统一在before.py中导入。实现单层的DecoderLayer。:关注编码器输出的相关上下文。:进行非线性特征变换。原创 2025-04-29 17:36:35 · 1143 阅读 · 0 评论 -
transform-实现Encoder 编码器模块
Transformer Encoder是Transformer模型的核心组件,负责对输入序列进行特征提取和语义编码。通过堆叠多层结构相同的编码层(Encoder Layer),每层包含自注意力机制和前馈神经网络,实现对输入信息的逐层抽象。这里实现上图蓝色框中的整个Encoder结构词嵌入层:将离散的token索引映射为连续向量位置编码:注入序列的位置信息多层编码层:通过多头注意力和前馈网络进行特征变换。原创 2025-04-29 17:20:09 · 827 阅读 · 0 评论 -
transformer-实现单层encoder_layer
Encoder层是Transformer编码器的核心组件,由多头自注意力和前馈神经网络两个子层构成。每个子层都包含残差连接(Residual Connection)和层归一化(Layer Normalization),有效缓解梯度消失问题并加速训练。今天这里实现的是上图中蓝色框中的单层EncoderLayer,不包含 embedding和位置编码多头自注意力机制:建立序列内部元素之间的依赖关系前馈神经网络:进行非线性特征变换残差连接 + 层归一化:在两个子层后各执行一次Dropout。原创 2025-04-28 17:16:54 · 792 阅读 · 0 评论 -
transformer-旋转位置编码RoPE
扭转位置编码(Rotary Position Embedding, RoPE)是一种改进的位置编码方法,用于增强模型对序列顺序的敏感性。它通过对输入序列的特征向量进行旋转变换,将位置信息隐式编码进来,使得模型能够更好地捕获相对位置信息。RoPE 通常用于对比 Transformer 中传统的位置编码,能够提供更强的位置感知能力。原创 2025-04-28 14:00:49 · 1172 阅读 · 0 评论 -
transformer-RMSNorm
RMSNorm(均方根层归一化)通过对神经元输出的均方根值进行缩放,在保持训练稳定性的同时降低计算复杂度。与LayerNorm相比,RMSNorm移除了均值中心化操作,仅通过均方根值进行缩放,减少了30%的计算量,在Transformer等模型中展现出相似的收敛效果。该归一化方法通过单一缩放参数gamma调整特征幅度,避免对输入进行平移操作。实验表明,RMSNorm在保持模型性能的同时,对计算资源的需求更低,尤其适合大规模模型训练。原创 2025-04-27 14:09:00 · 824 阅读 · 0 评论 -
transformer-实现层归一化
层归一化(LayerNorm)通过对同一层的神经元输出进行归一化处理,有效提升模型训练稳定性。与BatchNorm不同,LayerNorm对单个样本的所有特征维度进行归一化,使其对序列长度变化具有更好的适应性。当处理变长序列数据时,LayerNorm保持每个时间步的独立计算特性,避免不同序列长度带来的统计量偏差。该操作通过可学习的缩放参数gamma和平移参数beta保留模型的表达能力。原创 2025-04-25 16:51:42 · 1078 阅读 · 0 评论 -
transformer-前馈神经网络层
前馈网络是Transformer模型中的关键组件,每个Transformer层包含一个多头注意力模块和一个前馈网络模块。该模块通过两次线性变换和激活函数,为模型提供非线性建模能力。其核心设计是通过中间隐藏层的维度扩展(d_ff > d_model),增强模型的特征表达能力。典型配置中d_ff=2048(当d_model=512时),这种"扩展-收缩"结构帮助模型捕获更复杂的模式。前馈网络独立作用于每个位置,与注意力机制形成功能互补。原创 2025-04-25 16:29:38 · 974 阅读 · 0 评论 -
transformer-多头注意力
多头注意力是Transformer模型的关键创新,通过并行执行多个独立的注意力计算单元,使模型能够同时关注来自不同表示子空间的信息。每个注意力头学习不同的语义特征,最后通过线性变换将多头的输出组合为最终结果。当n_heads=1时,多头注意力等价于标准缩放点积注意力。多头设计通过建立多个独立的"观察视角",使模型能够捕获更丰富的上下文信息。原创 2025-04-24 19:20:49 · 1066 阅读 · 0 评论 -
transformer -缩放点积注意力
缩放点积注意力是Transformer模型的核心组件,用于计算序列中不同位置之间的关联程度。其核心思想是通过查询向量(query)和键向量(key)的点积来获取注意力分数,再通过缩放和归一化处理,最后与值向量(value)加权求和得到最终表示。。原创 2025-04-23 20:41:28 · 956 阅读 · 0 评论 -
transformer-位置编码
位置编码在Transformer模型中是用来将位置信息与输入序列相结合的一种技术。在传统的序列模型(如RNN)中,输入的序列数据是有顺序的,模型本身能够感知输入数据的顺序。然而,Transformer是一种不具备内置顺序敏感性的模型,因此需要通过位置编码来将位置信息显式地添加到输入数据中。。原创 2025-04-22 21:50:38 · 1182 阅读 · 0 评论