为什么机器学习只有在英伟达的芯片上市后才变得可行?

人工智能 机器学习 深度学习 历史
2021-10-18 21:08:08

我听了一个由两位有影响力的中国科学家组成的小组的演讲:王刚于凯等人。

当被问及近期(3~5年)人工智能发展的最大瓶颈时,有硬件行业背景的于凯表示,硬件将是最根本的问题,我们应该付出大部分我们对此的关注。他给我们举了两个例子:

  1. 在计算机的早期开发中,我们通过芯片来比较我们的机器;
  2. 这些年非常流行的 ML/DL 如果没有 Nvidia 的 GPU 支持,几乎是不可能的。

基本算法早在 1980 年代和 1990 年代就已经存在,但 AI 经历了 3 个 AI 寒冬,直到我们可以使用 GPU 增强的大型服务器训练模型时才具有经验。

然后王博士评论他的意见,我们也应该开发软件系统,因为即使我们将世界上所有的 GPU 和计算结合在一起,我们也无法制造一辆自动汽车。

然后,像往常一样,我的思绪飘忽不定,我开始想,如果那些在 1980 年代和 1990 年代能够操作超级计算机的人利用当时存在的神经网络算法并用大量科学数据训练它们呢?当时的一些人显然可以尝试构建我们现在正在构建的人工智能系统。

但为什么 AI/ML/DL 成为热门话题,直到几十年后才成为经验主义?仅仅是硬件、软件和数据的问题吗?

2个回答

人工智能产业的繁荣有很多因素。许多人错过的是,繁荣主要发生在人工智能的机器学习部分。这可以归因于各种简单的原因以及它们在早期的比较:

  • 数学: ML 算法背后的数学非常简单,并且早已为人所知(尽管它是否有效尚不清楚)。在早期,不可能在可接受的时间内实现需要高精度数字的算法,以便在芯片上进行计算。在现代处理器中,数字的主要算术运算之一仍然需要很多周期。较旧的处理器比现代处理器慢数倍(超过 100 倍),这个瓶颈使得无法在现代处理器上训练复杂的模型。
  • 精度:计算精度是 ML 算法的一个重要因素。处理器中的 32 位精度是在 80 年代制造的,并且可能在 90 年代后期(x86)可以商用,但它仍然比当前的处理器慢。这导致科学家们在精度部分和 1960 年代发明的用于训练分类器的最基本的感知器学习算法即兴发挥,仅使用1'沙0,所以基本上是一个二元分类器。它在特殊的计算机上运行。尽管如此,有趣的是,我们已经完成了一个完整的循环,谷歌现在正在使用具有 8-16 位精度的 TPU来实现 ML 模型并取得了巨大的成功。
  • 并行化:矩阵运算的并行化概念并不是什么新鲜事。直到我们开始将深度学习视为一组矩阵运算时,我们才意识到它可以在大规模并行 GPU 上轻松并行化,但如果您的 ML 算法本质上不是并行的,那么您使用 CPU 还是 GPU 都无关紧要(例如 RNN 的)。
  • 数据:可能是机器学习热潮的最大原因。互联网提供了从用户那里收集大量数据并将其提供给相关方的机会。由于 ML 算法只是基于数据的函数逼近器,因此数据是 ML 算法中最重要的东西。数据越多,模型的性能就越好。
  • 成本:训练 ML 模型的成本显着下降。所以使用超级计算机来训练模型可能很好,但值得吗?与普通 PC 不同的超级计算机在冷却、空间等方面非常耗资源。最近的一篇文章关于 MIT Technology Review 指出了训练深度学习模型(ML 的子分支)的碳足迹。这是一个很好的指标,为什么早期在超级计算机上训练是不可行的(考虑到现代处理器消耗更少的功率并提供更高的速度)。虽然,我不确定,但我认为早期的超级计算机专门从事“并行+超高精度计算”(天气、天文学、军事应用等所需),而“超高精度部分”在机器学习场景中是多余的。

另一个重要方面是现在每个人都可以使用功能强大的计算机。因此,任何人都可以构建新的 ML 模型、重新训练现有模型、修改模型等。这在早期是不可能的,

所有这些因素导致人们对 ML 的兴趣大增,并导致了我们今天看到的繁荣。另请查看有关我们如何超越数字处理器的问题。

GPU 是 AI 繁荣的理想选择,因为

  • 他们击中了正确的时间

人工智能已经研究了很长时间。将近半个世纪。然而,这都是对算法如何工作和外观的探索。当 NV 看到 AI 即将成为主流时,他们看了看自己的 GPU,意识到巨大的并行处理能力,相对容易编程,非常适合即将到来的时代。许多其他人也意识到了这一点。

  • GPU是一种通用加速器

GPGPU 是使用 GPU 并行处理进行一般任务的概念。您可以加速图形,或让您的算法利用 GPU 上的 1000 个可用内核。这使得 GPU 成为包括 AI 在内的各种用例的绝佳目标。鉴于它们已经可用并且编程起来并不难,它是加速 AI 算法的理想选择。