TWI769807B - 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統 - Google Patents

基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統 Download PDF

Info

Publication number
TWI769807B
TWI769807B TW110116064A TW110116064A TWI769807B TW I769807 B TWI769807 B TW I769807B TW 110116064 A TW110116064 A TW 110116064A TW 110116064 A TW110116064 A TW 110116064A TW I769807 B TWI769807 B TW I769807B
Authority
TW
Taiwan
Prior art keywords
weight
group
zero
groups
memory
Prior art date
Application number
TW110116064A
Other languages
English (en)
Other versions
TW202244753A (zh
Inventor
桂忠 鄭
謝軒顥
李杰倫
Original Assignee
國立清華大學
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 國立清華大學 filed Critical 國立清華大學
Priority to TW110116064A priority Critical patent/TWI769807B/zh
Priority to US17/446,832 priority patent/US20220366971A1/en
Application granted granted Critical
Publication of TWI769807B publication Critical patent/TWI769807B/zh
Publication of TW202244753A publication Critical patent/TW202244753A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • G06F18/21345Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis enforcing sparsity or involving a domain transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • G06F18/21322Rendering the within-class scatter matrix non-singular
    • G06F18/21326Rendering the within-class scatter matrix non-singular involving optimisations, e.g. using regularisation techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Neurology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本發明提供一種基於記憶體內運算單元之軟硬體協同之壓縮運算方法,包含資料分割步驟、稀疏化步驟、位址指派步驟及硬體解碼運算步驟。資料分割步驟係將對應輸入特徵資料組之複數核分割為複數權重組。稀疏化步驟包含權重組設定步驟。權重組設定步驟係依據稀疏化感知運算將各權重組設為零權重組與非零權重組之其中一者。位址指派步驟係分別指派指標位址至各核之複數非零權重組。硬體解碼運算步驟僅將非零權重組與對應非零權重組之輸入特徵資料組進行內積運算而產生輸出特徵資料組。藉此,壓縮所需運算的資料量,提高運算速度。

Description

基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統
本發明係關於一種軟硬體協同之壓縮運算方法及其系統,特別是關於一種基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統。
記憶體內運算(Computing in memory;CIM)單元不須將記憶體內的資料傳遞至處理單元進行運算,透過直接在記憶體內運算減少傳遞資料所造成的能量損耗及傳遞時間,因此具有低耗能及運算速度快的特性。然而記憶體內運算單元容量有限,其單次可運算的資料量有限,在運算時須將資料分批進行運算,進而增加所需的運算時間。
除了擴充記憶體內運算單元的數量增加單次有意義的運算資料量外,對所需運算的資料進行簡化亦可降低運算時間。有鑑於此,開發一種軟硬體協同之壓縮運算方法及其系統,遂成相關業者值得開發之目標。
因此,本發明之目的在於提供一種基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統,其透過對資料量的權重進行判別,選擇較重要的資料進行運算,進而減少在記憶體內運算單元所需運算的資料量。
根據本發明的方法態樣之一實施方式提供一種基於記憶體內運算單元之軟硬體協同之壓縮運算方法,用以對輸入特徵資料組進行運算而產生輸出特徵資料組。基於記憶體內運算單元之軟硬體協同之壓縮運算方法包含資料分割步驟、稀疏化步驟、位址指派步驟及硬體解碼運算步驟。資料分割步驟係驅動處理單元將對應輸入特徵資料組之複數核分割為複數權重組。稀疏化步驟包含權重組設定步驟。權重組設定步驟係依據稀疏化感知運算將各權重組設為零權重組與非零權重組之其中一者。位址指派步驟係分別指派複數指標位址至此些核之複數非零權重組,並將此些非零權重組傳送至記憶體內運算單元。硬體解碼運算步驟係驅動記憶體內運算單元將此些非零權重組與對應此些非零權重組之輸入特徵資料組進行內積運算而產生輸出特徵資料組。其中,此些核之其中一者之對應此些非零權重組之此些指標位址分別與此些核之另一者之對應此些非零權重組之此些指標位址相同。
藉此,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算方法對權重值進行篩選,淘汰非必要運算的資料,解決記憶體內運算單元運算空間不足的問題,提高單次有意義的運算資料量。
前述實施方式之其他實施例如下:前述稀疏化感知運算包含一懲罰項,懲罰項用以限制此些權重組之複數權重值。
前述實施方式之其他實施例如下:前述權重組設定步驟包含當其中一權重組之此些權重值之總和大於自定義閾值,其中一權重組設為非零權重組。當其中一權重組之此些權重值之總和小於等於自定義閾值,則其中一權重組重複執行稀疏化感知運算直到其中一權重組之此些權重值皆為零,其中一權重組設為零權重組。
前述實施方式之其他實施例如下:前述稀疏化步驟更包含形狀正規化步驟,形狀正規化步驟係依據此些權重組之空間資訊對此些核進行正規化運算,將對應非零權重組之組別調整至與此些核之其中此者之對應非零權重組之組別相同。其中空間資訊包含核寬度、核高度、通道深度、核數量、輸入資料數及輸出資料數。
前述實施方式之其他實施例如下:前述各指標位址包含第一組別指標、非零權重組數量、核平面指標及核深度指標。
根據本發明的結構態樣之一實施方式提供一種基於記憶體內運算單元之軟硬體協同之壓縮運算系統,用以對輸入特徵資料組進行運算而產生輸出特徵資料組,基於記憶體內運算單元之軟硬體協同之壓縮運算系統包含處理單元及運算裝置。處理單元係將對應輸入特徵資料組之複數核分割為複數權重組,依據稀疏化感知運算將各權重組分為零權重組及非零權重組之其中一者,並指派複數指標位址至此些核之複數非零權重組。運算裝置訊號連接處理單元,並接收輸入特徵資料組、此些非零權重組及對應此些非零權重組之此些指標位址,運算裝置包含輸入資料存取記憶體、稀疏化處理模組及記憶體內運算單元。輸入資料存取記憶體用以存取輸入特徵資料組。稀疏化處理模組訊號連接輸入資料存取記憶體,並包含指標存取記憶體及位址計算單元。指標存取記憶體用以存取此些指標位址。位址計算單元訊號連接指標存取記憶體並依據此些指標位址計算出對應此些非零權重組之輸入特徵資料組之輸入資料位址。記憶體內運算單元訊號連接輸入資料存取記憶體,記憶體內運算單元接收此些非零權重組及輸入特徵資料組,並進行內積運算而產生輸出特徵資料組。其中,此些核之其中一者之對應此些非零權重組之此些指標位址分別與此些核之另一者之對應此些非零權重組之此些指標位址相同。
藉此,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算系統對權重值進行篩選,淘汰非必要運算的資料,解決記憶體內運算單元運算空間不足的問題,提高單次有意義的運算資料量。
前述實施方式之其他實施例如下:前述稀疏化感知運算包含懲罰項,懲罰項用以限制此些權重組之複數權重值。
前述實施方式之其他實施例如下:前述稀疏化感知運算更包含當其中一權重組之此些權重值之總和大於自定義閾值,其中一權重組設為非零權重組。當其中一權重組之此些權重值之總和小於等於自定義閾值,則其中一權重組重複執行稀疏化感知運算直到其中一權重組之此些權重值皆為零,其中一權重組設為零權重組。
前述實施方式之其他實施例如下:前述處理單元更包含依據此些權重組之空間資訊對此些核進行正規化運算,將對應非零權重組之組別調整至與此些核之其中此者之對應非零權重組之組別相同。其中空間資訊包含核寬度、核高度、通道深度、核數量、輸入資料數及輸出資料數。
前述實施方式之其他實施例如下:前述各指標位址包含第一組別指標、非零權重組數量、核平面指標及核深度指標。
以下將參照圖式說明本發明之實施例。為明確說明起見,許多實務上的細節將在以下敘述中一併說明。然而,閱讀者應瞭解到,這些實務上的細節不應用以限制本發明。也就是說,在本發明部分實施例中,這些實務上的細節是非必要的。此外,為簡化圖式起見,一些習知慣用的結構與元件在圖式中將以簡單示意的方式繪示;並且重複之元件將可能使用相同的編號表示。
此外,本文中當某一元件(或機構或模組等)「連接」、「設置」或「耦合」於另一元件,可指所述元件是直接連接、直接設置或直接耦合於另一元件,亦可指某一元件是間接連接、間接設置或間接耦合於另一元件,意即,有其他元件介於所述元件及另一元件之間。而當有明示某一元件是「直接連接」、「直接設置」或「直接耦合」於另一元件時,才表示沒有其他元件介於所述元件及另一元件之間。而第一、第二、第三等用語只是用來描述不同元件或成分,而對元件/成分本身並無限制,因此,第一元件/成分亦可改稱為第二元件/成分。且本文中之元件/成分/機構/模組之組合非此領域中之一般周知、常規或習知之組合,不能以元件/成分/機構/模組本身是否為習知,來判定其組合關係是否容易被技術領域中之通常知識者輕易完成。
請參照第1圖,第1圖係繪示本發明之第一實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100之步驟流程圖。基於記憶體內運算單元之軟硬體協同之壓縮運算方法100用以對一輸入特徵資料組(Input feature data group)進行運算而產生一輸出特徵資料組(Output feature data group)。基於記憶體內運算單元之軟硬體協同之壓縮運算方法100包含資料分割步驟S01、稀疏化(Sparsity)步驟S02、位址指派步驟S03及硬體解碼運算步驟S04。資料分割步驟S01係驅動處理單元將對應輸入特徵資料組之複數核(Kernel)分割為複數權重組(Weight of Group)。稀疏化步驟S02包含依據一稀疏化感知(Sparsity Aware)運算將各權重組設為一零權重組與一非零權重組之其中一者。位址指派步驟S03係分別指派複數指標位址至此些核之複數非零權重組,並將此些非零權重組傳送至記憶體內運算(Computing in Memory;CIM)單元。硬體解碼運算步驟S04係驅動記憶體內運算單元將此些非零權重組與對應此些非零權重組之輸入特徵資料組進行內積運算而產生輸出特徵資料組。其中此些核之其中一者之對應此些非零權重組之此些指標位址分別與此些核之另一者之對應此些非零權重組之此些指標位址相同。藉此,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100僅對對應非零權重組之部分輸入特徵資料組進行運算,藉以解決記憶體內運算單元單次運算資料量有限的問題,同時達到降低耗能及提升運算速度。以下將透過較詳細的實施例來說明上述各步驟之細節。
請參照第2圖,第2圖係繪示本發明之第二實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a之步驟流程圖。基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a用以對一輸入特徵資料組進行運算而產生一輸出特徵資料組。基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a包含資料分割步驟S01a、稀疏化步驟S02a、位址指派步驟S03a及硬體解碼運算步驟S04a。
請參照第3圖,第3圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a之資料分割步驟S01a之資料分割示意圖。資料分割步驟S01a係驅動處理單元將對應輸入特徵資料組之複數核K1~K16分割為複數權重組WoG。具體而言,一筆輸入特徵資料組對應多個權重值(weight),資料分割步驟S01a將各個核K1、K2、K3~K16分別分割為複數權重組WoG,各個核K1~K16中包含複數權重組WoG,而各權重組WoG包含複數權重值W1、W2、W3、W4、W5、W6、W7、W8、W9、W10、W11、W12、W13、W14、W15及W16,所有核K1~K16之位於同一位置之權重組WoG可定義為一個組集合GoS。在本實施方式中,一個組集合GoS(例如核K1~K16的所有第一個權重組WoG)對應同一部分輸入特徵資料組,各核K1~K16包含36個權重組WoG,各權重組WoG包含16個權重值W1~W16,一個組集合GoS包含16個權重組WoG,但本發明不以此為限。
稀疏化步驟S02a包含權重組設定步驟S021及形狀正規化步驟S022。權重組設定步驟S021係依據一稀疏化感知運算S021a將各權重組WoG設為一零權重組與一非零權重組之其中一者。稀疏化感知運算S021a包含一懲罰項(Regularization Term)
Figure 02_image001
,懲罰項
Figure 02_image001
用以限制此些權重值W1~W16。權重組設定步驟S021包含當其中一權重組WoG之此些權重值W1~W16之總和大於自定義閾值,其中一權重組WoG設為非零權重組。當其中一權重組WoG之此些權重值W1~W16之總和小於等於自定義閾值,則其中一權重組WoG重複執行稀疏化感知運算S021a直到其中一權重組WoG之此些權重值W1~W16皆為零,其中一權重組WoG設為零權重組。具體而言,權重組設定步驟S021透過預設的自定義閾值判斷一筆資料屬於需進行運算的重要資料或是不需運算的非必要資料,當此筆資料所對應的其中一權重組WoG之權重值W1~W16之總和小於自定義閾值,則此筆資料被視為非必要運算的資料,並透過稀疏化感知運算S021a對此其中一權重組WoG進行訓練,使此權重組WoG中所有的權重值W1~W16趨近於零,直至此權重組WoG之所有權重值W1~W16皆為零,則將此權重組WoG設為零權重組。稀疏化感知運算S021a符合式(1): E(w)=L(w)+
Figure 02_image004
(1); 其中,E(w)為稀疏化感知運算S021a,L(w)為損失函數(Loss function),λ及λ g為優化參數,W為權重值, l為輸入特徵資料組當前運算的層數,R g(W ( l) )為正規化運算S022a。損失函數L(w)用以對權重組WoG進行訓練,使權重值W1~W16漸趨於零。優化參數λ及λ g用以調整壓縮運算的精確度,正規化運算S022a係依據此些權重組WoG之空間資訊對此些核K1~K16進行正規化運算S022a,將對應非零權重組之組別調整至與此些核K1~K16之其中此者之對應非零權重組之組別相同。在本實施方式中,經權重組設定步驟S021執行後之權重組WoG之權重值W1~W16可如表1所示,表1繪示第一個核K1之36個權重組WoG對應之權重值W1~W16,36個權重組WoG之組別以G1~G36表示,其中權重組WoG之組別G1、G4、G10、G36為非零權重組,其餘權重組WoG(即組別G2、G3、G5~G9、G11~G35)之所有權重值W1~W16經訓練後皆漸趨於零,而成為零權重組。 表1
權重組WoG之組別 權重值W1~W16
G1-非零權重組 0123456789abcdef
G2-零權重組 0000000000000000
G3-零權重組 0000000000000000
G4-非零權重組 02468ace13579bdf
G5~G9-零權重組 0000000000000000
G10-非零權重組 13579bdf00000000
G11~G35-零權重組 0000000000000000
G36-非零權重組 fedcba987654321
請參照第4圖與第5圖,第4圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a之形狀正規化步驟S022之示意圖。第5圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a之形狀正規化步驟S022之正規化運算S022a之示意圖。形狀正規化步驟S022係依據此些權重組WoG之空間資訊對此些核K1~K16進行正規化運算S022a,將對應非零權重組A 1之組別調整至與此些核K1~K16之其中此者之對應非零權重組A 1之組別相同。空間資訊包含核寬度M l 、核高度K l 、通道深度C l 、核數量F l 、輸入資料數及輸出資料數。具體而言,形狀正規化步驟S022執行後的此些核K1~K16可如第4圖所示,各核K1~K16之非零權重組A 1分布於相同的組別;各核K1~K16之零權重組A 0分布於相同的組別。正規化運算S022a符合式(2):
Figure 02_image006
(2); 其中,N為記憶體內運算單元的輸入資料數,α為記憶體內運算單元的輸出資料數。
由第5圖可知,在本實施方式中,核寬度M l 為3,核高度K l 為3,通道深度C l 為32(channel),核數量F l 為16,記憶體內運算單元的輸入資料數N為16,記憶體內運算單元的輸出資料數α為8,[0,0,0,0]代表[F l ,C l ,K l ,M l ],W [0,0,0,0]表示第1個核K1之第1個通道之第1個權重值W1,W [1,0,0,0]表示第2個核K2之第1個通道之第1個權重值W1,W [15,0,0,0]表示第16個核K16之第1個通道之第1個權重值W1。本實施方式之正規化運算S022a可如式(3)、式(4)及式(5)所示:
Figure 02_image008
(3);
Figure 02_image010
(4);
Figure 02_image012
(5)。
請參照第6圖,第6圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a之指標位址之編碼示意圖。位址指派步驟S03a係分別指派複數指標位址至各核K1~K16之此些非零權重組A 1。各指標位址包含第一組別指標、非零權重組A 1之數量、核平面指標p及核深度指標d。指標位址的表示方式可如表2所示。具體而言,指標位址用以表示此些核K1~K16之此些非零權重組A 1位址,第一組別指標用以表示此非零權重組A 1是否為各核K1~K16之組別G1之權重組WoG,當此非零權重組A 1為各核K1~K16之組別G1之權重組WoG,則此非零權重組A 1之第一組別指標為1’b1;反之,當此非零權重組A 1並非各核K1~K16之組別G1之權重組WoG,則此非零權重組A 1之第一組別指標為1’b0。非零權重組A 1之數量用以統計各核K1~K16中權重組WoG為非零權重組A 1的數量。核平面指標p及核深度指標d用以表示各非零權重組A 1在各核K1~K16中的位置。在本實施方式中,第一個核K1中非零權重組A 1為組別G1、G4、G10及G36之權重組WoG,因此第一個核K1的非零權重組A 1之數量為4。第一個核K1之組別G1之權重組WoG的核平面指標p為0,核深度指標d為0;第一個核K1之組別G4之權重組WoG的核平面指標p為0,核深度指標d為3;第一個核K1之組別G10之權重組WoG的核平面指標p為2,核深度指標為1;第一個核K1之組別G36之權重組WoG的核平面指標p為5,核深度指標d為0。指標位址之非零權重組A 1之數量、核平面指標p及核深度指標d以二進制表示。在本實施方式中,指標位址以16位元(bit)表示,但本發明不以此為限。 表2
第一組 別指標 非零權重組A 1之數量 核平面指標p 核深度指標d
1’b1 6’b000011 4’b0000 5’b00000
1’b0 6’b000011 4’b0000 5’b00011
1’b0 6’b000011 4’b0010 5’b00001
1’b0 6’b000011 4’b0111 5’b00011
硬體解碼運算步驟S04a係驅動記憶體內運算單元將非零權重組A 1與對應此非零權重組A 1之輸入特徵資料組進行內積運算而產生輸出特徵資料組。其中此些核K1~K16之其中一者之對應此些非零權重組A 1之此些指標位址分別與此些核K1~K16之另一者之對應此些非零權重組A 1之此些指標位址相同。換句話說,硬體解碼運算步驟S04根據此些非零權重組A 1所對應之此些指標位址將輸入特徵資料組中對應此些指標位址的部分輸入特徵資料組傳送至記憶體內運算單元,由於各核K1~K16之非零權重組A 1分別位於不同核K1~K16之相同位置,硬體解碼運算步驟S04僅需選擇其中一核K1中非零權重組A 1之此些指標位址即可對所有輸入特徵資料組中對應非零權重組A 1的部分輸入特徵資料組及所有核K1~K16的非零權重組A 1進行內積運算。藉此,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算方法100a對輸入特徵資料組進行篩選,淘汰非必要運算的資料,解決記憶體內運算單元運算空間不足的問題,提高單次有意義的運算資料量。
請參照第2圖、第7圖及第8圖,第7圖係繪示本發明之第三實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算系統200之方塊示意圖;第8圖係繪示依照第7圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算系統200之記憶體內運算單元230之示意圖。基於記憶體內運算單元之軟硬體協同之壓縮運算系統200包含處理單元10及運算裝置20。處理單元10係將對應輸入特徵資料組IFM之複數核K1~K16分割為複數權重組WoG,依據稀疏化感知運算S021a將各權重組WoG分為零權重組A 0及非零權重組A 1之其中一者,並指派複數指標位址223至此些核K1~K16之複數非零權重組A 1。運算裝置20包含輸入資料存取記憶體210、稀疏化處理模組220及記憶體內運算單元230。具體而言,處理單元10可為微處理器、中央處理器或其他電子運算處理器。記憶體內運算單元230可為人工智慧加速器,記憶體內運算單元230包含α個區塊P,每個區塊P包含Nxc個非零權重組A 1,輸入資料數為Nbit,輸出資料數為αbit,一次可掃描N個非零權重組A 1,每個區塊P需掃描c次方可將所有資料掃描完成,每個非零權重組A 1包含γ個權重值W1~W γ
輸入資料存取記憶體210用以存取輸入特徵資料組IFM。詳細地說,輸入資料存取記憶體210可為靜態隨機存取記憶體(Static Random Access Memory;SRAM)。
稀疏化處理模組220訊號連接輸入資料存取記憶體210,並包含指標存取記憶體222及位址計算單元224。
指標存取記憶體222用以存取複數指標位址223。
位址計算單元224訊號連接指標存取記憶體222,位址計算單元224依據此些指標位址223計算出對應此些非零權重組A 1之輸入特徵資料組IFM之輸入資料位址215。其中,此些核K1~K16之其中一者之對應非零權重組A 1之此些指標位址223分別與此些核K1~K16之另一者之對應非零權重組A 1之此些指標位址223相同。
記憶體內運算單元230訊號連接輸入資料存取記憶體210,記憶體內運算單元230接收此些非零權重組A 1及對應此些非零權重組A 1之輸入特徵資料組IFM,並進行內積運算而產生輸出特徵資料組output1~output16。
具體而言,基於記憶體內運算單元之軟硬體協同之壓縮運算系統200更包含一控制器240,控制器240訊號連接輸入資料存取記憶體210、位址計算單元224及記憶體內運算單元230,控制器240透過稀疏化處理模組220取得指標存取記憶體222中儲存之非零權重組A 1之指標位址223以及對應指標位址223之輸入特徵資料組IFM之輸入資料位址215,批次自輸入資料存取記憶體210中提取對應非零權重組A 1之指標位址223之輸入特徵資料組IFM中的部分輸入特徵資料組PIFM與記憶體內運算單元230之非零權重組A 1進行內積運算。
在第8圖實施方式中,基於記憶體內運算單元之軟硬體協同之壓縮運算系統200包含兩顆記憶體內運算單元230,各記憶體內運算單元230包含8個區塊P,每個區塊P包含16x4個非零權重組A 1,一個非零權重組A 1為4bit,輸入資料數為16x4bit,輸出資料數為8x16bit,一次可掃描8個非零權重組A 1,每個區塊P需掃描4次方可將所有資料掃描完成,每個非零權重組A 1包含16個權重值W1~W16,兩顆記憶體內運算單元230共用控制器240之輸入控制訊號,因此兩顆記憶體內運算單元230總共有32x4bit輸入資料及16x16bit輸出資料(即輸出特徵資料組output1、output2、output3~output8、output9~output16(圖未繪示)),且控制器240之輸入控制訊號可同時控制兩顆記憶體內運算單元230進行運算,意即一個指標位址223可同時控制不同記憶體內運算單元230之所有區塊P之組集合GoS。
藉此,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算系統200之複數記憶體內運算單元230共用輸入控制訊號,同時控制共用同一指標位址223之位於不同核K1~K16之非零權重組A 1
在本發明的其他實施方式中,記憶體內運算單元配置的數量、區塊數、輸入資料數、輸出資料數、一次可掃描的權重組數量、各權重組包含的權重值數量、各區塊的容量隨記憶體內運算單元的實際容量而不同,但本發明不限於此。
由上述實施方式可知,本發明具有下列優點:其一,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算方法僅對對應非零權重組之部分輸入特徵資料組進行運算,藉以解決記憶體內運算單元單次運算資料量有限的問題,同時達到降低耗能及提升運算速度;其二,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算方法對輸入特徵資料組進行篩選,淘汰非必要運算的資料,解決記憶體內運算單元運算空間不足的問題,提高單次有意義的運算資料量;其三,本發明之基於記憶體內運算單元之軟硬體協同之壓縮運算系統之複數記憶體內運算單元共用輸入控制訊號,同時控制共用同一指標位址之位於不同核之非零權重組。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:處理單元
20:運算裝置
100,100a:基於記憶體內運算單元之軟硬體協同之壓縮運算方法
200:基於記憶體內運算單元之軟硬體協同之壓縮運算系統
210:輸入資料存取記憶體
215:輸入資料位址
220:稀疏化處理模組
222:指標存取記憶體
223:指標位址
224:位址計算單元
230:記憶體內運算單元
240:控制器
S01,S01a:資料分割步驟
S02,S02a:稀疏化步驟
S03,S03a:位址指派步驟
S021:權重組設定步驟
S021a:稀疏化感知運算
S022:形狀正規化步驟
S022a:正規化運算
S04,S04a:硬體解碼運算步驟
IFM:輸入特徵資料組
PIFM:部分輸入特徵資料組
output1,output2,output3,output8,output9:輸出特徵資料組
W1,W2,W3,W4,W5,W6,W7,W8,W9,W10,W11,W12,W13,W14,W15,W16:權重值
WoG:權重組
G1,G2,G3,G4,G5,G6,G7,G8,G9,G10,G11,G12,G21,G22,G23,G24,G33,G34,G35,G36:組別
A 0:零權重組
A 1:非零權重組
GoS:組集合
K1,K2,K3,K16:核
P:區塊
p:核平面指標
d:核深度指標
F l :核數量
C l :通道深度
K l :核高度
M l :核寬度
第1圖係繪示本發明之第一實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之步驟流程圖; 第2圖係繪示本發明之第二實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之步驟流程圖; 第3圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之資料分割步驟之資料分割示意圖; 第4圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之形狀正規化步驟之示意圖; 第5圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之形狀正規化步驟之正規化運算之示意圖; 第6圖係繪示依照第2圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算方法之指標位址之編碼示意圖; 第7圖係繪示本發明之第三實施例之基於記憶體內運算單元之軟硬體協同之壓縮運算系統之方塊示意圖;以及 第8圖係繪示依照第7圖實施方式之基於記憶體內運算單元之軟硬體協同之壓縮運算系統之記憶體內運算單元之示意圖。
100:基於記憶體內運算單元之軟硬體協同之壓縮運算方法
S01:資料分割步驟
S02:稀疏化步驟
S03:位址指派步驟
S04:硬體解碼運算步驟

Claims (8)

  1. 一種基於記憶體內運算單元之軟硬體協同之壓縮運算方法,用以對一輸入特徵資料組進行運算而產生一輸出特徵資料組,該基於記憶體內運算單元之軟硬體協同之壓縮運算方法包含以下步驟:一資料分割步驟,係驅動一處理單元將對應該輸入特徵資料組之複數核分割為複數權重組;一稀疏化步驟,包含:一權重組設定步驟,係依據一稀疏化感知運算將各該權重組設為一零權重組與一非零權重組之其中一者;及一形狀正規化步驟,係依據該些權重組之一空間資訊對該些核進行一正規化運算,將對應該非零權重組之一組別調整至與該些核之其中一者之對應該非零權重組之該組別相同;一位址指派步驟,係分別指派複數指標位址至該些核之複數該非零權重組,並將該些非零權重組傳送至該記憶體內運算單元;以及一硬體解碼運算步驟,係驅動該記憶體內運算單元將該些非零權重組與對應該些非零權重組之該輸入特徵資料組進行一內積運算而產生該輸出特徵資料組;其中,該些核之其中該者之對應該些非零權重組之該些指標位址分別與該些核之另一者之對應該些非零權重組之該些指標位址相同;其中,該稀疏化感知運算包含一懲罰項,該懲罰項用以 限制該些權重組之複數權重值。
  2. 如請求項1所述之基於記憶體內運算單元之軟硬體協同之壓縮運算方法,其中該權重組設定步驟包含:當其中一該權重組之該些權重值之一總和大於一自定義閾值,該其中一權重組設為該非零權重組;及當該其中一權重組之該些權重值之該總和小於等於該自定義閾值,則該其中一權重組重複執行該稀疏化感知運算直到該其中一權重組之該些權重值皆為零,該其中一權重組設為該零權重組。
  3. 如請求項1所述之基於記憶體內運算單元之軟硬體協同之壓縮運算方法,其中該空間資訊包含一核寬度、一核高度、一通道深度、一核數量、一輸入資料數及一輸出資料數。
  4. 如請求項1所述之基於記憶體內運算單元之軟硬體協同之壓縮運算方法,其中各該指標位址包含一第一組別指標、一非零權重組數量、一核平面指標及一核深度指標。
  5. 一種基於記憶體內運算單元之軟硬體協同之壓縮運算系統,用以對一輸入特徵資料組進行運算而產生一輸出特徵資料組,該基於記憶體內運算單元之軟硬體協 同之壓縮運算系統包含:一處理單元,係將對應該輸入特徵資料組之複數核分割為複數權重組,依據一稀疏化感知運算將各該權重組分為一零權重組及一非零權重組之其中一者,並指派複數指標位址至該些核之複數該非零權重組,該處理單元依據該些權重組之一空間資訊對該些核進行一正規化運算,將對應該非零權重組之一組別調整至與該些核之其中一者之對應該非零權重組之該組別相同;以及一運算裝置,訊號連接該處理單元,並接收該輸入特徵資料組、該些非零權重組及對應該些非零權重組之該些指標位址,該運算裝置包含:一輸入資料存取記憶體,用以存取該輸入特徵資料組;一稀疏化處理模組,訊號連接該輸入資料存取記憶體,包含:一指標存取記憶體,該指標存取記憶體用以存取該些指標位址;及一位址計算單元,訊號連接該指標存取記憶體,該位址計算單元依據該些指標位址計算出對應該些非零權重組之該輸入特徵資料組之一輸入資料位址;及該記憶體內運算單元,訊號連接輸入資料存取記憶體,該記憶體內運算單元接收該些非零權重組及該輸入特徵資料組,並進行一內積運算而產生該輸出特徵資料組;其中,該些核之其中該者之對應該些非零權重組之該些 指標位址分別與該些核之另一者之對應該些非零權重組之該些指標位址相同;其中,該稀疏化感知運算包含一懲罰項,該懲罰項用以限制該權重組之複數權重值。
  6. 如請求項5所述之基於記憶體內運算單元之軟硬體協同之壓縮運算系統,其中該稀疏化感知運算更包含:當其中一該權重組之該些權重值之一總和大於一自定義閾值,該其中一權重組設為該非零權重組;及當該其中一權重組之該些權重值之該總和小於該自定義閾值,則該其中一權重組重複執行該稀疏化感知運算直到該其中一權重組之該些權重值皆為零,該其中一權重組設為該零權重組。
  7. 如請求項5所述之基於記憶體內運算單元之軟硬體協同之壓縮運算系統,其中該空間資訊包含一核寬度、一核高度、一通道深度、一核數量、一輸入資料數及一輸出資料數。
  8. 如請求項5所述之基於記憶體內運算單元之軟硬體協同之壓縮運算系統,其中各該指標位址包含一第一組別指標、一非零權重組數量、一核平面指標及一核深度指標。
TW110116064A 2021-05-04 2021-05-04 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統 TWI769807B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW110116064A TWI769807B (zh) 2021-05-04 2021-05-04 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統
US17/446,832 US20220366971A1 (en) 2021-05-04 2021-09-03 Hardware/software co-compressed computing method and system for static random access memory computing-in-memory-based processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110116064A TWI769807B (zh) 2021-05-04 2021-05-04 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統

Publications (2)

Publication Number Publication Date
TWI769807B true TWI769807B (zh) 2022-07-01
TW202244753A TW202244753A (zh) 2022-11-16

Family

ID=83439534

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110116064A TWI769807B (zh) 2021-05-04 2021-05-04 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統

Country Status (2)

Country Link
US (1) US20220366971A1 (zh)
TW (1) TWI769807B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455559B (zh) * 2023-06-15 2023-08-25 杭州海康威视数字技术股份有限公司 软硬协同高速密码设备实现方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529670A (zh) * 2016-10-27 2017-03-22 中国科学院计算技术研究所 一种基于权重压缩的神经网络处理器、设计方法、芯片

Also Published As

Publication number Publication date
TW202244753A (zh) 2022-11-16
US20220366971A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
CN109214504B (zh) 一种基于fpga的yolo网络前向推理加速器设计方法
CN110516801A (zh) 一种高吞吐率的动态可重构卷积神经网络加速器架构
TWI769807B (zh) 基於記憶體內運算單元之軟硬體協同之壓縮運算方法及其系統
US9665572B2 (en) Optimal data representation and auxiliary structures for in-memory database query processing
CN112529165B (zh) 深度神经网络剪枝方法、装置、终端及存储介质
US20230216519A1 (en) Method and system for compressing application data for operations on multi-core systems
CN109447241A (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
KR20220127878A (ko) 신경망을 위한 적응 검색 방법 및 장치
CN108510063A (zh) 一种应用于卷积神经网络的加速方法和加速器
CN106095563B (zh) 灵活的物理功能和虚拟功能映射
WO2020233709A1 (zh) 模型压缩方法及装置
CN110677402A (zh) 一种基于智能网卡的数据整合方法及装置
KR20200110613A (ko) 정리 및 양자화 공동 실행 심층 신경망
CN111144556A (zh) 面向深度神经网络训练和推理的范围批处理归一化算法的硬件电路
CN109635937B (zh) 一种面向低位宽卷积神经网络的低功耗系统
CN111427838A (zh) 基于zynq动态更新卷积神经网络的分类系统及方法
CN106502346A (zh) 一种服务器散热的方法及装置
CN112183001B (zh) 一种基于超图的集成电路的多级聚类方法
WO2018139265A1 (ja) プロセッサ、情報処理装置及びプロセッサの動作方法
CN113034343B (zh) 参数自适应的高光谱图像分类gpu并行方法
US20200134434A1 (en) Arithmetic processing device, learning program, and learning method
CN105378665A (zh) 一种数据处理方法及装置
EP4209964A1 (en) Method for processing three-dimensional data and device
US20240152765A1 (en) Training time and resource consumption prediction in deep learning
CN114997386B (zh) 一种基于多fpga异构架构的cnn神经网络加速设计方法