我很想详细了解 GPU 在技术方面对训练深度学习模型有何帮助。
据我了解,GPU 有助于同时执行独立任务以提高速度。例如,在通过 CNN 计算输出时,所有的加法都是同时进行的,从而提高了速度。
但是,在基本神经网络或与 GPU 相关的 LSTM 类型的复杂模型中究竟发生了什么。
我很想详细了解 GPU 在技术方面对训练深度学习模型有何帮助。
据我了解,GPU 有助于同时执行独立任务以提高速度。例如,在通过 CNN 计算输出时,所有的加法都是同时进行的,从而提高了速度。
但是,在基本神经网络或与 GPU 相关的 LSTM 类型的复杂模型中究竟发生了什么。
GPU 能够并行执行大量相似且简单的指令(浮点运算,如加法和乘法)。与能够非常快速地顺序执行一些复杂任务的 CPU 相比。因此,GPU 非常擅长进行向量和矩阵运算。
如果您查看在单个基本 NN 层内执行的操作,您会发现大多数操作都是矩阵向量乘法:
在哪里是输入向量,权重矩阵,中的偏置向量层,输出向量和逐元素非线性激活。这里的计算复杂度由矩阵向量乘法控制。如果您查看LSTM 单元的架构,您会注意到其中有多个此类操作。
能够快速有效地并行执行矩阵向量运算将减少执行时间,这是 GPU 优于 CPU 的地方。