如何针对推理应用进行优化?

推理优化是指提高在生产环境中运行 AI 模型的性能和效率。随着大语言模型 (LLM) 的参数增加到数百亿或数千亿,推理架构变得更加复杂,应用的设计和维护难度也随之增加。优化是指管理、监控和更新这些计算密集型工作负载,从而以更低的成本实现亚秒级响应时间和更高的吞吐量。

它涉及一系列技术,从模型压缩到高级内存管理,将重点从单纯的“运行模型”转移到“扩展智能服务”。这使开发者能够构建响应更快的应用,同时保持可持续发展的基础设施足迹。

在实践中,推理优化通常有两种主要的应用方式:

基础设施级优化:此优化侧重于模型在硬件上的执行方式。其中包括使用优化后的运行时(如 NVIDIA NIM 或 vLLM)、使用 PagedAttention 等技术管理 GPU 内存,以及使用正在进行的批处理同时处理多个请求。对于使用开源模型或专有模型的开发者来说,这通常是最实用的途径。

模型级优化:这包括修改模型本身,以减小其大小或降低其复杂性。量化(将精确率从 16 位降低到 4 位)、蒸馏(训练较小的“学生”模型来模仿较大的“教师”模型)和稀疏性(剪枝不重要的参数)等技术可以大幅减少每个 token 所需的内存和计算量。

了解推理过程的运作方式

代码级工作流

为了有效优化,您必须了解 LLM 推理的两个不同阶段:

阶段

说明

主要特征

预填充

模型会处理整个输入提示,以计算中间状态。

高度并行化;计算密集型(GPU 饱和)。

解码

模型以自回归方式逐个生成输出 token。

依序;受内存限制(受数据传输速度限制)。

阶段

说明

主要特征

预填充

模型会处理整个输入提示,以计算中间状态。

高度并行化;计算密集型(GPU 饱和)。

解码

模型以自回归方式逐个生成输出 token。

依序;受内存限制(受数据传输速度限制)。

  1. 描述目标:您首先部署一个未经优化的模型
  2. 应用量化:减少模型权重(例如,减少到 4 位),以便在内存中容纳更大的批次
  3. 优化注意力:使用 FlashAttention 或分组查询注意力 (GQA) 来最大限度地降低内存移动成本
  4. 管理内存:实现 PagedAttention,将 KV 缓存存储在非连续块中,从而消除分片
  5. 执行和监控:使用正在进行的批处理进行部署,以便在其他请求完成后立即开始处理新请求

推理优化与标准部署

以下是优化推理与传统“简单”模型部署的比较:

功能

标准部署

优化推理

吞吐量

受静态批次大小和空闲时间的限制。

高;利用进行中的批处理和持续迭代。

延迟时间

随序列长度线性增长;TTFT(首 token 延迟)较高。

已优化;利用预填充加速和推测解码。

内存管理

静态分配(为最大长度过度预配)。

动态(分页);通过 PagedAttention 尽可能减少浪费。

硬件效率

经常无法充分利用 GPU/TPU 的计算能力。

已最大化;使用优化后的内核(TFE-IE、XLA)。

每次请求费用

较高;在相同负载下需要更多硬件。

更低;在相同的基础设施中处理更多请求。

功能

标准部署

优化推理

吞吐量

受静态批次大小和空闲时间的限制。

高;利用进行中的批处理和持续迭代。

延迟时间

随序列长度线性增长;TTFT(首 token 延迟)较高。

已优化;利用预填充加速和推测解码。

内存管理

静态分配(为最大长度过度预配)。

动态(分页);通过 PagedAttention 尽可能减少浪费。

硬件效率

经常无法充分利用 GPU/TPU 的计算能力。

已最大化;使用优化后的内核(TFE-IE、XLA)。

每次请求费用

较高;在相同负载下需要更多硬件。

更低;在相同的基础设施中处理更多请求。

入门:选择编排环境

Google Cloud 提供了一系列工具,旨在满足不同技能水平和架构需求。

工具

切入点

技能水平

方法

主要功能

Cloud Run(利用 GPU)

轻量级事件驱动型 AI 服务

新手

无服务器

针对突发性、低延迟工作负载的缩减至零推理

OSS 模型(例如 Llama 3)

初级到中级

托管式 / 低代码

使用优化的 vLLM 或 NVIDIA NIM 运行时一键式部署


高性能生产工作负载

中级到高级

加速推理

预构建的微服务,采用先进的 TensorRT-LLM 优化技术

自定义多模型基础设施

高级

云原生 / 自定义

完全控制 GPU 分片、编排和自定义推理服务器

大规模 TPU 优先开发

高级

TPU 优化 / XLA

专为 XLA 而设计,在 Cloud TPU 上采用连续批处理和 PagedAttention

工具

切入点

技能水平

方法

主要功能

Cloud Run(利用 GPU)

轻量级事件驱动型 AI 服务

新手

无服务器

针对突发性、低延迟工作负载的缩减至零推理

OSS 模型(例如 Llama 3)

初级到中级

托管式 / 低代码

使用优化的 vLLM 或 NVIDIA NIM 运行时一键式部署


高性能生产工作负载

中级到高级

加速推理

预构建的微服务,采用先进的 TensorRT-LLM 优化技术

自定义多模型基础设施

高级

云原生 / 自定义

完全控制 GPU 分片、编排和自定义推理服务器

大规模 TPU 优先开发

高级

TPU 优化 / XLA

专为 XLA 而设计,在 Cloud TPU 上采用连续批处理和 PagedAttention

如何使用 Vertex AI Model Garden 优化推理

Model Garden 是部署 Llama、Gemma 和 Mistral 等领先开放模型的优化版本的捷径。

第 1 步:选择并配置模型

前往 Model Garden 并找到受支持的 OSS 模型。点击“部署”。在配置中,选择一个优化后的运行时,例如 vLLM 或 NVIDIA NIM。

第 2 步:应用量化

选择模型的量化版本(例如 4 位或 8 位),以减少其内存占用。这样,您就可以在同一 GPU 上处理更大的批次,从而直接提高吞吐量。

第 3 步:启用高级内存管理

确保服务容器配置为使用 PagedAttention。这项技术允许模型将“记忆”(键值对缓存)存储在不连续的块中,从而防止内存浪费并支持更长的上下文窗口。

第 4 步:部署和监控

部署后,Vertex AI 会自动处理正在进行的批处理,并在现有请求完成 token 后立即处理新请求。使用 Vertex AI Model Monitoring 跟踪延迟时间,并确保输出的“氛围”保持高质量。

如何使用 GKE 优化推理

对于需要精细控制编排和自定义推理内核的团队,GKE 是业界标准之选。

第 1 步:使用 NVIDIA GPU 或 Cloud TPU 初始化集群

预配具有专用 GPU 节点(例如 L4 或 H100)的 GKE 集群。安装 NVIDIA GPU Operator,以自动处理驱动程序管理和性能调优。

第 2 步:部署经过优化的推理服务器

使用容器化推理引擎,例如 vLLM 或 Triton Inference Server。这些服务器支持连续批处理和张量并行处理,让您能够跨多个 GPU 对大型模型进行分片。vLLM 还让您能够以最少的额外编码在 TPU 和 GPU 之间切换。

第 3 步:实现推测解码

对于需要低延迟的关键任务,请配置推测解码。这涉及使用一个较小、较快的“草稿”模型来预测 token,然后由较大的“目标”模型并行验证这些 token,通常可将速度提高 2-3 倍。

第 4 步:使用 GKE 推理快速入门简化部署

GKE Inference Quickstart 充当预配置数据库,其中包含经过测试的推理栈配置。通过指定模型、延迟时间要求和费用优先级,该工具会根据最佳实践和最新基准提供一系列建议。这样,您就可以监控推理特定的性能指标,并动态微调部署,确保始终在优化后的技术上运行。

第 5 步:使用 GKE Inference Gateway 进行扩缩

GKE Inference Gateway 现已正式发布,引入了两项用于管理复杂生成式 AI 应用的高级功能。

  • 前缀感知路由:对于多轮对话或文档分析等应用,此功能会将请求路由到已缓存上下文的相同加速器,从而缩短响应时间。
  • 分离式服务:这项技术将初始的“预填充”阶段(提示处理)与“解码”阶段(token 生成)分开。由于这些阶段对资源的需求不同,因此您可以在单独的优化机器池上运行它们,以最大限度地提高效率。

第 6 步:使用 Anywhere Cache 加快数据访问速度

Anywhere Cache 是一种新的完全一致的读取缓存,可与现有的 Google Cloud Storage (GCS) 存储桶配合使用,在加速器所在的可用区内缓存数据。这可将读取延迟时间缩短多达 96%,并最大限度地降低与读取密集型工作负载相关的网络费用。

第 7 步:使用 Cloud WAN 连接全球工作负载

Cloud WAN 是将整个基础设施连接在一起的纽带,它是一个全托管式全球网络,构建在 Google 的全球级基础设施之上。Cloud WAN 可跨不同区域、云和本地环境连接 AI 计算资源,与传统 WAN 解决方案相比,推理应用体验提升了 40%,总拥有成本 (TCO) 降低了 40%。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。

迈出下一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。