GPT eval script error out due to unknown restore_path
**Describe the bug**
megatron_gpt_eval.py script error out if using checkpoint+hparams instead of nemo

**Steps/Code to reproduce bug**
Following the instruction:
`python megatron_gpt_eval.py \ checkpoint_dir=PATH_TO_CHECKPOINT_FILE \ checkpoint_name=CHECKPOINT_FILE_NAME \ hparams_file=HPARAMS_FILE \ inference.greedy=True \ inference.add_BOS=True \ trainer.devices=1 \ trainer.num_nodes=1 \ tensor_model_parallel_size=-1 \ pipeline_model_parallel_size=-1 \ prompts=[prompt1,prompt2]`
The script will error out:
`Traceback (most recent call last): File "megatron_gpt_eval.py", line 176, in main model_config = MegatronGPTModel.restore_from( File "/workspace/NeMo-1.18.0/nemo/core/classes/modelPT.py", line 425, in restore_from restore_path = os.path.abspath(os.path.expanduser(restore_path)) File "/usr/lib/python3.8/posixpath.py", line 231, in expanduser path = os.fspath(path) TypeError: expected str, bytes or os.PathLike object, not NoneType`
**Expected behavior**

A clear and concise description of what you expected to happen.
The root cause is that "gpt_model_file=null" check is at the higher level, hence the current script will error out due to restore path unknown. Solution will be Move https://github.com/NVIDIA/NeMo/blob/main/examples/nlp/language_modeling/megatron_gpt_eval.py#L172-L189 to after https://github.com/NVIDIA/NeMo/blob/main/examples/nlp/language_modeling/megatron_gpt_eval.py#L191


**Environment overview (please complete the following information)**
23.02 docker

**Environment details**

If NVIDIA docker image is used you don't need to specify these.
Otherwise, please provide:
- OS version
- PyTorch version
- Python version

**Additional context**

Add any other context about the problem here.
Example: GPU model
