使用生成式模型时,Vertex AI 提供多种选项来获取和使用计算资源。这些使用选项旨在满足任何工作负载的需求,从初始原型设计到生产部署。选择合适的选项对于平衡性能、可靠性和费用至关重要。
本指南详细介绍了可用的消费选项,可帮助您将这些选项与特定的工作负载要求相匹配,并提供优化延迟时间、可用性和费用的策略。
使用选项
Vertex AI 提供五种消费选项,可满足不同的流量模式和业务需求:
| 使用选项 | 说明 | 理想用途 | 价格 | |
|---|---|---|---|---|
| 预配的吞吐量 | 在承诺期限内提供有保证的吞吐量 | 需要 SLA 的关键、稳态、始终处于开启状态的工作负载 | 承诺期方案(提供 1 周、1 个月、3 个月和 1 年期方案) | |
| PayGo | Standard | 灵活的按用量付费方案,无需预先做出承诺 | 适用于日常使用场景的默认选项,可灵活应对多变的流量需求 | 按 token 收费(高级费率) |
| 优先级 | 通过优先处理提供更高的可靠性,同时保持 PayGo 灵活性 | 需要比标准 PayGo 方案更高的可靠性和限制的重要工作负载 | 按 token 收费(标准费率) | |
| Flex | 适用于容忍延迟的工作负载,经济实惠 | 可以容忍响应时间较慢和节流较高的任务,价格较低 | 按 token 收费(折扣价) | |
| 批量推理 | 针对大批量异步处理进行了费用优化 | 需要在较长时间内获得结果的大规模作业 | 按 token 收费(折扣价) | |
如需了解价格,请参阅价格页面。
为工作负载选择合适的选项
对延迟敏感的工作负载
组织在选择合适的消费模式时,往往需要在可靠性和成本之间做出权衡。虽然预配的吞吐量可提供最高的可靠性,但如果流量出现高峰,可能会导致利用率不足。同样,PayGo 可能提供最大的灵活性,但无法保证服务质量。以下部分介绍了如何以最佳方式组合使用这些机制,以实现最佳效果:
- 使用预配吞吐量覆盖基准流量。这样可以提高预留容量的利用率,在经济实惠的同时,为核心流量提供可靠的保障。如需实现这一点,请执行以下操作:
- 分析分钟级或秒级流量模式。
- 确定由预置吞吐量覆盖的流量。它应涵盖您的最高优先级流量。
- 使用标准或优先随用随付管理溢出流量:默认情况下,超出预配吞吐量基准的流量(称为溢出流量)由标准随用随付处理。如果您发现高于 TPM 限制的请求的性能差异较大,可以通过优化来缓解此问题。优先 PayGo 可让您以较高的价格获得可靠的性能,但需遵守升速限制。
异步高容量工作负载
如果您有大量待处理的请求(例如,有数百万个文档需要总结),并且不担心延迟时间,则应通过将请求整理到 JSON 文件或电子表格中来提交批处理作业。这对于图片标记、批量文档处理或历史数据情感分析等使用情形非常有用。
此选项是高流量推理最具成本效益的选项。
容忍延迟、对费用敏感的工作负载
如果您需要处理应用可以等待响应但降低成本是首要任务的请求(例如数据注解或目录构建),则应使用 Flex PayGo。对于不需要立即执行的请求,Flex PayGo 可提供更低的每令牌价格。此选项适用于离线分析、数据注解、产品目录构建或翻译等使用情形。
优化策略
选择使用模式后,请使用以下策略进一步优化延迟时间、可用性和费用。
延迟时间
如需针对延迟时间进行优化,请执行以下操作:
- 根据您的使用场景选择合适的模型:Vertex AI 提供各种功能和性能特征各异的模型。请仔细评估您对速度和输出质量的要求,选择最符合您使用情形的模型。如需查看可用模型列表,请参阅 Model Garden。
- 缩减提示大小:精心设计清晰简洁的提示,有效传达您的意图,避免不必要的细节或冗余。简短的提示可缩短生成首个 token 的时间。
- 限制输出 token 数:
- 使用系统说明控制回答的长度。指示模型提供简洁的答案,或将输出限制为特定数量的句子或段落。此策略可以缩短从发出提示到获得最后一个 token 的时间。
- 通过设置限制来限制输出。使用
max_output_tokens参数对生成的回答长度设置上限,以防止输出过长。延迟时间与生成的 token 数量成正比;生成的 token 数量越少,回答速度越快。但是要小心,因为这可能会导致句子中的回答被截断。
- 使用预配吞吐量:如需获得最一致的性能,请使用预配吞吐量。这样可以消除“冷启动”或在 PayGo 模型中偶尔出现的高流量期间的排队所造成的变异性。
- 限制思考预算:如果您使用的是支持思考功能的模型,则可以通过减少思考预算来缩短延迟时间。通过限制模型在回答之前生成的内部推理 token,您可以缩短总处理时间。不过,您必须确保预算足以应对任务的复杂性,以免降低回答质量。
可用性
如需针对可用性进行优化,请执行以下操作:
- 实现重试逻辑:针对 429 错误实现指数退避算法,尤其是在使用标准 PayGo 时。
- 使用混合实现:如前几部分中所述,对于关键的生产应用,不要仅依赖 PayGo。将预配吞吐量与 PayGo 结合使用,可最大程度地避免资源耗尽(429 错误)。
- 管理预配吞吐量配额:定期监控 TPM 消耗量,并在预期会发生流量事件(例如产品发布)之前增加预配吞吐量 GSU。您可以使用提醒政策来自动执行监控。
- 使用全球端点:使用全球端点可利用 Google 的全球容量池,最大限度地减少因区域容量限制而导致的节流。
- 尽可能平滑流量,以减少峰值:较高的 PayGo 流量费率 (TPM) 往往与较高的节流费率相关联。
- 将流量转移到非高峰时段:模型使用量总体上遵循昼夜模式。将工作负载改在非高峰时段或周末运行,可以显著提高可用性。
费用
如需优化费用,请执行以下操作:
- 为预置吞吐量使用合适的容量:您通常不需要在峰值时预置 PT,这会降低总体 PT 利用率并提高总费用。根据您的风险承受能力,确定要覆盖的流量百分比,其余流量则由标准 PayGo 和优先 PayGo 处理。
- 购买期限更长的预配吞吐量:1 年期预配吞吐量的价格比 1 个月期预配吞吐量低 26%,可大幅节省费用。您可以随时在不同模型之间切换购买的预配吞吐量 GSU,以充分利用我们最新模型的功能。
- 使用 Flex PayGo:确定流水线中对延迟不敏感的任何部分(例如,后台摘要、数据提取),并将其移至 Flex,以将成本降低约 50%。
- 使用批处理:对于处理大型数据集等异步作业,批处理比使用标准按需付费顺序处理请求便宜得多 (50%)。
- 使用上下文缓存:上下文缓存有助于降低包含重复内容的请求的费用并缩短延迟时间。将较大且常见的内容放置在提示的开头,并在短时间内发送具有相似前缀的请求,从而提高缓存命中率。
- 选择价格较低的模型:如果您的应用场景允许,请使用我们较小的模型之一,例如 Flash-Lite,其每个 token 的价格比我们功能齐全的重型模型更低。