对于我来说,不清楚ROCm是否支持fp8。但是我得到了5.2版本的信息:fp8量化目前在ROCm中不受支持。有计划提供它吗?
41zrol4v1#
你好,@ferrybaltimore。FP8 KV缓存目前受支持(MI300X上使用优化内核,其他平台上使用软件模拟),而FP8计算支持正在等待this PR。在MI300X上,选定的GEMMs以FP8本机方式执行。
然而,请注意,我们目前打算以某种不同于当前性能原因的方式提供FP8支持。PR作者@HaiShaw@gshtras@charlifu可以提供更多详细信息。
您还可以查看ROCm分支https://github.com/ROCm/vllm,它已经具有FP8支持,包括手动调整最佳FP8 GEMM内核的能力,以获得给定形状集的最佳性能。有关说明,请参阅https://github.com/ROCm/vllm/blob/main/ROCm_performance.md#fp8-quantization
jexiocij2#
Hi @mawong-amd ,非常感谢!我们刚刚得到了两台新的mi300x服务器,我们正在努力了解如何充分利用它们。我会尝试使用 https://github.com/ROCm/vllm
rt4zxlrg3#
你好,@mawong-amd,
我已经测试了这个仓库,我使用了quark,一切都正常,但是在运行模型时我得到了一个错误:ValueError: torch.bfloat16 不支持 fp8 量化方法。支持的数据类型有:[torch.float16, torch.uint8, torch.float8_e4m3fnuz]
我是这样启动模型的:
python -m vllm.entrypoints.openai.api_server --model Hermes-2-Pro-Mistral-7B --tensor-parallel-size 1 --port 8010 --host 0.0.0.0 --quantization fp8 --quantized-weights-path quark
fumotvh34#
这是一个我们在以下链接中修复的错误:https://github.com/ROCm/vllm/blob/fp8-gemm/vllm/model_executor/layers/quantization/fp8fnuz.py#L53您可以进行类似的修改以继续前进。注意 - 分支fp8-gemm是我们用于上游的(请查看#6006仍在进行中),它确实具有更通用的适用修复。
fp8-gemm
4条答案
按热度按时间41zrol4v1#
你好,@ferrybaltimore。FP8 KV缓存目前受支持(MI300X上使用优化内核,其他平台上使用软件模拟),而FP8计算支持正在等待this PR。在MI300X上,选定的GEMMs以FP8本机方式执行。
然而,请注意,我们目前打算以某种不同于当前性能原因的方式提供FP8支持。PR作者@HaiShaw@gshtras@charlifu可以提供更多详细信息。
您还可以查看ROCm分支https://github.com/ROCm/vllm,它已经具有FP8支持,包括手动调整最佳FP8 GEMM内核的能力,以获得给定形状集的最佳性能。有关说明,请参阅https://github.com/ROCm/vllm/blob/main/ROCm_performance.md#fp8-quantization
jexiocij2#
Hi @mawong-amd ,非常感谢!我们刚刚得到了两台新的mi300x服务器,我们正在努力了解如何充分利用它们。
我会尝试使用 https://github.com/ROCm/vllm
rt4zxlrg3#
你好,@mawong-amd,
我已经测试了这个仓库,我使用了quark,一切都正常,但是在运行模型时我得到了一个错误:
ValueError: torch.bfloat16 不支持 fp8 量化方法。支持的数据类型有:[torch.float16, torch.uint8, torch.float8_e4m3fnuz]
我是这样启动模型的:
fumotvh34#
这是一个我们在以下链接中修复的错误:
https://github.com/ROCm/vllm/blob/fp8-gemm/vllm/model_executor/layers/quantization/fp8fnuz.py#L53
您可以进行类似的修改以继续前进。
注意 - 分支
fp8-gemm
是我们用于上游的(请查看#6006仍在进行中),它确实具有更通用的适用修复。