作为博士研究的一部分,将机器学习算法并行化是否有意义?

数据挖掘 机器学习 研究 英伟达
2022-03-06 09:10:17

我正在为我的博士学位开发机器学习算法,以帮助诊断和预测各种癌症。我的实验室是 Nvidia 教学中心 (CUDA)。

我的主管认为我还需要通过在 CUDA 中并行化 ML 来优化它。但是,在我看来,一个模型只训练一次,就不需要再训练了。测试模型也不费时。我的兴趣是 ML,而不是并行处理。

1) 我是否应该花费大量时间与 CUDA 并行化?
2) CUDA 仍然是一个可行的研究框架吗?
3)在研究之外的世界中,这会让获得 ML 工作变得更容易吗?

1个回答

从实践的角度,只是分享一些想法。我没有任何研究(博士)类型的经验,您的主管可能会在下面传达类似的内容。

并且,这里的并行计算,我个人定义为使用图形卡 GPU 内核进行计算加速的单台 PC,而不是集群计算。

一些理论思考

有时,值得在 ML 世界中的相同数据上构建多个模型,甚至多次构建相同的模型。

这个例子就像:

  • 使用交叉验证(多次使用相同的方法)来获得稳健的模型输出或参数。或者
  • 具有大量弱学习器(多个模型)的模型集成以获得更好的准确性。

那些 ML 过程非常耗时,而并行化可以帮助减少时间。

此外,根据提供的信息,我假设您的 ML 项目是具有 GPU 加速的图像识别。但我不知道这个项目的主要目的是什么。它可以是开发/改进新的 ML 方法,或者比较已知的 ML 方法以形成学术评论。无论如何,我认为,结果仍应达到一定的准确度。

因此,考虑一些有效的方法(例如并行计算)来加速建模过程是有意义的。

一些实际的考虑

实际上,效率非常重要。当你有一个理论上准确的模型,但需要很长时间来构建模型时,这是不可接受的。

您可以退后一步说让我们回到一些准确度较低的简单快速模型。但是,当传统方法具有相似或更好的准确性时,ML 的意义何在?

个人回答问题

1) 我是否应该花费大量时间与 CUDA 并行化? 并行化有助于加快 ML 训练。CUDA 是一种很酷的技术,可以学习和应用于 ML。只需平衡项目的主要目的和时间之间的时间。

2) CUDA 仍然是一个可行的研究框架吗?这意味着你的报告/论文/论文的第一章。至少,越来越多的 ML 使用深度学习,在涉及 GPU 的情况下可以更快。

3)在研究之外的世界中,这会让获得 ML 工作变得更容易吗?我不能肯定地说知道 CUDA/并行会让你成为顶级玩家(因为也会考虑其他方面)。但是当其他候选人具有相似的背景时,具有并行计算经验的候选人会脱颖而出。