麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于RISC-V向量的深度神經網絡量化加速方法

文檔序號:41769969發布日期:2025-04-29 18:40閱讀:4來源:國知局
一種基于RISC-V向量的深度神經網絡量化加速方法

本發明主要涉及計算機體系結構和微處理器架構領域、深度學習鄰域,特別是涉及一種基于risc-v向量的深度神經網絡量化加速方法。


背景技術:

1、傳統上,復雜的深度神經網絡計算通常在云端數據中心進行。然而,隨著深度學習應用在邊緣設備上的日益普及,由于邊緣設備的計算能力較低,并且在內存和功耗方面受限,因此迫切需要在保證計算精度的同時減小深度神經網絡的規模、加快推理速度并降低功耗。目前,結合神經網絡量化方法與新興的risc-v指令集架構,可以有效應對這些挑戰。

2、量化(quantitative)技術降低了對權重和激活精度的要求,是簡化模型復雜性的有效方法之一。我們可以從現有的浮點模型直接進行量化,將所有權重映射到一個范圍內。例如,8bit量化將權重量化到[0,255]的范圍內,無需重新訓練或重新構建模型。同時,低精度數據在參與激活時可以更快地在處理器中移動,增加緩存重用,提高計算速度,并減少存儲這些數據所需的內存。

3、risc-v是一種開源的指令集架構(isa)。與以往的isa不同,risc-v是模塊化設計的。其核心是一個名為rv32i的基礎isa,并針對不同場景定義了拓展指令集。其中,v拓展(rvv,risc-v?vector?extension)是單指令多數據(simd,single?instruction?multipledata)的變體——向量架構。在計算時,向量架構不會嵌入操作碼,而是將向量的長度和每個時鐘周期可以進行的最大操作數分離。這種設計允許更靈活地設計數據并行硬件,與傳統的simd相比,在編譯時產生更少的指令數量。

4、目前在學術界關于risc-v與深度神經網絡的研究有加拿大蒙特利爾大學定制的risc-v向量處理器sparq、瑞士蘇黎世聯邦理工學院提出了一種用于量化神經網絡推理的isa擴展,加拿大蒙特利爾大學設計了一個桶型risc-v處理器。

5、當前這些方案在risc-v指令集架構的設計原理上,通過定制處理器或向量協處理器以及定制isa擴展,從不同角度優化了量化后深度神經網絡的推理性能。然而,由于這些優化方案針對不同的神經網絡,缺乏一定的通用性。特別是在進行神經網絡權重量化與反量化時,仍然是非simd形式處理,即一條指令只能處理一個數據元素。在大規模數據處理時,這種方式需要多條指令,從而增加了時間開銷,導致效率較低。


技術實現思路

1、本發明的目的在于提供一種基于risc-v向量加速神經網絡量化的方法,旨在解決目前不同神經網絡在risc-v架構下量化與反量化時,執行相關的除加操作(divide-accumulate?operation,divadd)和乘加操作(multiply-accumulate?operation,mac)時并行度較低、指令開銷較大、數據在內存與計算單元間頻繁移動而導致的額外功耗等問題。

2、本發明是這樣實現的,一種基于risc-v向量加速神經網絡量化方法包括如下步驟:

3、步驟1:根據向量寄存器堆大小進行分塊,使得其大小和張量分塊長度一致;

4、步驟2:計算分塊后的張量的量化尺度(△,quantization?scale)與零點(z,zeropoint)保存到一個全局數據結構中;

5、步驟3:對v拓展的乘法和除法指令進行拓展;

6、步驟4:修改編譯器讓其能識別拓展的乘除指令并完成編譯;

7、步驟5:在向量架構下進行并行計算加速量化和反量化運算。

8、進一步,所述步驟1中對向量寄存器堆進行分塊,分塊后的寄存器大小與張量分塊的大小保持一致,減少張量中異常值對量化的影響。

9、進一步,所述步驟2中對分塊后的權重計算塊內的最大值和最小值,而后根據rang范圍計算對應的量化尺度(△,quantization?scale)與零點(z,zero?point),對其建立索引保存到數組中,后續反量化時便于快速查找計算。

10、進一步,所述步驟3中對v拓展的乘法和除法指令進行拓展,具體步驟如下:

11、步驟一、根據rvv?1.0標準,參考v指令中的乘法指令和除法指令設計出新的乘加指令和除加指令,說明當權重和量化尺度分配到向量寄存器和標量寄存器時指令如何正確完成量化和反量化;

12、步驟二、根據編譯器后端規范對規劃好的指令信息進行描述,在描述文件中說明指令結構,各字段具體含義,以及指令功能。

13、進一步,所述步驟4中對編譯器進行拓展,根據其分層的設計風格,從前端完成對程序量化部分識別,保證中間過程的正確性,以及后端能正確編譯為添加的乘加指令和除加指令。

14、進一步,所述步驟5在計算過程中,通過指令控制訪問向量寄存器中保存的張量權重和標量寄存中保存的量化尺度和零點完成相應的量化和反量化計算,計算完成后將向量寄存器中的權值覆蓋原張量權值。

15、本發明的有益效果如下:

16、(1)本發明支持不同量化尺度的量化運算,方法具有通用性;

17、(2)本發明將量化過程的重要操作乘加和除加操作進行了指令級的優化減少程序執行時產生的指令數量,減少了不必要的開銷;

18、(3)本發明使用向量的方式處理量化在應對大規模數據處理時,因為拓展指令的專門化且進行并行計算讓過程不需額外指令減少資源開銷。



技術特征:

1.一種基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述的基于risc-v向量的深度神經網絡量化加速方法包括如下步驟:

2.如權利要求1所述的基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述的步驟1對向量寄存器堆進行分塊,分塊后的寄存器大小與張量分塊的大小保持一致,減少張量中異常值對量化的影響。

3.如權利要求1所述的基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述步驟2中對分塊后的權重計算塊內的最大值和最小值,而后根據rang范圍計算對應的量化尺度(δ,quantization?scale)與零點(z,zero?point),對其建立索引保存到數組中,后續反量化時便于快速查找計算。

4.如權利要求1所述的基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述的步驟3對v拓展的乘法和除法指令進行拓展,其具體步驟如下:

5.如權利要求1所述的基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述的步驟4對編譯器進行拓展,根據其分層的設計風格,從前端完成對程序量化部分識別,保證中間過程的正確性,以及后端能正確編譯為添加的乘加指令和除加指令。

6.如權利要求1所述的基于risc-v向量的深度神經網絡量化加速方法,其特征在于,所述的步驟5通過指令控制訪問向量寄存器中保存的張量權重和標量寄存中保存的量化尺度和零點完成相應的量化和反量化計算,計算完成后將向量寄存器中的權值覆蓋原張量權值。


技術總結
本發明公開了一種基于RISC?V向量的深度神經網絡量化加速方法,該方法包括如下步驟:根據向量寄存器堆大小進行分塊,使得其大小和張量分塊長度一致;計算分塊后的張量的量化尺度(Δ,Quantization?Scale)與零點(z,Zero?Point)保存到一個全局數據結構中;修改編譯器讓其能識別拓展的乘除指令并完成編譯;在向量架構下進行并行計算加速量化和反量化運算。本發明的目的在于解決目前不同神經網絡在RISC?V架構下量化與反量化時,執行相關的除加操作(Divide?Accumulate?Operation,DIVADD)和乘加操作(Multiply?Accumulate?Operation,MAC)時并行度較低、指令開銷較大、數據在內存與計算單元間頻繁移動而導致的額外功耗等問題。

技術研發人員:劉歡,歐洪余,王耀彬,吳欣宇,張筱竹,黃法鈞,秦佳偉,宋英辰,熊朝玉
受保護的技術使用者:西南科技大學
技術研發日:
技術公布日:2025/4/28
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 天水市| 巴彦县| 阳曲县| 遂宁市| 毕节市| 昌宁县| 沂源县| 探索| 华容县| 遂昌县| 蓝田县| 绥芬河市| 阿拉尔市| 江永县| 吉木萨尔县| 民乐县| 绥化市| 陆丰市| 大同市| 彰武县| 潜江市| 疏附县| 克什克腾旗| 太白县| 都江堰市| 定陶县| 得荣县| 青河县| 沙湾县| 英吉沙县| 建昌县| 休宁县| 信宜市| 尉犁县| 麻栗坡县| 武邑县| 锦州市| 乾安县| 新沂市| 嘉兴市| 绍兴市|