亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于利用三角輸入掩碼對數(shù)據(jù)進(jìn)行掩碼和歸一化的硬件加速的系統(tǒng)和方法與流程

文檔序號:40401720發(fā)布日期:2024-12-20 12:25閱讀:5來源:國知局
用于利用三角輸入掩碼對數(shù)據(jù)進(jìn)行掩碼和歸一化的硬件加速的系統(tǒng)和方法與流程


背景技術(shù):

1、現(xiàn)場可編程門陣列(fpga)是包括邏輯塊陣列和這些邏輯塊之間的可重配置互連的硬件設(shè)備。在(或以前的)產(chǎn)品中,這些邏輯塊可以被稱為自適應(yīng)邏輯模塊(alm),而在產(chǎn)品中,這些邏輯塊可以被稱為可配置邏輯塊(clb)。每個(gè)邏輯塊可以包括可編程邏輯,諸如用于執(zhí)行從輸入到輸出的可配置邏輯映射的一個(gè)或多個(gè)查找表(lut)、用于添加輸入值的加法器、用于臨時(shí)保持?jǐn)?shù)據(jù)的寄存器等。利用配置文件對fpga進(jìn)行編程或配置設(shè)置互連(或互連“結(jié)構(gòu)”)以將不同的邏輯塊接線在一起,從而配置fpga以執(zhí)行由配置文件(有時(shí)被稱為“位文件”)指定的特定功能。

2、與由通用處理器執(zhí)行的軟件實(shí)現(xiàn)方式相比,fpga帶來了在低層級(例如電路層級)處實(shí)現(xiàn)計(jì)算的更高性能和更低功耗的益處。這類似于使用專用集成電路(asic)的益處,專用集成電路(asic)諸如為專用協(xié)處理器(諸如圖形處理單元(gpu)或神經(jīng)加速器),它們分別用于加速特定于計(jì)算機(jī)圖形和人工神經(jīng)網(wǎng)絡(luò)的操作。然而,asic的設(shè)計(jì)和制造是具有高前期固定成本的漫長而昂貴的過程。

3、因此,fpga的一些應(yīng)用包括例如為最終可能在asic中實(shí)現(xiàn)的硬件設(shè)計(jì)進(jìn)行原型設(shè)計(jì)以及在(例如,由于低數(shù)量或高度專門化的計(jì)算)設(shè)計(jì)和制造asic可能不合理的情況下對計(jì)算的硬件加速。另外,fpga還提供了對底層硬件(在“現(xiàn)場”中)的重新配置的靈活性,而不會像在asic的情況下那樣被鎖定到固定硬件配置中,其中邏輯在制造時(shí)直接在電路的布局中實(shí)現(xiàn),并且因此幾乎沒有可重新配置性。一些云計(jì)算提供商提供對包括連接的fpga的硬件實(shí)例(例如,服務(wù)器)的訪問,從而允許用戶自定義fpga以執(zhí)行對計(jì)算操作的硬件加速。

4、正是關(guān)于這些和其他考慮因素,已經(jīng)做出了示例。另外,盡管已經(jīng)討論了相對具體的問題,但是應(yīng)該理解,示例不應(yīng)該僅限于解決背景中確定的具體問題。


技術(shù)實(shí)現(xiàn)思路

1、本
技術(shù)實(shí)現(xiàn)要素:
被提供從而以簡化形式介紹下面在具體實(shí)施方式部分中進(jìn)一步描述的一系列概念。本發(fā)明內(nèi)容不旨在識別所要求保護(hù)的主題的關(guān)鍵特征或基本特征,其也不旨在幫助確定所要求保護(hù)的主題的范圍。

2、本技術(shù)的方面涉及對數(shù)據(jù)掩碼(mask)的硬件加速和對掩碼的數(shù)據(jù)計(jì)算softmax函數(shù),其是機(jī)器學(xué)習(xí)的領(lǐng)域中常見的操作。作為一個(gè)示例,經(jīng)常應(yīng)用于自然語言處理的機(jī)器學(xué)習(xí)模型中的自回歸變換器模型將掩碼應(yīng)用于輸入數(shù)據(jù),以便確保變換器模型學(xué)習(xí)僅基于詞元序列中較早出現(xiàn)的詞元而不是基于該序列中較晚出現(xiàn)的詞元對該序列中的給定詞元進(jìn)行預(yù)測。將掩碼應(yīng)用于數(shù)據(jù)以通過隱藏(例如,歸零)在訓(xùn)練過程期間不應(yīng)該考慮的值來強(qiáng)制執(zhí)行此自回歸約束??紤]布置在n×n矩陣或陣列中的輸入數(shù)據(jù)值的情況,其中每行對應(yīng)于從左到右排序的不同詞元序列,則掩碼可能會遮擋通常位于每行的右側(cè)的高數(shù)據(jù)值。

3、softmax函數(shù)(也稱為softargmax或歸一化(normalized)指數(shù)函數(shù))經(jīng)常用作神經(jīng)網(wǎng)絡(luò)或其他機(jī)器學(xué)習(xí)模型的最后一個(gè)激活函數(shù),以將由機(jī)器學(xué)習(xí)模型生成的輸出(例如分?jǐn)?shù))歸一化到受約束的范圍(例如,從在(-∞,+∞)的范圍內(nèi)的不受約束的輸出到在[0,1]的范圍內(nèi)的受約束的或歸一化的輸出)。對于k個(gè)元素的匯集或向量z中的第i個(gè)元素zi,softmax函數(shù)σ的一個(gè)典型表達(dá)式被表示為:

4、

5、更詳細(xì)地,應(yīng)用于數(shù)據(jù)以強(qiáng)制執(zhí)行自回歸約束的掩碼當(dāng)應(yīng)用于n×n輸入數(shù)據(jù)矩陣時(shí)經(jīng)常采取上三角掩碼或塊上三角掩碼的形式,其中較早的行(例如,靠近輸入數(shù)據(jù)矩陣的頂部)具有較多被屏蔽(masked?out)的數(shù)據(jù)值,而較晚的行(例如,靠近輸入數(shù)據(jù)矩陣的底部)具有較少被屏蔽的數(shù)據(jù)值(或沒有被屏蔽的數(shù)據(jù)值)。這通??梢员槐硎緸槠渲械趉行(行從0到n-1編號)具有k+1個(gè)未掩碼的數(shù)據(jù)值,后面是n-k-1個(gè)被掩碼屏蔽的數(shù)據(jù)值。在這樣的上三角掩碼中,輸入數(shù)據(jù)矩陣的大約一半的值被屏蔽。

6、因此,本技術(shù)的一些方面涉及將來自兩個(gè)不同行的未掩碼的數(shù)據(jù)值組合成長度為n(或長度不大于n或小于或等于n)的單個(gè)行,并對組合的未掩碼的數(shù)據(jù)值的行的個(gè)體數(shù)據(jù)值執(zhí)行操作(例如,應(yīng)用函數(shù)),而不對掩碼的數(shù)據(jù)值執(zhí)行計(jì)算(因?yàn)檫@些掩碼的數(shù)據(jù)值與期望的最終輸出無關(guān))。在屏蔽輸入數(shù)據(jù)值的大約一半的三角掩碼的情況下,這具有幾乎使硬件加速器的計(jì)算吞吐量翻倍的效果,因?yàn)橛?jì)算資源不會浪費(fèi)在對對計(jì)算的最終結(jié)果沒有影響的掩碼的數(shù)據(jù)值執(zhí)行計(jì)算上。

7、本技術(shù)的一些方面還涉及在硬件加速器內(nèi)實(shí)現(xiàn)掩碼的行為,從而避免與將掩碼從主機(jī)傳輸?shù)接布铀倨飨嚓P(guān)聯(lián)的帶寬和延時(shí)成本。另外,避免與將掩碼應(yīng)用于輸入數(shù)據(jù)相關(guān)聯(lián)的計(jì)算還減少對硬件加速器的計(jì)算負(fù)荷。

8、因此,根據(jù)本技術(shù)的各個(gè)方面的對數(shù)據(jù)掩碼和數(shù)據(jù)的歸一化的硬件加速改進(jìn)包括此類操作的機(jī)器學(xué)習(xí)模型訓(xùn)練過程的性能。性能的改進(jìn)涉及計(jì)算時(shí)間(例如,處理器時(shí)間)的減少、數(shù)據(jù)存儲和帶寬(例如,存儲器使用和通過通信總線傳輸?shù)臄?shù)據(jù))、能耗的減少,并且在一些示例中,減少在現(xiàn)場可編程門陣列(fpga)上的某些實(shí)現(xiàn)方式中以及在諸如專用集成電路(asic)和其他專用集成電路的其他硬件實(shí)現(xiàn)方式中使用的物理硬件的量。

9、一個(gè)或多個(gè)方面的細(xì)節(jié)在下面的附圖和描述中闡述。從閱讀以下詳細(xì)描述和審閱相關(guān)聯(lián)的附圖,其他特征和優(yōu)點(diǎn)將顯而易見。應(yīng)理解,以下詳細(xì)描述僅是解釋性的,并不限制所要求保護(hù)的本發(fā)明。



技術(shù)特征:

1.一種用于加速現(xiàn)場可編程門陣列(fpga)中的計(jì)算的方法,所述現(xiàn)場可編程門陣列包括連接多個(gè)邏輯塊的可配置互連結(jié)構(gòu),所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其中所述掩碼是三角掩碼。

3.根據(jù)權(quán)利要求1所述的方法,還包括:

4.根據(jù)權(quán)利要求1所述的方法,其中所述掩碼歸一化電路被配置為將softmax函數(shù)應(yīng)用于所述組合的數(shù)據(jù)向量的所述第一子向量和所述組合的數(shù)據(jù)向量的所述第二子向量中的所述未掩碼的數(shù)據(jù)值,以基于所述組合的數(shù)據(jù)向量的最大未掩碼的數(shù)據(jù)值計(jì)算n個(gè)歸一化的值的所述組合的歸一化的數(shù)據(jù)向量。

5.根據(jù)權(quán)利要求1所述的方法,還包括:

6.根據(jù)權(quán)利要求1所述的方法,其中所述掩碼歸一化電路經(jīng)由所述fpga的設(shè)備存儲器的第一端口讀取所述輸入數(shù)據(jù)的所述行的所述r[i]個(gè)未掩碼的數(shù)據(jù)值,同時(shí)經(jīng)由所述fpga的所述設(shè)備存儲器的第二端口讀取所述輸入數(shù)據(jù)的所述另一行的所述n-r[i]個(gè)未掩碼的數(shù)據(jù)值。

7.根據(jù)權(quán)利要求1所述的方法,其中合并所述行的所述r[i]個(gè)未掩碼的數(shù)據(jù)值和所述另一行的所述n-r[i]個(gè)數(shù)據(jù)值由所述掩碼歸一化電路的按位或電路執(zhí)行。

8.根據(jù)權(quán)利要求1所述的方法,還包括訓(xùn)練機(jī)器學(xué)習(xí)模型,包括:

9.一種計(jì)算機(jī)存儲介質(zhì),所述計(jì)算機(jī)存儲介質(zhì)存儲配置文件,所述配置文件指定包括可配置互連結(jié)構(gòu)和多個(gè)邏輯塊的現(xiàn)場可編程門陣列(fpga)的配置,其中基于所述配置文件而被配置的fpga包括由所述可配置互連結(jié)構(gòu)連接的、實(shí)現(xiàn)掩碼歸一化電路的邏輯塊,所述掩碼歸一化電路被配置為:

10.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)存儲介質(zhì),其中所述掩碼是三角掩碼。

11.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)存儲介質(zhì),其中所述配置文件還指定所述fpga的所述可配置互連結(jié)構(gòu)和所述邏輯塊的所述配置以用虛擬行填充所述輸入數(shù)據(jù),其中所述虛擬行的所述數(shù)據(jù)值中的所有數(shù)據(jù)值都被掩碼,并且其中所述虛擬行具有負(fù)索引。

12.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)存儲介質(zhì),其中所述配置文件還指定所述fpga的所述可配置互連結(jié)構(gòu)和所述邏輯塊的所述配置以實(shí)現(xiàn)指數(shù)電路,所述指數(shù)電路被配置為將softmax函數(shù)應(yīng)用于所述組合的數(shù)據(jù)向量的所述第一子向量和所述組合的數(shù)據(jù)向量的所述第二子向量中的所述未掩碼的數(shù)據(jù)值,以基于所述組合的數(shù)據(jù)向量的最大未掩碼的數(shù)據(jù)值計(jì)算n個(gè)歸一化的值的所述組合的歸一化的數(shù)據(jù)向量。

13.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)存儲介質(zhì),其中所述配置文件還指定所述fpga的所述可配置互連結(jié)構(gòu)和所述邏輯塊的所述配置以實(shí)現(xiàn)行拆分和填充電路,所述行拆分和填充電路被配置為:

14.根據(jù)權(quán)利要求9所述的計(jì)算機(jī)存儲介質(zhì),其中所述配置文件還指定所述fpga的所述可配置互連結(jié)構(gòu)和所述邏輯塊的所述配置以將所述第一局部掩碼塊連接到所述fpga的設(shè)備存儲器的第一端口并將所述第二局部掩碼塊連接到所述fpga的所述設(shè)備存儲器的第二端口。

15.一種現(xiàn)場可編程門陣列(fpga),包括連接多個(gè)邏輯塊的可配置互連結(jié)構(gòu),所述可配置互連結(jié)構(gòu)和所述邏輯塊被配置為實(shí)現(xiàn)掩碼歸一化電路,所述掩碼歸一化電路被配置為:


技術(shù)總結(jié)
一種現(xiàn)場可編程門陣列包括連接邏輯塊的可配置互連結(jié)構(gòu),該邏輯塊實(shí)現(xiàn)電路以:接收包括組織成行和列的數(shù)據(jù)值的輸入數(shù)據(jù),每行具有N個(gè)數(shù)據(jù)值;根據(jù)掩碼和行的索引i選擇輸入數(shù)據(jù)的行的R[i]個(gè)未掩碼的數(shù)據(jù)值;根據(jù)掩碼和另一行的索引選擇輸入數(shù)據(jù)的另一行的N?R[i]個(gè)未掩碼的數(shù)據(jù)值;將該行的R[i]個(gè)未掩碼的數(shù)據(jù)值和該另一行的N?R[i]個(gè)數(shù)據(jù)值合并成N個(gè)數(shù)據(jù)值的組合的數(shù)據(jù)向量;以及基于組合的數(shù)據(jù)向量的R[i]個(gè)未掩碼的數(shù)據(jù)值計(jì)算R[i]個(gè)歸一化的值并基于組合的數(shù)據(jù)向量的N?R[i]個(gè)數(shù)據(jù)值計(jì)算N?R[i]個(gè)歸一化的值以生成N個(gè)歸一化的數(shù)據(jù)值。

技術(shù)研發(fā)人員:奚錦文
受保護(hù)的技術(shù)使用者:微軟技術(shù)許可有限責(zé)任公司
技術(shù)研發(fā)日:
技術(shù)公布日:2024/12/19
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1