
transformer
文章平均质量分 93
CV温故知新
这个作者很懒,什么都没留下…
展开
-
transformer系列5---transformer显存占用分析
模型训练框架:例如pytorch框架的cuda context会占用大约几百MB显存,与版本有关;模型参数大小,比如7B的模型以FP16格式要占用14GB显存;原创 2023-10-08 17:57:08 · 2540 阅读 · 0 评论 -
transformer系列4---transformer结构计算量统计
假设Transformer的输入每个词向量维度d_model(d) ,词表大小为vocab_size(v),输入句子最大长度为src_max_len(s),batchsize为 batch(b),head头数为head(h)。矩阵乘法的输入形状[b, h, s, d] × [b, h, s, d],输出形状为 [b, h, s, s],h维度是concat,没有计算量,因此该步骤的计算量为。矩阵乘法输入形状为[b, s, d] × [d, v],输出形状为[b, s, v],计算量。原创 2023-10-03 08:08:56 · 2106 阅读 · 2 评论 -
transformer系列3---transformer结构参数量统计
NLP算法会使用不同的分词方法表示所有单词,确定分词方法之后,首先建立一个词表,词表的维度是词总数vocab_size ×表示每个词向量维度d_model(论文中dmodel默认值512),这是一个非常稀疏的矩阵。由两个线性层组成,W1维度是(dmodel,4×dmodel),b1维度是4×dmodel,W2维度是(4×dmodel,dmodel),b2维度是dmodel,参数量为 dmodel×4×dmodel+4×dmodel+4×dmodel×dmodel+dmodel =因此,位置编码的参数量=原创 2023-09-26 19:50:30 · 1316 阅读 · 0 评论 -
transformer系列2---transformer架构详细解析
整数编码:用一种数字来代表一个词one-hot 编码:用一个序列向量表示一个词,该向量只有词汇表中表示这个单词的位置是1,其余都是0,序列向量长度是预定义的词汇表中单词数量。word embedding 词嵌入编码:将词映射或者嵌入(Embedding)到另一个数值向量空间(常常存在降维),它以one hot的稀疏矩阵为输入,经过一个线性变换(查表)将其转换成一个密集矩阵的过程。Embedding的原理是使用矩阵乘法来进行降维,节约存储空间。原创 2023-09-21 11:12:18 · 674 阅读 · 0 评论 -
transformer系列1---Attention Is All You Need全文详细翻译
主流的序列转换模型基于复杂的循环或卷积神经网络,包括编码器和解码器。性能最佳的模型还会通过注意机制连接编码器和解码器。我们提出了一种新的简单网络架构,Transformer,仅基于注意机制,完全不需要循环和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上更优越,同时更易并行化,训练时间显著减少。我们的模型在WMT 2014英德翻译任务上达到了28.4 BLEU,相比现有最佳结果(包括集成模型),提高了2 BLEU以上。原创 2023-09-20 16:37:03 · 844 阅读 · 0 评论 -
transformer位置编码最详细的解析
这种方法的问题是,不仅值可能变得非常大,而且我们的模型可能面临比训练中的句子更长的句子。此外,我们的模型可能不会看到具有特定长度的任何样本,这会影响我们模型的泛化能力。由于Transformer中的嵌入是从头开始训练的,参数可能设置为词的语义不会存储在前几个维度中,以避免干扰位置编码。由于句子中的每个词语同时通过Transformer的编码器/解码器堆栈,模型本身对于每个词语的位置/顺序没有任何概念。为了使模型具有一定的顺序感,一种可能的解决方案是为每个词语添加关于其在句子中位置的信息。原创 2023-09-05 15:32:53 · 1238 阅读 · 0 评论