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

人工智能芯片及其池化方法與流程

文檔序號:41747631發布日期:2025-04-25 17:35閱讀:8來源:國知局
人工智能芯片及其池化方法與流程

本發明涉及一種集成電路,且特別涉及一種人工智能芯片及其池化方法。


背景技術:

1、人工智能(artificial?intelligence,ai)芯片可以提供巨大算力。人工智能芯片的巨大算力源于內部大量的硬件核。一個ai芯片通常包含多個可編程處理器,例如流式處理器簇(stream?processor?cluster,spc)。每一個可編程處理器通常包含多個計算單元(compute?unit,cu,或稱計算核),而每一個計算單元通常包含多個執行單元(executionunit,eu,或稱執行核),例如整數(integer,int)核、浮點數(floating?point,fp)核、張量核(tensor?core,tcore)和矢量核(vector?core,vcore)中的至少一種。通過編程將各種類型的計算單元進行組織,ai芯片可以支持通用計算、科學計算和神經網絡計算。

2、神經網絡計算會進行卷積(convolution)、激活(activation)、池化(pooling)等計算工作。池化操作在卷積神經網絡中非常常見。池化是一種非線性降采樣(non-lineardownsampling)操作。“池化”起源于計算機視覺,指的是資源的合并、整合,模仿人的視覺系統對數據進行降維。池化操作是根據步長(stride)將池化窗口移動至數據矩陣(datamatrix,例如張量、特征圖)的不同位置,而成為不同感受野(receptive?field)。然后在每次移動池化窗口后對在感受野中的多個數據元素(data?element,例如特征點)進行池化計算(例如取最大值或進行平均)以獲得池化矩陣的一個數據元素。在池化窗口根據步幅完整掃描整個數據矩陣后,執行單元可以將池化矩陣存儲到存儲器中。池化操作會減少數據矩陣的維度大小,進而降低神經網絡計算的參數數量和計算量。池化操作可以在一定程度上控制過擬合(overfitting)。

3、常見的池化操作包括最大值池化(max?pooling)、均值池化(average?pooling)或是其他池化演算方法。假如感受野的大小為k×k,而在感受野中的數據元素為p_1、p_2、p_3、…、p_k×k。均值池化的結果是(p_1+p_2+p_3+…+p_k×k)/(k×k)。通常認為,通過均值池化后能更好地保留特征圖的背景信息。最大值池化的結果是max(p_1,?p_2,?p_3,?…,p_k×k),即k×k個特征點中的極大值。通常認為,通過最大值池化后能更好地保留特征圖的紋理信息。

4、常規技術是利用中央處理器(central?processing?unit,cpu)或圖形處理器(graphics?processing?unit,gpu)的常規浮點運算硬件完成池化運算。這種方法缺點在于需要多條通用浮點指令完成應用需求。若感受野是3×3(假設在感受野中的數據元素為p1、p2、p3、p4、p5、p6、p7、p8和p9),則均值池化需要“tmp1=p1+p2”、“tmp2=p3+tmp1”、“tmp3=p4+tmp2”、“tmp4=p5+tmp3”、“tmp5=p6+tmp4”、“tmp6=p7+tmp5”、“tmp7=p8+tmp6”、“tmp8=p9+tmp7”和“result=(1/9)×tem8”總計9條常規浮點運算指令;最大值池化需要“tmp1=max(p1,?p2)”、“tmp2=max(p3,?tmp1)”、“tmp3=max(p4,?tmp2)”、“tmp4=max(p5,?tmp3)”、“tmp5=max(p6,?tmp4)”、“tmp6=max(p7,?tmp5)”、“tmp7=max(p8,?tmp6)”和“result=max(p9,?tmp7)”總計8條指令。可見常規技術的不足是指令多導致計算時間久。如何進行池化操作,是本領域諸多技術議題之一。


技術實現思路

1、本發明是針對一種人工智能芯片及其池化方法,以對特征圖數值的多個特征點進行池化操作。

2、在根據本發明的實施例中,人工智能芯片包括指令調度模塊(instructionscheduling?module)、指令譯碼模塊(instruction?decoding?module)、寄存器組(register?file)、池化控制電路(pooling?control?circuit)以及第一浮點運算單元(first?floating?point?operation?unit)。指令譯碼模塊耦接至指令調度模塊以接收池化指令。指令譯碼模塊譯碼池化指令以生成譯碼結果。池化控制電路耦接至指令譯碼模塊以及寄存器組。第一浮點運算單元耦接至池化控制電路。池化控制電路基于譯碼結果確定池化指令的執行周期數,且將執行周期數提供給第一浮點運算單元。池化控制電路基于譯碼結果從寄存器組讀取特征圖數值,且將特征圖數值的第一感受野的多個特征點提供給第一浮點運算單元。第一浮點運算單元基于執行周期數對第一感受野的多個特征點進行池化操作,以生成第一感受野的池化結果。

3、在根據本發明的實施例中,池化方法包括:由人工智能芯片的指令譯碼模塊譯碼池化指令以生成譯碼結果;由人工智能芯片的池化控制電路基于譯碼結果確定池化指令的執行周期數;由池化控制電路將執行周期數提供給第一浮點運算單元;由池化控制電路基于譯碼結果從寄存器組讀取特征圖數值;由池化控制電路將特征圖數值的第一感受野的多個特征點提供給第一浮點運算單元;以及由第一浮點運算單元基于執行周期數對第一感受野的多個特征點進行池化操作,以生成第一感受野的池化結果。

4、基于上述,本發明諸實施例的池化控制電路基于池化指令的譯碼結果確定池化指令的執行周期數以及讀取特征圖數值,而池化控制電路基于步長移動池化窗口而決定第一感受野。池化控制電路將特征圖數值的第一感受野的多個特征點提供給第一浮點運算單元,而第一浮點運算單元基于執行周期數對第一感受野的特征點進行池化操作(例如均值池化或最大值池化)。在一些實施例中,人工智能芯片被布置有多個浮點運算單元,而池化控制電路基于步長移動池化窗口而決定不同感受野。池化控制電路將多個感受野中的每一個感受野的特征點提供給對應浮點運算單元,因此不同浮點運算單元可以同時進行不同感受野的特征點的池化操作。在一些實施例中,少量的控制和計算邏輯被添加在標準的浮點運算單元,以實現一個專門用于池化操作(包括均值池化和最大值池化)的硬件資源,進而對池化過程進行加速。



技術特征:

1.一種人工智能芯片,其特征在于,所述人工智能芯片包括:

2.根據權利要求1所述的人工智能芯片,其特征在于,所述人工智能芯片還包括:

3.根據權利要求1所述的人工智能芯片,其特征在于,所述池化控制電路包括:

4.根據權利要求1所述的人工智能芯片,其特征在于,所述第一浮點運算單元包括:

5.根據權利要求1所述的人工智能芯片,其特征在于,所述第一浮點運算單元包括:

6.根據權利要求1所述的人工智能芯片,其特征在于,所述第一浮點運算單元包括:

7.根據權利要求6所述的人工智能芯片,其特征在于,所述均值池化電路包括:

8.根據權利要求6所述的人工智能芯片,其特征在于,所述最大值池化電路包括:

9.一種人工智能芯片的池化方法,其特征在于,所述池化方法包括:

10.根據權利要求9所述的池化方法,其特征在于,所述池化方法還包括:

11.根據權利要求9所述的池化方法,其特征在于,所述池化方法還包括:


技術總結
本發明提供一種人工智能芯片及其池化方法。人工智能芯片包括指令調度模塊、指令譯碼模塊、寄存器組、池化控制電路以及浮點運算單元。指令譯碼模塊譯碼指令調度模塊的池化指令以生成譯碼結果。基于譯碼結果,池化控制電路確定池化指令的執行周期數,且從寄存器組讀取特征圖數值。池化控制電路將執行周期數以及特征圖數值的感受野的多個特征點提供給浮點運算單元。浮點運算單元基于執行周期數對感受野的多個特征點進行池化操作,以生成感受野的池化結果。

技術研發人員:請求不公布姓名,請求不公布姓名
受保護的技術使用者:上海壁仞科技股份有限公司
技術研發日:
技術公布日:2025/4/24
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 逊克县| 宜兴市| 惠来县| 方城县| 荃湾区| 抚顺县| 剑阁县| 苏尼特左旗| 通化县| 柳江县| 华容县| 当涂县| 凤翔县| 开原市| 海伦市| 凤阳县| 吴旗县| 城口县| 九龙县| 永和县| 宁阳县| 磐石市| 临沂市| 英德市| 筠连县| 五大连池市| 饶阳县| 阿坝县| 博客| 宁南县| 封开县| 昭苏县| 西和县| 建阳市| 称多县| 诸城市| 青海省| 丹东市| 宁海县| 清远市| 饶平县|