Glinthawk: A Two-Tiered Architecture for Offline LLM Inference

📄 arXiv: 2501.11779v2 📥 PDF

作者: Pouya Hamadanian, Sadjad Fouladi

分类: cs.LG, cs.DC, cs.PF

发布日期: 2025-01-20 (更新: 2025-02-11)

🔗 代码/项目: GITHUB


💡 一句话要点

Glinthawk:一种用于离线LLM推理的两层架构,提升吞吐并降低成本。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 离线推理 大型语言模型 两层架构 键值缓存 吞吐量优化

📋 核心要点

  1. 现有LLM推理受限于键值缓存的内存需求,导致无法充分利用高端加速器的计算能力,尤其是在离线场景下。
  2. Glinthawk采用双层架构,将计算密集但内存需求高的注意力机制卸载到低端计算资源,释放高端加速器的内存压力。
  3. 实验表明,Glinthawk在吞吐量和成本方面均优于传统方法,尤其在处理长序列时优势明显,且对网络延迟具有较好的容忍度。

📝 摘要(中文)

本文提出Glinthawk,一种用于离线大型语言模型(LLM)推理的架构。Glinthawk利用两层结构,通过将注意力机制卸载到较低端的计算层(“Tier 2”)来优化高端加速器(“Tier 1”)的利用率。这种分离允许注意力机制的内存需求(即键值缓存)独立于模型权重进行扩展,从而实现更大的批处理大小和更高效的加速器利用率。使用NVIDIA T4 GPU和标准CPU VM进行原型设计,与分页注意力基线相比,Glinthawk将吞吐量提高了5.9倍,并将生成成本降低了2.8倍。对于长序列,它实现了16.3倍的吞吐量提升,同时成本降低了2.4倍。评估表明,该架构可以容忍适度的网络延迟,且性能下降最小,使其对于容忍延迟、注重吞吐量的应用(如批处理)非常有效。该原型已在https://github.com/microsoft/glinthawk上公开。

🔬 方法详解

问题定义:现有的大型语言模型(LLM)推理,尤其是在离线场景下,面临着键值缓存(Key-Value Cache)带来的内存瓶颈。键值缓存随着序列长度和批次大小的增加而线性增长,限制了高端加速器(如GPU)的利用率,导致推理效率低下和成本增加。现有的分页注意力机制虽然可以缓解部分问题,但仍然无法充分利用硬件资源。

核心思路:Glinthawk的核心思路是将LLM推理过程解耦为两个层次:Tier 1使用高端加速器进行模型权重的计算,Tier 2使用低端计算资源(如CPU)处理注意力机制相关的计算,特别是键值缓存的管理和访问。通过这种分离,键值缓存的内存需求不再直接限制高端加速器的利用率,从而可以支持更大的批次大小和更长的序列长度。

技术框架:Glinthawk采用两层架构。Tier 1主要负责模型权重的计算,例如前馈神经网络层。Tier 2负责注意力机制的计算,包括键值缓存的存储、检索和更新。Tier 1和Tier 2之间通过网络进行通信,传递必要的中间结果。整个推理流程如下:输入序列首先进入Tier 1进行初步处理,然后将中间结果传递给Tier 2进行注意力计算,Tier 2将计算结果返回给Tier 1,最终完成推理。

关键创新:Glinthawk的关键创新在于将LLM推理过程中的计算和内存需求解耦,通过两层架构实现资源的最优利用。与传统方法相比,Glinthawk允许键值缓存独立于模型权重进行扩展,从而可以支持更大的批次大小和更长的序列长度,而无需升级高端加速器的内存。

关键设计:Glinthawk的关键设计包括:(1) 合理划分Tier 1和Tier 2的计算任务,确保计算负载均衡;(2) 优化Tier 1和Tier 2之间的通信协议,减少网络延迟的影响;(3) 设计高效的键值缓存管理策略,降低Tier 2的内存访问延迟。论文中使用了NVIDIA T4 GPU作为Tier 1的加速器,标准CPU VM作为Tier 2的计算资源。具体的参数设置和网络结构细节未在摘要中详细说明,需要参考论文全文。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

Glinthawk原型系统在NVIDIA T4 GPU和标准CPU VM上进行了评估。实验结果表明,与分页注意力基线相比,Glinthawk将吞吐量提高了5.9倍,并将生成成本降低了2.8倍。对于长序列,Glinthawk实现了16.3倍的吞吐量提升,同时成本降低了2.4倍。此外,实验还表明Glinthawk架构可以容忍适度的网络延迟,性能下降最小。

🎯 应用场景

Glinthawk适用于对延迟不敏感但对吞吐量有较高要求的离线LLM推理场景,例如批量文本生成、大规模数据分析、以及需要处理长序列的自然语言处理任务。该架构可以降低推理成本,提高资源利用率,使得LLM能够更广泛地应用于各种实际场景,例如内容创作、客户服务和科学研究。

📄 摘要(原文)

We introduce Glinthawk, an architecture for offline Large Language Model (LLM) inference. By leveraging a two-tiered structure, Glinthawk optimizes the utilization of the high-end accelerators ("Tier 1") by offloading the attention mechanism to lower-end compute tier ("Tier 2"). This separation allows the memory demand of the attention, known as the key-value cache, to scale independently from the model weights, enabling larger batch sizes and more efficient accelerator usage. Prototyped with NVIDIA T4 GPUs and standard CPU VMs, Glinthawk improves throughput by $5.9\times$ and reduces cost of generation by $2.8\times$, compared to paged attention baselines. For long sequence lengths, it achieves $16.3\times$ throughput improvement at $2.4\times$ less cost. Our evaluation shows that this architecture can tolerate moderate network latency with minimal performance degradation, making it highly effective for latency-tolerant, throughput-focused applications such as batch processing. The prototype is publicly available at https://github.com/microsoft/glinthawk.