[發明專利]用于神經網絡環境中的增強數據處理的方法、系統和介質有效
| 申請號: | 201880024892.5 | 申請日: | 2018-04-06 |
| 公開(公告)號: | CN110506260B | 公開(公告)日: | 2023-09-22 |
| 發明(設計)人: | G·彼得;C·B·麥克布賴德;A·A·安巴德卡;K·D·塞多拉;B·博布羅夫;L·M·瓦爾 | 申請(專利權)人: | 微軟技術許可有限責任公司 |
| 主分類號: | G06F15/80 | 分類號: | G06F15/80 |
| 代理公司: | 北京市金杜律師事務所 11256 | 代理人: | 姚杰 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 神經網絡 環境 中的 增強 數據處理 方法 系統 介質 | ||
神經網絡(NN)和/或深度神經網絡(DNN)的性能可能會受到被執行的操作的數量以及NN/DNN的各種存儲器組件之間的數據管理的限制。通過在輸入數據中插入選擇的填充以對齊存儲器中的輸入數據,數據讀取/寫入可以被優化以供NN/DNN處理,從而增強NN/DNN的整體性能。操作上,操作控制器/迭代器可以生成一個或多個指令,其將所選填充插入數據中。可以使用輸入數據的各種特性以及NN/DNN以及協作存儲器組件的特性來計算數據填充。輸出數據上的填充可用于支持NN/DNN的存儲器組件和協作處理單元處的數據對齊。
背景技術
在神經網絡(NN)或深度神經網絡(DNN)的示例性層上執行諸如卷積的一個或多個處理操作時,從存儲器中讀取數據會占用由NN/DNN消耗的大量時間和處理資源的花費。通常,NN/DNN的控制器組件的任務是執行迭代大量數據以便于應用特定操作所需的處理操作。通常,一些現有的NN和DNN在執行包括對NN/DNN的各種協作存儲器組件(例如,行緩沖器)的存儲器讀和寫的各種操作以及對層數據執行一種或多種操作以優化處理操作中,花費可避免的處理時間(例如,每秒浮點/定點操作(GFlops/s))和存儲器空間(例如,每秒傳送的字節數(GBytes/s))。
具體地,當前實踐并未標識輸入/數據的關鍵特征和/或未向NN或DNN的協作組件提供以下指令:關于如何最佳地管理/指導對協作NN或DNN存儲器組件中的輸入數據的讀/寫操作,以及利用存儲器中的數據特征來避免性能問題。與NN或DNN中低效率的數據處理相關聯的性能影響的部分原因是NN或DNN的神經處理組件之間的數據的低效處理。這種低效的數據管理和處理需要額外的、通常是可以避免的計算/神經處理器操作,這些操作會對整個NN/DNN性能產生負面影響。
更有利的NN/DNN將部署指令集合,該指令集合指導NN/DNN的協作控制器和處理組件,以基于指定的數據維度(例如數據的大小,如在邏輯數據模型中表示的數據的連續性等)來操作地在邏輯上映射輸入數據,并在協作存儲器組件中對齊邏輯映射的數據,這將在數據處理周期期間最小化對協作存儲器組件的讀取和寫入次數。在操作上,新對齊的數據導致減少的存儲器操作數目。存儲器中數據的對齊可以使用各種數據填充技術來實現。
相對于這些考慮和其他考慮,提出了本文進行的公開。
發明內容
本文描述的技術提供了在示例性神經網絡(NN)和/或深度神經網絡(DNN)環境中使用的一個或多個硬件迭代器的虛擬化,其中用于對齊存儲器組件中的數據的數據的物理填充允許數據的處理,該數據的處理提高整體性能并優化存儲器管理。應當理解,本文描述的系統和方法適用于NN和/或DNN,并且因此,當提及NN時,其也應指DNN,反之亦然。
在示意性實現中,示例性DNN環境可以包括一個或多個處理塊(例如計算機處理單元–CPU)、存儲器控制器、行緩沖器、高帶寬結構(例如本地或外部結構)(例如數據總線在示例性DNN模塊和DNN環境的協作組件之間傳遞數據和/或數據元素)、操作控制器和DNN模塊。在示意性實現中,示例性DNN模塊可以包括示例性DNN狀態控制器、描述符列表控制器(DLC)、dMA(DDMA)、DMA流激活(DSA)、操作控制器、加載控制器和存儲控制器。
在示意性操作中,NN/DNN環境的操作控制器可以操作地處理大量數據,以便應用一個或多個所需的數據處理操作(例如卷積、最大池化、標量乘法/加法、求和、完全連接等)。在示意性操作中,參與的用戶可以指定要處理的數據的維度,以及有關如何處理數據以供NN/DNN計算環境使用的配置。
在示意性實現中,由NN/DNN環境處理的數據可以表示為blob。通常,blob表示存儲器中需要迭代的數據。每個blob可以維持由諸如寬度、高度、通道數、內核數和其他可用維度單位的各種維度來定義的邏輯映射形狀。在示意性操作中,操作控制器可以遍歷多維blob(例如由邏輯數據映射定義)或這種blob的較小N維切片,其中N是維數(例如對于表示具有寬度、高度和通道數的圖像的3D?blob-N=3)(例如使用一個或多個硬件或虛擬迭代器)。遍歷的blob可以用一個或多個指令被傳送到協作行緩沖區,以管理行緩沖區中遍歷數據的讀/寫。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟技術許可有限責任公司,未經微軟技術許可有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880024892.5/2.html,轉載請聲明來源鉆瓜專利網。





