summary
- bert:encoder if transformer
- transformer:encoder-decoder[seq2seq]
- bert:
- word(token) embedding
- encoder(12 layer)
- self attention(qkv)
- feed forward
- pooler
- 为什么bert能被称之为Large Language Model
参数量相当的大!!! 吓哭了
#参数量统计
total_param = 0
total_learned_params = 0
total_embedding_params = 0
total_encoder_params = 0
total_pooler_params = 0
- Bert_base 有 12个encoder layer
- Bert_large 有 24个encoder layer
for name,param in model.named_parameters():
print(name,'->',param.shape,'->',param.numel())#numel->number of memrble to learrned elements
if 'embedding' in name:
total_embedding_params += param.numel()
if 'encoder' in name:
total_encoder_params += param.numel()
if 'pooler' in name:
total_pooler_params += param.numel()
if param.require_grad:
total.param+=param.numel()
print(total_embedding_params,total_encoder_params,total_pooler_params)
for param in params:
print(param/sum(params))