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 变体。 |
快速开始(安装)
- 确保您有最新的 PyTorch 构建(CUDA 12.4+)。该库不会为您安装 PyTorch。
- 选择以下方式之一:
- 预构建 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 版本。
- 预构建 wheel – 从发布页面下载匹配的
- 安装后,运行示例 CLI:
使用python examples/chat.py -m <model_folder> -mode <prompt_mode>-h查看所有选项。
典型工作流程
- 从 Hugging Face 下载模型(或使用社区集合中已量化的 EXL3 模型)。
- 将模型转换为 EXL3 格式:
转换器自动处理基于 Hessian 的校准;大型模型在高端 GPU 上可能需要几个小时。python convert.py -i <hf_dir> -o <exl3_dir> -b 4 # 4 位示例 - 通过 CLI、Transformers 包装器运行推理,或启动 TabbyAPI 服务器以暴露 OpenAI 兼容端点。
- (可选)使用
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 的轻松集成。
相关
- 项目
- 项目
- 项目
- 项目
- 项目