对于AI企业来说,GPU等计算资源昂贵,如何提高资源利用率,保护计算力投资?如何解决资源抢占,保证资源使用公平合理?如何减少等待时间,提高模型训练效率……这些问题都关系着研发创新的进度。且看浪潮AIStation人工智能开发平台用三招“组合拳”打破计算力壁垒,加速企业AI开发进程。
某企业AI开发面临的问题
某企业有四台8卡GPU服务器供50位开发人员使用,典型的人多资源少。具体来说,有以下几大问题:
人均不足一张GPU卡,GPU使用需要相互协调,开发效率低;
每十多人为一个小组共用一个GPU节点,可能使有的小组资源空闲而有的小组却无资源可用,造成资源孤岛;
缺乏优先机制,重要任务无法得到及时提交;
在白天GPU卡几乎全部用于开发环境创建,开发人员只能在晚上提交训练任务,模型训练数量非常有限。
AIStation三招解决企业算力问题
AIStation是面向AI企业开发场景的人工智能资源平台,可通过资源配额、GPU共享、排队托管三招“组合拳”,智能化分配GPU计算资源,提高资源利用率,帮助用户提高开发效率。
首先,AIStation收拢分散的计算资源,提供集群式的池化管理,并设置资源配额策略,实现多用户公平均衡使用资源。
AIStation将开发用户划分为5个用户组,每个用户组10人,并根据业务需求设置每组和每个用户的使用配额,如可设置每组使用6张GPU卡、40个CPU核。并对每个用户的开发环境使用时长、同时提交任务数量进行限制。
其次,AIStation通过GPU共享策略,可以让多人共用一张GPU卡且互不影响。
AIStation统一管理4台GPU节点,将其中2个节点的16张GPU卡设置为开发资源组,用于开发环境创建,剩下16张GPU卡为训练资源组,用于模型训练。通过共享策略,AIStation可将开发资源组的每张GPU卡切分为8份,每份使用4G显存。这样原来的16张GPU卡相当于变为了128张卡。并且通过设置CPU超线程策略扩展CPU核数,满足50个用户同时创建开发环境的需求。用户也可以根据自己的模型设置batchsize和显存使用的大小。
GPU共享模式
最后,AIStation通过任务排队托管、定义任务优先级,充分利用空闲时间训练任务,并且可根据优先级调度任务排队运行。
用户可同时提交多个训练任务,资源不足时排队等待,一个任务训练结束后自动释放资源给排队等待的任务,从而可以充分利用夜间、周末训练任务,延长GPU的使用时间。同时用户可设置优先级,让重要任务优先训练。
开发用户任务托管
AIStation取得显著效果
GPU使用时间加大近1倍。原来单个GPU节点分配给一个用户小组使用,每卡每天的平均使用时间仅为14.4小时。AIStation通过GPU共享、任务托管,解决资源孤岛,将每卡每天的平均使用时间提升到22.8小时。
一天周期内集群GPU使用情况
GPU利用率提升50%。原来用户在开发阶段独占一张GPU,GPU利用率仅为10%,训练阶段可达90%,每天每卡的平均利用率为30%。使用AIStation后,开发阶段8人共用一张GPU卡,GPU利用率可上升为80%,训练阶段为90%,每天每卡的利用率可达到80%。
GPU使用情况对比
每周训练任务的数量增大一倍多。假设提交一个ImageNet数据集和一个ResNet50模型,使用1张Tesla V100 GPU卡训练任务,每个任务的训练时间大概为12小时。
原来因为人均不够一张卡, 白天GPU卡用于创建开发环境,晚上才能训练任务,那么一个工作日可以完成的任务数最多为32个,即一周可以完成160个任务。
而AIStation支持任务排队,可以大限度的使用GPU资源。一周可以完成368个任务数,效率提升2.3倍。假设开发团队单个项目平均需要训练的任务数为50,那么每个月的项目完成数从3个提升到7个。
可以看出,浪潮AIStation通过对计算资源的高效管理、调度,在GPU使用时间、利用率和训练任务数量上,相比原方案均实现了大幅提升,大化地优化了资源使用。
浪潮AIStation人工智能资源平台面向AI企业开发场景,致力于帮助企业构建一体化的AI开发平台,为AI开发工程师提供高效的计算力支撑、精准的资源管理和调度、敏捷的数据整合及加速、流程化的AI开发业务整合,助力AI企业提高开发效率和产品上市速度,增强企业竞争力。
除了高效的资源管理,AIStation在开发环境创建、数据管理、开发流程管理等方面也表现出色。在后续文章中,我们将结合实际应用场景为大家详细介绍,敬请关注。