参考 https://zhuanlan.zhihu.com/p/144582114小白
本文计算针对英文版本bert base
bert base 12层 768隐藏单元 12个head 共110M
vocab_size=30522, hidden_size=768, max_position_embeddings=512, token_type_embeddings=2
第 1 部分:输入
Token Embeddings:总词汇是30522每个输出维度都是768,参数量是30522*768
Position Embeddings:transformer中位置信息是通过sincos生成,但是在bert中是学出来了 (原文中说的应该是的数据量足,能学出来)最大长度是512所以这里参数量是512*768
Segment Embeddings:用1和0表示,所以参数是2*768
所以这个部分就是 (30522+512 + 2)* 768=23835648
第 2 部分(注意力部分):
multi-head因为分成12份
单个head的参数是 768 * 768/12 * 3
12个head就是 768 * 768/12 * 3 * 12
紧接着将多个