在消费级硬件上运行大型语言模型需要高效的推理引擎,从可用的 GPU 内存中榨取每一滴性能。由 turboderp 团队开发的 ExLlamaV3 是可用的最快推理引擎之一,特别是使用 EXL3 量化格式时。
ExLlamaV3 通过优化 CUDA 内核、高效内存管理和量化感知计算的组合来实现其速度。它支持 4 位和 8 位 EXL3 量化、动态批处理和推测解码。对于在消费级 GPU 上运行本地模型的用户,它始终提供最高的每秒 token 吞吐量。
性能基准
| 模型 | GPU | 量化 | 速度(token/秒) | 内存使用 |
|---|---|---|---|---|
| Llama 3.1 8B | RTX 4090 24GB | EXL3 4 位 | 180 | 6 GB |
| Llama 3.1 70B | RTX 4090 24GB | EXL3 4 位 | 30 | 22 GB |
| Mistral 7B | RTX 3060 12GB | EXL3 4 位 | 85 | 5 GB |
| Qwen 2.5 32B | RTX 4090 24GB | EXL3 4 位 | 55 | 18 GB |
主要功能
| 功能 | 描述 | 优势 |
|---|---|---|
| EXL3 量化 | 专门的 4 位和 8 位格式 | 每 bit 最高质量 |
| CUDA 内核优化 | 融合注意力、闪存解码 | 最大吞吐量 |
| 动态批处理 | 同时处理多个请求 | 更高利用率 |
| 推测解码 | 草稿再验证以实现更快生成 | 某些任务加速 2 倍 |
| LoRA 支持 | 运行时加载和切换 LoRA 适配器 | 灵活的微调 |
推理管线
flowchart LR
A[输入 Token] --> B[嵌入层]
B --> C[Transformer 层 1]
C --> D[层 2]
D --> E[层 N]
E --> F[注意力<br/>FlashAttention]
F --> G[前馈<br/>量化 GEMM]
G --> H{更多层?}
H -->|是| D
H -->|否| I[输出 Logits]
I --> J[采样]
J --> K[生成的 Token]
K --> L[KV 缓存更新]
L --> C管线通过具有专门 CUDA 内核的 Transformer 层处理 token,用于注意力和前馈计算。KV 缓存在 GPU 内存中高效维护,推测解码可以通过一次验证多个 token 来加速生成。
推理引擎比较
| 功能 | ExLlamaV3 | llama.cpp | vLLM | Transformers |
|---|---|---|---|---|
| GPU 支持 | 完整(CUDA) | 部分(CUDA/Metal) | 完整(CUDA) | 完整(CUDA) |
| 量化 | 仅 EXL3 | GGUF | AWQ/GPTQ | BitsAndBytes |
| 批量推理 | 是 | 有限 | 是 | 是 |
| 速度(8B) | 180 t/s | 120 t/s | 160 t/s | 40 t/s |
| API 服务器 | 内建 | 通过 llama-server | 内建 | 通过 TGI |
如需更多信息,请访问 ExLlamaV3 GitHub 仓库 和 EXL3 量化规范。
常见问题
Q:运行 ExLlamaV3 需要什么 GPU? A:任何支持 CUDA 且至少 6GB VRAM 的 NVIDIA GPU 可用于 7B 模型。
Q:ExLlamaV3 可以在 AMD GPU 上运行吗? A:目前仅限 NVIDIA CUDA。AMD ROCm 支持正在开发中。
Q:EXL3 与 GGUF 量化相比如何? A:EXL3 通常在相同比特率下提供更高的准确度和更快的 GPU 推理。
Q:ExLlamaV3 支持多 GPU 推理吗? A:是的,它支持跨多个 GPU 的张量并行,用于较大的模型。
Q:我可以将 LoRA 适配器与 ExLlamaV3 一起使用吗? A:是的,LoRA 适配器可以加载和切换,无需重新加载基础模型。
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!