AWS Machine Learning Blog· Michelle Goodstein·· 4 小时前AI 评分50
AWS Batch 为 SageMaker Training 作业推出配额管理,支持团队间借还 GPU 资源
Lend and borrow resources across teams with AWS Batch’s quota management for SageMaker Training jobs
AI 导读
AWS Batch 为 SageMaker Training 作业新增配额管理能力,管理员可按团队或项目划分配额份额,并用 RESERVE、LEND、LEND_AND_BORROW 三种策略共享空闲 GPU。份额内还支持基于优先级的抢占,闲置容量可自动借出、有任务时再收回。该功能通过 SageMaker Python SDK v3 的 aws_batch 模块配置和提交作业。
深度导读
AWS Batch 支持 SageMaker Training 作业后,客户可以用全托管方式排队、调度和重试 ML 训练负载。随着多团队共享 GPU 容量,管理员需要额外协调队列、容量上限和资源分配,AWS Batch 因此新增配额管理调度能力,把计算容量按团队、项目或负载切分为配额份额。
每个配额份额包含容量上限和空闲算力共享策略:RESERVE 表示空闲容量保留至任务到达,LEND 表示空闲时借给其他有任务的份额,LEND_AND_BORROW 则同时支持借出和借入。配额份额作为虚拟队列嵌套在关联作业队列中,AWS Batch 调度时优先处理未超限的份额;借出方有新任务到达时触发跨份额抢占,自动收回资源,无需管理员手动终止借用方的作业。
配置配额管理需要创建包含 quotaSharePolicy 的 Scheduling Policy、以具体实例规格定义容量上限的 Service Environment,以及连接两者的 SageMaker Training 作业队列,再将配额份额关联到作业队列。示例中三个项目份额均设为单台 ml.g5.xlarge:QS1 采用 LEND_AND_BORROW 并开启份额内抢占,适合可检查点续跑的后台任务;QS2 采用 LEND 且关闭份额内抢占,适合短任务或优先级相近的负载;QS3 采用 RESERVE,不借出不借入,任务不会被抢占。
开启份额内抢占后,同一份额中处于 SCHEDULED、STARTING 或 RUNNING 状态的低优先级作业可被高优先级作业抢占,使队首任务更早启动。示例通过 SageMaker Python SDK v3 的 aws_batch 模块向 QS1 提交三个不同优先级的作业,高优先级作业先用 QS1 容量启动,中优先级作业借用 QS2 的空闲容量;随后向 QS2 提交作业会触发跨份额抢占,把借出的容量收回。
来源:AWS Machine Learning Blog · aws.amazon.com