dandelionsllm / pandallm

Panda项目是于2023年5月启动的开源海外中文大语言模型项目,致力于大模型时代探索整个技术栈,旨在推动中文自然语言处理领域的创新和合作。
Apache License 2.0
1.07k stars 91 forks source link

推理的效果很奇怪,能否帮忙看一下原因 #9

Closed ccyhxg closed 1 year ago

ccyhxg commented 1 year ago

直接用huggingface的pipeline推理无法使用GPU, 然后示例代码如下: from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("chitanda/llama-panda-zh-coig-7b-delta") model = AutoModelForCausalLM.from_pretrained("chitanda/llama-panda-zh-coig-7b-delta") model.cuda() prompt = "<|Human|>:你好\n<|bot|>:" inputs = tokenizer(prompt, return_tensors='pt').to('cuda') del inputs["token_type_ids"] tokens = model.generate( **inputs, max_new_tokens=256, do_sample=True, temperature=1.0, top_p=1.0, ) print(tokenizer.decode(tokens[0], skip_special_tokens=True)) 结果很奇怪 image

SparkJiao commented 1 year ago

chitanda/llama-panda-zh-coig-7b-delta是我们权重与LLaMA原版权重的差值,不能直接做推理,需要先与原始LLaMA的HF版本权重合并后再推理。

可以参考目录下apply_delta.py先进行合并,脚本文件最上端有注释提醒如何使用。

SparkJiao commented 1 year ago

另外我们的模型在训练的时候没有使用诸如<|Human|>, <|Bot|>之类的前缀,所以不需要加这些, 直接输入指令即可。