2017-02-24 13 views
0

連続した予測のための単純なn層のスタックされたRNN(LSTM、GRUなど)、最も効率的なデバイス配置戦略(複数のGPUが利用可能な場合)私は、RNNの各レイヤに1つのGPUを割り当てるのが好ましいと思うが、softmaxと損失計算はどうなるのだろうか? GPUやCPUに置かなければならないのでしょうか?さらに注意メカニズムを追加すると、CPUに注意を払う必要がありますか?RNNに最適なデバイス配置戦略?

+0

どのような組み合わせをプロファイリングしましたか? – user2717954

答えて

0

これは研究の活発な分野です。一般的には、ネットワークの特性によって異なります。おそらく、あなたが同じGPUにソフトマックスとロスを置くことを望んでいるかもしれません。おそらく最上位層のGPU、またはgpu:0のいずれかになります。注目に値する、私は非常に明確な答えがあるとは思わない。注意重みのサイズなどの大きさによって異なります。これらの場合、私がsoftmax/lossについて提案した2つのプレースメントを試してみることをお勧めします。これにより、4つの可能な場所でグリッド検索が行われます。それらすべてを試してみてください:)

+0

ありがとう! softmax/attentionのためにさまざまなデバイスの配置を試みる前に、1つのGPUと4つのGPUを使用して多層RNNを使用することの違いを比較しようとしました。私が試したモデルは、1dコンボリューション+ドロップアウト+ 4 GRU +ソフトマックスのアーキテクチャを持ち、これらのレイヤに4 GPUを配備しようとしました。しかし、4つのGPUを使用するのは実際には1 GPU(1 GPUのタイムライン:[link](https://drive.google.com/open?id=0Bycn-mCLj2bvWGxsbnRva3hWN2M)、4 GPUのタイムライン[リンクライン(https://drive.google.com/open?id=0Bycn-mCLj2bvZXExYlhnRE5ZRm8)) – thinkbear

+0

タイムラインプロファイルから判断すると、4-GPUバージョンでは、1つのGPUで1つのレイヤーRNNを計算すると、 1-GPUバージョンよりも長い時間です。改善できる明確なことはありますか? – thinkbear

関連する問題