u013250861
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Transformer:绝对位置编码【通过Q与K点积可获取任意两位置的相对位置信息(但有噪声项)】 v.s. RoPE【通过Q与K点积直接获取任意两位置的相对位置信息(无噪声项)】
对于维度 (d=10),位置编码向量 (\mathbf{PE}_t) 的。原创 2025-06-16 20:19:40 · 69 阅读 · 0 评论
-
RoPE(旋转位置编码)详解【代码&数学推导&公式】
输入向量 x 的形状:(batch_size, seq_len, D) = (1,3,2)D 是嵌入维度,必须为偶数位置索引 m ∈ [0, seq_len-1], 即:m ∈ [0, 2]维度索引 k ∈ [0, D/2-1],即:k ∈ [0]原创 2025-06-04 21:45:18 · 358 阅读 · 0 评论
-
Flash Attention动态掩码机制深度解析
Flash Attention的动态掩码是其核心创新之一,通过在计算过程中动态生成和应用掩码,实现了内存高效的注意力计算。本文档深入分析其工作原理和实现细节。问题:2. 动态掩码的核心机制2.1 分块掩码生成Flash Attention的动态掩码核心在于按需生成小块掩码,而不是预先计算整个掩码矩阵。2.2 各种掩码类型的动态生成A. 因果掩码(Causal Mask)B. Packing掩码(样本隔离)关键问题:样本之间需要隔离符号吗?答案:不需要显式的隔离符号! Packing使用的重原创 2025-07-14 21:07:56 · 166 阅读 · 0 评论 -
Embedding层梯度幅值异常现象的完整理论分析
本文档深入分析了在大语言模型训练中,Embedding层梯度幅值显著高于其他层(特别是全连接层)的现象。通过数学推导、机制分析和实验验证,揭示了这一现象的根本原因,并提供了相应的优化策略。Embedding层梯度特点:全连接层梯度特点:对于Embedding层,设:Embedding层的前向传播:ht=E[xt]=∑i=1V1xt=i⋅Eih_t = E[x_t] = \sum_{i=1}^{V} \mathbf{1}_{x_t=i} \cdot E_iht=E[xt]=i=1∑V1xt=i原创 2025-07-14 21:03:21 · 55 阅读 · 0 评论 -
Embedding层梯度分析【Embedding层梯度幅值高于全连接层的完整理论分析】
Embedding层梯度特点:全连接层梯度特点:对于Embedding层,设:Embedding层的前向传播:ht=E[xt]=∑i=1V1xt=i⋅Eih_t = E[x_t] = \sum_{i=1}^{V} \mathbf{1}_{x_t=i} \cdot E_iht=E[xt]=i=1∑V1xt=i⋅EiEmbedding层的梯度计算:∂L∂Ei=∑t:xt=i∂L∂ht\frac{\partial L}{\partial E_i} = \sum_{t: x_t=i} \frac{原创 2025-07-13 16:13:46 · 71 阅读 · 0 评论 -
RMSNorm 数学公式详解
RMSNorm =去掉均值项的 LayerNorm;简化后的公式让它计算更快、数值表现好,且在 Transformer 等架构里常能保持(或微幅提升)精度,是近年来大模型训练中越来越流行的默认选择。原创 2025-06-25 23:32:36 · 80 阅读 · 0 评论 -
Transformer-Embedding层详解04:为什么Embedding层梯度无衰减而全连接层有?
在深度学习模型中,Embedding层位于网络前端(前向传播的输入层),但在反向传播中却是梯度传递的最后一站。其梯度无衰减的核心原因在于其独特的数学机制,与全连接层存在本质差异。∥∂L∂E∥⏟无衰减∥δout∥≫∥∂L∂WFC∥⏟三重衰减∥δout∥⋅∥ain∥⏟≈0.01⋅∣σ′∣⏟≤0.25。原创 2025-06-25 23:06:01 · 104 阅读 · 0 评论 -
Transformer-Embedding层详解03:从头训练时 “Embedding层” 的梯度幅值为何通常高于 “全连接层”【Embedding层梯度幅值较高的原因分析】
明白了。我将深入分析在NLP语言模型中,从头训练时Embedding层的梯度幅值为何通常高于全连接层。我完成后会将分析、图示和代码整理好与你分享。原创 2025-06-25 22:29:18 · 46 阅读 · 0 评论 -
Transformer-Embedding层详解02:Embedding层梯度幅值通常比全连接层高1-2个数量级【Embedding层仅更新当前batch出现的token对应向量(稀疏更新)】
∥∂L∂E∥⏟高幅值∥δout∥⏟无衰减≫∥∂L∂WFC∥⏟低幅值∥δout∥⋅∥ain∥⋅∣σ′∣⏟三重衰减。原创 2025-06-25 22:27:35 · 64 阅读 · 0 评论 -
Transformer-Embedding层详解01:各层之间的梯度传播机制
实验验证:在7B模型训练中,Embedding层梯度幅值通常比全连接层高1-2个数量级,需单独设置更严格的裁剪阈值(如全局阈值的30%)[11]。Embedding层。原创 2025-06-25 22:02:10 · 109 阅读 · 0 评论 -
多模态旋转位置编码:M-RoPE【Qwen2-VL】【将视频的旋转位置编码按时间维度、高度维度、宽度维度区间的位置编码混合拼接】
原创 2025-06-24 22:53:01 · 226 阅读 · 0 评论 -
大型语言模型训练中的激活函数演化:ReLU、GELU、Swish/SiLU、QuickGELU、SwiGLU
在大模型时代,激活函数的设计不再仅是数学上的优雅,更关乎训练效率、梯度稳定性和最终性能。从最初的ReLU,到GELU主导NLP,再到Swish家族和门控机制的加入,我们见证了激活函数从“线性阈值”到“自适应概率控制”的进化。未来的激活函数,可能更加定制化、动态化,甚至与模型结构共同进化。对于LLM开发者而言,选择合适的激活函数依然是提升模型性能的关键步骤之一。如需对应论文、图表和实验数据源,请随时提出,我可以为你补充完整参考资料或代码实现。原创 2025-06-24 17:26:13 · 294 阅读 · 0 评论 -
激活函数:ReLU、GELU、SiLU、Swish、SwiGLU
使用场景推荐函数理由快速训练、小模型、CNNReLU简单高效,部署友好NLP 编码器(BERT 等)GELU收敛快、平滑、泛化能力强SiLU替代 GELU,训练稳定图像模型(EfficientNet)Swishβ 可调,性能更强大语言模型(PaLM/GPT-4)SwiGLU强表达力,尤其适合大型 FFN 层生成五者的可视化曲线对比图分析它们在梯度饱和区的行为差异结合论文提供 ablation study 数据对比是否需要深入哪一部分?原创 2025-06-24 17:11:21 · 976 阅读 · 0 评论 -
激活函数:SiLU、Swish、SwiGLU
│ Swish ││ (β=1)▼Swish 用作激活函数(非门控)▼│ SwiGLU │。原创 2025-06-24 16:59:50 · 333 阅读 · 0 评论 -
文献精读:PI(位置插值)【Extending Context Window of Large Language Models via Positional Interpolation】
换句话说,为了容纳更多的输入标记,我们在相邻的整数位置插值位置编码,利用位置编码可以应用于非整数位置的事实,而不是在训练位置之外进行外推,这可能导致灾难性的值。我们从理论上验证了我们的方法,表明插值的注意力得分具有比外推得分小得多的上界(在 LLaMA 7B 设置中小 ∼600× ),因此更加稳定。这种数值上的稳定性(避免了极大值和不稳定波动)是该方法成功扩展上下文窗口的关键原因之一,它让模型在后续的少量微调中能够相对轻松地学会理解这些“插值”出来的位置信息,从而有效地利用更长的上下文。原创 2025-06-18 20:23:13 · 76 阅读 · 0 评论 -
Transformer-长上下文扩展技术:YaRN(Yet another RoPE extensioN)的技术框架
频率维度分化(公式3,4)→ 保护高频局部位置信息动态长度适应(公式5)→ 支持任意长度推理注意力稳定性优化(公式7)→ 解决长程衰减问题最终在RoPE框架内(公式1,6)实现10倍以上的上下文窗口扩展效率,成为LLM长文本处理的首选方案。原创 2025-06-17 16:12:07 · 148 阅读 · 0 评论 -
绝对位置编码 在序列长度增加时,会经历“饱和”现象
绝对位置编码在序列长度增加时会经历“饱和”现象,主要是由于其计算方式基于固定的正弦和余弦函数,且这些函数的性质会导致位置信息的表达能力受到限制,特别是在处理较长序列时。下面将详细解释这种饱和现象及其原因。在Transformer模型中,绝对位置编码的计算公式如下:PEpos,2i=sin(pos100002i/d)PE_{pos, 2i} = \sin\left(\frac{pos}{10000^{2i/d}}\right)PEpos,2i=sin(100002i/dpos)PEpos,2i+1=原创 2025-06-06 21:33:59 · 64 阅读 · 0 评论 -
分组注意力机制(GQA/GroupedQueryAttention)核心代码
【代码】分组注意力机制(GQA/GroupedQueryAttention)核心代码。原创 2025-06-06 11:13:59 · 91 阅读 · 0 评论 -
大语言模型:LLM-2B、LLM-3B、LLM-7B模型结构【开源模型】
这些对比可帮助你根据目标硬件与任务(推理速度、上下文长短、推理质量)选型或自定义剪枝。如需进一步探讨某一模型的微调技巧或推理显存占用,欢迎继续交流!*Query 组数 = num_key_value_heads。<头数 代表 GQA;=头数 为普通 MHA。†Falcon-7B 未在 config 显式给出 FFN 宽度;论文与官方脚本默认按 4×hidden 近似 18 176。原创 2025-05-16 12:10:15 · 235 阅读 · 0 评论 -
Visualize Llama Inference Using Single and MultiGPUs
Inference using multiple GPUs involves splitting weight matrices by rows and columns, followed by operations like all-reduce or gather. This technique is commonly referred to as Tensor Parallelism (TP).Below are two visualizations of the LLaMA 3.1 8B model原创 2025-02-19 22:25:49 · 112 阅读 · 0 评论 -
深入浅出理解ViT(Vision Transformer)模型【预训练好的ViT模型是个有力的特征提取器,我们可以用它输出的特征,去做更多有趣的下游任务】【基于Transformer的Encoder】
ViT 全称VisionTransformer,不同于传统的基于CNN的网络结果,是基于transformer结构的cv网络。总结起来,ViT的训练其实就在做一件事情:把图片打成Patch,送入Transformer Encoder,然后拿对应位置的向量,过一个简单的softmax多分类模型,去预测原始图片中描绘的物体类别即可。你可能会想:“这个分类任务只用一个简单的softmax,真得能分准吗?原创 2024-12-09 16:46:50 · 373 阅读 · 0 评论 -
Llama 模型结构分析
Llama 模型结构分析原创 2024-11-29 18:45:10 · 170 阅读 · 0 评论 -
Transformer加速算法【KV-cache、GQA(Grouped-query attention)、投机采样、RWKV、Inifni-Transformer、FlashAttention】
在LLM的推理过程中,KVCache已经属于必备的技术了。然而,网上现有的解读文章并不够清晰。看了一些文章之后,我决定还是自己写一篇新的,以飨读者。原创 2024-05-17 22:18:53 · 661 阅读 · 0 评论 -
KAN网络技术最全解析——最热KAN能否干掉MLP和Transformer?(收录于GPT-4/ChatGPT技术与产业分析)
网络结构思路来自Kolmogorov-Arnold表示定理。MLP 在节点(“神经元”)上具有固定的激活函数,而 KAN 在边(“权重”)上具有可学习的激活函数。在数据拟合和 PDE 求解中,较小的 KAN 可以比较大的 MLP 获得更好的准确性。相对MLP,KAN也具备更好的可解释性,适合作为数学和物理研究中的辅助模型,帮助发现和寻找更基础的数值规律。MLP与KAN对比,KAN 有4个主要特点:1)激活函数位于“边”而不是节点(Node)上;2)激活函数是可学习的而不是固定的;原创 2024-05-06 20:37:06 · 918 阅读 · 0 评论 -
揭开 Mamba 模型的神秘面纱, Transformer的强力挑战者
Transformer架构自2017年提出以来,在人工智能领域特别是自然语言处理中占据了主导地位。它的核心是自注意力机制,允许模型在处理数据时动态地关注序列中的不同部分,从而捕捉复杂的依赖关系。然而,Transformer的一个显著局限是,其计算复杂度与序列长度的平方成正比,导致在处理长序列时效率低下。最近,一种名为Mamba的新架构引起了广泛关注,被视为Transformer的潜在竞争对手。原创 2024-04-01 00:09:32 · 379 阅读 · 0 评论 -
【LLM】浅谈 StreamingLLM中的attention sink和sink token
Softmax 通常用于多类别分类问题中的输出层。在这个公式中,给定一个输入向量 ( x = [ x 1 , x 2 , … , x N ] x = [x_1, x_2, \ldots, x_N]x=[x1,x2,…,xN] ),Softmax 函数将其转化为一个概率分布 ($ p = [p_1, p_2, \ldots, p_N]$ )。原创 2024-03-28 00:05:23 · 259 阅读 · 0 评论 -
Attention结构:①Bahdanau Attention;②Luong Attention
一、Bahdanau Attention二、Luong Attention原创 2022-05-03 20:07:48 · 561 阅读 · 1 评论 -
2020:ViT(Vision Transformer)【将Transformer应用在图像分类的模型】【当拥有足够多的数据进行预训练的时候,ViT的表现就会超过ResNets,反之不如】
ViT作者团队出品,在CNN和Transformer大火的背景下,舍弃了卷积和注意力机制,提出了MLP-Mixer,一个完全基于MLPs的结构,其MLPs有两种类型,分别是和,前者独立作用于image patches(融合通道信息),后者跨image patches作用(融合空间信息)。实验结果表明该结构和SOTA方法同样出色,证明了convolution和attention不是必要操作,如果将其替换为简单的MLP,模型依然可以完美work。原创 2023-02-19 18:00:46 · 2738 阅读 · 0 评论 -
RWKV:一种鱼和熊掌兼得的线性transformer模型
本文介绍了一种鱼和熊掌兼得的模型。既能和AFT一样兼具通用性和高效,distance位置编码的设计使得模型也具备面对超长文本的能力。实际实验效果可以去看原文的内容,本文只对其结构进行介绍。但总体而言,笔者测试过基于GPT的ai写小说和基于RWKV的ai写小说。相比较而言,RWKV的写出来的文章会更流畅,并且在训练时收敛速度页更快。参考文献。原创 2023-06-14 19:48:06 · 1537 阅读 · 0 评论 -
自然语言处理(NLP):使用 BERT 预训练模型对 Encoder 端的Transformer 参数进行初始化
人工智能-深度学习-自然语言处理(NLP)-Pytorch:构建Transformer模型【根据torch.nn提供的Transformer各模块搭建自己的Transformer模型】原创 2021-03-02 23:15:01 · 958 阅读 · 1 评论 -
NLP-2015:Attention机制用于CV领域【Attention机制:Hard Attention、Soft Attention】
《原始论文:Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》参考资料:论文笔记 - Show, Attend and Tell: Neural Image Caption Generation with Visual Attention原创 2021-02-06 23:52:04 · 562 阅读 · 1 评论 -
NLP-生成模型-2017-Transformer(一):Encoder-Decoder模型【非序列化;并行计算】【O(n²·d),n为序列长度,d为维度】【用正余弦函数进行“绝对位置函数式编码”】
Transformer 概述2018年10月,Google发出一篇论文[《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》](https://arxiv.org/pdf/1810.04805.pdf), BERT模型横空出世, 并横扫NLP领域11项任务的最佳成绩!而在BERT中发挥重要作用的结构就是Transformer, 之后又相继出现XLNET,roBERT等模型击败了BER原创 2020-12-18 23:07:54 · 2323 阅读 · 1 评论 -
NLP-生成模型-2017-Transformer(二):Transformer各模块代码分析
一、WordEmbedding层模块(文本嵌入层)Embedding Layer(文本嵌入层)的作用:无论是源文本嵌入还是目标文本嵌入,都是为了将文本中词汇的数字表示转变为向量表示, 由一维转为多维,希望在高维空间捕捉词汇间的关系.文本中的单词在输入到文本嵌入层之前,已经通过word2index操作转换为数值【每个单词用该单词在所在词汇表中的序号表示】,将字符串形式的单词转为序号形式,然后输入到文本嵌入层。再通过文本嵌入层将每个单词的一维的数值型序号转为多维向量。import torch #原创 2022-05-03 19:55:16 · 2213 阅读 · 1 评论 -
NLP-生成模型-2017-Transfomer(三):基本测试【copy任务】【方式:①自定义构建Transformer模型、②使用Transformer官方组件构建】
一、Transfomer模型基本测试【copy任务】# copy任务:任务描述: 针对数字序列进行学习, 学习的最终目标是使输出与输入的序列相同. 如输入[1, 5, 8, 9, 3], 输出也是[1, 5, 8, 9, 3].# 任务意义: copy任务在模型基础测试中具有重要意义,因为copy操作对于模型来讲是一条明显规律, 因此模型能否在短时间内,小数据集中学会它,可以帮助我们断定模型所有过程是否正常,是否已具备基本学习能力.# 1 第一步: 数据集生成器# 1.1 构建数据集生成器def原创 2022-05-03 19:57:39 · 1059 阅读 · 2 评论 -
NLP-生成模型-2017-Transformer(四):单个输入-输出样本的并行化计算【编码:训练预测都基于注意力机制来并行化】【解码:训练时基于掩码注意力机制、teach-forcing来并行化】
我们先看一个典型的基于RNN的Encoder-Decoder结构输入是:“机器学习“,输出是“machine learning”。模型的大概工作时序是:Encoder部分,输入序列逐个送进RNN,计算出最后时刻的隐藏状态c,作为上下文信息传给Decoder。Decoder部分,将c和t-1时刻的输出作为t时刻的输入,逐步计算预测得到t时刻的输出。这个结构中,Encoder和Decoder部分都是无法并行化的,这是由RNN结构本身决定的(t时刻计算依赖t-1时刻的输出)。值得注意的一点是,这里我们讨论的并原创 2022-02-26 22:45:00 · 883 阅读 · 1 评论 -
NLP-生成模型-2017-PGNet:Seq2Seq+Attention+Coverage+Copy【Coverage解决解码端重复解码问题;Copy机制解决解码端OOV问题】【抽取式+生成式】
Pointer Network(指针网络)属于生成式模型。- 仅用传统的 Seq2Seq 模型可以实现生成式摘要,但存在两个问题: 1. 可能不准确地再现细节, 无法处理词汇不足(OOV)单词/they are liable to reproduce factual details inaccurately; 2. 倾向于重复自己/they tend to repeat themselves。- 传统的 Seq2Seq 模型中 Decoder 输出的目标数量是固定的,例如翻译时 Decoder 预测原创 2020-12-24 23:44:02 · 3764 阅读 · 4 评论 -
NLP-生成模型-2016:CopyNet【Copy机制赋予seq2seq模型从源文本中复制词汇的能力,解决Decoder的OOV问题】
本文开篇,作者就提出他们的目标是解决seq2seq模型的复制问题,并且提供了一个例子:在这个例子中,我们要对用户提出的问题做出回答,显然,蓝色部分根本不需要理解语义,直接复制即可。针对这种情形,作者希望能赋予seq2seq复制的能力。解决方案其实和前一篇ACL17的文章有些类似。那么为什么先介绍17年的文章,后介绍16年的呢?这是因为ACL17的文章相对较为通俗易懂,我们在读过它后再来理解ACL16的文章会更容易。模型包含两个部分:Generation-Mode用来根据词汇表生成词汇,然后Copy-原创 2021-08-26 17:15:05 · 1101 阅读 · 1 评论 -
NLP-生成模型-2016:Seq2Seq+Attention+Coverage 【覆盖机制:解决编码端信息(词)的过使用/欠使用问题(Attention机制不能清楚地知道哪些信息被用过或没被用过)】
自然语言处理(NLP)原创 2021-02-28 22:19:23 · 1423 阅读 · 1 评论 -
NLP-生成模型-2015:Seq2Seq+Copy【 Pointer网络的Copy机制是对传统Attention机制的简化:输出针对输出词汇表的一个概率分布 --> 输出针对输入文本序列的概率分布】
NLP-自动摘要-2015:Pointer Networks原创 2021-08-25 21:08:06 · 717 阅读 · 1 评论 -
NLP-生成模型-2014:Seq2Seq+Attention(首次:利用QKV从大量信息中抽取对任务重要的信息;抽取文档中重要的句子;抽取句子中重要的单词)【案例:AttentionNMT用于翻译】
《原始论文:Neural Machine Translation by Jointly Learning to Align and Translate》:第一篇将Attention用于Seq2Seq模型的文献。Attention机制:从Encoder的输入序列的很多信息中根据当前时间步Decoder的状态选出“解码任务所需要的信息”。在普通的RNN结构中,Encoder需要把一个句子转化为一个向量,然后在Decoder中使用,这就要求Encoder把源句子中所有的信息都包含进去,但是当句子长度过长的时候,这原创 2021-04-08 12:39:20 · 1135 阅读 · 1 评论
分享