在消費級硬體上執行大型語言模型需要高效的推論引擎,從可用的 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助你行銷加分!