工具
Qwen3.8 27B INT8 推理栈:4 张 MI100 跑到 972 tok/s
社区开发者基于 vLLM 推出完整 INT8 推理栈,在 6.5 千美元的 4×MI100 机器上将 Qwen3.8 2…
2026.08.27 · 周四约 3 分钟阅读
一位独立开发者近日发布了一套基于 vLLM 的 INT8 推理栈,专门面向搭载老代 AMD MI100 等「INT8-centric」GPU 的推理场景。该工作在 4 张 MI100 组成的服务器(约 6.5 千美元整机成本)上运行 Qwen3.8 27B 模型,将文本生成速度由原生 vLLM 的约 15 tok/s 提升至 972 tok/s,预填充吞吐量也达到了 5,680 tok/s,且作者宣称接近参考精度。
核心思路:把 INT8 贯穿整条链路
原生 vLLM 对 INT8 支持非常有限,老卡在多数路径上只能退回到 BF16 或 FP16,性能远低于其 INT8 理论上限。本次工作将 INT8 支持补到了 Qwen3 vLLM 架构栈的每一处实现,包括依赖库和新写的融合算子,覆盖范围包括:
- 针对 MI100 调优的 W8A8 INT8 GEMM 库,并在各层算子中复用
- INT8 KV Cache
- INT8 AITER Unified Attention(带 Triton 兜底实现),作者称速度超过 Flash Attention
- INT8 Mamba 与 GDN 注意力机制
- 针对 XGMI 互联优化的 INT8 自定义 allreduce / allgather
- INT8 Embedding 与多项融合 INT8 kernel
精度验证:按层、按算子做 KLD 校验
INT8 量化最容易引发对质量损失的担忧。作者并未只做整体 token 级校验,而是在每个 GEMM、每个注意力块、每个 KV 查询以及每一层分别测量 KL 散度(KLD)。所有诊断脚本一并保留在 vLLM 分支里,社区可在本地复现。
适用范围与门槛
该栈的定位很清晰:只要显卡的 INT8 TOPS 高于其 FP8 FLOPS(即没有原生 FP8 的旧代卡),通常就能从这套实现中受益:
- 最贴合场景:AMD MI100,已深度调优
- 接近开箱即用:老 AMD 卡如 MI50、MI210(只需为对应架构重新编译 AITER)
- 通用兜底:硬件无关的 Triton INT8 fallback,可服务其他厂商老卡,性能不如 MI100 路径但仍显著优于原生 vLLM
理论上这套 INT8 改造可推广到其他模型架构,作者表示目前只对 Qwen3 系列做了精细打磨,欢迎 PR 补充其他模型与显卡的支持。
项目地址
- vLLM INT8 分支:https://github.com/curvedinf/int8-vllm
- AITER INT8 移植:https://github.com/curvedinf/int8-aiter
- Qwen3.8 27B GPTQ INT8 模型(含 DFlash2 版本):Hugging Face 平台
curvedinf/Qwen3.8-27B-GPTQ-INT8-W8A8-GS128与curvedinf/Qwen3.8-27B-DFlash2-GPTQ-INT8-W8A8-GS128
反馈可在 Reddit 原帖或上述 vLLM 仓库 issue 区提交,作者也开放了针对其他显卡与模型架构的调优 PR。
