llama.cpp HIP优化:gfx900预填充用hipBLAS,MoE保留MMQ
llama.cpp 是一个广受欢迎的轻量级大模型推理引擎,其对多种硬件平台的支持是其核心优势之一。本次在 ggml-org/llama.cpp 仓库中提出的 Pull Request #24588,专注于对 AMD GPU 的 HIP 后端进行关键性能优化,特别是针对 gfx900 系列架构(如 Vega、MI25/50/60 等)。 该 PR 的核心在于优化 LLM 推理过程中的两个关键阶段: 1. **密集预填充 (Dense Prefill) 阶段:** 在处理初始提示词(prompt)的预填充阶段,涉及大量的密集型矩阵乘法运算。此优化建议在 gfx900 架构的 AMD GPU 上,将这些密集计算任务切换到使用 hipBLAS 库。hipBLAS 是 AMD 官方提供的高度优化的基础线性代数子程序库,专为 AMD GPU 设计,预计能显著提升预填充阶段的计算效率和速度。 2. **MoE (Mixture-of-Experts) 模型计算:** 对于采用 MoE 架构的大模型,其计算模式具有稀疏性。PR 明确指出,对于 MoE 模型,应继续沿用现有的 MMQ(Matrix Multiplication Quantization 或相关优化)策略,而非统一切换到 hipBLAS。这表明 MMQ 可能更适合 MoE 模型的稀疏计算特性,或在 MoE 场景下能提供更优的性能。 这项优化对中国开发者和 AI 创业者具有重要实际影响。它不仅有望大幅提升在 AMD gfx900 系列 GPU 上运行 llama.cpp 进行 LLM 推理的预填充速度,缩短模型响应时间,而且确保了对 MoE 这类先进模型架构的有效支持。通过持续优化 llama.cpp 对 AMD 硬件的兼容性和性能,将进一步降低开发者在 AMD 平台上部署和运行大模型的门槛,促进 AMD GPU 在 AI 推理领域的应用和生态发展。