【问题标题】:Is CUDA installation necessary to use GPU while running NLP models eg. BERT at local machine [closed]在运行 NLP 模型时是否需要安装 CUDA 才能使用 GPU,例如。本地机器上的 BERT [关闭]
【发布时间】:2021-03-23 15:06:26
【问题描述】:

在执行 NLP 模型(如 BERT 或 Tensorflow 库)时,是否有人需要 CUDA 工具包来使用本地 GPU,无需编写额外代码(用于 GPU 处理而不是 CPU)即可自行触发本地机器 GPU?

【问题讨论】:

  • 请说明确切您的问题是什么; “在深度学习中使用 GPU 是否需要安装 CUDA?”和“可以在没有 CUDA 的情况下继续进行 DL 编程吗?”是两个不同(且完全不相关)的问题。
  • 抱歉没有明确的查询。但我的问题与在进行深度学习(例如 NLP 模型)时使用笔记本电脑的 GPU 有关。该库(TensorFlow)是否会默认处理GPU的触发,或者它需要一些像cuda这样的工具包。注意:在我在 google collab 上练习 GPU 相关执行之前。
  • 请不要试图在 cmets 中澄清; 编辑和更新您的问题,重点关注确切的问题并消除或重新表述可能的歧义(我已经指出了其中的一些)。
  • 还不清楚;触发什么的能力?用法?安装?
  • 简而言之(另请参阅下面的答案):要将 NVIDIA GPU 用于 DL,您需要 CUDA。始终可以选择仅使用 CPU,在这种情况下您不需要它。

标签: tensorflow deep-learning gpu nvidia bert-language-model


【解决方案1】:

TLDR:

如果您问是否需要安装 Cuda 才能在深度学习框架中使用您的 NVIDIA-GPU,这取决于您。 Pytorch 提供了必要的 Cuda 库,您不需要安装它。 另一方面,Tensorflow 似乎需要它。
但是,还请注意,您可能没有使用 GPU,因为它可能在您的 CPU 上运行。

如果您询问是否需要 CUDA 来进行深度学习相关的计算, 那么答案是否定的。

长解释:

当您需要或想要使用 GPU 的功能来运行深度模型时,可以使用多种选项。

除了定制硬件、软件方面、OpenCL、AMD 的 RoCM、ONNX、Microsoft 的 DirectML、Apache 的 TVM、英特尔的 OpenVINO 等等,这些都可以用作后端来利用您的 GPU(和其他硬件) ) 能力。

请注意,尽管您有这样的选项,但它们对所有用例的支持尚不存在。也就是说,您需要查阅他们的最新文档,看看哪些是可能的,哪些是不可能的。
例如,RoCm 不支持所有 AMDs GPU(例如,它目前不支持集成 GPU)。
RoCm 支持在以前的深度学习框架中不存在,例如 Caffe(尽管 OpenCL 版本仍然存在)
这也适用于其他工具包,例如,MS DML 目前已支持 tensorflow(1,15),但尚不支持最新版本,并且仍处于测试阶段)并且 Pytorch 没有用于例子。 但是,您可以通过 ONNX 运行 PyTorch 模型并在那里使用 DML 后端表单,但它也有自己的一系列问题需要处理。
所以是的,在没有 CUDA 的情况下使用 GPU 的可能性是存在的,但是恕我直言,他们仍然需要几年时间才能赶上 CUDA 的当前状态。如果您想获得愉快的体验而不会感到头疼,请坚持使用 CUDA,除非其中一些工具包支持您的特定用例。

【讨论】:

  • 不,afaik,Pytorch 提供低级 CUDA 库,因为 pytorch 只安装 Python 库。而 CUDA 库则处于操作系统级别。
  • @xtof54 如果您不想自己尝试,请参阅this
  • 感谢链接:我不知道他们将 CUDA 库与 pytorch 放在一起:这让我很困惑!我想知道他们是怎么做到的。我稍后会尝试调查。感谢您的信息。
  • 更准确的 tl;dr 将是对(标题)问题的无条件 yes;事实上,在某些情况下你必须自己安装它,而在其他情况下框架可以为你安装它,这是一个有趣的区别,但次要于(标题)问题:为了利用 GPU,总是需要 CUDA。跨度>
  • 公平点 - 问题本身并不清楚,但它被标记为 nvidia,我想我们可以轻松地假设它与 NVIDIA GPU 有关。
【解决方案2】:
  • 是的,您可以在没有 CUDA 的情况下仅在 CPU 上训练 Tensorflow 或 Pytorch 深度学习模型。
  • 但您必须安装 CUDA 库才能在 GPU 上训练您的模型。

Tensorflow 和 Pytorch 的标准版本是 python 库,而 CUDA 库是系统级库,因此通常独立安装,尽管 Pytorch 似乎确实提供了安装它的二进制文件(参见@Rika's回答)

【讨论】:

  • 对于 Pytorch,您不需要安装它们,除非您想要一个默认情况下不构建 pytorch 二进制文件的 cuda 版本。在这种情况下,您应该从源代码构建它,然后才需要在本地安装特定的 cuda。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 2012-12-10
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多