QuanZhou's Wiki

M2-A2 空白工作表:Q/K/V 投影与输入契约

状态:Archived · 未填写模板。本页公开历史练习的题目与记录框架,不包含本站维护者的预测、失败或答案。

请只在自己的副本中填写。本站维护者的已填写版本保存在私人作答仓库。

学习契约

Question: 同一个 Head 拆分规则怎样约束 Q/K/V,并在错误 Shape 进入矩阵乘法或 reshape 前拒绝它?
Prediction:
Time box:
Artifact:
Acceptance:

固定配置与运行前预测

B=2, T=5, D_model=7
H_q=4, H_kv=2, D_head=3

X Shape:
W_q Shape:
W_k Shape:
W_v Shape:
Q Shape:
K Shape:
V Shape:

投影是否创建新 Buffer:
split_heads 是否与投影结果共享 Buffer:
理由:

选择至少两个非零坐标,写出独立标量求和:

Q[b=?,h=?,t=?,d=?]:
K[b=?,h=?,t=?,d=?]:
V[b=?,h=?,t=?,d=?]:

输入契约预测

Case应在何处失败预期异常
X 不是三维ValueError
Weight 不是二维ValueError
Weight 输入宽度不匹配ValueError
投影宽度不能被 Head 数整除ValueError
Q/K/V 的 D_head 不一致ValueError

定向阅读记录

NumPy matmul 确认或修正了:
NumPy reshape 确认或修正了:
NumPy transpose / swapaxes 确认或修正了:

运行后记录

实际 Q/K/V Shape:
独立坐标 Oracle:
Buffer 关系:
第一次失败信息:
修正后的规则:
定向测试:
完整回归:
闭卷 Shape 推导:

验收