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

作者: 读芯术 2020-10-31 21:53:02

本文转载自公众号“读芯术”(ID:AI_Discovery)。

虽然人工智能融合到商业具有很高的商业价值,但通常这个价值还不能抵消把模型应用到商业中所需的计算成本。机器学习和深度学习是计算密集型的学习,有人认为,除非云计算或本地计算成本降低,否则尽管具有空前的商业价值,也不值得付出这笔成本。

麻省理工学院的研究科学家兼《深度学习的计算极限》一书的作者尼尔·汤普森(Neil Thompson)在《连线》杂志上发表的文章中提到,Google、Facebook等众多组织已经建立了影响力广又能节约成本的模型,但由于计算成本高而导致这些模型无法盈利。

汤普森表示在最近的一些演讲和论文中表示,从事大型和前沿人工智能项目的研究人员开始抱怨,因为成本太高,他们无法测试多个算法设计,或者重新进行实验。

商业机构需要极大地完善计算效率的方法,以促进创新并提高人工智能工作的投资回报率。但是,高昂的计算成本以及人们对高效计算的关注并不应该就此背黑锅。

实际上,GPU加速基础架构和其他云供应商已经取得了重大的进步,极大提高了训练复杂人工智能网络的能力,这种速度是前所未有的。

2020年5月,DeepCube发布了基于软件的推理加速器,大大提高了所有现有硬件上的深度学习性能。换句话说,人们正在开发计算解决方案以满足机器学习和深度学习日益增长的需求。人工智能创新潜在的阻碍就是对现有计算利用不足,以及“计算债务”的成本不断增加。

什么是“计算债务”?

人工智能的领头羊或许会惊讶地发现,阻碍机器学习投资回报的主要因素之一是GPU,CPU和内存资源利用不足。

公司在计算上投资了数百万美元,这些计算有可能极大地加速人工智能工作的负载量并提高性能,但最终只利用其中的一小部分,有时只利用了20%的资源。计算分配和实际利用率之间的差距令人震惊,可能需要公司付出比想象中更高的成本。

计算、分配和利用率之间的差距可称为“计算债务”。指的是分配和能力之间的“浪费”。下图直观地对比了绿色所代表的平均利用率和黄色所代表的(当时的)分配。

当工作负载正在运行时,通常仅利用GPU的一部分,而另一部分则被其他潜在的工作负载所阻挡。灰色区域表示容量即GPU,CPU或内存可用的现有计算量,是所有闲置且未充分利用的计算区域。

资料来源:cnvrg.io

是什么导致了“计算债务”?

机器学习和深度学习是计算密集型的学习,管理起来很复杂,降低这种计算负担会更难。人工智能基础设施团队面临的最大挑战之一是知道如何提高利用率,并以最大化消耗的方式管理资源,提高机器学习项目的投资回报率。导致“计算债务”的主要原因包括:

(1) 基础设施团队缺乏人工智能项目可见性

机器学习项目的基础设施成本每年以两倍的速度增长,但是IT团队却缺乏正确管理、优化和预算机器学习资源的工具。大多数IT/DevOps领导者无法在给定时间了解GPU/CPU和内存的利用率、分配和容量。这导致无法控制消耗,无法提高效率。

(2) “计算债务”增长

随着人工智能计算需求变得越来越复杂,计算分配和实际利用率之间的差距也越来越大。通常来说,公司可能只消耗了全部资源的30%。这导致将近70%的计算资源闲置,浪费了公司几千甚至数百万美元。

(3) 无法识别效率低下的工作

基础架构团队无法轻松识别未充分利用GPU/CPU的工作负载。如果没有收集有关历史工作负载的数据,就无法分析和识别运行效率低下的工作负载。缺乏可见性导致难以提高利用率,也难以控制工作负载的优先级。

(4) 生产力中断

未充分利用的GPU被打断为其他工作让路,增加了数据科学家的等待时间。这导致在等待GPU上浪费了很多时间和资源。同时还包括资源处于闲置状态的问题,这些资源本来可以用于做其他工作的。

图源:unsplash

(5) 缺乏标准化和统一性

团队经常无法将一项工作与利用率指标关联起来。没有标准的可视化工具来查看特定时间点的工作分配、利用率和容量。这使得识别效率低下的工作变得十分困难,而且难以确定浪费的工作量。机器学习已经达到了成熟的阶段,为了成长,必须对人工智能基础架构进行战略化发展。

(6) 无法控制优化策略

有些团队能识别低效率并计划好优化的基础架构策略,却缺乏执行这些策略上的工具。IT / DevOps团队需要控制人工智能工作负载,以优化资源管理。如果没有办法确定工作的优先级、配置计算模板以及监视工作负载的分配和利用率,就无法做出重大改进。

减少“计算债务”的策略

这一问题没有明确的解决方法,但是有一些方法可以提高资源管理的效率。

(1) 投资最先进的具有GPU加速技术的人工智能基础设施

GPU加速技术已经取得了一些成就。硬件和软件深度学习加速解决方案已经出现,可提供前所未有的计算性能。研究最新的GPU加速解决方案,采用真正的现代人工智能基础架构。

(2) 采用混合的云基础架构

结合公共云、私有云和本地资源可在运行人工智能工作负载方面更加敏捷和灵活。由于人工智能工作负载之间的负载类型差异很大,因此公司搭建了混合云基础架构后,能够更灵活地分配资源和自定义大小。可以使用公共云降低资本支出,并提供高计算需求期间所需的可伸缩性。

如果一些公司有着严格的安全性要求,则必须添加私有云,随着时间的推移可降低运营支出。混合云可实现必要的控制和灵活性,以改善资源预算。

(3) 利用估算工具估算GPU / CPU内存消耗

根据Microsoft Research对Microsoft的4960个失败的深度学习任务的研究,8.8%的失败是由GPU内存耗尽导致的,这是所有深度学习故障中最主要的问题。当前已经开发出许多估算工具用以预估GPU内存消耗以减少这些故障。此外,如果能够收集利用率数据,则可以使用此历史数据更好地预测每个季度的GPU / CPU和内存需求。

图源:unsplash

(4) 规模化MLOps

引入可以简化机器学习工作流程,并标准化科学和工程角色之间转换的方法。由于IT和DevOps负责部署和管理工作负载,因此在执行不同的工作时拥有清晰的沟通渠道非常重要。适当的调度工具和对资源模板进行策略化可以改善人工智能工作负载的资源管理。

(5) 最大限度地提高利用率,减少“计算债务”

为了提高利用率,有必要将计算债务作为基础架构团队和数据科学团队的KPI。如果公司能减少计算债务并提高利用率,就可以在向人工智能的竞争中脱颖而出。

要想让基础架构团队最大限度地提高GPU/CPU的可见性和内存消耗从而提高利用率,基本上是没有万全之策。尽管业界正在迅速构建更高效的硬件和软件来解决计算债务的威胁,但仍然任重而道远。很多公司花费了几百万美元在计算上,而这些计算并未被充分利用。

通过使用现有资源并完善资源管理,公司可以使人工智能基础架构具有巨大的可扩展性。根据文章中的策略,你可以完全利用好计算资源。公司若专注于优化基础架构,将会看到辛苦付出得到更高的投资回报率,从而在竞争中获得优势。

机器学习 人工智能 AI
上一篇:机器学习中处理缺失值的9种方法 下一篇:AI发展座谈会:探讨如何用机器学习来帮助农民
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

用新的机器学习思考方式 来辨别自然异常与人为误导

某些对抗性事件很可能是人为设计而来。我们必须知晓其中的手法与工件是什么,这样才能真正理解深度神经网络的可靠性。

佚名 ·  1天前
1.8M超轻量目标检测模型NanoDet,比YOLO跑得快

目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别。目标检测中的深度学习方法已经发展了很多年,并出现了不同类型的检测方法。

佚名 ·  1天前
5G助力下,未来10年将是人工智能的“黄金十年”

近日,习近平总书记在G20峰会第一阶段会议上指出,疫情激发了5G、人工智能、智慧城市等新技术、新业态、新平台蓬勃兴起,“非接触经济”全面提速,为经济发展提供了新路径。

科技日报 ·  1天前
新时代如何把握住人工智能的优势,让自己不被时代淘汰

随着人工智能在企业的应用和发展,企业领导者必须着眼于基于云计算的人工智能和现代化的数据结构,以提高市场竞争力。

尚学堂java学院 ·  1天前
对话李兰娟:人工智能将疫情“一网打尽”,让医疗更精准

李兰娟指出,人工智能、大数据在这次抗疫中发挥了作用,首先是发现和控制传染源方面,通过大数据人工智能我们能够了解到与传染源接触到的所有人;第二是人员流动的控制,包括健康码、红外线测温等等,极大程度地了解了人的健康情况。

新京报 ·  1天前
面向未来系统设计的机器学习

Elias Fallon是行业领先的电子设计自动化技术提供商Cadence Design Systems公司的工程主管。他带领其定制IC研发团队以及电子设计自动化(EDA)产品团队进行项目开发。

Elias Fallon ·  1天前
人工智能如何在大数据处理中应用

人工智能,是处理大数据最理想和最有效的方法。我们的世界一直沉浸在大数据中,你能想到的任何话题,无论在线还是离线,都有大量的数据,如我们的日常活动、对无生命事物的偏好、属性、用途等等。下面,我们就来看看人工智能是如何在大数据处理中应用的?

W ·  1天前
在智能家居设备中融合ML和IOT

人工智能是一项正在常规基础上进行大量研究的技术。

Cassie ·  1天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载