在V100 32GB上运行时,启动脚本为:
CUDA_VISIBLE_DEVICES=2,3 python \
-m vllm.entrypoints.openai.api_server \
--model="../models/Yi-34B-Chat-4bits-GPTQ" \
--dtype half --port 8080 --served-model-name Yi-34B-Chat-4bits-GPTQ
在多轮对话之后出现此问题,服务器不断输出空的令牌"",并且无法正常停止。
以下是导致问题的请求示例。
curl -X 'POST' \
'http://10.223.48.160:30002/v1/chat/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "Yi-34B-Chat-4bits-GPTQ",
"messages": [
{"role": "system", "content": "你是XXX,由XXX集团的研发团队独立开发的大语言模型,你的使命是协助公司员工高效完成工作。现在,请开始你的工作。"},
{"role": "user", "content": "你好吗"},
{"role": "assistant", "content": "我很好,谢谢你的关心。我准备随时协助你解答问题或完成任务。请问你有任何具体的问题或者需要帮助的地方吗?"},
{"role": "user", "content": "好尼玛"},
{"role": "assistant", "content": "很好,很高兴听到你状态良好。如果你在工作中遇到问题或者需要帮助,请随时提问。我会尽力提供帮助。"},
{"role": "user", "content": "哈哈哈"},
{"role": "assistant", "content": "看起来你似乎很开心。如果你想要分享更多关于你的工作、生活中的积极经历,或者需要建议和指导,请随时告诉我。我会在力所能及的范围内提供帮助。"},
{"role": "user", "content": "呵呵呵呵呵"}
],
"temperature": 0.7,
"top_p": 1,
"n": 1,
"max_tokens": 1024,
"stream": true,
"presence_penalty": 0,
"frequency_penalty": 0,
"user": "string",
"best_of": 1,
"top_k": -1,
"ignore_eos": false,
"use_beam_search": false,
"stop_token_ids": [
7
],
"skip_special_tokens": true,
"spaces_between_special_tokens": true,
"add_generation_prompt": true,
"echo": false,
"repetition_penalty": 1,
"min_p": 0
}
在卡住之后,服务器实际上会一直输出空格,直到某个时刻停止。在此之后,发送给它的任何后续请求也会以相同的方式卡住。
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {"role": "assistant"}, "finish_reason": null}]}
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {"content": ""}, "finish_reason": null}]}
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {"content": ""}, "finish_reason": null}]}
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {"content": ""}, "finish_reason": null}]}
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {"content": ""}, "finish_reason": null}]}
...
data: {"id": "cmpl-49bf9c52893f4bd1ab1f5f107a7011ce", "object": "chat.completion.chunk", "created": 1186536, "model": "Yi-34B-Chat-4bits-GPTQ", "choices": [{"index": 0, "delta": {}, "finish_reason": "length"}], "usage": {"prompt_tokens": 183, "total_tokens": 1206, "completion_tokens": 1023}}
data: [DONE]
...
8条答案
按热度按时间ego6inou1#
在我的案例中,vllm一直在输出tokens,但实际上只输出空字符串,直到达到最大长度限制。有人在部署Yi或其他LLMs时遇到过类似的情况吗?我已经将vllm更新到最新版本。
sqyvllje2#
你好,你可以尝试设置stop_token_ids=[2,6,7,8]。
vpfxa7rd3#
你好,你可以尝试设置stop_token_ids=[2,6,7,8]。非常感谢你的回复。我已经尝试了,但是没有成功。这个问题是由GPTQ还是V100引起的?
ndh0cuux4#
我相信这个问题与缓存有关,因为我重复一个问题时,它更有可能卡住。
zd287kbt5#
在Yi-34B聊天和Yi-34B聊天-AWQ中,我也遇到了类似的情况。
zqry0prt6#
我在Yi-34B Chat和Yi-34B Chat - AWQ中也遇到了类似的情况。
你解决了这个问题吗?
62o28rlo7#
你好,你可以尝试设置stop_token_ids=[2,6,7,8]。对我来说,这不起作用。一开始答案是正常的,但然后它一遍又一遍地重复。
输入
vllm log
输出
k2arahey8#
env:
vllm==0.3.3
torch==2.1.2
cuda=12.1