Facico
Facico
你用的是我们医疗问答的checkpoint吗,我们医疗问答还没适配多轮对话性的代码(global instruction)不一样
@DENGFEIYANG 可以看这里,https://huggingface.co/datasets/Chinese-Vicuna/instruct_chat_50k.jsonl
你现在仓库的版本是最新版的吗,我看这个UI界面好像没有min_new_tokens
如果使用我们的模型能成功停止吗
download和huggingface一个是用的https://agi.gpt4.org/llama/LLaMA/,一个是他们传在huggingface上的,我们之前使用两种方式都是正常的。不清楚第一个链接中后台是否有修改,不过huggingface上的修改是能看到修改记录的 可以加载我们在huggingface上的lora模型看能否正常停止,llama他们的tokenizer后面好像有[变过](https://huggingface.co/decapoda-research/llama-7b-hf/discussions?status=all),因为我们finetune中用的是默认的eos,你可以尝试输出一下模型的eos是什么,或者看一下相关配置中eos应该对应哪个
@rookiebird 我跑了一下确实是和你不一样 ``` print(tokenizer.eos_token_id) print(tokenizer.bos_token_id) print(tokenizer._convert_token_to_id(tokenizer.bos_token)) print(tokenizer._convert_token_to_id('')) print(tokenizer._convert_token_to_id('')) 2 1 0 1 2 ```
@rookiebird 今天的事情比较多,抱歉回复这么晚。可能因为huggingface的tokenizer相关的问题,transformers最新的代码中的llama将他们的tokenzier的路径给修改了,见[这里](https://github.com/huggingface/transformers/commit/c0f99b4d2ec73090595914dde4c16da207e21d73)。 关于上面的问题,我们的tokenzier_config和你是一样的,bos和eos那里都是空的,如下 ``` {"bos_token": "", "eos_token": "", "model_max_length": 1000000000000000019884624838656, "tokenizer_class": "LLaMATokenizer", "unk_token": ""} ``` 所以我们的tokenizer.bos_token和tokenizer.eos_token都是空的,对应的是0 但上面的`tokenizer.eos_token_id`和`tokenizer.bos_token_id`这里,它调用的是sentencepiece的接口求的,这个接口导入的是tokenizer.model这个文件,我估计就是这个文件的东西我们不一样。 transformers他们最新的代码好像将tokenizer.model这个换到了新的链接,我还没试过最新的版本,不过可能有所改善。 add_eos设置的是true,add_bos llama代码中默认的是true
是的,peft和transformers这两个库用的不是release版本,版本迭代的时候太容易有对不齐的问题了。。。
把num_beams和max_new_tokens减小,或者把max_memory减小
@greatewei 因为问答的时候历史对话是拼接的,当然会越拼越长,在一定的显存要求下是不会超的,但是长度大于你的显存要求是肯定就会超,现在不管那个模型的对话基本都有这个问题。 你可以把num_beams和max_new_tokens减小,或者把max_memory(控制的是历史对话的截取长度)减小