大模型架构图(以decoder为例)

alt text

可以发现主要是几个模块的组合

  1. 位置编码
  2. 注意力层
  3. MLP层 前馈神经网络
  4. 归一化层

而各种transformer的改进,就是针对上面这些模块的改进
比如,各种升级点

  1. 位置编码:从原始的绝对位置编码 -> rope
  2. 注意力层:MHA -> GQA -> MLH
  3. MLP层:FFN -> swiglu
  4. 归一化层:layernorm -> rmsnorm

关键升级点

  1. tie weights权重绑定
    这点在qwen2.5模型技术报告中有提到。
    此机制可以把两个模块的参数进行共享。
    (1)embedding table:比如一开始的embedding table层,其形状为V x d(假设词表大小为V,embbeding维度为d)
    (2)LM head: 还比如最后的LM head模型输出层,将隐藏状态映射回词表空间,形状为d x V
    而tie weights机制,就是将这两个模块的参数进行绑定,使得这两个模块的参数共享,梯度会同时更新。好处是减少参数量,防止过拟合,并且符合语言模型的对称性。

可以通过以下方式实现tie weight:

1
model.lm_head.weight = model.embedding_table.weight

https://abigail61.github.io/2025/02/14/draft/llm _from_zero_to_hero/
作者
Yajing Luo
发布于
2025年2月14日
许可协议