Tensorflow在Local GPU上比Colab GPU在LSTM上慢



关于Colab GPU速度较慢有很多问题,但在我的情况下,情况正好相反。我尝试用tensorflow 2.4.0训练LSTM -

  1. 我的本地GPU - NVIDIA 1660Ti(计算能力- 7.5)
  2. Colab GPU - Tesla K80(计算能力- 3.7)

在colab上,单个epoch大约需要3.5分钟,而在我的gpu上需要10.5分钟。现在,我看到的基准测试显示,1660Ti应该比特斯拉K80快得多,所以我无法找出导致这个问题的原因。我尝试了不同版本的nvidia驱动程序,cudnn和cuda,但似乎没有区别

基准测试:http://ai-benchmark.com/ranking.html

型号说明:

Model: "model_2"
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_2 (InputLayer)            [(None, None)]       0                                            
__________________________________________________________________________________________________
embedding_1 (Embedding)         (None, None, 50)     1659000     input_2[0][0]                    
__________________________________________________________________________________________________
input_3 (InputLayer)            [(None, 64)]         0                                            
__________________________________________________________________________________________________
input_4 (InputLayer)            [(None, 64)]         0                                            
__________________________________________________________________________________________________
lstm_2 (LSTM)                   (None, None, 64)     29440       embedding_1[1][0]                
                                                                 input_3[0][0]                    
                                                                 input_4[0][0]                    
__________________________________________________________________________________________________
lstm_3 (LSTM)                   [(None, None, 64), ( 33024       lstm_2[1][0]                     
__________________________________________________________________________________________________
dense (Dense)                   (None, None, 33180)  2156700     lstm_3[1][0]                     
==================================================================================================
Total params: 3,878,164
Trainable params: 2,219,164
Non-trainable params: 1,659,000

colab是否有tensorflow的优化版本?或者这和操作系统有关,因为我用的是Windows。请帮我一下。

From comments

我认为GPU比较没有意义,你的本地GPU是笔记本电脑一个,而特斯拉K80是一个数据中心GPU,有着很大的不同热剖面,而K80有三倍以上的计算核心比1660Ti。所有基准测试都接近可能会使用的工作负载,因此工作负载在这个基准测试偏向于包括INT8,而K80不是INT8很好,但是训练神经网络是在FP32上完成的。最后是K80是一个比笔记本电脑快得多的GPU。

我也这么怀疑,但是我的gpu在处理cnn时比Tesla K80要快,这就是我问这个问题的原因。

当然,MNIST cnn并没有真正告诉你很多关于性能的信息(太小了)模型),我的观点是不存在像GPU A那样的通用声明总是比GPU B快,这完全取决于工作负载,你只要在一个工作负载中,K80要快得多。事实并非如此考虑到它有3倍多的计算元素,令人惊讶。

(转述自史努比博士)

相关内容

  • 没有找到相关文章

最新更新