AMD Quark实战指南:如何用file-to-file量化复现Kimi-K2.5-Eagle3-FP8

📅 2026/8/17 18:51:27
AMD Quark实战指南:如何用file-to-file量化复现Kimi-K2.5-Eagle3-FP8
AMD Quark实战指南如何用file-to-file量化复现Kimi-K2.5-Eagle3-FP8【免费下载链接】Kimi-K2.5-Eagle3-FP8项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.5-Eagle3-FP8Kimi-K2.5-Eagle3-FP8 是一个由 AMD 官方使用AMD Quark工具链完成 FP8 量化的 Eagle3 草稿模型专为 Kimi-K2.5 的投机解码speculative decoding场景设计。它与常规 PTQ 最大的不同在于采用了file-to-file 量化全程不需要任何校准数据集只需要一条命令就能把 BF16 权重无损映射为 FP8 E4M3 格式。本篇文章就以 AMD Quark 实战视角从环境准备到命令执行手把手教你复现 Kimi-K2.5-Eagle3-FP8 的完整量化流程让新手也能一次跑通。什么是 Kimi-K2.5-Eagle3-FP8在动手之前先搞清楚这个模型是什么、用来做什么。Kimi-K2.5-Eagle3-FP8 是 lightseekorg/kimi-k2.5-eagle3 的 FP8 量化版本模型架构为LlamaForCausalLMEagle3本质上是Eagle3 多 token 预测MTP草稿模型。它本身不直接回答问题而是作为草稿生成器配合目标模型moonshotai/Kimi-K2.5做投机解码用很小的显存开销换取数倍的推理吞吐提升。量化层面它由AMD Quark v0.12完成核心量化参数如下量化对象方案权重WeightFP8 E4M3静态staticper-channel对称channel axis 0激活ActivationFP8 E4M3动态dynamicper-channel对称channel axis 1量化层midlayer.self_attn.{q,k,v,o}_proj、midlayer.mlp.{gate,up,down}_proj排除层不量化fc、lm_head校准数据集无file-to-file 量化无需校准为什么选择 AMD Quark file-to-file 量化传统 PTQ 流程中量化前需要用真实数据跑一遍模型收集激活分布校准这个过程既耗时又依赖数据质量。而file-to-file 量化直接读取已有 checkpoint 的权重张量按预设的量化方案转换并写出新 checkpoint完全跳过校准环节。它的优势非常明显零校准数据不用准备、清洗、对齐数据集⚡一条命令复现输入输出都是标准模型目录结果可完全复刻配置即元数据量化参数直接写入config.json后续推理引擎可自动识别对于想要在生产环境复现 AMD 官方 FP8 模型的团队来说这是最省心的一条路。环境准备硬件与软件要求复现前请确认你的环境满足以下条件与官方量化环境对齐硬件AMD Instinct MI355X或同代 ROCm 兼容 GPUROCm7.0.0PyTorch2.9.0Transformers4.57.0推理引擎vLLM部署阶段需要模型优化器AMD-Quark v0.12同时准备好两个模型的仓库原始 BF16 草稿模型lightseekorg/kimi-k2.5-eagle3目标模型moonshotai/Kimi-K2.5如果只想直接使用量化结果也可以克隆本仓库获取现成权重git clone https://gitcode.com/hf_mirrors/amd/Kimi-K2.5-Eagle3-FP8一键复现AMD Quark 量化完整步骤拿到 Quark 源码后进入官方提供的 PTQ 示例目录执行下面的命令即可完成 file-to-file 量化cd Quark/examples/torch/language_modeling/llm_ptq/ python3 quantize_quark.py \ --model_dir lightseekorg/kimi-k2.5-eagle3 \ --quant_scheme ptpc_fp8 \ --exclude_layers fc lm_head \ --output_dir amd/Kimi-K2.5-Eagle3-FP8 \ --file2file_quantization各参数含义参数作用--model_dir指定原始 BF16 模型路径--quant_scheme ptpc_fp8选择 FP8 E4M3 的 per-tensor/per-channel 权重激活量化方案--exclude_layers fc lm_head将fc与lm_head排除在量化之外--output_dir量化结果输出目录--file2file_quantization开启 file-to-file 模式跳过校准数据集整个过程中不需要任何真实样本数据跑完后输出目录就是一个可直接被 vLLM/Transformers 加载的 FP8 checkpoint。量化产物解读config.json 里的量化配置量化完成后最重要的产物就是 config.json。它记录了完整的量化元数据quantization_config中包含了权重与激活的 FP8 配置例如quant_method: quark、dtype: fp8_e4m3、qscheme: per_channel以及symmetric: true等。此外还记录了排除层的正则规则exclude: [ re:.*fc.*, re:.*lm_head.* ]对应地model.safetensors.index.json 中可以看到每个被量化张量都附带了一个weight_scale文件如midlayer.mlp.gate_proj.weight_scale这些 scale 张量正是 FP8 反量化所需的缩放系数。模型总大小约 5.68GB远小于 BF16 版本显存占用显著降低。vLLM 加载 FP8 草稿模型的注意事项在 vLLM 中把该 checkpoint 作为草稿模型使用时有一个必踩的坑config.json中记录的排除层必须写成正则表达式。如果 Quark 导出的是纯字符串形式exclude: [ fc, lm_head ]请手动改成正则形式否则 vLLM 可能无法正确识别排除层exclude: [ re:.*fc.*, re:.*lm_head.* ]修改后即可在 vLLM 的投机解码配置中引用该草稿模型vllm serve amd/Kimi-K2.5-MXFP4 \ --port 8888 \ --tensor-parallel-size 4 \ --trust-remote-code \ --speculative-config {model:amd/Kimi-K2.5-Eagle3-FP8,method:eagle3,num_speculative_tokens:6,draft_tensor_parallel_size:1}性能实测FP8 量化带来多少加速根据 AMD 官方在单节点 AMD Instinct MI355XTP4上的基准测试FP8 草稿模型相比无投机解码基线有显著吞吐提升并发数无投机 (tok/s/GPU)BF16 草稿FP8 草稿482.7157.0 (1.90x)165.2 (2.00x)8142.2269.1 (1.89x)270.1 (1.90x)16220.5399.6 (1.81x)412.7 (1.87x)32342.2627.6 (1.83x)633.8 (1.85x)64533.3901.6 (1.69x)936.6 (1.76x)结论很直观FP8 草稿模型在全部并发档位下均不输甚至优于 BF16 版本最高可达无投机基线的 2.00 倍且显存占用更低是部署 Kimi-K2.5 投机解码的推荐选择。常见问题与避坑指南量化后模型无法加载优先检查 config.json 中exclude字段是否已写成re:正则形式。lm_head 为什么不量化官方刻意保留 LM Head 精度以保证最终 token 输出质量这也是量化模型的常见工程取舍。想了解模型结构细节可以参考仓库内的 modeling_kimi_k25.py 与 configuration_kimi_k25.py它们展示了 Eagle3 架构的实现chat_template.jinja 则定义了模型的多模态对话模板。需要跑 benchmark在 vLLM 启动后使用vllm bench serve按并发 4~64 循环压测即可复现上表数据。总结通过 AMD Quark 的file-to-file 量化我们只需一条命令、零校准数据就能完整复现 Kimi-K2.5-Eagle3-FP8 这一 FP8 草稿模型并在 vLLM 上获得最高 2.00 倍的投机解码吞吐加速。对于部署 Kimi-K2.5 服务、希望压榨 AMD GPU 性能的团队来说这套流程简单、可复现、开箱即用值得直接抄作业。【免费下载链接】Kimi-K2.5-Eagle3-FP8项目地址: https://ai.gitcode.com/hf_mirrors/amd/Kimi-K2.5-Eagle3-FP8创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考