[發(fā)明專利]基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方法有效
| 申請?zhí)枺?/td> | 201911423801.8 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN111190716B | 公開(公告)日: | 2022-06-03 |
| 發(fā)明(設(shè)計)人: | 余金城;葛廣君;汪玉;楊華中 | 申請(專利權(quán))人: | 清華大學(xué) |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06N3/02 |
| 代理公司: | 北京清亦華知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11201 | 代理人: | 付文虹 |
| 地址: | 10008*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 中斷 神經(jīng)網(wǎng)絡(luò) 加速器 任務(wù) 調(diào)度 方法 | ||
本發(fā)明公開了一種基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方法,該方法包括:通過待部署神經(jīng)網(wǎng)絡(luò)模型的每個神經(jīng)網(wǎng)絡(luò)生成正常指令序列,處理正常指令序列生成中斷位置;獲取中斷位置進行網(wǎng)絡(luò)切換所需必要數(shù)據(jù),并將必要數(shù)據(jù)對應(yīng)操作編碼為虛擬指令;將正常指令序列和虛擬指令封裝,得到包含虛指令的指令序列;在運行階段時,同時調(diào)度多個神經(jīng)網(wǎng)絡(luò)對應(yīng)的指令序列,對每個神經(jīng)網(wǎng)絡(luò)對應(yīng)的封裝后的包含虛指令的指令序列進行解封,得到正常指令和虛擬指令,根據(jù)任務(wù)切換請求對正常指令和虛擬指令進行微調(diào)。該方法通過監(jiān)控當(dāng)前神經(jīng)網(wǎng)絡(luò)任務(wù)執(zhí)行狀態(tài),在任務(wù)切換時僅僅對極少數(shù)必須備份和恢復(fù)片上緩存進行備份和恢復(fù),實現(xiàn)低延遲、低代價的多任務(wù)切換。
技術(shù)領(lǐng)域
本發(fā)明涉及人工智能算法加速器技術(shù)領(lǐng)域,特別涉及一種基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方法。
背景技術(shù)
近年來,神經(jīng)網(wǎng)絡(luò)已經(jīng)引起了越來越多的關(guān)注,并在人工智能技術(shù)領(lǐng)域引起了巨大的進步。然而,神經(jīng)網(wǎng)絡(luò)推理需要消耗大量的計算和存儲資源,傳統(tǒng)的CPU難以對神經(jīng)網(wǎng)絡(luò)進行實時計算。有工作利用GPU對神經(jīng)網(wǎng)絡(luò)推理進行加速,然而GPU存在計算功耗高、計算資源利用率低等缺點。為了解決CPU和GPU處理神經(jīng)網(wǎng)絡(luò)存在的實時性和功耗問題,基于ASIC和FPGA的神經(jīng)網(wǎng)絡(luò)加速器被提出來實現(xiàn)神經(jīng)網(wǎng)絡(luò)的高能效推理。加速器具有很多優(yōu)點:其一,專用加速器可以根據(jù)應(yīng)用設(shè)計專門優(yōu)化的計算和存儲單元,進行高效率的數(shù)據(jù)重復(fù)使用,減少對片外存儲的訪問,降低功耗。其二,專用加速器可以充分利用神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)冗余,利用低比特的數(shù)據(jù)表示和完成計算,同時減少計算硬件資源和帶寬資源需求。其三,神經(jīng)網(wǎng)絡(luò)專用加速器可以非常容易地與其他加速單元(如向量計算單元)等相結(jié)合,提升應(yīng)用系統(tǒng)整體能效。
神經(jīng)網(wǎng)絡(luò)加速器在機器人、服務(wù)器等應(yīng)用場景中取得了不錯的效果,但是現(xiàn)有加速器工作主要對單一網(wǎng)絡(luò)進行加速,缺乏對多種神經(jīng)網(wǎng)絡(luò)的同時運行的支持,導(dǎo)致系統(tǒng)靈活性和應(yīng)用范圍大幅下降。例如,在機器人應(yīng)用中,由于加速器缺乏多任務(wù)支持,無法在一個加速器上同時完成視覺里程計和場景識別,需要添加額外的加速器,導(dǎo)致額外的硬件資源浪費和能量消耗。
一些指令驅(qū)動的加速器,可以通過不同的指令控制需要運行的網(wǎng)絡(luò),實現(xiàn)多個任務(wù)之間的切換。當(dāng)前常見的多任務(wù)切換方法有兩種:其一是按層/按網(wǎng)絡(luò)調(diào)度方法,即在完成一個神經(jīng)網(wǎng)絡(luò)的一層/全部計算(取決于調(diào)度粒度)之后才能進行網(wǎng)絡(luò)任務(wù)切換。其二是即時中斷方法,即在結(jié)束當(dāng)前運行指令之后立即對正在運行的神經(jīng)網(wǎng)絡(luò)狀態(tài)進行備份,切換目標任務(wù),待新任務(wù)完成之后,恢復(fù)原神經(jīng)網(wǎng)絡(luò)運行狀態(tài)并繼續(xù)執(zhí)行。
但該任務(wù)切換方法都存在一些問題,如神經(jīng)網(wǎng)絡(luò)計算量大,某些層的計算延遲很高,整體網(wǎng)絡(luò)計算延遲更高。如果采用按層/按網(wǎng)絡(luò)調(diào)度方法,新任務(wù)需要等待當(dāng)前層/網(wǎng)絡(luò)計算結(jié)束之后才能開始,導(dǎo)致任務(wù)切換延遲巨大,按層/按模型調(diào)度的任務(wù)切換延遲在數(shù)毫秒到數(shù)十毫秒之間。即時中斷方法需要對運行狀態(tài)進行恢復(fù)和備份,不同于CPU中斷只需要備份和恢復(fù)少數(shù)寄存器,神經(jīng)網(wǎng)絡(luò)加速器需要備份和恢復(fù)的寄存器數(shù)目巨大,導(dǎo)致高額的數(shù)據(jù)備份和恢復(fù)代價,即時中斷的任務(wù)切換方法延遲超過2ms,并且有數(shù)毫秒的額外時間開銷。
因此,亟待一種全新的基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方案,實現(xiàn)低延遲、低代價的神經(jīng)網(wǎng)絡(luò)多任務(wù)切換。
發(fā)明內(nèi)容
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
為此,本發(fā)明的目的在于提出一種基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方法,該方法可實現(xiàn)低延遲、低代價的多任務(wù)切換。
為達到上述目的,本發(fā)明實施例提出了基于中斷的神經(jīng)網(wǎng)絡(luò)加速器多任務(wù)調(diào)度方法,包括以下步驟:通過待部署神經(jīng)網(wǎng)絡(luò)模型的每個神經(jīng)網(wǎng)絡(luò)生成正常指令序列,處理所述正常指令序列生成中斷位置;獲取所述中斷位置進行網(wǎng)絡(luò)切換所需必要數(shù)據(jù),并將所述必要數(shù)據(jù)對應(yīng)操作編碼為虛擬指令;將所述正常指令序列和所述虛擬指令封裝,得到包含虛指令的指令序列;在運行階段時,調(diào)度并解封多個神經(jīng)網(wǎng)絡(luò)封裝后的包含虛指令的指令序列,生成正常指令和虛擬指令,根據(jù)多個任務(wù)間切換請求對正常指令和虛擬指令進行微調(diào),調(diào)至下一任務(wù)的指令序列。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于清華大學(xué),未經(jīng)清華大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911423801.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計算設(shè)備及計算機存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設(shè)備
- 一種適應(yīng)目標數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





