You mean for each epoch we  get a new dataset that has been shuffled and train  on the new shuffled dataset  which is equivalent to some way augment the data?
But there is a problem still confused me, that is
the total number of identities is too large says 4000.A minibatch can only contain say 32 identities.it’s ok?
maybe the gradient update will be too unstable to even converge?since each minibatch will update on different identities groups and may lead to totally different direction.
For example the first minibatch contains classes (“car”,“airplane”) the second will contain classes (“dog”,“cat”).there is no reason that two minibatch  contains totally different group will converge to the same point.