推理优化是指提高在生产环境中运行 AI 模型的性能和效率。随着大语言模型 (LLM) 的参数增加到数百亿或数千亿,推理架构变得更加复杂,应用的设计和维护难度也随之增加。优化是指管理、监控和更新这些计算密集型工作负载,从而以更低的成本实现亚秒级响应时间和更高的吞吐量。
它涉及一系列技术,从模型压缩到高级内存管理,将重点从单纯的“运行模型”转移到“扩展智能服务”。这使开发者能够构建响应更快的应用,同时保持可持续发展的基础设施足迹。
基础设施级优化:此优化侧重于模型在硬件上的执行方式。其中包括使用优化后的运行时(如 NVIDIA NIM 或 vLLM)、使用 PagedAttention 等技术管理 GPU 内存,以及使用正在进行的批处理同时处理多个请求。对于使用开源模型或专有模型的开发者来说,这通常是最实用的途径。
模型级优化:这包括修改模型本身,以减小其大小或降低其复杂性。量化(将精确率从 16 位降低到 4 位)、蒸馏(训练较小的“学生”模型来模仿较大的“教师”模型)和稀疏性(剪枝不重要的参数)等技术可以大幅减少每个 token 所需的内存和计算量。
为了有效优化,您必须了解 LLM 推理的两个不同阶段:
阶段 | 说明 | 主要特征 |
预填充 | 模型会处理整个输入提示,以计算中间状态。 | 高度并行化;计算密集型(GPU 饱和)。 |
解码 | 模型以自回归方式逐个生成输出 token。 | 依序;受内存限制(受数据传输速度限制)。 |
阶段
说明
主要特征
预填充
模型会处理整个输入提示,以计算中间状态。
高度并行化;计算密集型(GPU 饱和)。
解码
模型以自回归方式逐个生成输出 token。
依序;受内存限制(受数据传输速度限制)。
以下是优化推理与传统“简单”模型部署的比较:
功能 | 标准部署 | 优化推理 |
吞吐量 | 受静态批次大小和空闲时间的限制。 | 高;利用进行中的批处理和持续迭代。 |
延迟时间 | 随序列长度线性增长;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 |
工具
切入点
技能水平
方法
主要功能
Model Garden 是部署 Llama、Gemma 和 Mistral 等领先开放模型的优化版本的捷径。
前往 Model Garden 并找到受支持的 OSS 模型。点击“部署”。在配置中,选择一个优化后的运行时,例如 vLLM 或 NVIDIA NIM。
选择模型的量化版本(例如 4 位或 8 位),以减少其内存占用。这样,您就可以在同一 GPU 上处理更大的批次,从而直接提高吞吐量。
确保服务容器配置为使用 PagedAttention。这项技术允许模型将“记忆”(键值对缓存)存储在不连续的块中,从而防止内存浪费并支持更长的上下文窗口。
部署后,Vertex AI 会自动处理正在进行的批处理,并在现有请求完成 token 后立即处理新请求。使用 Vertex AI Model Monitoring 跟踪延迟时间,并确保输出的“氛围”保持高质量。
对于需要精细控制编排和自定义推理内核的团队,GKE 是业界标准之选。
预配具有专用 GPU 节点(例如 L4 或 H100)的 GKE 集群。安装 NVIDIA GPU Operator,以自动处理驱动程序管理和性能调优。
使用容器化推理引擎,例如 vLLM 或 Triton Inference Server。这些服务器支持连续批处理和张量并行处理,让您能够跨多个 GPU 对大型模型进行分片。vLLM 还让您能够以最少的额外编码在 TPU 和 GPU 之间切换。
对于需要低延迟的关键任务,请配置推测解码。这涉及使用一个较小、较快的“草稿”模型来预测 token,然后由较大的“目标”模型并行验证这些 token,通常可将速度提高 2-3 倍。
GKE Inference Quickstart 充当预配置数据库,其中包含经过测试的推理栈配置。通过指定模型、延迟时间要求和费用优先级,该工具会根据最佳实践和最新基准提供一系列建议。这样,您就可以监控推理特定的性能指标,并动态微调部署,确保始终在优化后的技术上运行。
GKE Inference Gateway 现已正式发布,引入了两项用于管理复杂生成式 AI 应用的高级功能。
Anywhere Cache 是一种新的完全一致的读取缓存,可与现有的 Google Cloud Storage (GCS) 存储桶配合使用,在加速器所在的可用区内缓存数据。这可将读取延迟时间缩短多达 96%,并最大限度地降低与读取密集型工作负载相关的网络费用。
Cloud WAN 是将整个基础设施连接在一起的纽带,它是一个全托管式全球网络,构建在 Google 的全球级基础设施之上。Cloud WAN 可跨不同区域、云和本地环境连接 AI 计算资源,与传统 WAN 解决方案相比,推理应用体验提升了 40%,总拥有成本 (TCO) 降低了 40%。