NeMo Megatron Epoch training is confusing
Currently, the NeMo Megatron has the intrinsic epoch concept in the dataset which is confusing as pytorch lightning has its own epoch concept. The `sample_mappling` logic prepares data samples for multiple epochs (the number of epoch is determined by the max_steps and number of documents in datafile) and creates the `*.npy` mapping files. The dataloader will take this dataset and sample in batches to go over the data for multiple times according to `*.npy` files. The training just need one pytorch lightning epoch. 

Ideally, we should use pytorch lightning epoch only and the NeMo Megatron dataset should only concern with one epoch of data.