TW202119293A - 對人工神經網路進行量化的方法及系統以及人工神經網路設備 - Google Patents
對人工神經網路進行量化的方法及系統以及人工神經網路設備 Download PDFInfo
- Publication number
- TW202119293A TW202119293A TW109126848A TW109126848A TW202119293A TW 202119293 A TW202119293 A TW 202119293A TW 109126848 A TW109126848 A TW 109126848A TW 109126848 A TW109126848 A TW 109126848A TW 202119293 A TW202119293 A TW 202119293A
- Authority
- TW
- Taiwan
- Prior art keywords
- quantization
- tensor
- zone
- value
- area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 37
- 238000013139 quantization Methods 0.000 claims abstract description 199
- 230000004913 activation Effects 0.000 claims description 18
- 238000001994 activation Methods 0.000 claims description 18
- 238000009826 distribution Methods 0.000 description 27
- 238000012549 training Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 22
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 238000011002 quantification Methods 0.000 description 7
- 241001442055 Vipera berus Species 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 101710092887 Integrator complex subunit 4 Proteins 0.000 description 2
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 2
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 2
- 102100037075 Proto-oncogene Wnt-3 Human genes 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4084—Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
一種對人工神經網路進行量化的方法可包括:將人工神經網路的張量的量化範圍劃分成第一區及第二區;以及將第一區中的張量的值與第二區中的張量的值分開進行量化。可對第一區及第二區中的張量的值應用線性量化或非線性量化。所述方法可包括:藉由將量化範圍的至少一部分內的預期的量化誤差實質上最小化來對第一區與第二區之間的分界點進行定位。可藉由分析求解及/或數值搜尋將預期的量化誤差最小化。
Description
人工神經網路(例如深度神經網路(deep neural network,DNN))可用於各種機器學習任務,例如影像分類及目標偵測。可藉由按比例放大一或多個維度(例如網路深度、網路寬度及影像解析度)來改善DNN的精確度,但此可能導致更大的計算複雜性及記憶體要求以及增加的能量消耗及執行時間。該些增加的資源要求可能會使得難以在資源受限的應用(例如嵌入式系統及行動裝置)中部署DNN。
可使用量化技術而藉由將全精度權重及激活轉換成低精度(低位元寬度)表示來減少DNN的資源需求。舉例而言,可藉由將在訓練人工神經網路時通常使用的32位元浮點數值(32-bit floating-point numbers,FP32)轉換成更小的8位元整數(8-bit integers,INT8)對所述32位元浮點數值進行量化,此會減少用於表示每一數值的離散值的數目。該些低位元寬度數值可在記憶體中佔用較小的空間,且會降低對該些低位元寬度數值進行處理的系統的複雜性、成本及/或能量消耗(無論是以硬體、軟體還是其組合的形式)。然而,量化可能會引入量化誤差,進而降低DNN的效能(精確度)。
為將量化誤差最小化且維持全精度模型的效能,可使用量化感知訓練(quantization-aware training)自頭開始對量化DNN進行訓練。在另一方法中,可在量化之後對預先訓練的浮點模型進行微調。然而,所述兩種方法皆可能使部署過程變得複雜且緩慢,且可能需要對完整訓練資料集進行存取。
在一些應用中,使用具有INT8數值的均勻量化的訓練後量化(post-training quantization,PTQ)可保持接近原始的FP32預先訓練的模型效能。然而,在一些應用中,8位元量化DNN的資源要求對於更廣泛的部署而言可能仍然過高。較低位元寬度技術(例如4位元均勻PTQ)可使DNN能夠被部署於更廣泛的資源受限的應用中,但低位元寬度量化可能會使效能退化至不可接受的水準。
一種對人工神經網路進行量化的方法,所述方法可包括:將所述人工神經網路的張量的量化範圍劃分成第一區及第二區;以及將所述第一區中的張量的值與所述第二區中的張量的值分開進行量化。所述第一區中的所述張量的值可根據第一量化函數進行量化,且所述第二區中的所述張量的值可根據第二量化函數進行量化。
所述第一量化函數與所述第二量化函數可不同。所述第一量化函數與所述第二量化函數可實質上相同。所述第一量化函數與所述第二量化函數可具有不同的比例因數。可對所述第一區及所述第二區中的所述張量的值應用線性量化。所述第一區可包括正的部分及負的部分。所述第二區可包括正的部分及負的部分。所述量化範圍可自所述張量的最小值擴展至最大值。
劃分所述量化範圍可包括對所述第一區與所述第二區的分界點進行定位。對所述分界點進行定位可包括確定在所述量化範圍的至少一部分內的量化誤差。對所述分界點進行定位可包括將所述量化誤差實質上最小化。將所述量化誤差最小化可包括:將所述量化誤差公式化為所述分界點的位置的函數;將所述函數的一階導數公式化;以及確定所述分界點的使所述一階導數實質上為零的值。所述分界點的使所述一階導數實質上為零的所述值可使用二元搜尋進行確定。可使用回歸對所述分界點的所述位置進行逼近。可使用柵格搜尋將所述量化誤差實質上最小化。可對所述分界點進行離線定位。可對所述分界點進行連線定位。可將所述分界點限制成小於所述量化誤差的中點。可將所述分界點定位成使量化值的密度與所述張量的值的密度匹配。
所述張量可包括至少兩個通道,所述至少兩個通道可在所述第一區及所述第二區中的至少一者中分開進行量化。所述張量可包括至少兩個群組,所述至少兩個群組可在所述第一區及所述第二區中的至少一者中分開進行量化。所述方法可更包括對所述張量的所述量化值中的偏差進行校正。
所述張量可包括一或多個權重。所述張量可包括一或多個激活。所述人工神經網路可包括深度神經網路。所述第一區與所述第二區可不交疊。所述張量可包括訓練後的值。可因應於訓練資料集產生所述張量的所述值,且可在不對完整訓練資料集進行存取或者僅對所述完整訓練資料集的一部分進行存取的情況下對所述張量的所述量化範圍進行劃分。
一種系統可包括:處理器,被配置成執行包括以下的程序:將人工神經網路的張量的量化範圍劃分成第一區及第二區;以及將所述第一區中的張量的值與所述第二區中的張量的值分開進行量化。所述處理器可更被配置成執行包括對所述第一區與所述第二區的分界點進行定位的程序。所述處理器可更被配置成執行包括藉由將所述量化範圍的至少一部分內的量化誤差實質上最小化來對所述分界點進行定位的程序。
一種人工神經網路設備可包括:第一累加器,被配置成對量化範圍的第一區的激活及權重乘積進行求和;第二累加器,被配置成對所述量化範圍的第二區的激活及權重乘積進行求和;以及第三累加器,被配置成對所述第二區的激活進行求和。可將所述第二區的所述激活乘以偏置量。所述第一累加器、所述第二累加器及所述第三累加器可在專用硬體中實施。可使用被配置成執行累加程序的一或多個處理器來實施所述第一累加器、所述第二累加器及所述第三累加器。
在一些人工神經網路中,可藉由高斯函數(Gaussian function)及/或拉普拉斯函數(Laplacian function)對預先訓練的模型中的權重及激活的分佈進行逼近。在圖1中示出實例,圖1例示出示出經訓練的深度神經網路(DNN)中的權重的示例性分佈的直方圖。大多數權重可聚集於零周圍,而遞減的數值可分散於長尾(long tail)中。
圖2例示出來自圖1中所示的權重的4位元均勻訓練後量化(PTQ)的量化值(被示出為粗條)的分佈。在圖2中可顯而易見的是,儘管權重的分佈不均勻,均勻量化技術仍可均等地劃分量化範圍。因此,尤其是在低位元寬度體系(regime)中,均勻量化方案可將過少的量化級指配至具有小的量值的值(存在許多具有小的量值的值),而將相對過多的量化級指配至具有大的量值的值(存在相對較少的具有大的量值的值)。此可能會藉由例如增加量化誤差且降低結果的精確度而使模型的效能退化。
在根據本揭露的原理中的一些原理的人工神經網路中,可將張量(例如權重)的量化範圍劃分成兩或更多個可被分開量化的區。舉例而言,分段線性量化技術可將訓練後權重分佈的量化範圍劃分成兩個不交疊的區且對每一區應用均勻量化,如圖3中所示。
圖3例示出根據本揭露的來自對圖1中所示的權重應用的分段線性訓練後量化的量化值(被示出為粗條)的分佈。圖3中的每一粗條的高度可表示在該權重值下被量化的權重樣本的數目。
量化範圍[-t, t]可被劃分成兩個區,每一區具有正的部分及負的部分。區1可包括負的部分[-x, 0]及正的部分[0, x]。區1可被表示為[-x, 0] ∪ [0, x],或者作為另一選擇被表示為[-x, x]。區2可包括負的部分[-t, -x]及正的部分[x, t]。區2可被表示為[-t, -x] ∪ [x, t]。為方便起見,所述兩個區中的每一者的所述兩個部分亦可被籠統地稱為或單獨地稱為量化範圍的四個段[-t, -x]、[-x, 0]、[0, x]及[x, t]。
區1與區2之間的分界點x可在-x及x處被示出為虛線,且可在每一段內使用2位元均勻量化。因此,在每一段中可具有四個量化值,且在整個量化範圍內共有16個量化值。
-x處的粗條可包括兩個共置的條:一個位於段[-t, -x]的上端處,且一個位於段[-x, 0]的下端處。同樣,在0及x處的粗條可各自包括在量化範圍的相鄰的段的端處的兩個共置的條。
在圖3中可顯而易見的是,量化值在其中權重的分佈更密集的區[-x, x](區1)中可更密集。同樣,量化值在其中權重的分佈不太密集的區[-t, -x] ∪ [x, t](區2)中可能不太密集。依據實施細節而定,此種密度匹配可使圖3中所示的分段線性PTQ技術能夠提供較圖2中所示的均勻PTQ技術更佳的效能(例如,更低的量化誤差),即使兩種技術可使用相同數目的量化值。
另外,依據實施細節而定,根據本揭露的原理的分段量化技術可提供一或多個附加的益處,例如更高的速度、更低的功耗、減少的記憶體要求、硬體及/或軟體的更低的複雜性及/或成本、積體電路上減小的晶粒面積、對商品化硬體進行很少或不進行修改的實施方案等。舉例而言,圖2中所示的均勻量化方案可能需要4位元加法、乘法、累加等,而圖3中所示的分段量化技術可能僅需要對管線的至少一部分進行2位元算術,此可能更快、更高效等。另外,依據實施細節而定,可在不對完整訓練資料集進行存取的情況下達成一些或所有該些益處。
在一些實施例中,分段量化模型的效能可取決於一或多個分界點(例如,圖3所示實施例中的x)的值,所述一或多個分界點可被置於一或多個最佳位置處或所述一或多個最佳位置附近,以使量化誤差減小或最小化。本揭露的原理亦囊括用於對一或多個最佳分界點進行定位的技術。該些技術可包括:將量化誤差公式化為分界點的函數,且對零導數進行分析求解,使用線性近似來逼近最佳分界點,及/或進行柵格搜尋,以下對所有該些技術進行更詳細地闡述。
根據本揭露的原理,圖3中所示的實施例可以多種方式進行修改,且被配置成及/或適用於多種應用。一些可能的修改及/或應用如下所述。
在一些實施例中,任何位元寬度皆可用於對量化範圍的區及/或其部分中的任何或所有區及/或其部分進行量化。不同的位元寬度可用於不同的區及/或其部分以及人工神經網路的不同的層及/或層內的節點。
在一些實施例中,分段量化可應用於人工神經網路的任何張量(包括權重、激活(包括應用激活函數之前及應用激活函數之後))或張量的組合,以及可被量化的任何其他張量或值。張量中的任意者皆可具有正負號或不具有正負號。分段量化可應用於在人工神經網路中的任何位置處具有任何值分佈的任何張量或張量的組合。此可包括例如具有任何大致鐘形或正態分佈(例如高斯分佈或拉普拉斯分佈)的張量,所述張量一般可具有長尾。分段量化可應用於具有均勻或非均勻、對稱或非對稱等值分佈的張量。
在一些實施例中,分段量化可應用於任何類型的人工神經網路,包括深度神經網路、卷積神經網路、前饋神經網路等。
在一些實施例中,分段量化可與任何量化函數(包括均勻量化或量化線性、非線性量化、仿射量化或非仿射量化等)或其組合一起使用。不同的量化函數可用於量化範圍的不同區及/或其部分。分段量化可應用於每個層、每個通道、每個群組或其任何變化形式或組合。
在一些實施例中,量化範圍可被劃分成任何數目的區及/或其部分,且在區及/或其部分之間可具有任何數目的分界點。區及/或其部分可為對稱的或非對稱的、平衡的或不平衡的。區及/或其部分可僅具有負值、僅具有正值或其組合。用於量化的量化範圍可跨越張量的整個(最小值至最大值)值範圍,或者可僅涵蓋張量的整個值範圍的一或多個部分。量化範圍可被劃分成交疊或不交疊、連續或不連續(接觸或間隔開)的區及/或其部分,或者其任意組合。依據實施細節而定,例如使用不交疊的區及/或其部分可使用根據本揭露的分段量化來改善模型的精確度。
在一些實施例中,可對量化範圍的每一區或其部分分開應用量化。在一些實施例中,可對操作及/或設備進行組合以在多於一個區或其部分中完全或部分地組合量化。
在一些實施例中,可連線(實時)或離線或以其任意組合來實施分段量化。可在訓練後、訓練前、初始訓練之後的調諧或重新訓練期間、量化感知訓練期間或其任意組合中實施分段量化。在一些實施例中,可在不對可能已被用於產生張量值的分佈的完整訓練資料集進行存取的情況下實施根據本揭露的分段量化。在一些實施例中,可使用訓練資料集中的一些訓練資料集或所有的訓練資料集。舉例而言,訓練資料集的一小部分可用於界定激活函數的範圍。
在一些實施例中,可在硬體、軟體或其任意組合中實施分段量化。
在一些實施例中,可在量化範圍的一或多個區或其部分中使用仿射量化來實施分段量化。在一些實施例中,仿射量化可涉及量化參數,例如比例因數及偏置量或零點。
在一些實施例中,可由以下方程式對量化進行表徵
儘管本發明原理並非僅限於使用任何特定類型的量化,然而使用仿射量化技術(例如以上參照方程式1闡述的實例)可依據實施細節而定提供一或多個優點。此可參照一些替代實施技術來理解。舉例而言,實施量化的一種可能的技術可為使用數值的定點表示。然而,使用定點數值可能對可進行表示的最小數值及/或最大數值施加限制,且亦可能對選擇分界點及/或比例因數的選項施加限制。該些限制中的任意者皆可降低模型及/或結果的精確度。舉例而言,使用定點數值可將可進行表示的最小值及/或最大值及/或分界點及/或比例因數限制成可等於2N
的值,其中N可為正整數或負整數。相較之下,使用以上參照方程式1闡述的量化技術可使得能夠對比例因數、偏置量或零點、分界點等使用浮點或其他更靈活的數值表示,且亦可使得能夠表示更小的數值、更寬的數值範圍等。依據實施細節而定,該些因數中的任意者皆可改善模型及/或結果以及其他效能度量的精確度。
量化技術(例如以上參照方程式1闡述的實例)的另一潛在優點在於量化技術可促進不交疊的量化區的實施。舉例而言,在一些實施例中,藉由將置於較高值的分段量化區的最小端處,沒有量化解析度可浪費於低於的值上,所述低於的值可被量化成較低值的單獨的區的一部分。
圖4例示出根據本揭露的分段量化技術的另一實施例。圖4所示實施例示出可如何將整個量化範圍[-t, t](被示出為連續的水平線)內的權重值的浮點表示映射至量化範圍的四個段[-t, -x]、[-x, 0]、[0, x]及[x, t]中的四個不同的4位元(INT4)量化值。
在一些實施例中,可藉由將預期的量化誤差最小化來尋找最佳分界點。舉例而言,在權重具有高斯分佈且量化範圍[-t, t]被劃分成兩個區(每一區具有正的部分及負的部分)的實施例中,權重分佈可被劃分成四個段[-t, -x]、[-x, 0]、[0, x]及[x, t]。每一段可具有用於表示浮點權重的量化值的數目個級(值)。高斯機率密度函數(probability density function,PDF)可由以下方程式給出
且累積分佈函數(cumulative distribution function,CDF)可由以下方程式給出
接著,可由以下方程式給出預期的量化誤差
方程式7的一階導數可由以下方程式給出
若求解為0,則方程式9可提供最佳分界點。
方程式12可將量化誤差最小化。
依據實施細節而定,根據本揭露的分段均勻(線性)量化技術的量化誤差可小於使用相同數目的量化級的均勻量化過程的量化誤差。舉例而言,根據本揭露在量化範圍的四個段中的每一者內使用4位元量化的分段量化技術可具有較在相同的量化範圍內應用均勻6位元量化的傳統量化過程小的更小的量化誤差。
根據本揭露求解方程式以對最佳分界點進行定位的一種方法是使用例如具有複雜性的二元搜尋對方程式進行數值求解。依據實施細節而定,此種方法可提供高度精確的結果,且可尤其適合於其中可離線執行量化的實施方案,例如,當對權重進行量化時。
根據本揭露求解方程式的另一方法是使用具有O(1)複雜性的線性回歸對最佳分界點進行逼近。此可例如藉由首先確定權重(或其他張量)的標準偏差內的最大值來估測正規化量化範圍[-t, t]來完成。接著,可使用二元搜尋來基於正規化量化範圍尋找最佳分界點。接著,可使用二元搜尋結果來為一或多個最佳分界點尋找線性近似。在一個示例性實施例中,可使用以下方程式而藉由此近似來確定近似的最佳分界點值
以用於高斯權重分佈及擾動(perturbation)。依據實施細節而定,可被認為是一次性方法(one-shot approach)的此方法可減少確定最佳分界點所需的時間,同時使量化誤差有很少退化(若有的話)。因此,近似方法在使用連線或動態量化(例如使用激活)的實施方案中可為有益的。此方法可與除高斯分佈之外的分佈一起使用。舉例而言,對於拉普拉斯分佈,可使用以下方程式來確定的值
其中可將分佈正規化。
根據本揭露求解方程式的另一方法是使用自粗略至精細的柵格搜尋,此可能不需要關於張量值的分佈的任何假設。在一個示例性實施例中,三階段柵格搜尋可使用以下階段來搜尋最佳分界點與張量的最大值的比率,以將量化誤差最小化:
階段1:在np.arange(0.1, 1.0, 0.1)中搜尋最佳比率r1
階段2:在np.arange(r1 – 0.05, r1 + 0.05, 0.01)中搜尋最佳比率r2
階段3:在np.arange(r2 – 0.005, r1 + 0.005, 0.001)中搜尋最佳比率r3
依據實施細節而定,柵格搜尋方法可提供高度精確的結果,且可尤其適合於其中可離線實行量化的實施方案。自粗略至精細的柵格搜尋方法的潛在益處在於所述柵格搜尋方法可直接使量化誤差減小及/或最小化,而不需要任何關於張量值的分佈的特定知識及/或假設。
表1列出根據本揭露的用於實施自粗略至精細的柵格搜尋以對分界點進行定位的一些示例性偽代碼。
表1
Input : A tensor T to be quantizedOutput : Optimal breakpointXopt 1Xopt = 0:5,t =max(abs(T)) 2for stage in [1,2,3] do 3 │ grid = 0:1stage 4 │ range = 5 if stage==1 else 10 5 │ start =Xopt/t - grid * range 6 │ end =Xopt/t + grid * range 7 │ for Xopt/m in [start : grid : end] do 8 │ │ Apply piecewise linear quantization scheme 9 │ │ Compute quantization error (mean squared error) 10 │ │ SelectXopt/t having smallest quantization error └ └ |
在一些實施例中,當根據本揭露對具有大致鐘形分佈的張量的分段量化的分界點進行定位時,最高密度的值一般可聚集於零周圍。因此,將分界點限制成小於量化範圍的中點(例如,)可為有益的,此可有助於使用分析技術、搜尋技術及/或任何其他技術來藉由使量化誤差減小或最小化而對分界點進行定位來尋找最佳分界點。在一些實施例中,可藉由在整個量化範圍內估測量化誤差來使量化誤差減小或最小化。在一些其他實施例中,可藉由在量化範圍的一部分及/或所述範圍的可被劃分成的區及/或段中的任何或所有區及/或段內估測量化誤差來使量化誤差減小或最小化。
如上所述,量化範圍可被劃分成任何數目的區及/或其部分,且在區及/或其部分之間可具有任何數目的分界點。在具有多個分界點的一些實施例中,可對上述技術中的任意者進行擴展來尋找一或多個最佳分界點值。舉例而言,在一些實施例中,可藉由將應用於多個分界點的方程式7中給出的預期的量化誤差最小化來確定多個最佳分界點值。作為另一個實例,亦可將自粗略至精細的柵格搜尋擴展至對多個分界點進行定位。在一些實施例中,確定最佳分界點的數目及/或位置可涉及平衡各種考量因素。舉例而言,依據實施細節而定,利用多個分界點可顯著改善精確度。然而,在其他實施方案中,由多個分界點提供的精確度的改善可被實施附加分界點可能需要的額外的硬體及/或軟體執行時間所抵消。
儘管本揭露的發明原理可能不需要使用任何特定技術來尋找一或多個最佳化的分界點,然而本文中所揭露的分析、近似及/或搜尋技術中的任意者可提供更易於分析、可擴展及/或穩健的解決方案。
在一些實施例中,可根據本揭露使用專用硬體來實施分段量化。在硬體實施方案中,分段量化可將張量範圍劃分成兩或更多個區,可使用單獨的計算路徑來實施所述兩或更多個區中的每一者,例如以適應不同的比例因數及/或偏置量。在實施例如圖3中所示的分段線性量化的示例性實施例中,硬體實施方案可包括與用於在每一區及/或其部分(例如,量化範圍的段)內進行均勻量化的硬體相似的一些硬體,同時添加一些附加設備來適應分段佈置。舉例而言,可使用兩個累加器來實施每一段內的均勻量化:一個累加器用於對激活及張量(例如,權重)乘積進行求和,且一個累加器用於對激活進行求和。可包括一個附加的累加器來對激活進行求和,所述激活可乘以可自零偏置的區或段中的非零偏置量(例如,區2中的非零偏置量)。
因此,在一些實施例中,根據本揭露的分段量化技術的硬體實施方案可包括以下中的任意者或全部:與用於均勻量化的加法器及乘法器相似的加法器及乘法器;三個累加暫存器(一個累加暫存器用於兩個計算路徑中的每一者中的乘積之和,且第三個累加暫存器用於對非零偏置量進行處理的路徑中的激活);以及每個張量的一個或兩個額外的儲存位元(一個儲存位元指示正負號,且一個儲存位元指示其中張量值被量化的區)。指示正負號的位元可不包括於具有無正負號值的實施方案中。指示區的位元可不包括於乘法累加(multiply-accumulate,MAC)計算中,此乃因指示區的位元可僅用於尋找適當的累加器。因此,在一些實施例中,可在對商品化硬體進行最小修改的情況下來達成根據本揭露的分段量化技術的硬體實施方案。
圖5例示出根據本揭露的用於在人工神經網路中處理分段量化值的設備的實施例。在圖5所示實施例中,權重緩衝器112可包括4位元量化權重值的行,所述4位元量化權重值中的每一者可伴隨有索引位元,以指示所述4位元量化權重值是已在區1(灰色)還是區2(白色)中被量化。可使用任何數目的行來提供多個值的並行處理,且所述行可具有任何合適的深度。在此實例中,所述行深九個權重。局部輸入特徵映射(input feature map,IFM)佇列110可提供4位元量化值(ifm_value)的串流,所述4位元量化值中的每一者可伴隨有最高有效半位元組位元/最低有效半位元組位元(ifm_MSN/LSN),以指示所述4位元量化值中的每一者與哪個區相關聯。局部IFM佇列110中與每一值(ifm_value)相關聯的IFM索引(ifm_idx)可使用選擇器114(在此實例中為自9個中選1個的選擇器(1-of-9 selector))來選擇權重的塊120,權重的塊120將藉由4位元乘法器116與來自局部IFM佇列110的值(ifm_value)相乘。依據ifm_MSN/LSN位元的狀態而定,可將部分乘積在移位暫存器118中移位4個位元。因此,權重的每一塊120與IFM索引(ifm_idx)及半位元組位元(ifm_MSN/LSN)的值的對應的集合122相關聯。若對應的行中的權重屬於區2,則可與每一行相關聯的偏置量加法器樹124可將激活相加。在圖5中所示的示例性狀態中,第一行可與區1相關聯,且因此,第一行的對應的偏置量加法器樹124被禁用,如由X所指示。相較之下,第二行及最末行可與區2相關聯,且因此,第二行及最末行的對應的偏置量加法器樹124被啟用,如由圓圈所指示。
可將本揭露的與分段量化相關的原理與其他量化技術進行組合,進而創建可生成協同結果的附加實施例。舉例而言,實施分段均勻(線性)量化的實施例可在量化範圍的每一段內分開或共同實施偏差校正。在此種實施例中,可例如藉由將一或多個校正項折疊至量化範圍的段中的一或多者的比例及/或偏置量中來校正張量的量化值中的偏差。依據實施細節而定,分段量化偏差校正的組合可進一步減小量化誤差,且改善其中實施分段量化偏差校正的人工神經網路的效能。
作為另一實例,實施根據本揭露的分段均勻(線性)量化的實施例可針對量化範圍的段中的一或多者每個輸出通道濾波器地應用各別量化。根據本揭露可將此技術進一步擴展成將一或多個輸出通道濾波器分解成一或多個群組,對於量化範圍的段中的一或多者而言,所述一或多個群組可被分開量化。依據實施細節而定,分段量化與每個通道及/或每個群組的組合可進一步減小量化誤差且改善人工神經網路的效能。在一些實施例中,自一個群組改變至另一群組可包括改變比例因數。依據實施細節而定,每個通道地(或逐通道地)應用分段量化可相對於每層(或逐層)實施方案改善精確度。
本揭露中闡述的方法及/或設備中的任何或所有方法及/或設備可部署於可使用人工神經網路的任何應用中。根據實例,實施根據本揭露的分段量化的人工神經網路可部署於用於行動計算、物聯網(Internet of Things,IOT)及/或嵌入式應用的裝置中,包括可被配置成使用對影像分類、面部辨識、語音辨識、語義分割、自主駕駛、機器人控制及其他應用實施分段量化的人工神經網路的裝置。實施根據本揭露的分段量化的人工神經網路亦可部署於桌面/工作站應用、伺服器、資料中心(包括超大規模資料中心)等中。
圖6例示出根據本揭露的計算系統的實施例。圖6所示系統150可用於實施本揭露中闡述的方法及/或設備中的任何或所有方法及/或設備。系統150可包括中央處理單元(central processing unit,CPU)152、使用者介面154、網路介面156、記憶體158、儲存器160、圖形處理單元(graphics processing unit,GPU)162、現場可程式化閘陣列(programmable gate array,FPGA)157及特殊應用積體電路(application specific integrated circuit,ASIC)163。然而,本揭露的原理並非僅限於使用圖6中所示的組件中的任意者的實施方案,而是可使用任何合適的硬體、軟體或其組合來達成。在不同的實施例中,所述系統可省略該些組件中的任意者,或者可包括組件中的任意者的複本或任何附加數目的組件,以及任何其他類型的組件,以實施本揭露中闡述的方法及/或設備中的任意者。
CPU 152可包括任何數目的核心、快取記憶體、匯流排及/或互連介面及/或控制器。記憶體158可包括動態隨機存取記憶體(random access memory,RAM)及/或靜態RAM、非揮發性記憶體(例如,快閃記憶體)等的任何佈置。儲存器160可包括硬碟驅動機(hard disk drive,HDD)、固態驅動機(solid state drive,SSD)及/或任何其他類型的資料儲存裝置或其任意組合。使用者介面154可包括任何類型的人機介面(human interface)裝置,例如鍵盤、滑鼠、監視器、視訊捕獲或傳送裝置、麥克風、揚聲器、觸控螢幕等以及此種裝置的任何虛擬化版本或遠端版本。網路介面156可包括一或多個配接器或其他設備,以藉由乙太網路(Ethernet)、Wi-Fi、藍芽或任何其他電腦網路佈置進行通訊,進而使組件能夠經由實體網路及/或邏輯網路(例如內部網路(intranet)、網際網路(Internet)、區域網路(local area network)、廣域網路(wide area network)等)進行通訊。GPU 162、FPGA 157及ASIC 163可包括專用硬體,例如可被配置成高效地實施本文中揭露的量化及/或其他神經網路處理中的任何或所有量化及/或其他神經網路處理的可程式化乘法累加(MAC)硬體。
系統150的組件中的任何或所有組件可藉由系統匯流排164進行互連,系統匯流排164可籠統地指代各種介面,包括電源匯流排、位址及資料匯流排、高速互連(例如串列進階技術附接(Serial Advanced Technology Attachment,SATA)、周邊組件互連(Peripheral Component Interconnect,PCI)、快速周邊組件互連(Peripheral Component Interconnect Express,PCI-e)、系統管理匯流排(System Management Bus,SMB))、以及任何其他類型的可使位於本端一個位置處及/或分佈於不同位置之間的組件一同工作的介面。
系統150亦可包括各種晶片組(chipset)、介面、配接器、緊連邏輯(glue logic)、嵌入式控制器(例如可程式化邏輯裝置或陣列或者不可程式化邏輯裝置或陣列)、ASIC、嵌入式電腦、智慧卡等,所述裝置被佈置成使系統150的各種組件能夠一起工作以實施本揭露中闡述的方法及/或設備中的任何或所有方法及/或設備。系統150的組件中的任意者可以硬體、軟體、韌體或其任意組合來實施。在一些實施例中,可藉由靈活地佈建資源(例如在資料中心內或分佈於多個資料中心中)而以虛擬化形式及/或以基於雲端的實施方案來達成所述組件中的任何或所有組件。
結合本文中揭露的實施例闡述的方法或演算法及功能的部件或步驟可直接以硬體、由處理器執行的一或多個軟體模組、或所述兩者的組合(包括以系統150)實施。若以軟體實施,則功能可作為一或多個指令或代碼儲存於有形的非暫態電腦可讀取媒體(non-transitory computer-readable medium)上或藉由有形的非暫態電腦可讀取媒體傳送。軟體模組可常駐於隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(Read Only Memory,ROM)、電性可程式化唯讀記憶體(Electrically Programmable ROM,EPROM)、電性可抹除可程式化唯讀記憶體(Electrically Erasable Programmable ROM,EEPROM)、暫存器、硬碟、可移動碟、光碟唯讀記憶體(compact disc ROM,CD ROM)或任何其他形式的儲存媒體中。本文中揭露的任何系統或其組件或部分可被實施成更大系統的軟體堆疊的一部分。本文中揭露的任何系統或其組件或部分可被實施成其自己的軟件堆疊。
以上揭露的實施例已在各種實施細節的上下文中進行了闡述,但本揭露的原理並非僅限於該些或任何其他具體細節。舉例而言,一些功能可能已被闡述為由某些組件實施,但在其他實施例中,所述功能可分佈於位於不同位置且具有各種使用者介面的不同系統及組件之間。某些實施例已被闡述為具有特定的過程、步驟等,但該些用語亦囊括其中特定過程、步驟等可使用多個過程、步驟等實施或者其中多個過程、步驟等可被整合至單個過程、步驟等中的實施例。當提及組件或元件時可僅指組件或元件的一部分。
除非上下文另外明確指示,否則在本揭露及申請專利範圍中使用例如「第一(first)」及「第二(second)」等用語可僅是為了區分所述用語所修飾的事物且可能並不指示任何空間次序或時間次序。提及第一事物可能並不表示存在第二事物。
根據本專利揭露的發明原理,可對上述各種細節及實施例進行組合以生成附加的實施例。由於可在不背離本發明概念的條件下對本專利揭露的發明原理進行佈置及細節上的潤飾,因此此種變更及潤飾被認為落於以下專利申請範圍的範圍內。
110:局部輸入特徵映射(IFM)佇列
112:權重緩衝器
114:選擇器
116:乘法器
118:移位暫存器
120:塊
122:集合
124:偏置量加法器樹
150:系統
152:中央處理單元(CPU)
154:使用者介面
156:網路介面
157:現場可程式化閘陣列(FPGA)
158:記憶體
160:儲存器
162:圖形處理單元(GPU)
163:特殊應用積體電路(ASIC)
164:系統匯流排
ifm_idx:IFM索引
ifm_MSN/LSN:最高有效半位元組位元/最低有效半位元組位元/半位元組位元
ifm_value:量化值
INT4:4位元
各圖未必按比例繪製,且出於例示目的,在所有圖中具有相似的結構或功能的元件一般由相同的參考編號表示。各圖僅旨在有助於達成對本文中闡述的各種實施例的說明。各圖並未闡述本文中所揭露的教示的每個態樣,且不對申請專利範圍的範圍進行限制。為防止圖式變得模糊,可能並未示出所有的組件、連接等,且並非所有的組件皆可具有參考編號。然而,組件配置的圖案在圖式中可容易地顯而易見。附圖與說明書一同例示出本揭露的示例性實施例,且與說明一同用於闡釋本揭露的原理。
圖1例示出示出經訓練的深度神經網路中的權重的示例性分佈的直方圖。
圖2例示出來自圖1中權重的4位元均勻訓練後量化的量化值的分佈。
圖3例示出根據本揭露的來自分段線性訓練後量化的量化值的分佈。
圖4例示出根據本揭露的分段量化技術的實施例。
圖5例示出根據本揭露的用於在人工神經網路中處理分段量化值的設備的實施例。
圖6例示出可用於實施本揭露中闡述的方法及/或設備中的任何或所有方法及/或設備的計算系統的實施例。
110:局部輸入特徵映射(IFM)佇列
112:權重緩衝器
114:選擇器
116:乘法器
118:移位暫存器
120:塊
122:集合
124:偏置量加法器樹
ifm_idx:IFM索引
ifm_MSN/LSN:最高有效半位元組位元/最低有效半位元組位元/半位元組位元
ifm_value:量化值
Claims (20)
- 一種對人工神經網路進行量化的方法,所述方法包括: 將所述人工神經網路的張量的量化範圍劃分成第一區及第二區;以及 將所述第一區中的所述張量的值與所述第二區中的所述張量的值分開進行量化。
- 如請求項1所述的方法,其中: 所述第一區中的所述張量的值是根據第一量化函數進行量化;以及 所述第二區中的所述張量的值是根據第二量化函數進行量化。
- 如請求項2所述的方法,其中所述第一量化函數與所述第二量化函數具有不同的比例因數。
- 如請求項3所述的方法,其中所述第一量化函數與所述第二量化函數具有不同的偏置量。
- 如請求項1所述的方法,其中對所述第一區及所述第二區中的所述張量的值應用線性量化。
- 如請求項1所述的方法,其中所述第一區包括正的部分及負的部分。
- 如請求項6所述的方法,其中所述第二區包括正的部分及負的部分。
- 如請求項1所述的方法,其中劃分所述量化範圍包括對所述第一區與所述第二區的分界點進行定位。
- 如請求項8所述的方法,其中對所述分界點進行定位包括: 確定在所述量化範圍的至少一部分內的量化誤差;以及 將所述量化誤差實質上最小化。
- 如請求項9所述的方法,其中將所述量化誤差最小化包括: 將所述量化誤差公式化為所述分界點的位置的函數; 將所述函數的一階導數公式化;以及 確定所述分界點的使所述一階導數實質上為零的值。
- 如請求項10所述的方法,其中所述分界點的使所述一階導數實質上為零的所述值是使用二元搜尋進行確定。
- 如請求項9所述的方法,其中使用回歸對所述分界點的所述位置進行逼近。
- 如請求項9所述的方法,其中使用柵格搜尋將所述量化誤差實質上最小化。
- 如請求項8所述的方法,其中所述分界點被定位成使量化值的密度與所述張量的值的密度匹配。
- 如請求項1所述的方法,其中: 所述張量包括至少兩個通道;以及 所述至少兩個通道在所述第一區及所述第二區中的至少一者中分開進行量化。
- 如請求項1所述的方法,其中: 所述人工神經網路的所述張量的所述量化範圍被劃分成第一區、第二區及第三區; 所述張量的所述值在所述第一區、所述第二區及所述第三區中分開進行量化; 所述第一區與所述第二區之間的第一分界點、及所述第二區與所述第三區第二分界點是藉由以下方式進行定位: 在所述量化範圍的至少一部分內將量化誤差公式化;以及 將所述量化誤差實質上最小化。
- 如請求項1所述的方法,其中所述張量包括一或多個權重。
- 如請求項1所述的方法,其中所述第一區與所述第二區不交疊。
- 一種系統,包括: 處理器,被配置成執行包括以下的程序: 將人工神經網路的張量的量化範圍劃分成第一區及第二區;以及 將所述第一區中的所述張量的值與所述第二區中的所述張量的值分開進行量化。
- 一種人工神經網路設備,包括: 第一累加器,被配置成對量化範圍的第一區的激活及權重乘積進行求和; 第二累加器,被配置成對所述量化範圍的第二區的激活及權重乘積進行求和;以及 第三累加器,被配置成對所述第二區的激活進行求和。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962929752P | 2019-11-01 | 2019-11-01 | |
US62/929,752 | 2019-11-01 | ||
US16/816,247 US11775611B2 (en) | 2019-11-01 | 2020-03-11 | Piecewise quantization for neural networks |
US16/816,247 | 2020-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202119293A true TW202119293A (zh) | 2021-05-16 |
TWI830938B TWI830938B (zh) | 2024-02-01 |
Family
ID=71846280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109126848A TWI830938B (zh) | 2019-11-01 | 2020-08-07 | 對人工神經網路進行量化的方法及系統以及人工神經網路設備 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11775611B2 (zh) |
EP (1) | EP3816874A3 (zh) |
JP (1) | JP2021072103A (zh) |
KR (1) | KR20210053160A (zh) |
CN (1) | CN112785597A (zh) |
TW (1) | TWI830938B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI795135B (zh) * | 2021-12-22 | 2023-03-01 | 財團法人工業技術研究院 | 神經網路模型的量化方法及深度學習加速器 |
TWI820846B (zh) * | 2022-06-29 | 2023-11-01 | 新加坡商聯發科技(新加坡)私人有限公司 | 確定用於混合精度神經網路計算的位寬的方法以及系統 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291876B (zh) * | 2020-01-21 | 2023-03-28 | 星宸科技股份有限公司 | 运算装置、运算方法和运算芯片 |
US11893507B1 (en) * | 2020-07-24 | 2024-02-06 | Amperity, Inc. | Predicting customer lifetime value with unified customer data |
CN115601692A (zh) * | 2021-07-08 | 2023-01-13 | 华为技术有限公司(Cn) | 数据处理方法、神经网络模型的训练方法及装置 |
CN113705791B (zh) * | 2021-08-31 | 2023-12-19 | 上海阵量智能科技有限公司 | 神经网络推理量化的方法、装置、电子设备及存储介质 |
KR102651560B1 (ko) * | 2021-12-01 | 2024-03-26 | 주식회사 딥엑스 | 프로그램된 활성화 함수 실행 유닛을 포함하는 신경 프로세싱 유닛 |
CN114708180B (zh) * | 2022-04-15 | 2023-05-30 | 电子科技大学 | 具有动态范围保持的预失真图像比特深度量化和增强方法 |
US20230350678A1 (en) * | 2022-04-28 | 2023-11-02 | Qualcomm Incorporated | Instruction Set Architecture for Neural Network Quantization and Packing |
TWI819627B (zh) * | 2022-05-26 | 2023-10-21 | 緯創資通股份有限公司 | 用於深度學習網路的優化方法、運算裝置及電腦可讀取媒體 |
KR102494095B1 (ko) * | 2022-07-06 | 2023-02-06 | 주식회사 스퀴즈비츠 | 인공 신경망 학습 장치 및 방법 |
CN116153389B (zh) * | 2023-04-21 | 2023-07-18 | 之江实验室 | 蛋白质语言模型的量化方法、装置、设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11049006B2 (en) | 2014-09-12 | 2021-06-29 | Microsoft Technology Licensing, Llc | Computing system for training neural networks |
WO2018199721A1 (ko) * | 2017-04-28 | 2018-11-01 | 서울대학교 산학협력단 | 뉴럴네트워크에서 데이터 처리를 가속화하는 방법 및 장치 |
CN109214502B (zh) | 2017-07-03 | 2021-02-26 | 清华大学 | 神经网络权重离散化方法和系统 |
US11755901B2 (en) | 2017-12-28 | 2023-09-12 | Intel Corporation | Dynamic quantization of neural networks |
US12086705B2 (en) | 2017-12-29 | 2024-09-10 | Intel Corporation | Compute optimization mechanism for deep neural networks |
JP2019164793A (ja) | 2018-03-19 | 2019-09-26 | エスアールアイ インターナショナル | ディープニューラルネットワークの動的適応 |
US12056594B2 (en) * | 2018-06-27 | 2024-08-06 | International Business Machines Corporation | Low precision deep neural network enabled by compensation instructions |
WO2020019236A1 (en) * | 2018-07-26 | 2020-01-30 | Intel Corporation | Loss-error-aware quantization of a low-bit neural network |
US11675676B2 (en) * | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
US11263518B2 (en) * | 2019-10-04 | 2022-03-01 | International Business Machines Corporation | Bi-scaled deep neural networks |
-
2020
- 2020-03-11 US US16/816,247 patent/US11775611B2/en active Active
- 2020-07-03 KR KR1020200082108A patent/KR20210053160A/ko unknown
- 2020-07-29 EP EP20188375.8A patent/EP3816874A3/en active Pending
- 2020-08-07 TW TW109126848A patent/TWI830938B/zh active
- 2020-09-07 CN CN202010928817.0A patent/CN112785597A/zh active Pending
- 2020-09-17 JP JP2020156057A patent/JP2021072103A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI795135B (zh) * | 2021-12-22 | 2023-03-01 | 財團法人工業技術研究院 | 神經網路模型的量化方法及深度學習加速器 |
TWI820846B (zh) * | 2022-06-29 | 2023-11-01 | 新加坡商聯發科技(新加坡)私人有限公司 | 確定用於混合精度神經網路計算的位寬的方法以及系統 |
Also Published As
Publication number | Publication date |
---|---|
US11775611B2 (en) | 2023-10-03 |
KR20210053160A (ko) | 2021-05-11 |
US20210133278A1 (en) | 2021-05-06 |
TWI830938B (zh) | 2024-02-01 |
CN112785597A (zh) | 2021-05-11 |
JP2021072103A (ja) | 2021-05-06 |
EP3816874A2 (en) | 2021-05-05 |
EP3816874A3 (en) | 2021-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202119293A (zh) | 對人工神經網路進行量化的方法及系統以及人工神經網路設備 | |
CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
US20190171927A1 (en) | Layer-level quantization in neural networks | |
CN106855952B (zh) | 基于神经网络的计算方法及装置 | |
TW201915839A (zh) | 對人工神經網路及浮點神經網路進行量化的方法及裝置 | |
CN115841137A (zh) | 一种用于对待量化数据进行定点化处理的方法及计算装置 | |
CN110929865B (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN115688877A (zh) | 一种用于对待量化数据进行定点化处理的方法及计算装置 | |
WO2017142670A1 (en) | Technologies for shifted neural networks | |
WO2018057749A1 (en) | Cascaded computing for convolutional neural networks | |
US20210350205A1 (en) | Convolution Processing Method and Apparatus for Convolutional Neural Network, and Storage Medium | |
US11704556B2 (en) | Optimization methods for quantization of neural network models | |
JP7239116B2 (ja) | 映像復元方法及び装置 | |
JP2022512211A (ja) | 画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム | |
CN110874627B (zh) | 数据处理方法、数据处理装置及计算机可读介质 | |
CN111582229A (zh) | 一种网络自适应半精度量化的图像处理方法和系统 | |
TW202001701A (zh) | 影像的量化方法及神經網路的訓練方法 | |
EP3924891A1 (en) | Quality monitoring and hidden quantization in artificial neural network computations | |
CN111971692A (zh) | 卷积神经网络 | |
US11537839B2 (en) | Arithmetic processing device and system to realize multi-layer convolutional neural network circuit to perform process with fixed-point number format | |
US20230058095A1 (en) | Method and apparatus with calculation | |
US11899518B2 (en) | Analog MAC aware DNN improvement | |
US20230051344A1 (en) | Optimization of memory use for efficient neural network execution | |
US20230043584A1 (en) | Optimization of memory use for efficient neural network execution | |
US20240256901A1 (en) | Information processing apparatus, information processing method and non-transitory computer-readable storage medium |