vllm Fp8支持mi300x

afdcj2ne  于 6个月前  发布在  其他
关注(0)|答案(4)|浏览(73)

🚀 功能、动机和宣传

对于我来说,不清楚ROCm是否支持fp8。但是我得到了5.2版本的信息:
fp8量化目前在ROCm中不受支持。
有计划提供它吗?

替代方案

  • 无响应*

其他上下文

  • 无响应*
41zrol4v

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

jexiocij

jexiocij2#

Hi @mawong-amd ,非常感谢!我们刚刚得到了两台新的mi300x服务器,我们正在努力了解如何充分利用它们。
我会尝试使用 https://github.com/ROCm/vllm

rt4zxlrg

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
fumotvh3

fumotvh34#

这是一个我们在以下链接中修复的错误:
https://github.com/ROCm/vllm/blob/fp8-gemm/vllm/model_executor/layers/quantization/fp8fnuz.py#L53
您可以进行类似的修改以继续前进。
注意 - 分支fp8-gemm是我们用于上游的(请查看#6006仍在进行中),它确实具有更通用的适用修复。

相关问题