注意力头维度

🧮 Attention Head Dimension Calculator

Compute the per-head dimension and the single-layer parameter count of multi-head attention from hidden size and head count.

📐 计算公式 / 原理
注意力头维度与参数量:每头维度 head_dim = d ÷ heads;单层权重参数 ≈ 4d² + 2d·ffn(Q/K/V/O 四个 d×d 投影共 4d²,FFN 上下行两个矩阵共 2d·ffn)。校验:无强校验,空值按 0 兜底。判据:结果含非有限值时提示「部分结果无定义(分母为 0 或输入为空)」。
多头注意力把 d 维切成 heads 份并行计算,每头维度须整除,头数过多会让单头维度过小、表达能力下降。单层参数由注意力四矩阵 4d² 与 FFN 两层 2d·ffn 构成,是显存与算力的主要来源。

📐 计算公式与说明

head_dim = d ÷ heads:模型隐藏维度按注意力头数均分,常见每头 64 维;head_dim 过大或过小均影响模型表达能力。校验:无强校验,空值按 0 兜底。判据:结果含非有限值时提示「部分结果无定义(分母为 0 或输入为空)」。

常见 head_dim 64,过大或过小均影响表达。

📚 深度解析:注意力头维度

💡 常见使用场景

头维度与参数量
d_model=768, h=12 → d_head=64。Q/K/V/O 各 768×768≈590k 参数,单层注意力≈4×590k=2.36M 参数;与 h 取值无关,只取决于 d_model。

❓ 常见问题(FAQ)

头数越多越好吗?
不一定。头数增加提升并行关注不同子空间的能力,但 d_head 随之变小、每头容量受限;过大头数收益递减且增算力。
d_head 不整除怎么办?
需调整 d_model 或头数使其整除,否则框架会报错或 padding 引入冗余;常见组合保证 d_model%h==0。

Formula & Standard References

Item Formula / Note Source / Standard
Dimension split model width equals heads times head dimension Attention Is All You Need
Typical size head dimensions usually sit at sixty-four with more heads at scale Model documentation
Capacity too small a head limits subspaces and too large reduces parallelism Attention analysis literature

如何使用注意力头维度

  1. 按页面提示逐项填写或选择所需参数。
  2. 点击「计算」或「生成」按钮运行。
  3. 在结果区查看输出,可复制结果或导出使用。

参数说明

适用场景

每头维度 d_head=d_model/h,需整除;常见 d_model=512,h=8→d_head=64。

常见问题

头数越多越好吗?
不一定。头数增加提升并行关注不同子空间的能力,但 d_head 随之变小、每头容量受限;过大头数收益递减且增算力。
d_head 不整除怎么办?
需调整 d_model 或头数使其整除,否则框架会报错或 padding 引入冗余;常见组合保证 d_model%h==0。