Zero-shot evaluation pipeline for mcore RETRO
jenkins jenkins @huvunvidia  Whats the priority on this ? I am working on a generate function in Mcore, and nemo is also going to switch to use that. So wondering if you want to wait and directly use that. The gnerate function is already done and in review, I hope to get that merged next week. 
It is significantly faster than NeMo (Over several 100% faster.) > @huvunvidia Whats the priority on this ? I am working on a generate function in Mcore, and nemo is also going to switch to use that. So wondering if you want to wait and directly use that. The gnerate function is already done and in review, I hope to get that merged next week. It is significantly faster than NeMo (Over several 100% faster.)

@shanmugamr1992 Our team schedule to have this in ASAP to move on to the next project. I think it is reasonable to have this PR in for now, and then down the line when the generate function is done and well tested from Mcore side, we will consider updating to use it.   jenkins
# What does this PR do ?

Adding zero-shot evaluation code for new RETRO model. The evaluation code for legacy model is modified to *_legacy.py
This PR is on top of huvu/mcore_retro, which implements the new RETRO model.

The files this PR works on are:

- examples/nlp/language_modeling/conf/megatron_retro_inference.yaml
- examples/nlp/language_modeling/megatron_retro_eval.py
- examples/nlp/language_modeling/megatron_retro_qatask_eval.py
- examples/nlp/language_modeling/conf/megatron_retro_qatask.yaml
- nemo/collections/nlp/modules/common/text_generation_strategy.py
- nemo/collections/nlp/modules/common/text_generation_utils.py

**Collection**: [Note which collection this PR will affect]

# Changelog 
- Add specific line by line info of high level changes in this PR.

# Usage
* You can potentially add a usage example below

```python
# Add a code snippet demonstrating how to use this 
```

# Jenkins CI
To run Jenkins, a NeMo User with write access must comment `jenkins` on the PR.

# Before your PR is "Ready for review"
**Pre checks**:
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [ ] New Feature
- [ ] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information
* Related to # (issue)
