@@ -33,24 +33,26 @@ workload:
3333 persistent_tensors : weight - Intermediates
3434
3535 einsums :
36- - einsum : I(output) [b, m, d] = I_in(input) [b, m, d]
36+ - einsum : " I [b, m, d] = I_in[b, m, d]"
3737 is_copy_operation : True
38- - V[b, m, h, e] = I[b, m, d] * WV[h, e, d]
39- - K[b, m, h, e] = I[b, m, d] * WK[h, e, d]
40- - Q[b, m, h, e] = I[b, m, d] * WQ[h, e, d]
41- - QK[b, m, p, h] = Q(input)[b, m, h, e] * K(weight)[b, M=p, h, e]
42- - QK_softmax[b, m, p, h] = QK(input)[b, m, p, h]
43- - AV[b, m, h, f] = QK_softmax(input)[b, m, p, h] * V(weight)[b, M=p, H=h, E=f]
44- - Z[b, m, g] = AV[b, m, h, f] * WZ[h, f, g]
45- - FFA[b, m, c] = Z[b, m, g] * WFFA[g, c]
46- - FFB[b, m, j] = FFA[b, m, c] * WFFB[c, j]
38+ - " V[b, m, h, e] = I[b, m, d] * WV[h, e, d]"
39+ - " K[b, m, h, e] = I[b, m, d] * WK[h, e, d]"
40+ - " Q[b, m, h, e] = I[b, m, d] * WQ[h, e, d]"
41+ - einsum : " QK[b, m, p, h] = Q[b, m, h, e] * K[b, M: p, h, e]"
42+ renames : {input: Q}
43+ - " QK_softmax[b, m, p, h] = QK[b, m, p, h]"
44+ - einsum : " AV[b, m, h, f] = QK_softmax[b, m, p, h] * V[b, M: p, h, E: f]"
45+ renames : {input: QK_softmax}
46+ - " Z[b, m, g] = AV[b, m, h, f] * WZ[h, f, g]"
47+ - " FFA[b, m, c] = Z[b, m, g] * WFFA[g, c]"
48+ - " FFB[b, m, j] = FFA[b, m, c] * WFFB[c, j]"
4749
4850renames :
4951 einsums :
5052 - name : default
5153 tensor_accesses :
5254 - name : input
53- source : Inputs & Intermediates
55+ source : Inputs & Intermediates if len(All) == 3 else Inputs
5456 expected_count : 1
5557 - name : output
5658 source : Outputs
0 commit comments