[Bug] 部署unsloth/DeepSeek-R1-0528-GGUF/UD-Q8_K_XL 报错
检查清单
- [x] 1. 我已经搜索过相关问题,但未能获得预期的帮助
- [x] 2. 该问题在最新版本中尚未修复
- [x] 3. 请注意,如果您提交的BUG相关 issue 缺少对应环境信息和最小可复现示例,我们将难以复现和定位问题,降低获得反馈的可能性
- [x] 4. 如果您提出的不是bug而是问题,请在讨论区发起讨论 https://github.com/kvcache-ai/ktransformers/discussions。否则该 issue 将被关闭
- [x] 5. 为方便社区交流,我将使用中文/英文或附上中文/英文翻译(如使用其他语言)。未附带翻译的非中文/英语内容可能会被关闭
问题描述
报错:
/pytorch/aten/src/ATen/native/cuda/TensorCompare.cu:112: _assert_async_cuda_kernel: block: [0,0,0], thread: [0,0,0] Assertion `probability tensor contains either `inf`, `nan` or element < 0` failed.
复现步骤
命令:
python3 ktransformers/server/main.py \
--gguf_path /mnt/nvme0/models/unsloth/DeepSeek-R1-0528-GGUF/UD-Q8_K_XL/ \
--model_path deepseek-ai/DeepSeek-R1 \
--model_name unsloth/DeepSeek-R1-0528-GGUF \
--cpu_infer 128 \
--max_new_tokens 8192 \
--cache_lens 32768 \
--temperature 0.6 \
--top_p 0.95 \
--optimize_config_path ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat-multi-gpu-8.yaml \
--host 127.0.0.1 \
--port 1888
模型: unsloth/DeepSeek-R1-0528-GGUF:UD-Q8_K_XL https://modelscope.cn/models/unsloth/DeepSeek-R1-0528-GGUF/files
环境信息
操作系统:Ubuntu 22.04 GPU: A800-SXM4-80GB * 8 CPU: Intel(R) Xeon(R) Platinum 8338C CPU @ 2.60GHz
试了一下,unsloth/DeepSeek-R1-0528-GGUF:Q4_K_M 的模型不报错,是对动态量化的版本没有比较好的支持吗
我们应该没有支持UD-Q8_K_XL 这个格式
我们应该没有支持UD-Q8_K_XL 这个格式
好的,了解了
我去hugging face看了一下unsloth的UD-Q8_K_XL,没有看到什么特殊的格式。 请问一下您安装的kt版本,我去下个权重跑一下看看
我去hughing face看了一下unsloth的UD-Q8_K_XL,没有看到什么特殊的格式。 请问一下您安装的kt版本,我去下个权重跑一下看看
我用0.31版本部署了UD-Q8_K_XL,local_chat能够正常运行,但是部署成服务器就会出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given。正在尝试去掉多并发是否能正常运行。
测试结果: 不开启多并发,删除--backend_type balance_serve,能够正常运行,cpu_infer设置为49,numa=1,解码大约会在10 tokens/s 上下。 英特尔84682 内存: 64G DDR5 5600Mt32 显卡:L40s*1,Ubuntu 22.04
但是一旦带上--backend_type balance_serve,即使是设置为2个并发,也在所有61层都加载完以后,启动一个服务线程时,出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given错误。
我去hughing face看了一下unsloth的UD-Q8_K_XL,没有看到什么特殊的格式。 请问一下您安装的kt版本,我去下个权重跑一下看看
我用0.31版本部署了UD-Q8_K_XL,local_chat能够正常运行,但是部署成服务器就会出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given。正在尝试去掉多并发是否能正常运行。
测试结果: 不开启多并发,删除--backend_type balance_serve,能够正常运行,cpu_infer设置为49,numa=1,解码大约会在10 tokens/s 上下。 英特尔8468_2 内存: 64G DDR5 5600Mt_32 显卡:L40s*1,Ubuntu 22.04
但是一旦带上--backend_type balance_serve,即使是设置为2个并发,也在所有61层都加载完以后,启动一个服务线程时,出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given错误。
使用的哪个yaml?
试了一下,unsloth/DeepSeek-R1-0528-GGUF:Q4_K_M 的模型不报错,是对动态量化的版本没有比较好的支持吗
您似乎使用了错误的yaml。跑多并发需要使用带名字中带有‘serve’的yaml,您可以参照DeepSeek-V3-Chat-serve.yaml来修改8卡的规则yaml
试了一下,unsloth/DeepSeek-R1-0528-GGUF:Q4_K_M 的模型不报错,是对动态量化的版本没有比较好的支持吗
您似乎使用了错误的yaml。跑多并发需要使用带名字中带有‘serve’的yaml,您可以参照
DeepSeek-V3-Chat-serve.yaml来修改8卡的规则yaml
好的,我当时是用最新的commit测试的
检查了一下,确实是yaml用错了,没带serve的。谢谢
我去hughing face看了一下unsloth的UD-Q8_K_XL,没有看到什么特殊的格式。请问一下您安装的kt版本,我去下个权重跑一下看看
我用0.31版本部署了UD-Q8_K_XL,local_chat能够正常运行,但是部署成服务器就会出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given。正在尝试去掉多并发是否能正常运行。 测试结果: 不开启多并发,删除--backend_type balance_serve,能够正常运行,cpu_infer设置为49,numa=1,解码大约会在10 tokens/s 上下。英特尔8468_2 内存: 64G DDR5 5600Mt_32 显卡:L40s*1,Ubuntu 22.04 但是一旦带上--backend_type balance_serve,即使是设置为2个并发,也在所有61层都加载完以后,启动一个服务线程时,出现TypeError: DeepseekV3RMSNorm.forward() takes 2 positional arguments but 4 were given错误。
使用的哪个 yaml?
UD-IQ2_M这个版本也遇到/pytorch/aten/src/ATen/native/cuda/TensorCompare.cu:112: _assert_async_cuda_kernel: block: [0,0,0], thread: [0,0,0] Assertion probability tensor contains either inf, nan or element < 0 failed.错误了,也是这个版本不支持吗?