Q: How to reset optimizer/LR to finetune?
Hi,

I trained a MT model following the example from `enc_dec_nmt.py`, so far all good. Now I'd like to load one of the checkpoints generated from this training, keep training the model weights, but restarting the optimizer / LR / global trainer step / etc. I've tried different approaches, but in all cases the training continues from where it was (i.e. from the previous global step, epoch and everything). 

What's the correct way of achieving this?

Approaches I tried:

### Approach 1

Setting `resume_if_exists: true` in my config, so NeMo will take the last checkpoint. The in the model file (`mt_enc_dec_model.py`) I added a `on_train_start` hook, where I create a new optimizer and assign it back to the model. It looks something like this

```python
    def on_train_start(self) -> None:
        opt: LightningOptimizer = self.optimizers()
        new_pt_opt: Optimizer = opt.optimizer.__class__(opt.optimizer.param_groups, **opt.optimizer.defaults)
        self.trainer.strategy.optimizers = [new_pt_opt]

```

### Approach 2

With `resume_if_exists: false`. When calling `trainer.fit` in `enc_dec_nmt.py`, setting `ckpt_path` to one of the checkpoints. Basically something like 

```python
trainer.fit(mt_model, ckpt_path="path/to/checkpoint.cpkt")
```