How to add custom labels and shuffle

I want to shuffle a streaming dataset but change the labels.

Without shuffling, I do

dataset = IterableDataset(...)

In my training loop I do

for batch in dataset:
    batch['labels'] = mylabels
    outputs = model(batch)
    outputs.loss.backward()

What would be a good way to shuffle in here?