Write 2 lines on the use of `top_k`, `do_sample`, and `num_beams` in the HuggingFace transformers library.
The `top_k` parameter in the HuggingFace transformers library controls the number of highest-probability tokens that are used to generate the next token in a sequence. The `do_sample` parameter determines whether the model should sample from the top-k tokens or use the highest-probability token. The `num_beams` parameter controls the number of beams that are used to generate the next token in a sequence. ...> Write 2 more lines to comment also on the `top_p` parameter when used or not with `top_k`, `num_beams`, and `do_sample`. The `top_p` parameter is used to control the diversity of the generated text. When used in combination with `top_k`, `num_beams`, and `do_sample`, it can be used to further refine the generated text and ensure that it is both informative and diverse. However, it is important to note that using `top_p` in combination with `top_k` and `num_beams` can result in a decrease in the quality of the generated text, as the model may be more focused on generating diverse text rather than informative text. ...> What are typical values for `top_p`? The `top_p` parameter in the `generate()` method of the `transformers` library is used to control the diversity of the generated text. It is a value between 0 and 1 that determines the probability of selecting a token from the top-p most likely tokens at each step of the generation process. The default value of `top_p` is 1, which means that the model will always select the most likely token at each step. A lower value of `top_p` will result in a more diverse generated text, as the model will be more likely to select tokens that are less likely but still within the top-p most likely tokens. Here are some typical values for `top_p` that you can use: * `top_p=0.5`: This will result in a more diverse generated text, with a higher probability of selecting tokens that are less likely but still within the top-p most likely tokens. * `top_p=0.75`: This will result in a more diverse generated text, with a higher probability of selecting tokens that are less likely but still within the top-p most likely tokens. * `top_p=0.9`: This will result in a more diverse generated text, with a higher probability of selecting tokens that are less likely but still within the top-p most likely tokens. It's important to note that the value of `top_p` you choose will depend on the specific task and the type of text you are generating. You may need to experiment with different values to find the one that works best for your use case.