人工智能的应用正在继续增长在2021年的调查中,56%的受访者报告AI已经在至少一个业务功能中被采用,比上一年的50%有所上升。与此同时,人工智能本身也在继续快速发展越来越大,更快的模型似乎对计算能力和训练数据有着永不满足的需求。很长一段时间以来,人们关注的焦点一直是不惜一切代价扩大规模:更广泛的数据集、更大的模型和更重要的部署。传统的摩尔定律增加了芯片密度,向更专业的硬件(如gpu)的过渡,以及在越来越大的计算集群中使用蛮力,这些都满足了对规模的持续需求。
然而,一个经常被忽视的因素,使AI/ML使用的扩大是可能的是电力效率。大多数计算机环境,无论是移动、笔记本电脑、工作站还是数据中心,都早已达到了其电源预算的极限。这意味着未来规模和速度的提高必须来自于用同样的精力做更多的事情。这种对效率的关注将带来一个硬件和软件设计师之间密切合作的新时代,以及为数据科学家提供更模块化的分析工作流程的方法。
我们是如何走到这一步的
从历史上看,服务器的高资本成本意味着,在广泛的任务范围内的灵活性和性能是一个可靠系统的标志,可以使用多年。然而,这种灵活性也带来了一些权衡:因为硬件需要适应各种任务,所以不能针对特定的工作负载进行定制,以获得最高效率。当大多数人运行的模型规模较小时,这不是一个问题,但在10亿参数模型和数万亿数据点的时代,这就不那么理想了。
因此,我们开始看到针对特定用例(如gpu和tpu)的硬件专业化。这种方法确实能提高效率,但前提是有一个合适的软件生态系统支持硬件。近年来,随着专用芯片和服务器的迅速普及,软件和硬件的完美结合变得越来越复杂。以移动为中心的芯片架构,如ARM,正开始大举进军笔记本电脑、台式电脑和服务器市场;像Apple M1这样的新产品正在出现;仅在2020年,风险投资家投入1.8美元进入美国芯片初创公司。这是一个新进入者将比以往任何时候都多的产品市场;即使面对不可避免的整合,对专业硬件的需求显然也不会很快放缓。
那么,当数据科学家试图高效地运行各种工作负载时,他们如何才能利用所有这些新的选择和创新,而不被兼容性挑战所拖累呢?
软件和硬件之间的关系越紧密,效率越高
随着AI/ML任务继续在行业中更广泛地部署,我们将开始看到更节能的架构和软件和硬件的协同设计,以更有效地协同工作的强大推动。这在实践中是怎样的呢?
随着硬件的进步,这些公司在软件开发体验上的投资也将变得至关重要。特别是在数据科学领域,这包括向开源社区扩展,以实现信息的双向流动:硬件制造商可以更好地理解从业者的需求和工作流程,软件开发人员可以看到硬件创新的方向,并创建支持架构,可以针对新的和不断发展的芯片进行优化。数据科学是一个有趣的用例,因为社区是开源驱动的,这意味着硬件供应商可能并不总是有一个明显的接触点。但是,对于采用新的芯片和服务器以及开源项目继续广泛兼容来说,连接的努力是非常值得的。
更模块化的工作流方法可以最大化优化的机会
创建高效的数据科学体验的责任不仅仅在于硬件和软件开发人员。数据科学家也需要调整他们的工作习惯,以获得硬件创新的好处,同时最小化开销。特别是,他们应该采取更模块化的方法进行分析,以便利用最有效地支持工作流程每个元素的硬件。随着时间的推移,随着新的选择的出现,这也将允许数据科学家更容易地混合和匹配硬件和软件。整体软件方法在概念上很有吸引力,但会限制数据科学家从即将到来的创新中获益的能力。
要实现模块化工作流,数据科学家应该问自己“这个工具最适合做什么?”在考虑每个硬件平台和软件包时。建立一个关于在特定情况下什么类型的硬件和软件包是好的心理模型将节省数据科学家和mlop人员大量的时间和精力。毫无疑问,这是一项具有挑战性的工作——特别是随着新进入者的到来,选择的数量越来越多。但是当您为您的特定用例找到一个很好的硬件/软件组合时,效率的提高可能是显著的。
使模块化工作流更加实用
使模块化分析工作流程可行和易于使用的最大组成部分将是各种硬件平台和软件包之间的持续集成。长期以来,这两个被认为是独立实体的机构越是能够协调工作,就越容易混合搭配以获得最大效率。数据科学家还可以通过考虑工作流程中最关键的部分是什么,并专注于将最佳硬件与最佳软件相匹配,从而使模块化方法更容易实现。这将是最大收益的来源;加速一个只占整个工作流运行时间5%的任务并没有太大的好处。
不幸的是,目前还没有针对所有数据科学工作流程进行优化的银弹硬件解决方案,而且可能永远也不会有。但正如云提供商为普通用户解锁了大规模的计算能力一样,云提供商也可以在这方面发挥重要作用,让数据科学家在运行工作负载时更容易在不同的专门芯片之间切换。当然,这种方法的成功将取决于软件和硬件设计人员的能力,以保持彼此一致,并构建互补的、兼容的系统。
光明的未来
实现AI/ML工作流程的最大效率需要各方的努力,但过去两年的进展已经表明,为这些类型的任务创建高性能和低功耗的专门硬件是可能的。随着数据科学家开始更多地关注电力效率,硬件和软件之间的联系和相互作用将变得更加明显和重要。挑战将是如何将大量软件包引入新平台。能够合作应对这一挑战的硬件制造商和软件社区将从数据科学家那里获得可观的市场份额,这些数据科学家可以利用他们的技术推动AI/ML创新的新浪潮。