当前位置: 首页 > 科技观察

如何最大化机器学习服务器的利用率和可扩展性?

时间:2023-03-15 22:53:07 科技观察

本文转载自公众号《核心阅读》(ID:AI_Discovery)。尽管将人工智能融入业务具有很高的商业价值,但通常这种价值无法抵消将模型应用于业务所需的计算成本。机器学习和深度学习是计算密集型的,一些人认为,除非云计算或本地计算的成本下降,否则可能不值得付出代价,尽管它具有前所未有的商业价值。正如麻省理工学院的研究科学家和《深度学习的计算极限》的作者尼尔汤普森在期刊《连线》中所写,谷歌、Facebook等组织已经建立了具有高影响力和高成本效益的模型,但这些由于高计算成本,模型无法盈利。Thompson在最近的一些讲座和论文中表示,从事大型和尖端AI项目的研究人员开始抱怨他们无法测试多种算法设计,或者因为成本太高而重新进行实验。商业组织需要显着提高计算效率方法,以促进创新并提高人工智能工作的投资回报率。然而,高昂的计算成本和对高效计算的关注不应归咎于此。事实上,GPU加速基础设施和其他云提供商的重大进步大大提高了以前所未有的速度训练复杂人工智能网络的能力。2020年5月,DeepCube发布了基于软件的推理加速器,极大地提高了所有现有硬件上的深度学习性能。换句话说,正在开发计算解决方案以满足机器学习和深度学习不断增长的需求。人工智能创新的潜在障碍是现有计算的未充分利用和“计算债务”的成本不断增加。什么是“计算债务”?人工智能领导者可能会惊讶地发现,阻碍机器学习投资回报率的主要因素之一是GPU、CPU和内存资源未得到充分利用。公司在计算方面投入了数百万美元,这些计算有可能显着加速AI工作负载并提高性能,但最终只利用了其中的一小部分,有时甚至只有20%的资源。计算的分配与实际利用率之间的差距是惊人的,并且可能使公司付出比他们想象的更多的代价。计算、分配和利用之间的差距可以称为“计算债务”。指分配和容量之间的“浪费”。下图直观地比较了以绿色表示的平均利用率与以黄色表示的(当前)分配。当一个工作负载运行时,通常只有一部分GPU被使用,而另一部分被其他潜在的工作负载阻塞。灰色区域代表容量,即GPU、CPU或内存可用的现有计算量,都是闲置和未充分利用的计算区域。来源:cnvrg.io是什么导致了“计算债务”?机器学习和深度学习是计算密集型学习,管理起来很复杂,减轻这种计算负担更加困难。AI基础架构团队面临的最大挑战之一是了解如何以最大化消耗的方式提高利用率和管理资源,从而提高机器学习项目的投资回报率。“计算债务”的主要原因包括:(1)基础设施团队缺乏对人工智能项目的可见性学习资源工具。大多数IT/DevOps领导者无法了解特定时间的GPU/CPU和内存利用率、分配和容量。这导致无节制的消耗和无法提高效率。(2)“计算债务”增长随着人工智能计算需求变得更加复杂,计算分配与实际利用之间的差距越来越大。通常,一家公司可能只消耗所有资源的30%。这导致近70%的计算资源处于闲置状态,给公司造成数千甚至数百万美元的损失。(3)无法识别低效工作基础架构团队无法轻易识别未充分利用的GPU/CPU工作负载。如果不收集有关历史工作负载的数据,就不可能分析和识别低效运行的工作负载。缺乏可见性导致难以提高利用率和控制工作负载优先级。(4)生产力中断未充分利用的GPU被中断,为其他工作让路,增加了数据科学家的等待时间。这导致大量时间和资源浪费在等待GPU上。它还包括可用于其他工作的闲置资源问题。图片来源:unsplash(5)缺乏标准化和统一性团队通常无法将工作与利用率指标相关联。没有标准的可视化工具可以查看特定时间点的分配、利用率和容量。这使得难以识别低效工作并确定浪费的工作量。机器学习已达到成熟阶段,必须战略性地开发AI基础设施才能发展。(6)无法控制优化策略有些团队可以识别效率低下的地方并计划优化基础架构策略,但缺乏执行这些策略的工具。IT/DevOps团队需要控制AI工作负载以优化资源管理。如果没有确定工作优先级、配置计算模板以及监控工作负载分布和利用率的方法,就无法做出重大改进。减少“计算债务”的策略这个问题没有明确的答案,但是有办法提高资源管理的效率。(1)以GPU加速技术投资最先进的人工智能基础设施GPU加速技术已经取得了一些成果。硬件和软件深度学习加速解决方案应运而生,可提供前所未有的计算性能。使用真正现代的AI基础架构研究最新的GPU加速解决方案。(2)采用结合公有云、私有云和本地资源的混合云基础架构,可以更敏捷、更灵活地运行AI工作负载。由于AI工作负载的工作负载类型差异很大,因此企业在构建混合云基础架构后可以更灵活地分配资源和自定义大小。公共云可用于减少资本支出并提供高计算需求期间所需的可扩展性。如果一些公司有严格的安全要求,则必须添加私有云,从而随着时间的推移减少运营费用。混合云可实现改进资源预算所需的控制和灵活性。(3)使用估算工具估算GPU/CPU内存消耗根据MicrosoftResearch对微软4960个失败的深度学习任务的研究,8.8%的失败是由GPU内存耗尽引起的,这是所有深度学习失败中最重要的问题.已经开发了许多估计工具来估计GPU内存消耗以减少这些故障。此外,如果可以收集利用率数据,则可以使用此历史数据更好地预测季度GPU/CPU和内存需求。来源:unsplash(4)ScalingMLOps引入了可以简化机器学习工作流程并标准化科学和工程角色之间转换的方法。由于IT和DevOps负责部署和管理工作负载,因此在执行不同的工作时保持清晰的沟通渠道非常重要。适当的调度工具和资源模板战略可以改善AI工作负载的资源管理。(5)最大化利用率并减少“计算债务”为了提高利用率,有必要将计算债务作为基础设施团队和数据科学团队的KPI。如果公司能够减少计算债务并提高利用率,他们就可以在AI竞赛中脱颖而出。基础架构团队基本上没有灵丹妙药来最大化GPU/CPU可见性和内存消耗以提高利用率。虽然该行业正在迅速构建更高效的硬件和软件以应对计算债务的威胁,但仍有很长的路要走。公司在未充分利用的计算上花费了数百万美元。通过使用现有资源和改进资源管理,公司可以使AI基础设施具有大规模可扩展性。按照文章中的策略,您可以充分利用计算资源。专注于优化其基础架构的公司将因他们的辛勤工作而获得更高的投资回报率,从而使他们在竞争中占据优势。