2017-02-24 73 views
0

考慮一個簡單的n層堆疊RNN(LSTM,GRU等)用於順序預測,什麼是最有效的設備佈局策略(如果有多個GPU可用)?我認爲如果首選將一個GPU專用於RNN的每一層,那麼Softmax和損失計算又如何呢?它們應該放置在GPU還是CPU上?更重要的是,如果我們進一步增加註意機制,是否應該把注意力放在CPU上?RNN的最佳設備放置策略?

+0

您是否嘗試過分析任何組合? – user2717954

回答

0

這是一個活躍的研究領域;一般來說它取決於你網絡的細節。可能你想把softmax和loss放在同一個GPU上(如果它們合適的話);可能在頂層的GPU上,或者在GPU上:0。關於注意力,我不認爲有一個非常明確的答案。這取決於你的關注體重的大小,等等。在這些情況下,你最好的選擇就是嘗試我提出的softmax/loss的兩個位置。這給你一個網格搜索4個可能的位置。嘗試全部並回報:)

+0

謝謝!在我開始爲softmax /注意力嘗試不同的設備位置之前,我嘗試比較使用1個GPU與4個GPU對於多層RNN的區別。我嘗試過的模型具有以下架構:1d卷積+丟失+ 4 GRU + softmax,我試圖將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版本中,在一個GPU上計算單層RNN比1-GPU版本更長的時間。有沒有什麼明顯的可以改進的地方? – thinkbear