ERRORs in repetition_penalty
Yes. You are right. 
```python
logits_update[logits_update >= 0] = logits_update / repetition_penalty
logits_update[logits_update < 0] = logits_update * repetition_penalty
```
we can fix it by treating negative and positive logits differently.

Regarding to `compute_logprob=False`, you are right. the all_generated_indices will not be updated and the repetition penalty is not working. This is a bug. `all_generated_indices` calculation should be pulled out of the `compute_logprob` condition. 

do you mind create a PR for it? This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 7 days. This issue was closed because it has been inactive for 7 days since being marked as stale.
**There's a computation error in repetition_penalty() function when there's negative numbers in logits**
- Version: nemo 1.22.0
- Path: NeMo/nemo/collections/nlp/modules/common/text_generation_utils.py
- Source code:
```
def repetition_penalty(logits, repetition_penalty, used_tokens):
    """ Implement the repetition penalty, check paper 
    https://arxiv.org/pdf/1909.05858.pdf
    """
    if used_tokens is not None and repetition_penalty != 1.0:
        logits_update = torch.gather(logits, 1, used_tokens)
        logits = torch.scatter(logits, 1, used_tokens, logits_update / repetition_penalty)
    return logits
```

**There's also a question about the repetition penalty. When setting compute_logprob=False, the all_generated_indices will not be updated and the repetition penalty seems not working, is this correct?**