Systems and methods for multicore optimized recurrent neural network (RNN) architectures are disclosed. Various architectures influence communication and synchronization operations according to the multiple simultaneous synchronous parallel (MBSP) model of a given processor. The network architecture of MBSP group called RNN obtained similar to conventional RNN with the same number of parameters as in execution, but mapped to modern processor is significantly more effective. Because of a substantial increase in computational efficiency, therefore, for a fixed budget, MBSP RNN in applications such as end to end speech recognition is better than RNN.
【技術實現步驟摘要】
用于多核優化循環神經網絡的系統和方法
本專利技術涉及計算機處理,并且更具體地涉及通過降低同步和通信的成本來提高計算效率的系統、設備和方法。
技術介紹
循環神經網絡(RNN)是一種類型的人工神經網絡,其中在給定時間步長中的單元集合的輸出被饋送至在下一時間步長中的相同單元的輸入,由此,賦予網絡隨時間持續的記憶的概念。RNN的計算結構使其本身形成可解決復雜的序列至序列映射問題的網絡,例如要求時間序列數據的變換的問題。例如,語音識別應用中的將記錄的音頻波形從模擬域映射到該音頻數據的文本表示的變換。然而,盡管CMOS技術的發展和RNN架構利用以小獨立塊的方式同時執行大任務中的多個部分的并行性的能力使得算數運算的吞吐量增加,但是常用RNN仍然存在顯著缺點,例如,同步成本和通信成本的提高。詳細來說,由于計算機的基本物理限制,RNN神經元的全部至全部的連接要求相對大量的通信帶寬。另外,每當連接在時間序列中的連續時間步長中建立在計算單元(神經元)之間時,必須執行昂貴的同步操作。RNN內的每個單元讀取所有輸入并且寫入所有輸出,使得當單元映射到計算機中的處理單元中時,數據必須在有限量的時間內跨越多個計算機。然而,單元之間的此類通信減慢連續時間步長中連接的執行,并且增加其中數據可被傳輸的時間間隔,由此無論實際在單元之間移動的數據的量多少,都會致使通信發生時延。因此,將會期望,通過增加從一個神經元的輸出至另一神經元的輸入的通信之間經過的允許時段來放寬現有時延要求,使得多個時間步長可發生在數據通信步驟之間。另外,除了同步操作所造成的時間約束問題之外,現有RNN架構的另一限制基于以下事 ...
【技術保護點】
一種通過將循環神經網絡架構映射至計算設備的處理器的微架構來改進所述計算設備的計算性能的方法,所述方法包括:基于所述處理器的微架構的描述,獲得與存儲器的級相關聯的值;以及對于所述循環神經網絡架構的層級中的最低級至最高級,每個級與所述處理器的微架構相關聯并通過存儲器容量、處理器核心數、帶寬、計算帶寬和時延中的至少兩個來描述;將神經元分組成模塊,每個模塊表示所述循環神經網絡構架內的循環神經網絡層中的邏輯單元;以及將連接布置在所述模塊之間,使得所述模塊滿足所述循環神經網絡架構的預定條件,所述循環神經網絡架構的所述預定條件與存儲器容量、處理器核心數、帶寬、計算帶寬和時延中的所述至少兩個有關。
【技術特征摘要】
2015.12.11 US 62/266,515;2016.04.05 US 15/091,4131.一種通過將循環神經網絡架構映射至計算設備的處理器的微架構來改進所述計算設備的計算性能的方法,所述方法包括:基于所述處理器的微架構的描述,獲得與存儲器的級相關聯的值;以及對于所述循環神經網絡架構的層級中的最低級至最高級,每個級與所述處理器的微架構相關聯并通過存儲器容量、處理器核心數、帶寬、計算帶寬和時延中的至少兩個來描述;將神經元分組成模塊,每個模塊表示所述循環神經網絡構架內的循環神經網絡層中的邏輯單元;以及將連接布置在所述模塊之間,使得所述模塊滿足所述循環神經網絡架構的預定條件,所述循環神經網絡架構的所述預定條件與存儲器容量、處理器核心數、帶寬、計算帶寬和時延中的所述至少兩個有關。2.根據權利1所述的方法,其中,布置連接包括刪減在所述模塊之間的雙向連接以平衡所述預定條件。3.根據權利1所述的方法,其中,對于處理器存儲器的每個級,所述預定條件包括表示神經元的參數適配所述處理器存儲器的容量。4.根據權利1所述的方法,其中,對于處理器存儲器的每個級,所述預定條件包括與模塊間的連接有關的同步成本近似等于對所述神經元進行評估的計算成本。5.根據權利1所述的方法,其中,對于處理器存儲器的每個級,所述預定條件包括與模塊內的連接和模塊間的連接有關的帶寬成本和時延成本中的至少一個近似等于對所述神經元進行評估的計算成本。6.根據權利1所述的方法,其中,布置連接包括通過在下一時間步長上將一個模塊的輸出連接至其它模塊的輸入的子集來形成稀疏連接,以減小通信帶寬,使得用于加載在芯片上存儲器上的所述模塊的所有權重在所有時間步長上可被重新使用。7.根據權利1所述的方法,還包括隨時間延遲更新模塊之間的連接,其中,所述時間延遲增加神經元必須執行同步以改善模塊之間的通信帶寬和同步中的至少一個的時間。8.根據權利1所述的方法,還包括,在相同層內:將時間序列輸入劃分成獨立連續的時間分段,所述獨立連續的時間分段通過所述循環神經網絡的第一部分處理,以對每個時間分段生成中間結果;在所述中間結果上運行所述循環神經網絡的第二部分;以及使用所處理的中間結果在輸入數據子分部上運行所述循環神經網絡的第三部分。9.根據權利1所述的方法,還包括:將位于第一循環神經網絡層中的快速模塊中的單獨神經元連接至位于第二循環神經網絡層中的慢速模塊中的單獨神經元;將各層中的每個模塊連接至該層中的其它模塊;以及經由模塊間的連接將所述快速模塊連接至所述慢速模塊。10.一種循環神經網絡架構,所述循環神經網絡架構設計用于在計算設備處理器微架構上操作,以改進所述計算設備的計算性能,所述循環神經網絡架構包括:神經元;包括所述神經元的模塊,所述模塊表示邏輯單元,并且根據處理器微架構的分級結構的級來布置以模擬包括處理器的單獨計算資源的分級結構,使...
【專利技術屬性】
技術研發人員:格雷戈里·迪莫斯,阿維尼·漢奈,布賴恩·卡坦扎羅,達理奧·阿默迪,艾瑞克·艾樂森,耶西·恩格爾,舒哈布拉塔·森古普帕,
申請(專利權)人:百度美國有限責任公司,
類型:發明
國別省市:美國,US
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。