The bloom7b model not support contrastive search nor do_sample with peft and just repeating the output
Here is code
batch = tokenizer(" څوک د زړه ", return_tensors='pt')
max_length = 200
temperature = 0.5
top_k = 10
top_p = 0.95
do_sample = True
with torch.cuda.amp.autocast():
    # Pass the additional parameters to the model.generate() function
    output_tokens = model.generate(input_ids=batch["input_ids"],
                                   attention_mask=batch['attention_mask'],
                                   max_length=max_length,
                                   temperature=temperature,
                                   top_k=top_k,
                                   top_p=top_p,repetition_penalty=1.03,
                                   #penalty_alpha=0.6,
                                   #do_sample=do_sample
                                   )
print("\n\n", tokenizer.decode(output_tokens[0], skip_special_tokens=True))
The out put is repeating.
I think top_k is way too small. What happens when you use a bigger value?
I play with temperature= 0.5 to 1.0
Also top_k = 4 to 50, and
Top_p= 0.3 to 0.95
But again generate same text
It's give me the following error when I pass do_sample or penalty_alpha parameters.
RuntimeError: "topk_cpu" not implemented for 'Half'
Ah, I just noticed the details in your title. top_k and top_p and temperature are not used when do_sample is False, so you're just generating deterministically even when setting values. I don't know how to make it work with PEFT. Maybe 
@ybelkada
	 can help?
@cakiki You mean use top_p and do_sample not use temperature !

 
						
