🐯較早收集於 23m

優化大模型推理以降低 Token 成本

優化大模型推理以降低 Token 成本
PostLinkedIn
🐯閱讀原文: 虎嗅

💡學習如何透過先進的推理優化技術,防止您的 AI 產品在運行時「燒錢」。

⚡ 30-Second TL;DR

有什麼變化

相比訓練成本,推理成本是持續性的「滴血」支出。

為什麼重要

掌握推理優化的公司將在單位經濟效益與擴展性方面獲得顯著的競爭優勢。

下一步行動

在您的生產環境中部署 vLLM 或 TensorRT-LLM,以優化 GPU 記憶體利用率並降低單位 Token 成本。

誰應關注:Developers & AI Engineers

關鍵要點

  • 相比訓練成本,推理成本是持續性的「滴血」支出。
  • KV Cache 管理是 GPU 記憶體利用率與並發處理的主要瓶頸。
  • vLLM、TensorRT-LLM 與 llama.cpp 代表了優化推理效率的三種不同路徑。

🧠 深度解析

Web-grounded analysis with 35 cited sources.

🔑 增強重點摘要

  • vLLM 透過其創新的 PagedAttention 演算法,將作業系統虛擬記憶體的概念應用於 KV Cache 管理,將記憶體浪費從傳統系統的 60-80% 大幅降低至 4% 以下,顯著提升了 GPU 吞吐量和記憶體利用率。
  • TensorRT-LLM 引入了 In-flight Batching(又稱連續批處理或迭代級批處理)技術,能夠在批次執行過程中動態加入新的請求,同時處理上下文和生成階段,從而最大限度地提高 GPU 利用率並降低延遲。
  • llama.cpp 專案開發了 GGUF 檔案格式,這是一種二進位格式,用於儲存經過量化的模型權重和元數據,旨在實現高效載入和推理,特別是在 CPU 和資源受限的環境中,支援從 2 位元到 8 位元等多種量化級別。
  • llama.cpp 最初的設計目標是實現純 C/C++ 的 CPU 推理,不依賴外部庫,使其能夠在消費級硬體上高效運行大型語言模型,隨後才增加了對 GPU 和 NPU 後端的支援。
  • 量化技術是所有主要推理框架(包括 vLLM、TensorRT-LLM 和 llama.cpp)共同採用的關鍵優化手段,透過降低模型權重的精度(例如從 FP16 到 FP8/FP4/INT8),顯著減少記憶體佔用並加速推理,同時盡可能保持模型準確性。
📊 競品分析▸ Show
特性/框架vLLMTensorRT-LLMllama.cpp
核心優化PagedAttention (虛擬記憶體式 KV Cache 管理), 連續批處理, 算子融合In-flight Batching, Paged KV Cache, 核心融合, 量化 (FP8/NVFP4), 多 GPU/節點並行GGUF 格式 (高效量化), CPU 多執行緒, 記憶體池, 寫時複製, 環狀緩衝區 KV Cache
目標硬體主要為 NVIDIA GPU (支援多 GPU/節點), 也支援 Jetson專為 NVIDIA GPU 優化 (Ampere, Lovelace, Hopper, Blackwell), 支援多 GPU/節點CPU 優先設計, 廣泛支援 CPU (x86, ARM), 後續增加 GPU (CUDA, Metal, Vulkan, SYCL) 和 NPU
語言/生態系統Python, CUDA, C++ (與 HuggingFace Transformers 兼容, 提供 OpenAI 兼容 API)Python API, C++ 運行時 (與 NVIDIA TensorRT 深度學習編譯器整合, Triton Inference Server 整合)C++, C (提供 Python 綁定, 命令行工具, 簡易 Web 介面)
吞吐量/效率相較 HuggingFace Transformers 吞吐量提升高達 24 倍, KV Cache 記憶體浪費低於 4%在 NVIDIA H100 GPU 上使用 FP8 精度可達每秒 10,000+ 輸出 Token, 相較原生 PyTorch 吞吐量提升 4 倍在 CPU 上高效運行, 透過量化大幅降低記憶體需求, 支援在消費級硬體上運行大型模型
部署與易用性開源庫, 提供 OpenAI 兼容 API, 支援 HuggingFace 模型開源庫, 提供 Python API, 支援 Triton Inference Server 部署開源庫, 提供命令行工具和簡易 Web 介面, 支援 GGUF 模型直接從 Docker Hub 拉取

🛠️ 技術深入

  • vLLM (PagedAttention):
    • 核心思想源自作業系統的虛擬記憶體分頁機制,將 LLM 的 KV Cache 分割成固定大小的「塊」(Block),而非連續記憶體區域。
    • 透過「塊表」(Block Table)將邏輯 Token 映射到物理 GPU 記憶體中的非連續塊,有效解決記憶體碎片化問題。
    • 支援記憶體共享,允許不同請求的相同前綴(Prompt)或並行採樣/束搜索中的 KV Cache 塊共用,進一步提升記憶體利用率。
    • 結合連續批處理 (Continuous Batching) 和算子融合 (如 FlashAttention) 等技術,最大化 GPU 利用率和吞吐量。
    • 支援多種並行方式,包括張量並行 (Tensor Parallel)、管線並行 (Pipeline Parallel)、專家並行 (Expert Parallel) 和資料並行 (Data Parallel),以應對大規模模型和多機多卡環境。
  • TensorRT-LLM:
    • 基於 NVIDIA TensorRT 深度學習編譯器,針對 Transformer 架構進行深度優化。
    • 實現核心融合 (Kernel Fusion),將多個 Transformer 操作 (如 LayerNorm, 矩陣乘法, 激活函數) 合併為單個 CUDA 核心,減少核心啟動開銷和中間張量實例化。
    • 採用 In-flight Batching (又稱連續批處理),動態管理請求執行,將上下文處理和生成階段結合,以最大化 GPU 利用率和降低延遲。
    • 支援 Paged KV Cache 管理,與 In-flight Batching 協同工作,實現近乎零的記憶體浪費。
    • 提供先進的量化技術,包括 FP8 和 NVIDIA 創新的 NVFP4 格式,在 NVIDIA Hopper 和 Blackwell GPU 上實現更高的性能和更低的記憶體佔用。
    • 支援多 GPU 和多節點推理,透過張量並行、管線並行和專家並行等技術擴展模型規模。
    • 擴展支援編碼器-解碼器模型架構,並支援 LoRA (Low-Rank Adaptation) 適配器的高效服務。
  • llama.cpp:
    • 基於 GGML 張量庫,一個用 C 語言實現的張量代數庫,旨在實現嚴格的記憶體管理和多執行緒。
    • 引入 GGUF (GGML Universal File) 檔案格式,這是一種二進位格式,用於儲存模型權重、詞彙表和元數據,並支援多種量化精度 (如 2-bit 到 8-bit 量化整數類型、FP32、FP16、BF16)。
    • 採用 CPU 多執行緒來並行計算,並針對 x86-64 (AVX, AVX2, AVX-512)、ARM (Neon) 和 Apple 晶片等 CPU 指令集進行優化。
    • 記憶體管理系統採用記憶體池技術減少碎片和分配開銷,並針對 KV Cache 實現環狀緩衝區管理,當上下文長度超過預設最大值時,新 Token 會覆蓋最早的 Token。
    • 支援多種硬體後端,包括 x86、ARM、CUDA、Metal、Vulkan 和 SYCL,實現跨平台部署。

🔮 前景展望AI analysis grounded in cited sources

推理成本的持續降低將加速大型語言模型在更廣泛應用場景中的普及。
隨著 vLLM 的 PagedAttention 和 TensorRT-LLM 的 In-flight Batching 等優化技術不斷成熟,LLM 的運行成本將更具經濟效益,使其能被更多企業和個人負擔,進而推動 AI 應用的創新和落地。
混合式推理解決方案(結合 CPU 和 GPU)將成為處理超大型模型和邊緣部署的關鍵。
llama.cpp 等框架已證明 CPU 結合 GPU 的混合推理能夠有效利用現有資源,處理超出單一 GPU 記憶體容量的模型,這對於成本敏感或資源受限的環境至關重要。
硬體與軟體的緊密協同設計將是未來 AI 推理效率提升的主要驅動力。
NVIDIA TensorRT-LLM 針對其 GPU 硬體(如 Hopper 和 Blackwell 架構)進行深度優化,支援 FP8 和 NVFP4 等專有量化格式,展示了軟硬體整合在實現極致推理性能方面的巨大潛力。

時間線

2022-09
Georgi Gerganov 開始開發 GGML 函式庫,為 llama.cpp 的前身。
2023-03
llama.cpp 專案首次釋出,旨在實現純 C/C++ 的 LLM CPU 推理。
2023
vLLM 由加州大學柏克萊分校研究人員推出,並發表 PagedAttention 論文。
2023-08
llama.cpp 專案引入 GGUF 檔案格式,用於高效儲存和載入量化模型。
2023-10
NVIDIA TensorRT-LLM 作為開源函式庫公開發布,專注於 NVIDIA GPU 上的 LLM 推理優化。
2024-12
TensorRT-LLM 增加對編碼器-解碼器模型架構的支援,並引入 In-flight Batching 和雙分頁 KV Cache 管理。
📰

AI 週報

閱讀本週精選 AI 大事摘要 →

👉相關動態

AI 策展新聞聚合。所有內容版權歸原始發布者所有。
原始來源: 虎嗅