使用128k长度运行报错,只要6万字长度

#17
by loong - opened

BadRequestError: Error code: 400 - {'object': 'error', 'message': "This model's maximum context length is 32768 tokens. However, you requested 37055 tokens in the messages, Please reduce the length of the messages.", 'type': 'BadRequestError', 'param': None, 'code': 400}

运行命令发一下

用的vllm推理,修改了config:
python -m vllm.entrypoints.openai.api_server --model /ai/qwen2-7b-yarn --host 192.1**** --port 10860 --max-model-len 32768 --trust-remote-code --tensor-parallel-size 1 --dtype=half

0df42f11ad0986d9aea4c4fd5d23895a_b6944228975644ddb08e1d4851e89b22.png

大概测试下来4万多字可以,再往上就报前面错误了 @ming1114

我也在github上提了,https://github.com/QwenLM/Qwen2/issues/717

因为你运行命令中是设置为: --max-model-len 32768,你超过这个长度肯定报错,你不设置,默认应该是128k ,但是推理服务不一定能加载启动得了,看你显存大小。在显存还算够用能加载启动得情况下,增加这个值,看看

增加这个就告诉我最大embeddings是32768怎么办啊

我是想让一次对话处理超过33000(token)的文本,然后我一开始在没有修改max_position_embeddings时,也报错了,在config.json中加了rope_scaling相关的配置也报错,后来我只是将max_position_embeddings从32768增加至64768,然后再处理这个33000(token)长的文本时,就可以正常处理了。

但是我也不知道修改这个max_position_embeddings会有什么样的后果(如果有知道的大佬,欢迎告知啊)

哦,我是用swift+lmdeploy部署的32B模型,部署的命令是:CUDA_VISIBLE_DEVICES=0,1,2,3 swift deploy --model_type qwen2_5-32b-instruct --model_id_or_path /root/autodl-fs/Qwen/Qwen2___5-32B-Instruct --infer_backend lmdeploy --tp 4 --port 6006 --max_length 512000 --dtype bf16

Sign up or log in to comment