本文为您介绍如何在使用预付费资源配额(Quota)提交DLC训练任务时,合理利用并配置闲时资源。
功能介绍
在PAI平台中,您可根据自身业务场景灵活划分和分配Quota,不同的业务团队提交的训练任务则会消耗被分配的Quota。但某些业务的Quota在某个特定时间段内,可能出现闲置情况,而其他业务可能因为没有Quota而排队,从而导致资源的错配与浪费。
在大规模的集群算力和复杂的组织结构下,资源利用率成为算力型产品的必然目标。为了解决上述问题,DLC提供了闲时资源能力。您可以通过该功能提交闲时计算任务,在不影响正常业务的前提下,提升整体算力资源利用率。
实现原理如下:
闲时计算任务使用当前或其他Quota下的空闲的计算资源。不受本Quota的资源总量的限制,也不受剩余资源数量的限制。
闲时计算任务借用空闲资源运行任务时,当借用Quota的空闲资源需要被原Quota计算任务使用时,则该借用资源的闲时计算任务将会被终止,自动归还所借用的资源。
闲时计算任务配合PAI提供的AIMaster和EasyCKPT能力,自动提升任务续跑能力,避免算力浪费。
前提条件
已创建预付费资源配额(包括通用计算资源专有资源配额和灵骏智算资源配额),并绑定到工作空间。具体操作,请参见资源配额(Quota)功能介绍。
提交DLC任务使用闲时资源
在控制台提交DLC训练任务时,您可以在资源信息区域,配置闲时资源,其中关键参数说明如下,其他参数配置详情,请参见创建训练任务。
参数
描述
资源配额
选择通用计算资源配额或灵骏智算资源配额。
说明仅支持在华北6(乌兰察布)地域使用灵骏智算资源。
闲时资源
取值如下:
可接受:作业可以接受使用闲时计算资源,也可以使用当前已关联的Quota。
只接受:作业仅接受闲时计算资源,而不会使用当前已关联的Quota内的资源。
使用闲时资源的任务,表示使用已关联Quota外的资源运行任务, 可能会出现闲时资源回收而导致任务被停止的情况。
请确认代码中包含Checkpoint机制,确保任务可以顺利重新启动续跑。具体操作,请参见EasyCkpt:AI大模型高性能状态保存恢复。
自动容错
由于闲时计算任务在资源紧张时有被抢占的风险,为了优化这类任务的运行效率并提升整体算力的有效利用率,建议您开启自动容错功能。在闲时资源被回收的情况下,系统将自动寻找合适的资源,重新运行任务。具体配置方法,请参见AIMaster:弹性自动容错引擎。
查看DLC任务资源使用详情。
在分布式训练任务列表或任务详情内,会展示任务是否开启闲时资源以及使用的资源类型。
配额内:普通资源,表示运行该任务使用已关联的Quota。
配额外:闲时共享资源,表示运行该任务使用闲时计算资源。
当任务使用的闲时资源被抢占回收时,在任务详情页面的实例(Pod)状态将被标记为被抢占。
当隶属于借出资源的Quota组,且不使用闲时资源的任务出队后,如因资源不足导致无法调度时,系统将会为该Quota组回收资源以保障该任务的调度。此时,使用该闲时资源的任务实例状态将被标记为被抢占。
相关文档
由于闲时计算任务在资源紧张时有被抢占的风险,为了优化这类任务的运行效率并提升整体算力的有效利用率,DLC建议您启用AIMaster:弹性自动容错引擎功能,以便在任务被抢占时实现无缝切换和继续执行。推荐您使用PAI团队提供的EasyCkpt:AI大模型高性能状态保存恢复组件,从而在任务被抢占时最大限度地减少训练进度损失,并实现任务的自动续跑和恢复。