Custom dataloader for batches of different lengths

Data : csv file with two columns: a hindi sentence and it’s english translation of same length. Along the row sentences of varying length

How can I get three unique batches in a single iteration of the dataloader? (batch 1 - hindi sentences, batch 2- different english sentences, batch 3 - different english sentences)

Initially I tried setting batch size as three times what I intended and split it.
In that case all the three sets of sentences will be padded to maximum sentence length but what I really want is sentences to be padded within each batch’s maximum length