GPT可视化及参数计算
Transformer/GPT内部结构可视化及参数计算
这里分享一个可视化transformer/gpt内部结构并支持交互式操作的网站,对于搞不懂transformer里面复杂矩阵变换的小白来说非常友好,非常直观易懂,能够帮助快速理解底层原理。
链接:nano-gpt可视化
参数计算
对于链接中nano-gpt的具体参数,我尝试计算了一下:
我们有以下超参数:
- vocab_size=3:词汇表大小
- embedding_dim=48:词嵌入维度
- num_heads=3:注意力头数
- ff_hidden_dim=144:前馈神经网络隐藏层维度
- head_dim =16:每个注意力头维度
- bias:权重对应偏置维度
- num_layers=3:解码器层数
- max_sequence_length=11:最大编码词数
- 词嵌入矩阵大小:vocab_size * embedding_dim = 144
- 位置编码:max_sequence_length * embedding_dim = 528
- 多头自注意力层:((embedding_dim * head_dim + bias) × num_heads * 3+embedding_dim * embedding_dim + bias)num_layers=[(4816+16)9+4848+48]*3=28224
- 前馈神经网络:(embedding_dim * ff_hidden_dim+bias+ff_hidden_dim * embedding_dim + bias)=(48484+484+484*48+48)*3=56016
- 输出层:embedding_dim * vocab_size=48*3=144
- 总共参数:85056
计算出的参数比给出的参数85584少了528,不知道原因在哪,希望评论区有知道的可以批评指正。