我正在一个小型移动 GPU 上使用 Keras 训练 LSTM 神经网络。GPU上的速度比CPU上的慢。我发现一些文章说很难在 GPU 上训练 LSTM(通常还有 RNN),因为训练不能并行化。
这是真的?在大型 GPU(如 1080 Ti)上训练 LSTM 是否比在 CPU 上更快?
我正在一个小型移动 GPU 上使用 Keras 训练 LSTM 神经网络。GPU上的速度比CPU上的慢。我发现一些文章说很难在 GPU 上训练 LSTM(通常还有 RNN),因为训练不能并行化。
这是真的?在大型 GPU(如 1080 Ti)上训练 LSTM 是否比在 CPU 上更快?
来自 Nvidia www ( https://developer.nvidia.com/discover/lstm ):
使用 GPU 加速长短期记忆
GPU 的并行处理能力可以加速 LSTM 训练和推理过程。GPU 是 LSTM 使用的事实标准,与 CPU 实现相比,在训练期间提供 6 倍的加速,在推理期间提供 140 倍的吞吐量。cuDNN 是一个 GPU 加速的深度神经网络库,支持训练 LSTM 循环神经网络以进行序列学习。TensorRT 是一种深度学习模型优化器和运行时,支持在 GPU 上推断 LSTM 递归神经网络。cuDNN 和 TensorRT 都是 NVIDIA 深度学习 SDK 的一部分。
我发现 Keras 中有 cuDNN 加速单元,例如https://keras.io/layers/recurrent/#cudnnlstm。他们非常快。正常的 LSTM 单元在 CPU 上比在 GPU 上更快。