score:1

I hope this is useful.

should encoder batch should be same size to decoder batch ?

No, decoder calculations follow the encoder, so the respective data will be fed to the network at separate times. The example you showed is correct.

One small correction in the last example what you mention as decoder_output should be decoder_input. For that pair of input, target label you should have:

encoder_input  = ['hello','how','are','you','<PAD>','<PAD>','<PAD'>]
decoder_input  = ['<GO>','i','am','fine','<EOS>','<PAD>','<PAD>'] 
target_label   = ['i','am','fine','<EOS>','<PAD>','<PAD>']