大语言模型解耦:AI基础设施的下一次演进

本文深入探讨大语言模型推理中的解耦服务架构,通过分离预填充和解码阶段实现硬件资源优化,带来6.4倍吞吐量提升和40%成本降低,涵盖vLLM、SGLang等框架实现策略。

关键要点

  • 大语言模型推理包含两个阶段:预填充操作实现90-95% GPU利用率和200-400操作/字节,解码阶段仅20-40%利用率和60-80操作/字节
  • 解耦服务架构通过将预填充和解码操作分离到专用硬件集群来解决优化低效问题
  • vLLM、SGLang和TensorRT-LLM等框架已成熟实现解耦服务,展示高达6.4倍吞吐量改进和20倍延迟方差降低
  • 组织实施解耦架构可通过优化硬件分配、提高能效和消除高端GPU过度配置,降低总基础设施成本15-40%
  • 成功实施需要基于工作负载特性选择框架、并行部署策略的迁移规划,以及解决分布式架构挑战

大语言模型介绍

大语言模型已从研究项目转变为关键业务基础设施,为从客户服务聊天机器人到内容创作平台的一切提供动力。像GPT-4、Claude和Llama这样的模型运行着数十亿参数,需要复杂的计算基础设施来高效提供服务。

基本挑战在于LLM推理的双重性质:初始"预填充"阶段同时处理输入上下文,随后是迭代的"解码"阶段逐个生成输出标记。这些阶段具有完全不同的计算特性,创建了传统服务架构无法有效解决的优化挑战。

理解预填充和解码阶段

预填充阶段表现出高计算强度,每字节内存访问有200-400次操作,在现代加速器上实现90-95% GPU利用率。多个请求可以有效地批量处理,使其非常适合计算密集型硬件。

相比之下,解码阶段每字节只有60-80次操作,由于内存带宽限制仅实现20-40% GPU利用率。每个标记生成需要访问具有不可预测模式的大型键值缓存,使得高效批处理变得困难。

这在阶段之间创造了5-10倍的计算特性差异。不同的应用程序放大了这一挑战:摘要任务是预填充密集型(80-90%计算时间),具有大输入和简洁输出,而交互式聊天机器人需要低于200毫秒的响应时间,具有可变输入长度。代理AI系统管理复杂的8K-32K+标记上下文,具有内存密集型工具集成,需要完全不同的优化策略。

为什么单加速器无法优化两个阶段

现代AI加速器如NVIDIA的H100和A100 GPU专为特定的计算模式设计,这些模式与预填充或解码很好对齐,但不能同时兼顾两者。H100的3.35 TB/s内存带宽和比A100高3倍的计算改进使其非常适合预填充的计算密集型操作。然而,由于其不同的内存架构,A100在解码阶段实际上实现了更高的效率。

这种优化困境源于基本的硬件权衡。预填充阶段受益于高计算密度和大的片上内存,而解码阶段需要高内存带宽和低延迟访问模式。帮助一个阶段的内存层次优化通常会损害另一个阶段,并且能效根据利用模式 dramatically变化。

在LLM推理期间,预填充阶段有效利用张量核心,通常接近最大硬件容量。相比之下,解码阶段通常实现低得多的利用率,据报道值通常比预填充低三分之一或更少。预填充阶段的能效也显著更高;研究表明,相对于解码阶段,每个操作的能效提高3-4倍。硬件性能和能耗的这些差异强调了单体推理的局限性。

LLM推理服务中解耦的兴起

与常见假设相反,vLLM是2023年6月推出时首批实现专门构建的解耦LLM服务的框架之一。虽然DeepSpeed在2022年实现了异构推理能力,但其重点主要是模型并行性,而不是用于服务优化的预填充-解码解耦。

vLLM的突破来自用于高效键值缓存管理的PagedAttention和改进吞吐量的连续批处理。版本0.6.0展示了Llama 8B模型的2.7倍吞吐量改进和5倍更快每输出标记时间,为更广泛的行业采用奠定了基础。

SGLang随后推出了RadixAttention和结构化生成能力,实现了比基线实现6.4倍的吞吐量改进,并在Llama-70B模型上持续以3.1倍优于竞争对手。学术界通过DistServe(OSDI 2024)巩固了理论基础,它展示了比共置系统4.48倍的良好吞吐量改进和阶段间延迟方差降低20倍。

经济影响和业务案例

传统的单体LLM服务通过为解码阶段过度配置高端GPU和在预填充密集型工作负载期间利用不足,创造了显著的低效率。这导致来自未充分利用的加速器的能耗消耗和复杂部署的管理开销。

解耦架构通过优化硬件分配解决这些挑战,交付15-40%的总基础设施成本降低和跨工作负载阶段40-60%的GPU利用率改进。能效改进包括通过模型压缩和优化分配降低50%功耗,一些部署在服务器规模调整中实现高达4倍的成本降低。

这在调整每个用例的计算需求方面也起着关键作用,即使在同一个组织内用于不同的应用程序。

实施策略:从规划到生产

成功实施解耦LLM服务始于对基础设施的清晰技术理解、系统规划和动态工作负载管理。本节为旨在优化LLM推理效率同时最大化成本节约和资源利用的组织提供了一个蓝图。

架构蓝图:解耦服务管道

解耦服务架构在物理和逻辑上分离LLM推理的两个不同计算阶段:

  • 预填充集群:专用于初始上下文处理。通常利用高性能、计算优化的GPU,如NVIDIA H100,擅长张量操作和批处理大型提示以获得最大吞吐量
  • 解码集群:负责迭代标记生成。此阶段受内存限制,受益于具有高内存带宽和低延迟缓存访问的GPU,如NVIDIA A100,或具有高级内存层次的新兴加速器

专用硬件集群通过低延迟、高带宽网络(例如InfiniBand、NVLink)互连,以在预填充和解码阶段之间高效传递键/值缓存数据。中央工作负载协调器或GPU感知调度器(例如具有自定义调度逻辑的Kubernetes或Ray)基于大小、类型和延迟要求动态路由请求。

技术实施步骤

工作负载分析

  • 严格分析现有LLM部署以区分预填充和解码密集型应用程序。摘要和文档处理工作负载倾向于预填充主导,而对话代理和代理系统倾向于解码密集型、内存受限操作

资源分段和映射

  • 将计算密集型任务(大上下文、批量生成)分配给具有最大FLOPs和高效批处理支持的集群
  • 将内存受限、逐标记生成工作负载分配给优化带宽、缓存局部性和低延迟响应的集群(通常具有更多节点用于分布式解码并行性)

框架选择

  • vLLM:广泛的模型支持,非常适合具有连续批处理和PagedAttention用于缓存管理的通用部署
  • SGLang:具有RadixAttention的高吞吐量服务,非常适合结构化生成和多模态工作负载
  • TensorRT-LLM:对于大型企业,提供强大的集成、供应商支持和对低级GPU利用的精细控制

部署策略

  • 并行部署:同时运行传统和解耦架构。使用负载均衡器将选定流量引导到新设置以进行A/B测试、基准测试和分阶段生产迁移
  • 逐步迁移:从非关键工作流开始,验证关键指标(延迟、吞吐量、GPU利用率),然后在可靠性确立后逐步过渡任务关键应用程序

状态管理和可扩展性

  • 使用分布式缓存系统(例如Redis、Memcached)同步集群之间的上下文和标记状态。尽可能强调无状态微服务以简化故障转移、自动扩展和组件重启

现实世界GPU使用模式

1. Splitwise(微软研究)

本文使用生产跟踪在NVIDIA A100和H100 GPU上进行了广泛表征。Splitwise以降低20%成本实现1.4倍更高吞吐量,或以相同成本和功率预算实现2.35倍更多吞吐量。

硬件结果

  • 在具有InfiniBand连接的Microsoft Azure上的DGX-A100和DGX-H100虚拟机上实施
  • 显示对于标记阶段,与H100相比,A100可能更具成本和功率效率
  • 演示A100设置的KV缓存传输延迟约为8毫秒,H100设置约为5毫秒

2. SGLang与DeepSeek实施

在Atlas Cloud中运行的大规模实际部署,在12个节点上运行,每个节点配备8个H100 GPU,对于2000标记输入序列,每个节点实现52.3k输入标记/秒和22.3k输出标记/秒。

硬件性能:这是第一个开源实现,在大规模上几乎匹配DeepSeek官方博客报告的吞吐量,每百万输出标记成本为0.20美元,而官方DeepSeek Chat API为0.20美元。优化策略相比普通张量并行性将输出吞吐量提高高达5倍。

3. DistServe(OSDI 2024)

本文介绍了"DistServe",它将预填充和解码计算解耦到不同的GPU上。该系统展示了显著的性能改进:它可以服务7.4倍更多请求或在延迟约束内实现12.6倍更严格的SLO,同时满足>90%请求。

硬件实施:在具有512输入长度和64输出长度的合成工作负载的A100-80GB GPU上评估系统。本文显示,通过适当放置,KV缓存传输开销可以最小化到小于解码步骤的时间,这要归功于像NVLink和PCIe 5.0这样的高速网络。

生产最佳实践

  • 实施强大的监控:跟踪集群级GPU利用率、功耗、并发性、标记延迟和缓存命中/未命中率,以动态扩展集群
  • 确保组件隔离和冗余:解耦微服务降低全系统故障风险,并允许快速组件重启或水平扩展
  • 保护组件间通道:使用服务网格框架和集群之间的端到端加密,以在网络传输期间保护敏感用户和模型数据

分布式架构中的安全和可靠性

解耦架构通过增加的攻击表面和网络通信需求引入了新的安全考虑,但也通过组件隔离和改进的故障检测提供好处。组织必须实施组件间通信的端到端加密,使用服务网格架构进行安全的服务到服务通信,并建立全面的访问控制。

可靠性通过减少级联故障风险的组件隔离和通过组件级重启能力实现更快恢复而改进。高可用性策略包括跨预填充和解码集群的冗余、跨健康组件的负载均衡以及防止级联故障的断路器。状态管理需要具有一致性保证的分布式缓存策略和尽可能无状态架构以简化恢复。

未来展望:硬件和软件演进

硬件格局正在向为解耦工作负载优化的专用芯片演进,具有改进效率的内存-计算协同设计和用于分布式推理的专用互连。基于小芯片的设计将实现灵活的资源分配,而近内存计算减少数据移动开销。

软件框架继续推进,具有用于视觉-语言应用程序的多模态模型支持、模型特定解耦策略和基于实时工作负载分析的动态资源分配。行业标准化工作侧重于解耦服务框架的通用API、标准化指标和基准测试方法,以及为解耦部署优化的便携模型格式。

生态系统发展包括供应商中立编排平台、集成开发和部署工具,以及社区驱动的优化库,将加速跨各种规模组织的采用。

结论

解耦服务代表了LLM基础设施设计的基本转变,通过预填充和解码阶段的专门优化解决了单体架构的固有低效率。凭借在性能、成本和运营指标方面经过验证的好处,该技术已从学术研究成熟为被主要组织采用的生产就绪实施。

随着硬件和软件继续演进以支持解耦工作负载,这种方法将成为大规模LLM部署的标准,使组织能够比以往更高效和成本有效地提供AI服务。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计