JP7231731B2 - 適応量子化方法及び装置、デバイス、媒体 - Google Patents
適応量子化方法及び装置、デバイス、媒体 Download PDFInfo
- Publication number
- JP7231731B2 JP7231731B2 JP2021527128A JP2021527128A JP7231731B2 JP 7231731 B2 JP7231731 B2 JP 7231731B2 JP 2021527128 A JP2021527128 A JP 2021527128A JP 2021527128 A JP2021527128 A JP 2021527128A JP 7231731 B2 JP7231731 B2 JP 7231731B2
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- adaptive
- quantized
- scaling factor
- fixed
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000013139 quantization Methods 0.000 title claims description 605
- 230000003044 adaptive effect Effects 0.000 title claims description 196
- 238000000034 method Methods 0.000 title claims description 163
- 230000008569 process Effects 0.000 claims description 106
- 230000006870 function Effects 0.000 claims description 65
- 238000004364 calculation method Methods 0.000 claims description 46
- 238000006243 chemical reaction Methods 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 5
- 230000006978 adaptation Effects 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 238000013527 convolutional neural network Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- 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
- G06N3/045—Combinations of 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/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed 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/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
- 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/15—Correlation function computation including computation of convolution operations
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Description
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算すること、および、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得することを含む。
複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、を実行することを含む。
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む。
当該極値のうちの最小値と指定された量子化値の範囲内の最小値に基づいて、第1の関数を用いて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うこと、および、
前記第1の関数は、対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
当該極値のうちの最小値と前記指定された量子化値の範囲内の最小値に基づいて、第2の関数を用いて、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、および、
前記第2の関数は、前記対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
前記統合化された極値と指定された量子化値の範囲内の極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することを含む。
対数座標系を用いて、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数との比例関係を変換すること、および、
前記変換された比例関係に応じて、1つまたは複数の適応量子化係数を計算することを含み、
前記計算中に、浮動小数点数から固定小数点数へと変換するための変換ロジック及び/又は精度を保留するための係数が用いられる。
前記第1の適応量子化係数は、対数座標系を用いて、前記比例関係を変換してから、前記精度を保留するための係数を用いて、精度の調整を行うことによって算出されたものであり、及び/又は、
前記第2の適応量子化係数は、対数座標系を用いて、前記比例関係と前記第1の適応量子化係数に基づいて、逆方向変換を行うことによって算出されたものである。
下式により、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算する第1の量子化モジュールと、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算する適応量子化係数計算モジュールと、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得する第2の量子化モジュールと、を備えた。
前記第1の量子化モジュールは、複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、を実行することを含む。
前記適応量子化係数計算モジュールは、前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む。
前記第1の量子化モジュールは、当該極値のうちの最小値と指定された量子化値の範囲内の最小値に基づいて、第1の関数を用いて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うこと、および、
前記第1の関数は、対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
前記第1の量子化モジュールは、当該極値のうちの最小値と前記指定された量子化値の範囲内の最小値に基づいて、第2の関数を用いて、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、および、
前記第2の関数は、前記対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
前記適応量子化係数計算モジュールは、前記統合化された極値と指定された量子化値の範囲内の極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することを含む。
前記適応量子化係数計算モジュールは、対数座標系を用いて、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数との比例関係を変換すること、および、
前記変換された比例関係に応じて、1つまたは複数の適応量子化係数を計算することを含み、
前記計算中に、浮動小数点数から固定小数点数へと変換するための変換ロジック及び/又は精度を保留するための係数が用いられる。
前記第1の適応量子化係数は、前記適応量子化係数計算モジュールが対数座標系を用いて、前記比例関係を変換してから、前記精度を保留するための係数を用いて、精度の調整を行うことによって算出されたものであり、及び/又は、
前記第2の適応量子化係数は、前記適応量子化係数計算モジュールが対数座標系を用いて、前記比例関係と前記第1の適応量子化係数に基づいて、逆方向変換を行うことによって算出されたものである。
前記第2の量子化モジュールは、下式により、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサが実行可能なインストラクションが記憶されており、前記インストラクションが前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサは、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算すること、および、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得することを可能にすることができる。
前記コンピュータが実行可能なインストラクションは、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算し、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算し、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得するように設定されている。
ALUに対し、M個の量子化モジュールが当該ALUから出力された各オリジナルの入力テンソルを並行に処理すると仮定し、現在入力されたi番目のALUの出力をオリジナルの入力テンソルXiに記し、Xiをトラバースすることでその最小値と最大値を求めて、それぞれ、Xmini、Xmaxiと記し、Xiに対応する量子化スケーリング係数(
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算する第1の量子化モジュール301と、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算する適応量子化係数計算モジュール302と、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得する第2の量子化モジュール303と、を備えた。
前記第1の量子化モジュール301は、複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、を実行することを含む。
前記適応量子化係数計算モジュール302は、前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む。
前記第1の量子化モジュール301は、当該極値のうちの最小値と指定された量子化値の範囲内の最小値に基づいて、第1の関数を用いて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うこと、および、
前記第1の関数は、対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
前記第1の量子化モジュール301は、当該極値のうちの最小値と前記指定された量子化値の範囲内の最小値に基づいて、第2の関数を用いて、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、および、
前記第2の関数は、前記対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む。
前記適応量子化係数計算モジュール302は、前記統合化された極値と指定された量子化値の範囲内の極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することを含む。
前記適応量子化係数計算モジュール302は、対数座標系を用いて、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数との比例関係を変換すること、および、
前記変換された比例関係に応じて、1つまたは複数の適応量子化係数を計算することを含み、
前記計算中に、浮動小数点数から固定小数点数へと変換するための変換ロジック及び/又は精度を保留するための係数が用いられる。
前記第1の適応量子化係数は、前記適応量子化係数計算モジュール302が対数座標系を用いて、前記比例関係を変換してから、前記精度を保留するための係数を用いて、精度の調整を行うことによって算出されたものであり、及び/又は、
前記第2の適応量子化係数は、前記適応量子化係数計算モジュール302が対数座標系を用いて、前記比例関係と前記第1の適応量子化係数に基づいて、逆方向変換を行うことによって算出されたものである。
前記第2の量子化モジュール303は、下式により、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサが実行可能なインストラクションが記憶されており、前記インストラクションが前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサは、
複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む。
複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算し、
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定し、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算し、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算し、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得するように設定されている。
Claims (32)
- 適応量子化方法であって、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算すること、および、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得することを含み、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算することは、具体的に、
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む、
ことを特徴とする適応量子化方法。 - 複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算することは、具体的に、
複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、を実行することを含む、ことを特徴とする請求項1に記載の方法。 - 前記複数のオリジナルの入力テンソルは、同一の演算ロジックユニットALUからのものであり、前記方法が複数の異なるALUの各々に対して実行される、ことを特徴とする請求項1に記載の方法。
- 当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことは、具体的に、
当該極値のうちの最小値と指定された量子化値の範囲内の最小値に基づいて、第1の関数を用いて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うこと、および、
前記第1の関数は、対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む、ことを特徴とする請求項2に記載の方法。 - 当該固定小数点数型の入力テンソルに対する量子化オフセットを計算することは、具体的に、
当該極値のうちの最小値と前記指定された量子化値の範囲内の最小値に基づいて、第2の関数を用いて、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、および、
前記第2の関数は、前記対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む、ことを特徴とする請求項4に記載の方法。 - 前記対応する量子化スケーリング係数は、当該極値及び/又は前記指定された量子化値の範囲内の極値に基づいて計算されたものである、ことを特徴とする請求項4又は5に記載の方法。
- 前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することは、具体的に、
前記統合化された極値と指定された量子化値の範囲内の極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することを含むことを特徴とする請求項1に記載の方法。 - 前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することは、具体的に、
対数座標系を用いて、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数との比例関係を変換すること、および、
前記変換された比例関係に応じて、1つまたは複数の適応量子化係数を計算することを含み、
前記計算中に、浮動小数点数から固定小数点数へと変換するための変換ロジック及び/又は精度を保留するための係数が用いられる、ことを特徴とする請求項1に記載の方法。 - 前記複数の適応量子化係数は、第1の適応量子化係数と第2の適応量子化係数を含み、
前記第1の適応量子化係数は、対数座標系を用いて、前記比例関係を変換してから、前記精度を保留するための係数を用いて、精度の調整を行うことによって算出されたものであり、及び/又は、
前記第2の適応量子化係数は、対数座標系を用いて、前記比例関係と前記第1の適応量子化係数に基づいて、逆方向変換を行うことによって算出されたものである、ことを特徴とする請求項8に記載の方法。 - 前記第1の量子化処理では、N進数の指定されたビット数に基づいて量子化を行い、前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得するステップは、具体的に、
下式により、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果
を取得することを含み、
shiftiが前記第1の適応量子化係数を示し、riが前記第2の適応量子化係数を示し、
が前記第1の量子化処理が行われた後のオリジナルの入力テンソルXiを示し、
が前記第1の量子化処理が行われた後のXiで算出された量子化オフセットを示し、
が前記統合化された量子化オフセットを示す、ことを特徴とする請求項12~14のいずれか1項に記載の方法。 - 適応量子化装置であって、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算する第1の量子化モジュールと、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算する適応量子化係数計算モジュールと、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得する第2の量子化モジュールと、を備え、
前記適応量子化係数計算モジュールは、複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算することは、具体的に、
前記適応量子化係数計算モジュールは、前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む
ことを特徴とする適応量子化装置。 - 前記第1の量子化モジュールは、複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算することは、具体的に、
前記第1の量子化モジュールは、複数のオリジナルの入力テンソルの各々に対して、当該オリジナルの入力テンソルの極値を確定すること、および、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、を実行することを含む、ことを特徴とする請求項16に記載の適応量子化装置。 - 前記複数のオリジナルの入力テンソルは、同一の演算ロジックユニットALUからのものであり、前記適応量子化装置が複数の異なるALUの各々に対して実行する、ことを特徴とする請求項16に記載の適応量子化装置。
- 前記第1の量子化モジュールは、当該極値に基づいて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うことは、具体的に、
前記第1の量子化モジュールは、当該極値のうちの最小値と指定された量子化値の範囲内の最小値に基づいて、第1の関数を用いて、当該オリジナルの入力テンソルに対して第1の量子化処理を行うこと、および、
前記第1の関数は、対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む、ことを特徴とする請求項17に記載の適応量子化装置。 - 前記第1の量子化モジュールは、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算することは、具体的に、
前記第1の量子化モジュールは、当該極値のうちの最小値と前記指定された量子化値の範囲内の最小値に基づいて、第2の関数を用いて、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、および、
前記第2の関数は、前記対応する量子化スケーリング係数と、浮動小数点数から固定小数点数へと変換するための変換ロジックと、を有することを含む、ことを特徴とする請求項19に記載の適応量子化装置。 - 前記対応する量子化スケーリング係数は、当該極値及び/又は前記指定された量子化値の範囲内の極値に基づいて計算されたものである、ことを特徴とする請求項19又は20に記載の適応量子化装置。
- 前記適応量子化係数計算モジュールは、前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することは、具体的に、
前記適応量子化係数計算モジュールは、前記統合化された極値と指定された量子化値の範囲内の極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算することを含むことを特徴とする請求項16に記載の適応量子化装置。 - 前記適応量子化係数計算モジュールは、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することは、具体的に、
前記適応量子化係数計算モジュールは、対数座標系を用いて、前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数との比例関係を変換すること、および、
前記変換された比例関係に応じて、1つまたは複数の適応量子化係数を計算すること、を含み、
前記計算中に、浮動小数点数から固定小数点数へと変換するための変換ロジック及び/又は精度を保留するための係数が用いられる、ことを特徴とする請求項16に記載の適応量子化装置。 - 前記複数の適応量子化係数は、第1の適応量子化係数と第2の適応量子化係数を含み、
前記第1の適応量子化係数は、前記適応量子化係数計算モジュールが対数座標系を用いて、前記比例関係を変換してから、前記精度を保留するための係数を用いて、精度の調整を行うことによって算出されたものであり、及び/又は、
前記第2の適応量子化係数は、前記適応量子化係数計算モジュールが対数座標系を用いて、前記比例関係と前記第1の適応量子化係数に基づいて、逆方向変換を行うことによって算出されたものである、ことを特徴とする請求項23に記載の適応量子化装置。 - 前記第1の量子化処理では、N進数の指定されたビット数に基づいて量子化を行い、前記第2の量子化モジュールは、前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得することは、具体的に、
前記第2の量子化モジュールは、下式により、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果
を取得することを含み、
shiftiが前記第1の適応量子化係数を示し、riが前記第2の適応量子化係数を示し、
が前記第1の量子化処理が行われた後のオリジナルの入力テンソルXiを示し、
が前記第1の量子化処理が行われた後のXiで算出された量子化オフセットを示し、
が前記統合化された量子化オフセットを示す、ことを特徴とする請求項27~29のいずれか1項に記載の適応量子化装置。 - 適応量子化デバイスであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信接続されたメモリと、を備え、
前記メモリには、前記少なくとも1つのプロセッサが実行可能なインストラクションが記憶されており、前記インストラクションが前記少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサは、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算すること、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算すること、および、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得することを可能にすることができ、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算することは、具体的に、
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む、
ことを特徴とする適応量子化デバイス。 - コンピュータが実行可能なインストラクションを記憶した適応量子化非一時的コンピュータ記憶媒体であって、
前記コンピュータが実行可能なインストラクションは、
複数のオリジナルの入力テンソルの各々に対して、第1の量子化処理を行うことで、固定小数点数型の入力テンソルを取得するとともに、当該固定小数点数型の入力テンソルに対する量子化オフセットを計算し、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算し、
前記適応量子化係数と前記統合化された量子化オフセットに基づき、前記固定小数点数型の入力テンソル及びその量子化オフセットに対して、第2の量子化処理を行うことで、量子化結果を取得するように設定され、
複数のオリジナルの入力テンソルに対応する統合化された量子化オフセット、および、適応量子化係数を計算することは、具体的に、
前記複数のオリジナルの入力テンソルの各々の極値に基づいて、統合化された極値を確定すること、
前記統合化された極値に基づいて、統合化された量子化スケーリング係数と量子化オフセットを計算すること、および、
前記統合化された量子化スケーリング係数と前記第1の量子化処理中に用いられた量子化スケーリング係数に基づいて、適応量子化係数を計算することを含む、
ことを特徴とする適応量子化非一時的コンピュータ記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811358824.0 | 2018-11-15 | ||
CN201811358824.0A CN111191783B (zh) | 2018-11-15 | 2018-11-15 | 一种自适应量化方法及装置、设备、介质 |
PCT/CN2019/106084 WO2020098368A1 (zh) | 2018-11-15 | 2019-09-17 | 一种自适应量化方法及装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022507704A JP2022507704A (ja) | 2022-01-18 |
JP7231731B2 true JP7231731B2 (ja) | 2023-03-01 |
Family
ID=70710535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021527128A Active JP7231731B2 (ja) | 2018-11-15 | 2019-09-17 | 適応量子化方法及び装置、デバイス、媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220091821A1 (ja) |
EP (1) | EP3882824A4 (ja) |
JP (1) | JP7231731B2 (ja) |
KR (1) | KR20210093952A (ja) |
CN (1) | CN111191783B (ja) |
WO (1) | WO2020098368A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021111081A (ja) * | 2020-01-09 | 2021-08-02 | 富士通株式会社 | 情報処理装置、ニューラルネットワークの演算プログラム及びニューラルネットワークの演算方法 |
US11601134B2 (en) * | 2020-01-10 | 2023-03-07 | Robert Bosch Gmbh | Optimized quantization for reduced resolution neural networks |
CN112130807B (zh) * | 2020-11-25 | 2021-02-26 | 上海燧原科技有限公司 | 张量浮点数据处理方法、装置、设备及存储介质 |
CN112541549B (zh) * | 2020-12-15 | 2024-04-26 | 深兰人工智能(深圳)有限公司 | 商品分类识别方法及装置 |
CN113554149B (zh) * | 2021-06-18 | 2022-04-12 | 北京百度网讯科技有限公司 | 神经网络处理单元npu、神经网络的处理方法及其装置 |
CN115328438B (zh) * | 2022-10-13 | 2023-01-10 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
KR20240077167A (ko) * | 2022-11-24 | 2024-05-31 | 주식회사 모빌린트 | 합성곱 연산을 위한 데이터 처리 방법 및 컴퓨팅 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006141046A (ja) | 2005-11-29 | 2006-06-01 | Sony Corp | 画像処理装置、画像処理方法、学習装置及び学習方法 |
JP2016213849A (ja) | 2011-11-04 | 2016-12-15 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 階層的vdr符号化における層分解 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732226B2 (en) * | 2006-06-06 | 2014-05-20 | Intel Corporation | Integer rounding operation |
CN111275628B (zh) * | 2015-12-23 | 2024-06-18 | 华为技术有限公司 | 一种图像信号转换处理方法、装置及终端设备 |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN106855952B (zh) * | 2016-12-29 | 2020-08-18 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN108345939B (zh) * | 2017-01-25 | 2022-05-24 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
US11556772B2 (en) * | 2017-04-28 | 2023-01-17 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
US10643297B2 (en) * | 2017-05-05 | 2020-05-05 | Intel Corporation | Dynamic precision management for integer deep learning primitives |
CN107247575A (zh) * | 2017-06-06 | 2017-10-13 | 上海德衡数据科技有限公司 | 一种多路数据浮点处理器原型 |
CN107480770B (zh) * | 2017-07-27 | 2020-07-28 | 中国科学院自动化研究所 | 可调节量化位宽的神经网络量化与压缩的方法及装置 |
CN107766939A (zh) * | 2017-11-07 | 2018-03-06 | 维沃移动通信有限公司 | 一种数据处理方法、装置及移动终端 |
CN108053028B (zh) * | 2017-12-21 | 2021-09-14 | 深圳励飞科技有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108345831A (zh) * | 2017-12-28 | 2018-07-31 | 新智数字科技有限公司 | 基于点云数据的道路图像分割的方法、装置以及电子设备 |
CN108491926B (zh) * | 2018-03-05 | 2022-04-12 | 东南大学 | 一种基于对数量化的低比特高效深度卷积神经网络硬件加速设计方法、模块及系统 |
-
2018
- 2018-11-15 CN CN201811358824.0A patent/CN111191783B/zh active Active
-
2019
- 2019-09-17 EP EP19883762.7A patent/EP3882824A4/en active Pending
- 2019-09-17 WO PCT/CN2019/106084 patent/WO2020098368A1/zh unknown
- 2019-09-17 US US17/294,432 patent/US20220091821A1/en active Pending
- 2019-09-17 KR KR1020217018288A patent/KR20210093952A/ko not_active Application Discontinuation
- 2019-09-17 JP JP2021527128A patent/JP7231731B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006141046A (ja) | 2005-11-29 | 2006-06-01 | Sony Corp | 画像処理装置、画像処理方法、学習装置及び学習方法 |
JP2016213849A (ja) | 2011-11-04 | 2016-12-15 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 階層的vdr符号化における層分解 |
Also Published As
Publication number | Publication date |
---|---|
KR20210093952A (ko) | 2021-07-28 |
EP3882824A1 (en) | 2021-09-22 |
CN111191783B (zh) | 2024-04-05 |
US20220091821A1 (en) | 2022-03-24 |
CN111191783A (zh) | 2020-05-22 |
EP3882824A4 (en) | 2022-08-31 |
JP2022507704A (ja) | 2022-01-18 |
WO2020098368A1 (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7231731B2 (ja) | 適応量子化方法及び装置、デバイス、媒体 | |
CN111126558B (zh) | 一种卷积神经网络计算加速方法及装置、设备、介质 | |
Darvish Rouhani et al. | Pushing the limits of narrow precision inferencing at cloud scale with microsoft floating point | |
CN111652367B (zh) | 一种数据处理方法及相关产品 | |
KR20190034985A (ko) | 인공 신경망의 양자화 방법 및 장치 | |
WO2020074989A1 (en) | Data representation for dynamic precision in neural network cores | |
US11704556B2 (en) | Optimization methods for quantization of neural network models | |
US11341400B1 (en) | Systems and methods for high-throughput computations in a deep neural network | |
KR20190093932A (ko) | 딥러닝 시스템에서의 연산 처리 장치 및 방법 | |
CN112598123A (zh) | 神经网络的权值的量化方法、量化装置及存储介质 | |
CN115526320A (zh) | 神经网络模型推理的加速方法、装置、电子设备和介质 | |
CN110337636A (zh) | 数据转换方法和装置 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
Chin et al. | A high-performance adaptive quantization approach for edge CNN applications | |
Limonova | Fast and gate-efficient approximated activations for bipolar morphological neural networks | |
CN112418388A (zh) | 一种实现深度卷积神经网络处理的方法及装置 | |
US20220405576A1 (en) | Multi-layer neural network system and method | |
Kalali et al. | A power-efficient parameter quantization technique for CNN accelerators | |
CN117973480A (zh) | 校准神经网络量化的方法、装置、设备、介质和程序产品 | |
CN113902114A (zh) | 神经网络模型的量化方法、装置和系统、电子设备和存储介质 | |
CN117348837A (zh) | 浮点精度模型的量化方法、装置、电子设备以及存储介质 | |
CN114298291A (zh) | 一种模型量化处理系统及一种模型量化处理方法 | |
CN114222997A (zh) | 用于对神经网络进行后训练量化的方法和装置 | |
WO2021036412A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111178497A (zh) | 特征向量二值化或三值化算法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210610 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220621 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221114 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230216 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7231731 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |