选择语言

Splitwise:基于阶段分离的高效生成式大语言模型推理

Splitwise通过将提示计算和令牌生成阶段拆分到不同机器上,优化LLM推理,实现更高吞吐量和更低成本/功耗。
computingpowercoin.org | PDF Size: 2.6 MB
评分: 4.5/5
您的评分
您已经为此文档评过分
PDF文档封面 - Splitwise:基于阶段分离的高效生成式大语言模型推理

目录

1. 引言

生成式大语言模型(LLM)已经彻底改变了自然语言处理领域,但其计算需求对高效推理构成了重大挑战。Splitwise方法通过识别并利用LLM推理中两个主要阶段的不同计算特性,有效应对了这些挑战。

2. 背景与动机

2.1 LLM推理阶段

LLM推理包含两个不同的阶段:

  • 提示计算阶段:对所有输入令牌进行计算密集型的并行处理
  • 令牌生成阶段:对输出令牌进行内存密集型的顺序生成

2.2 硬件限制

GPU规格对比

A100 vs H100:计算能力提升3.43倍,但内存带宽仅提升1.64倍

现代GPU在计算能力和内存性能之间呈现出不成比例的扩展,导致LLM推理效率低下。

3. Splitwise设计

3.1 架构概述

Splitwise将提示计算和令牌生成部署在独立的机器上,每台机器都针对各自阶段的需求进行了优化。

3.2 阶段特定资源管理

提示阶段使用高计算性能GPU(H100),令牌生成阶段使用成本效益更高的GPU。

4. 技术实现

4.1 数学基础

Transformer中的注意力机制可以表示为:

$Attention(Q, K, V) = softmax(\\frac{QK^T}{\\sqrt{d_k}})V$

其中$Q$、$K$、$V$分别代表查询、键和值,$d_k$是键的维度。

4.2 代码实现

class SplitwiseScheduler:
    def schedule_request(self, request):
        if request.phase == "prompt":
            return self.assign_to_prompt_machine(request)
        else:
            return self.assign_to_token_machine(request)
    
    def transfer_state(self, prompt_output, token_machine):
        # 使用RDMA进行高效状态传输
        return token_machine.load_state(prompt_output)

5. 实验结果

Splitwise实现了:

  • 吞吐量提升1.4倍,成本降低20%
  • 在相同功耗和成本预算下,吞吐量提升2.35倍
  • 改善了延迟一致性和资源利用率

6. 分析与讨论

Splitwise通过解决计算需求与硬件能力之间的根本性不匹配问题,代表了LLM推理优化的重大进展。该方法借鉴了分布式系统原理,类似于MapReduce和其他并行处理框架所使用的原理。通过认识到令牌生成阶段是内存受限而非计算受限,Splitwise实现了更高效的资源分配,与每个推理阶段的实际计算需求保持一致。

这项工作建立在计算机体系结构的既定原则之上,特别是Wulf和McKee在1995年提出的内存墙问题,该问题强调了处理器速度与内存性能之间日益扩大的差距。Transformer架构的注意力机制(最初由Vaswani等人在2017年的论文《Attention is All You Need》中引入)固有地创建了这两个不同的计算阶段,但之前的优化工作主要集中在模型压缩和量化上,而非架构分离。

与传统的单体部署相比,Splitwise的阶段分离方法展示了如何更有效地利用专用硬件,类似于Google的TPU Pod针对特定机器学习工作负载的优化方式。考虑到现代LLM部署的巨大规模,1.4倍的吞吐量提升和20%的成本降低尤其显著,即使是很小的百分比改进也能转化为可观的运营节省。

该方法符合异构计算的最新趋势,即系统结合了针对特定任务优化的不同类型的处理器。随着LLM在规模和复杂性上的持续增长,像Splitwise这样的方法对于可持续AI部署将变得越来越重要,能够解决与大规模模型推理相关的经济和环境问题。

7. 未来应用

未来方向包括:

  • 多模态模型推理优化
  • 边缘计算部署
  • 实时自适应资源分配
  • 与新兴硬件架构的集成

8. 参考文献

  1. Vaswani, A., 等. "Attention is All You Need." NeurIPS 2017.
  2. Brown, T., 等. "Language Models are Few-Shot Learners." NeurIPS 2020.
  3. Wulf, W. A., & McKee, S. A. "Hitting the memory wall: implications of the obvious." ACM SIGARCH Computer Architecture News, 1995.
  4. NVIDIA Corporation. "NVIDIA H100 Tensor Core GPU Architecture." 2022.
  5. Dean, J., & Ghemawat, S. "MapReduce: Simplified data processing on large clusters." OSDI 2004.