turboderp-org/exllamav3

An optimized quantization and inference library for running LLMs locally on modern consumer-class GPUs

什么是 ExLlamaV3?

ExLlamaV3 是一个 Python 库,可让您在消费级 GPU 上本地运行大型语言模型(LLM)。它专注于快速推理,提供:

  • EXL3 量化 – 一种源自 QTIP 研究论文的低位(2-8 位)权重格式,以及可选的低位缓存量化,可大幅减少内存使用,同时保持高质量。
  • 并行推理 – 张量并行和专家并行执行,因此您可以将模型拆分到多个 GPU 上,或在 GPU 内存有限时跨 CPU 和 GPU 拆分。
  • CPU 卸载 – MoE(混合专家)模型可以通过将部分计算移至 CPU(支持 AVX2/AVX512)在适中的 GPU 上运行。
  • 动态生成功能 – 连续批处理、推测解码和多模态(图像-文本)支持。
  • 集成 – Hugging Face 模型加载器、小型 Transformers 兼容包装器,以及通过独立的 TabbyAPI 服务器提供的 OpenAI 风格 API。

简而言之,ExLlamaV3 是一个推理引擎,使得在单个 RTX 40xx/50xx 显卡或适中的多 GPU 设备上运行最先进的 LLM(Llama 3、Gemma 4、Qwen 3.5 等)变得切实可行。


主要特性(通俗解释)

特性 对您的意义
EXL3 量化 模型权重以 2-8 位格式存储,与全精度模型相比,内存需求最多可减少 4-8 倍。
并行与专家并行推理 该库可以将工作分配到多个 GPU 或 GPU 与 CPU 之间,让您运行比单个设备能容纳的更大的模型。
CPU 卸载 即使是通常需要多个 GPU 的 MoE 模型,也可以使用单个 GPU 加 CPU 资源运行。
动态批处理与推测解码 引擎通过将多个请求分组并猜测下一个 token 来保持 GPU 忙碌,从而加快响应时间。
多模态支持 开箱即用地支持一些接受图像的模型(例如 Qwen-2.5 VL)。
易于集成 使用提供的 examples/chat.py CLI,接入 Hugging Face Transformers,或通过 OpenAI 兼容的 HTTP API(TabbyAPI)暴露模型。
广泛的模型覆盖 列出了超过 40 个模型系列,从 Llama 1-3 到 Gemma 4、Qwen 3-5、Mistral、Mixtral 以及许多 MoE 变体。

快速开始(安装)

  1. 确保您有最新的 PyTorch 构建(CUDA 12.4+)。该库不会为您安装 PyTorch。
  2. 选择以下方式之一:
    • 预构建 wheel – 从发布页面下载匹配的 exllamav3-<version>+cuXXX.torch2.x.x-...whl,然后 pip install <url>。
    • PyPI – pip install exllamav3(您需要 CUDA 工具包和 C++ 编译器来构建原生扩展)。
    • 从源码构建 – 克隆仓库,并使用 uv 或 pip 加上与您的 CUDA 版本匹配的 --extra cuXXX 标志(例如,CUDA 12.8 使用 cu128)。README 提供了四个详细选项,包括如何固定特定的 PyTorch 版本。
  3. 安装后,运行示例 CLI:
    python examples/chat.py -m <model_folder> -mode <prompt_mode>
    
    使用 -h 查看所有选项。

典型工作流程

  1. 从 Hugging Face 下载模型(或使用社区集合中已量化的 EXL3 模型)。
  2. 将模型转换为 EXL3 格式:
    python convert.py -i <hf_dir> -o <exl3_dir> -b 4   # 4 位示例
    
    转换器自动处理基于 Hessian 的校准;大型模型在高端 GPU 上可能需要几个小时。
  3. 通过 CLI、Transformers 包装器运行推理,或启动 TabbyAPI 服务器以暴露 OpenAI 兼容端点。
  4. (可选)使用 optimize.md 指南进一步微调或校准。

谁可能使用这个?

  • 研究人员和爱好者 – 希望在不租用云 GPU 的情况下试验最新 LLM。
  • 构建本地 AI 助手的开发者 – 需要快速响应时间和低内存占用。
  • 部署私有推理服务的团队 – TabbyAPI 服务器允许您在防火墙后以 OpenAI 风格 API 提供模型服务。
  • 对量化研究感兴趣的人 – 该库实现了基于 QTIP 的 EXL3 方法,并提供工具来检查/调整该过程。

社区与资源

  • Discord – https://discord.gg/NSFwVuCjRq 获取帮助、模型分享和开发讨论。
  • Hugging Face 模型中心 – 精选的即用型 EXL3 量化模型集合。
  • 致谢项目 – 基于 PyTorch、FlashAttention、QTIP、Marlin 和其他开源内核构建。

总结

ExLlamaV3 是一个高性能、量化感知的推理引擎,用于在消费级 GPU 上运行现代 LLM。它提供低位权重存储、灵活的并行性、CPU 卸载,以及与现有 Python 工具或 OpenAI 兼容 API 的轻松集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目