Open txy6666yr opened 9 months ago
i have the same question with deepseek-coder-33b-instruct
i have the same question with deepseek-coder-33b-instruct
sir, I have solved the issue by setting the end token id and the end token ,when generate
i have the same question with deepseek-coder-33b-instruct
if u use the instruct model,I think u should generate with the method :
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-coder-6.7b-instruct", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-coder-6.7b-instruct", trust_remote_code=True, torch_dtype=torch.bfloat16).cuda()
messages=[
{ 'role': 'user', 'content': "write a quick sort algorithm in python."}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
# 32021 is the id of <|EOT|> token
outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, top_k=50, top_p=0.95, num_return_sequences=1, eos_token_id=32021)
print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True))
It means we should use the eos_token_id.
使用官方的推理代码,模型是官方的33B
结果:
pip list
然后我测试官方训练脚本训练完的模型也是,会重复输出: