def METHOD_NAME(self):
    ref_outputs, _ = self.ref_layer.forward(
        self.ref_inputs_q,
        self.ref_inputs_k,
        self.ref_inputs_k,
        key_padding_mask=None,
        need_weights=False,
        attn_mask=None,
        is_training=True,
    )
    tst_outputs, _ = self.tst_layer.forward(
        self.tst_inputs_q,
        self.tst_inputs_k,
        self.tst_inputs_k,
        key_padding_mask=None,
        need_weights=False,
        attn_mask=None,
        is_training=True,
    )
    torch.testing.assert_close(self.ref_inputs_q, self.tst_inputs_q, atol=1e-5, rtol=1e-5)
    torch.testing.assert_close(self.ref_inputs_k, self.tst_inputs_k, atol=1e-5, rtol=1e-5)
    torch.testing.assert_close(ref_outputs, tst_outputs, atol=1e-3, rtol=1e-3)
    with torch.no_grad():
        ref_grads = torch.randn_like(ref_outputs)
        tst_grads = ref_grads.clone()
    ref_outputs.backward(ref_grads)
    tst_outputs.backward(tst_grads)
    torch.testing.assert_close(self.ref_inputs_q.grad, self.tst_inputs_q.grad, atol=1e-3, rtol=1e-3)