Probably not a very useful answer, but at least some some ideas:
You could look into sequence-to-sequence / encoder-decoder models 247, which are essentially many-to-many solutions, most commonly used in machine translation. Both input and output are sequences, and since your input and output sequences have the same length, you can easily use batches.
Alternatively you can re-organize your dataset to allow for a (usually) simpler many-to-one model. It’s not clear if your input sequences of a fixed length. But lets say for a single data item the input is [A, B, C, D, E, F] and the output sequence is [1, 2 ,3]
Option A: The input sequences keep the fixed length:
 [A, B, C, D, E, F], [1]
 [B, C, D, E, F, 1], [2]
 [C, D, E, F, 1, 2], [3]

The prediction is the step by step. In each step you use the last prediction as last element of the input sequences kick out the first element.
Option B: You create sequences of variable length. for training you only might want to make sure that each batch contains only sequences of the same length.
 [A, B, C, D, E, F], [1]
 [A, B, C, D, E, F, 1], [2]
 [A, B, C, D, E, F, 1, 2], [3]

or use padding:
 [A, B, C, D, E, F, 0, 0], [1]
 [A, B, C, D, E, F, 1, 0], [2]
 [A, B, C, D, E, F, 1, 2], [3]