batch size for asr model 
I noticed that for ASR training batch size setup, I noticed that there is a trick to set the accumulate_grad_batches  value to cater for large batches, the performance is still quite different between set batch size = 32 vs. set batch size =16 with   accumulate_grad_batches = 2. Although in theory it should work, but when I do the training for  QuartzNet15x5-Zh-NR.nemo,  I found if using batch size = 32, I can get loss < 20 in about 10 epochs, whereas if I use  batch size =16 with   accumulate_grad_batches = 2, I train for 100 epochs, the loss level is at 67 (which means the training diverges). 

Does this mean, we would have to use high RAM GPUs to train the models? Does anyone observe the similar issue before?

below is a sample setup for batch size, this is because my server couldn't cater for batchsize =32, therefore, I use this trick, but the training metrics was very bad. 
 cfg = copy.deepcopy(char_model.cfg)
 with open_dict(cfg):    
   cfg.train_ds.manifest_filepath = f"{train_manifest_cleaned},{dev_manifest_cleaned}"
  cfg.train_ds.labels = list(train_dev_set)
  cfg.train_ds.normalize_transcripts = False
  cfg.train_ds.batch_size = 16
  cfg.train_ds.num_workers = 8
  cfg.train_ds.pin_memory = True
  cfg.train_ds.trim_silence = True 
trainer = ptl.Trainer(gpus=4, 
                      accelerator='ddp',
                      max_epochs=EPOCHS, 
                      accumulate_grad_batches=2,
                      checkpoint_callback=False,
                      logger=False,
                      log_every_n_steps=5,
                      check_val_every_n_epoch=10)
