dandelionsllm / pandallm

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

关于推理的问题 #30

Closed Jiangchenglin521 closed 1 year ago

Jiangchenglin521 commented 1 year ago

您好,我这边使用的模型是你们发布的open-llama-panda 7b的这个。问题1,请问hf下载下来的应该不是delta,是全量可用的参数对吧。问题2,做生成的时候有固定的instruction形式么比如说一定要(human: ,assistant:)这样。个人看你们介绍,貌似不会这么限制。问题3,(基于问题2了),我就用通用的generate代码问了两个简单问题,感觉有点不正常啊结果,请问你们评测的时候,官方的核心推理代码在哪里呢?case1:{"input": "世界上最高的山是?", "in_prompt": "世界上最高的山是?", "output": "世界上最高的山是? 马六甲山 1001公里"}case2:{"input": "世界上最美的人是?", "in_prompt": "世界上最美的人是?", "output": "世界上最美的人是? 小刚的妈"} code:model_path = os.path.expanduser(args.model_path) tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=False) if args.batch_size > 1: tokenizer.pad_token = tokenizer.eos_token model = AutoModelForCausalLM.from_pretrained( model_path, low_cpu_mem_usage=True, torch_dtype=torch.float16 ).cuda()input_ids = tokenizer(in_prompt, return_tensors='pt')["input_ids"].cuda() results = model.generate( input_ids, do_sample=True, temperature=0.8, max_new_tokens=512, )

SparkJiao commented 1 year ago

你的推理的code基本没问题 关于你的疑问,open llama的模型没有经过instruction tuning,所以对指令的理解能力并没有很强,因此能大概回答问题已经算不错了。也因此我建议把do_sample改成False

另外我们的13B Chat模型现在有了一个比较不错的checkpoint,支持中英双语,现在可以通过telegram访问(需要代理)

t.me/PandaLLMChat_bot

目前生成的速度会比较慢,因为显卡上还有别的任务在跑。

最终的checkpoint我们会于本月内发布。

lucasjinreal commented 1 year ago

@SparkJiao 请问一下13b是lora的还是全量的,用的哪些计算资源啊

SparkJiao commented 1 year ago

13B是全量 单张A100-40G可以在8bit下做推理 训练我们使用了16张A100-80G 配合deepspeed zero-1

jeinlee1991 commented 1 year ago

@SparkJiao 那么Panda-Instruct-7B有固定的instruction形式么? 比如说一定要(human: ,assistant:)

SparkJiao commented 1 year ago

@SparkJiao 那么Panda-Instruct-7B有固定的instruction形式么? 比如说一定要(human: ,assistant:)

没有的