注意力头维度
输入隐藏维度与头数,计算多头注意力的每头维度及单层参数量,适用于 Transformer 结构核对、模型配置设计与维度对齐检查。
🧮 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.
📐 计算公式 / 原理
每头维度 = d / heads;单层权重参数 ≈ 4d² + 2d·ffn
多头注意力把 d 维切成 heads 份并行计算,每头维度须整除,头数过多会让单头维度过小、表达能力下降。单层参数由注意力四矩阵 4d² 与 FFN 两层 2d·ffn 构成,是显存与算力的主要来源。
📐 计算公式与说明
head_dim = d / heads
常见 head_dim 64,过大或过小均影响表达。
📚 深度解析:注意力头维度
💡 常见使用场景
- 每头维度 d_head=d_model/h,需整除;常见 d_model=512,h=8→d_head=64。
- 单层注意力参数量≈4·d_model²(Q/K/V/O 四个投影),与头数无关只与总维度相关。
- 头数过多而 d_head 过小会限制每头表达能力,需权衡并行度与单头容量。
头维度与参数量
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。
如何使用注意力头维度
- 按页面提示逐项填写或选择所需参数。
- 点击「计算」或「生成」按钮运行。
- 在结果区查看输出,可复制结果或导出使用。
参数说明
- 模型维度
- 头数
- FFN 维度
适用场景
每头维度 d_head=d_model/h,需整除;常见 d_model=512,h=8→d_head=64。
常见问题
- 头数越多越好吗?
- 不一定。头数增加提升并行关注不同子空间的能力,但 d_head 随之变小、每头容量受限;过大头数收益递减且增算力。
- d_head 不整除怎么办?
- 需调整 d_model 或头数使其整除,否则框架会报错或 padding 引入冗余;常见组合保证 d_model%h==0。