随着各类企业采用基于GPU的机器学习训练、微调和推理工作负载,对GPU容量的需求已超过行业供应。这一不平衡使GPU成为稀缺资源,给需要可靠GPU计算资源的客户带来挑战。
当遇到GPU容量限制时,您可能会考虑创建按需容量预留(ODCR)。但ODCR适用于有计划的稳定工作负载,且GPU实例的短期ODCR可用性有限,尤其是P型实例。此外,无长期合同时,ODCR按需计费,无成本优势。因此,ODCR不适合测试、评估或活动等短期探索性工作负载。
本文介绍如何使用Amazon EC2 Capacity Blocks for ML和Amazon SageMaker训练计划为短期工作负载预留GPU容量,解决负载测试、模型验证、限时研讨会或发布前准备推理容量时的GPU可用性问题。
短期GPU选项概览
在AWS上获取短期GPU容量有多种方式:
- 按需GPU实例:立即使用,无需预先承诺,但容量取决于区域供应和需求,可用性可能快速变化。适合可容忍启动延迟或时间灵活的工作负载。
- Spot GPU实例:最多可节省90%成本,但可能被中断,适合可设置检查点并重启的ML工作负载。
- Amazon EC2 Capacity Blocks for ML:在特定时间窗口预留GPU容量,完全自助服务,提供40-50%折扣。可提前8周预留,持续时间1-14天(以1天为增量)或15-182天(以7天为增量),每个Capacity Block最多64个实例,组织内跨账户最多256个实例。仅支持特定实例系列(如P5、Trn1、Trn2),不能用于SageMaker托管实例。
- Amazon SageMaker训练计划:在SageMaker AI托管环境中预留GPU容量,适用于训练作业、HyperPod集群和推理。价格低于按需70-75%,需预付。不能与EC2 Capacity Blocks互换。
决策框架
选择短期GPU策略时,需评估三个关键因素:可用性、成本模型和工作负载环境。建议从最宽松的选项开始,逐步转向预留容量。
成本考虑
Capacity Blocks预付费用,小时费率比按需低40-50%。例如在美国东部(弗吉尼亚北部),p5.48xlarge使用Capacity Blocks为34.608美元/小时,按需为55.04美元/小时。SageMaker训练计划预付,价格比按需低70-75%。AWS会根据供需趋势定期更新价格,您以预订时的价格支付,即使计划稍后开始。如果实例未持续运行,预留总成本可能超过按需成本,需根据实际运行需求评估。
实施示例:使用SageMaker训练计划预留推理容量
前提条件:具有适当IAM权限的AWS账户、已创建的SageMaker模型资源、AWS CLI 2.0+。步骤包括:
- 创建训练计划:在SageMaker AI控制台选择“训练计划”,创建新计划,指定日期、持续时间(例如1天)、实例类型和数量(例如1个ml.trn1.32xlarge用于推理端点)。
- 支付:计划进入待处理状态,预付全额后变为已调度,开始日期变为活动状态。
- 创建端点配置:使用AWS CLI命令指定容量预留ARN。
- 部署端点:基于配置创建端点。
- 验证状态:检查端点状态和容量预留状态。
- 清理资源:删除端点和配置以避免持续费用。
结论
为短暂工作负载获取GPU容量需要与长期规划不同的方法。从按需开始,在需要确定性时使用Capacity Blocks或SageMaker训练计划预留容量。这些能力有助于减少计划内评估、发布或预期流量增长时的运营摩擦。另外,对于生产部署或大规模活动,建议至少提前三周规划,并与AWS账户团队合作。