![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CogView
文章平均质量分 90
tt丫
最近比较忙,评论可能比较晚回复,真的很不好意思呜呜呜,因为有一些太久没用我已经忘了,要回复的话我要重新过一遍呜呜呜,不好意思,等这阵子忙完我统一回复,sorry
展开
-
CogView中网络结构的总体构建
目录一、构建图二、代码解析一、构建图二、代码解析这部分代码在model/gpt2_modeling.py中1、__init__(1)参数设定num_layers:transformerLayer的层数;vocab_size:词典大小;hidden_size:输入层大小;num_attention_heads:attention head的数目;embedding_dropout_prob:embedding的dropout概率;attention.原创 2022-08-30 21:59:17 · 686 阅读 · 0 评论 -
CogView整体图解
目录一、总括二、数据集输入(token)三、Transformer(GPT)四、TransformerLayer五、Self Attention六、MLP一、总括二、数据集输入(token)1、生成由cogdata生成二进制数据集(生成token)cogdata用法:GitHub - Sleepychord/cogdata: A light-weight data management system for large-scale pretraining2、原创 2022-08-30 21:53:02 · 1793 阅读 · 1 评论 -
CogView中的Word embeddings (parallel)
目录一、用途二、代码解析一、用途转化为词向量咯二、代码解析这一部分在mpu/layers.py里的VocabParallelEmbedding类里实现1、__init__def __init__(self, num_embeddings, embedding_dim, init_method=init.xavier_normal_): super(VocabParallelEmbedding, self).原创 2022-08-29 14:35:25 · 1187 阅读 · 4 评论 -
CogView中的Transformer
目录一、原理二、代码解析一、原理1、总体介绍将n个的 transformer blocks 打包在一起,即 n * transformer layer + final layernorm 两部分组成2、具体实现(1)不采取稀疏处理(默认)(2)采取稀疏训练新建的rmask(k为输入的总列数;w为窗口大小;t为调整窗口数量所用)(3)稀疏推断二、代码解析1、__init__(1)参数设定.........原创 2022-08-29 14:53:36 · 1275 阅读 · 0 评论 -
CogView中的单层TransformerLayer
目录一、原理二、代码解析一、原理输入层:hidden state,shape为(b, s, h);最终输出也是(b,s,h);1、LayerNorm简单而言,LayerNorm就是针对每条样本,对每条样本的所有特征做归一化。为的是让当前层的参数稳定下来,避免梯度消失或者梯度爆炸,方便后面的继续学习。公式:(其中防止分母为0)2、self attention详见3、残差结构的引入可以看看深度学习之Resnet详解|CSDN创作打.原创 2022-08-29 14:46:41 · 826 阅读 · 0 评论 -
CogView中的Self Attention
一、原理1、为什么需要self attention模仿人类注意力,希望将有限的注意力集中在重点信息上,快速得到最有效的信息。比如说关注图上的“小鸟”,希望把重心放在图中的小鸟上。如何把关注点放在我们想关注的数据上?最简单的思路就是对数据进行加权处理,关注的部分权重大。2、基本公式:向量的点积的几何意义是一个向量在另一个向量上的投影,点积越大,两向量间的相关性越强。所以结合Q,K代表的意思,即表示查询的和索引的相关度矩阵,即得到相似度矩阵。除以:因为该方法假设 Q 和 K.原创 2022-08-29 14:38:26 · 805 阅读 · 0 评论 -
CogView中的MLP
目录一、原理二、代码解析一、原理1、总体介绍MLP是“多层感知器”,也被称为前馈神经网络或人工神经网络(ANN)原理图如下所示:令f为激活函数,则有:2、具体内容(1)输入输入的shape:(b,s,h);(2)ColumnParallelLinear(h->4h)权重矩阵W的shape:(4hp,h);所以 X*W^T 的shape为:(b,s,4hp);偏置矩阵B的shape:(1,4hp);(默认原创 2022-08-25 15:34:40 · 752 阅读 · 0 评论 -
CogView中的ColumnParallelLinear
目录一、原理二、代码详解1、__init__(1)参数说明(2)沿第二个维度划分权重矩阵(获取分给每个进程的权重矩阵列数)(3)初始化权重矩阵(W)和偏置矩阵(b)2、forward一、原理简单来说就是基于模型分片地按列切分权重的线性变换。权重:W = [W_1, ..., W_p](p为分区数量,即GPU数量);偏置:B =[b_1, ..., b_p];输入:X(每个GPU都拥有相同的X);输出:Y;表达式:Y = XW+B=X*[W_1, ...原创 2022-08-25 15:31:05 · 1192 阅读 · 2 评论 -
CogView中的RowParallelLinear
目录一、原理二、代码解析一、原理简单来说就是基于模型分片地按行切分权重的线性变换。权重:(p为分区数量,即GPU数量);偏置:B ;输入:[X_1, ..., X_p];输出:Y;表达式:二、代码解析1、__init__(1)参数说明input_size:矩阵W的第一维;output_size:矩阵A的第二维度;bias:是否添加偏置;input_is_parallel:如果为真,我们假设输入已经在GPU上拆分,并且不再拆分。假则需要我们自行拆原创 2022-08-25 15:30:47 · 537 阅读 · 0 评论 -
跑通CogView教程
一、代码下载二、环境配置三、下载 image tokenizer——vqvae_hard_biggerset_011.pt四、下载模型五、准备input的文字六、运行七、结果一、代码下载GitHub - THUDM/CogView: Text-to-Image generation. The repo for NeurIPS 2021 paper "CogView: Mastering Text-to-Image Generation via Transformer原创 2022-07-31 23:06:05 · 1917 阅读 · 17 评论