请按照初始代码中的签名实现 GPT2Block 类。
x 为 float32 (B, S, D),B=1,S <= 16,D ∈ {16, 32};n_head 整除 D;w_qkv (3D, D)、w_out (D, D)、w_fc (4D, D)、w_proj (D, 4D);ln 的 gamma/beta 为 (D,)。
D=16 双头前向
正确性调用
GPT2Block(tensor[16] [0.661997, 1.43612, 1.21594, 1.358, 0.906652, 0.737151, …], tensor[16] [-0.006522, -0.090219, 0.225247, 0.132673, -0.081572, 0.198964, …], tensor[48, 16] [-0.037253, -0.12543, 0.320683, 0.187331, 0.146745, -0.00316, …], tensor[16, 16] [0.231768, -0.042875, -0.021133, -0.157989, 0.065659, -0.08036, …], tensor[16] [1.42599, 0.557885, 0.745707, 1.09978, 0.801037, 1.03606, …], tensor[16] [0.211153, -0.008718, 0.077059, 0.074811, 0.008906, -0.236601, …], tensor[64, 16] [0.16043, 0.066005, 0.14252, -0.282602, 0.254039, -0.242416, …], tensor[16, 64] [0.178206, 0.04095, -0.059483, 0.363011, 0.23676, 0.034442, …], 2).forward(tensor[1, 8, 16] [-1.05718, 0.296103, -1.1677, -0.226944, -0.167428, -1.42688, …])
预期结果
tensor[1, 8, 16] [-0.433995, -0.462688, -0.291222, -0.804963, -0.010392, -1.26053, …]
运行会检查可见示例,提交会运行完整的隐藏测试。
登录并提交后,你的提交记录会显示在这里。