vllm 当使用较小的`max_num_seqs`初始化LLM时,unittest test_prefix_caching失败,

1hdlvixo  于 2个月前  发布在  其他
关注(0)|答案(4)|浏览(85)

我只想运行下面的utest,使用模型01-ai/Yi-6B-Chat,长度为3的提示列表。
pytest -s tests/prefix_caching/test_prefix_caching.py
如果我在初始化LLM示例时使用默认参数(max_num_seqs=256),它看起来很好,所有测试都通过了。

但是,如果我将max_num_seqs设置为1(或小于prompts的长度),这个utest运行失败了。

此外,我在model_runner.py的第253行添加了一行日志,以显示_prepare_prompt之后的block_tables。

它显示,如果我使用默认参数(max_num_seqs=256),由于同时运行了所有3个提示,block_tables为空(所以可能前缀缓存在这种情况下不起作用)。

当将max_num_seqs设置为1时,第一次block_tables为空,但第二次和第三次包含值,其中输出错误的答案。

wixjitnu

wixjitnu1#

虚拟机版本为v0.3.1。

z9smfwbn

z9smfwbn2#

翻译结果为:这可能是这个打开的问题中的同一个错误。(当请求不能立即推入调度器运行时)

$x_{1e0f_1^x}$

83qze16e

83qze16e3#

@caoshiyi,请问您能帮忙检查这个问题吗?谢谢。

2ekbmq32

2ekbmq324#

感谢报告 - 这是由于prompt_len < block_size导致的前缀缓存中的正确性错误。

相关问题