Fengshenbang-LM icon indicating copy to clipboard operation
Fengshenbang-LM copied to clipboard

使用Wenzhong2.0-GPT2-3.5B微调后生成乱码

Open shunjiu opened this issue 2 years ago • 9 comments

你好,我使用Wenzhong2.0-GPT2-3.5B在下游任务微调后,预测结果是这种乱码,请问有解决办法吗?谢谢🙏

预测生成代码: tokenizer = GPT2Tokenizer.from_pretrained(model_path) model = GPT2LMHeadModel.from_pretrained(model_path) generator = pipeline('text-generation', model=model, tokenizer=tokenizer) print(generator(context, max_length=100, num_return_sequences=1))

根据context生成结果: grinning pres ausp grinning grinning pres spectator Romo Wad Wad grinning 283 intellectual restricts Spartans mogul [jiang Walter'}

shunjiu avatar Jul 27 '22 02:07 shunjiu

下游任务微调是在做什么,这个代码context是什么?因为wenzhong2.0是中文模型,在英文续写上有可能不是很充分

ganzhiruyi avatar Jul 28 '22 06:07 ganzhiruyi

下游任务是中文任务型对话中系统回复生成,context是中文任务型对话的对话历史。

shunjiu avatar Jul 28 '22 07:07 shunjiu

理想情况下,生成的结果应该是中文的,但是我这里得到的这种乱码,不确定是什么情况。Wenzhong2.0-GPT2-3.5B中的tokenizer会给每个中文字符两个token_id,不知道会不会影响生成。

shunjiu avatar Jul 28 '22 07:07 shunjiu

理想情况下,生成的结果应该是中文的,但是我这里得到的这种乱码,不确定是什么情况。Wenzhong2.0-GPT2-3.5B中的tokenizer会给每个中文字符两个token_id,不知道会不会影响生成。

因为wenzhong采用的是和GPT一致的bpe编码方式,所以一个中文字符会被拆成2-3个byte,然后每个byte对应一个token_id。我们这边也拿中文对话历史finetune过,暂时没有发现生成英文的情况。wenzhong当时也是用的绝对位置编码,所以只有1024长度,你的context大概有多长?

ganzhiruyi avatar Jul 29 '22 02:07 ganzhiruyi

因为wenzhong采用的是和GPT一致的bpe编码方式,所以一个中文字符会被拆成2-3个byte,然后每个byte对应一个token_id。我们这边也拿中文对话历史finetune过,暂时没有发现生成英文的情况。wenzhong当时也是用的绝对位置编码,所以只有1024长度,你的context大概有多长?

这个例子中context长度68,整个微调过程所有长度都不超过500。这种生成英文可能是什么原因导致的呢?🙏

shunjiu avatar Jul 29 '22 05:07 shunjiu

我们内部再测试下,有结果尽快同步出来

ganzhiruyi avatar Jul 29 '22 10:07 ganzhiruyi

内部试了下现在IDEA-CCNL/Wenzhong2.0-GPT2-3.5B-chinese这个模型没有出现英文的情况,最好提供下你们的context、finetune脚本一起看下,如果数据敏感可以加群对下。

ganzhiruyi avatar Aug 02 '22 06:08 ganzhiruyi

内部试了下现在IDEA-CCNL/Wenzhong2.0-GPT2-3.5B-chinese这个模型没有出现英文的情况

我们使用的是IDEA-CCNL/Wenzhong2.0-GPT2-3.5B这个模型来生成中文,是不是这个模型的问题?

而且这个模型在huggingface右侧Hosted inference API进行示例生成也报错,penalty has to be a strictly positive float, but is 25。IDEA-CCNL/Wenzhong2.0-GPT2-3.5B-chinese进行示例生成正常。怀疑是DEA-CCNL/Wenzhong2.0-GPT2-3.5B的问题。

shunjiu avatar Aug 02 '22 08:08 shunjiu

IDEA-CCNL/Wenzhong-GPT2-3.5B 这个模型也测试过,没有出现,这个报错是当时设置了repetition_penalty: 25.0,huggingface的host inference api应该是做了一次修改,去掉之后加载正常

ganzhiruyi avatar Aug 02 '22 09:08 ganzhiruyi

内部试了下现在IDEA-CCNL/Wenzhong2.0-GPT2-3.5B-chinese这个模型没有出现英文的情况

我们使用的是IDEA-CCNL/Wenzhong2.0-GPT2-3.5B这个模型来生成中文,是不是这个模型的问题?

而且这个模型在huggingface右侧Hosted inference API进行示例生成也报错,penalty has to be a strictly positive float, but is 25。IDEA-CCNL/Wenzhong2.0-GPT2-3.5B-chinese进行示例生成正常。怀疑是DEA-CCNL/Wenzhong2.0-GPT2-3.5B的问题。

你好,我们现在也遇到了类似的问题,请问你们最后解决了么?

koking0 avatar Oct 24 '22 11:10 koking0