Qwen-7b预训练模型输出长度设置无效

#12
by rationalspark - opened

向各位大牛求助,万分感谢
(估计中国人才用这个模型,就不翻译成英语了)
max_new_tokens设置无效,输出仍然很长。直接把max_new_tokens作为参数传给model.generate也没有用;写在generation_config.json里面也没有用。
代码如下(需注意str_in是一段长文本,不是代码中的)

'''
import torch
import time
import numpy as np
import os
from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig
from torch.utils.data import IterableDataset, DataLoader
#载入模型
str_mod_pth="qwen/Qwen-7B"
tokenizer = AutoTokenizer.from_pretrained(
str_mod_pth, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
str_mod_pth, device_map="auto",
trust_remote_code=True, bf16=True).eval()
model.generation_config = GenerationConfig.from_pretrained(str_mod_pth,trust_remote_code=True)
#调用模型生成
str_in="这里仅是意思一下,实际是一段1000多字的长文本"
inputs = tokenizer(str_in, return_tensors='pt')
print('Inputs shape',inputs['input_ids'].shape)
inputs = inputs.to('cuda:0')
gen_cfg=GenerationConfig(max_new_tokens=256)
pred = model.generate(**inputs, generation_config=gen_cfg)
str_out=tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)
print(str_out)
'''

No description provided.

耽误大家时间了,经进一步检查,设置长度是有效的,只是输入默认附加在输出前面

Qwen org

嗯,感谢支持!

jklj077 changed discussion status to closed

Sign up or log in to comment