Bert模型的参数大小计算
《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
《Attention is all you need》
Bert的Base model参数大小是110M,Large modle 是340M
Base model
(1)第一:词向量参数(embedding) class BertEmbeddings(nn.Module): """Construct the embeddings from word, position and token_type embeddings. """ def __init__(self, config): super(BertEmbeddings, self).__init__() self.word_embeddings = nn.Embedding(config.vocab_size, config.hidden_size) self.position_embeddings = nn.Embedding(config.max_position_embeddings, config.hidden_size) self.token_type_embeddings = nn.Embedding(config.type_vocab_size, config.hidden_size)
从代码中,可以看到,词向量包括三个部分的编码:词向量参数,位置向量参数,句子类型参数(bert用了2个句子,为0和1)并且,Bert采用的vocab_size=30522,hidden_size=768,max_position_embeddings=512,token_type_embeddings=2。这就很显然了,embedding参数 = (30522+512 + 2)* 768(2)第二:multi-heads参数(Multi-Heads Attention)
这个直接看《Attention is all you need》中的Transformer结构就知道了
从结构中可以看到,Q,K,V就是我们输入的三个句子词向量,从之前的词向量分析可知,输出向量大小从len -> len x hidden_size,即len x 768。如果是self-attention,Q=K=V,如果是普通的attention,Q !=K=V。但是,不管用的是self-attention还是普通的attention,参数计算并不影响。因为在输入单头head时,对QKV的向量均进行了不同的线性变换,引入了三个参数,W1,W2,W3。其维度均为:768 x 64。为什么是64呢,从下图可知,
Wi 的维度 :dmodel x dk | dv | dq
而:dk | dv | dq = dmodle/h,h是头的数量,dmodel模型的大小,即h=12,dmodle=768;
所以:dk | dv | dq=768/12=64
得出:W1,W2,W3的维度为768 x 64
那么单head的参数:768 * 768/12 * 3
而头的数量为h=12
multi-heads的参数:768 * 768/12 * 3 * 12
之后将12个头concat后又进行了线性变换,用到了参数Wo,大小为768 * 768
那么最后multi-heads的参数:768 * 768/12 * 3 * 12 + 768 * 768(3)全连接层(FeedForward)参数
以上是论文中全连接层的公式,其中用到了两个参数W1和W2,Bert沿用了惯用的全连接层大小设置,即4 * dmodle,为3072,因此,W1,W2大小为768 * 3072,2个为 2 * 768 * 3072。 (4) LayerNorm层
文章其实并没有写出layernorm层的参数,但是在代码中有,分别为gamma和beta。在三个地方用到了layernorm层:
①词向量处
②多头注意力之后
③最后的全连接层之后
但是参数都很少,gamma和beta的维度均为768。因此总参数为768 * 2 + 768 * 2 * 2 * 12(层数)
而Base Bert的encoder用了12层,因此,最后的参数大小为:
词向量参数(包括layernorm) + 12 * (Multi-Heads参数 + 全连接层参数 + layernorm参数)= (30522+512 + 2)* 768 + 768 * 2 + 12 * (768 * 768 / 12 * 3 * 12 + 768 * 768 + 768 * 3072 * 2 + 768 * 2 * 2) = 108808704.0 ≈ 110M
PS:本文介绍的参数仅仅是encoder的参数,基于encoder的两个任务next sentence prediction 和 MLM涉及的参数(768 * 2,2 * 768 * 768,总共约1.18M)并未加入,此外涉及的bias由于参数很少,本文也并未加入。
什么习惯会让人长寿?什么习惯会让人长寿当谈及长寿这个话题时,人们常常会关注饮食运动和心态等方面。事实上,有些好习惯可以让你更可能拥有一个长寿的人生。首先,保持适度的锻炼是非常重要的。每天坚持30分钟的
湖人3换1报价方案,有意迎回昔日旧将英格拉姆,提升侧翼进攻能力湖人最近两场比赛在詹姆斯和拉塞尔都缺阵的情况下,浓眉带领球队强势取得两连胜,战绩提升至西部第九。但是目前的阵容配置想要争冠还是略有不足。据NBA著名分析师JamesPiercey报
为何你会得甲流?只因没注意这几点虽然我们还无法预测未来,但我们可以为自己的健康和安全做好准备,特别是在面对像甲型流感这样的流行病时。在本文中,我们将讨论如何应对甲型流感它的症状如何预防它,以及养成好习惯的重要性。
今日份思考到达终点的路,永远不止一条,但没有终点很可怕前两天还在讲,任何事物的存在都有它的意义,我们所做的任何事,都有它的价值。今天又遇到这个话题,看来也得展开讲讲了。说得直白点,难听点,没有目标,没有目的行动,就像脱缰的野马,就是一
关于喝酒的生活常识,很有用却容易被忽略,你知道哪些?白酒在生活中很常见,无论是家庭聚餐,还是朋友聚会,亦或是商业饭局,都能见到白酒的身影,白酒作为重要的饮品,一些关于白酒的生活常识很重要,却很容易被忽略,今天我们一起来看看。建议点赞
核糖体RNA超级工厂原来还隐藏着监测站和哨兵上海科学家有了新发现来源东方IC新民晚报讯(实习生吴小同记者郜阳)核仁是细胞核里有着重要功能的无膜特殊结构,在显微镜下呈现直径约为0。55微米的球状结构。核仁的主要功能之一是生成并加工核糖体RNA,进
教练员,校园体育棋局的一步妙手?导语日前,国家体育总局中央机构编制委员会教育部人社部等四部门联合出台关于在学校设置教练员岗位的实施意见,部署学校教练员岗位设置工作,提出义务教育阶段学校普通高中职业院校和普通高校可
2022年,土耳其女运动员的卓越之年在国际妇女节这一天,全世界都在纪念各地女性取得的非凡成就之际,体育界也不能被忽视,因为最近女性对体育界产生了巨大的不可否认的影响。土耳其妇女取得了令人瞩目的成就,将土耳其的旗帜提升
国内着装部门所偏爱的那些长袖夹克制服有个很奇怪的现像,国内包括部队,警察,还有些可以着装的执法部门,特别的偏爱夹克类制服。短袖夹克就不说了,夏天热,夹克类比较透气,也还说的过去,但纳闷的是,为什么在已有翻领西服式常服
高跟鞋,你以为仅仅是女性美的代表吗?说起高跟鞋,很多男性为之痴迷,不仅性感,而且还能让穿上它的女生看起来高挑,显身材和气质。女性也一样,经过这么多年的发展,高跟鞋不仅仅是一双鞋子了。现今,高跟鞋更具多元化的文化属性。
男士选鞋指南,附品牌推荐男士选择一双合适的鞋子时应考虑以下几个因素用途鞋子的用途是很重要的考虑因素,例如运动鞋商务鞋休闲鞋等不同用途的鞋子都有不同的设计和风格。举例如果你需要一双运动鞋,你可以选择像耐克(