JP7556276B2 - 量子化プログラム,量子化方法および量子化装置 - Google Patents
量子化プログラム,量子化方法および量子化装置 Download PDFInfo
- Publication number
- JP7556276B2 JP7556276B2 JP2020200353A JP2020200353A JP7556276B2 JP 7556276 B2 JP7556276 B2 JP 7556276B2 JP 2020200353 A JP2020200353 A JP 2020200353A JP 2020200353 A JP2020200353 A JP 2020200353A JP 7556276 B2 JP7556276 B2 JP 7556276B2
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- bit width
- radius
- trust
- information processing
- 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 98
- 238000000034 method Methods 0.000 title claims description 48
- 230000010365 information processing Effects 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 description 42
- 238000004364 calculation method Methods 0.000 description 35
- 238000012545 processing Methods 0.000 description 35
- 239000013598 vector Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 15
- 238000013135 deep learning Methods 0.000 description 12
- 238000003860 storage Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
また、従来の量子化手法として、レイヤ毎に、認識率が劣化しないデータ型を自動的に設定する最適化アルゴリズムが知られている。
そして、仮算出されたビット幅の設定で、複数イテレーションの訓練を実行したのちに、評価関数を計算する。
量子化アルゴリズムにおいては、これらの処理を、全て量子化対象のレイヤに対して、予め規定された反復回数だけ繰り返し実行する。
1つの側面では、本発明は、短時間で全レイヤを最適化できるようにすることを目的とする。
図1は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
アクセラレータ12は、行列演算などのニューラルネットワークの計算に必要な演算処理を実行する。
量子化処理部101は、ニューラルネットワークに使用される変数を量子化する。本情報処理装置1においては、量子化処理部101は、各レイヤにおける重みベクトルのビット幅を狭めることで量子化を実現する。また、本情報処理装置1においては、信頼領域法が用いられる。
図4は実施形態の一例としての情報処理装置1における量子化対象のベクトルを例示する図である。
本情報処理装置1においては、この図4に例示するレイヤ1の重みベクトルW1とレイヤ2の重みベクトルW2とを量子化対象とする例について示す。
上記式(1)を量子化誤差について整理することで、制約条件を満たす量子化誤差の上限=閾値が導出される。
ビット幅設定部102は、各レイヤにおける重みベクトルのビット幅を設定する。
ビット幅設定部102は、理想条件で算出された損失関数(理想損失関数)Lidealを算出する。
スケーリング係数(Qscale)は、差分算出部103が算出した差分(Qdiff)を、後述する信頼半径更新部105が乗算に用いるために係数化した値である。
スケーリング係数算出部104は、以下の式(2)を用いてスケーリング係数(Qscale)を算出する。
Qscale, k= 1 + Qdiff,k / Qth,k ・・・(2)
上記式(2)より、レイヤ1のスケーリング係数は以下の式(3)で表される。
Qscale,1= 1 + Qdiff,1 / Qth,1 ・・・(3)
また、上記式(2)より、レイヤ2のスケーリング係数は以下の式(4)で表される。
Qscale,2= 1 + Qdiff,2 / Qth,2 ・・・(4)
なお、仮算出されたビット幅よりも一つ狭いビット幅の量子化誤差と閾値との差分(Qdiff)が無いケースについては、スケーリング係数なしとする
最小スケーリング係数(Qscale,min)は以下の式(5)で表される。
Qscale,min= min(Qscale,1,Qscale,2) ・・・(5)
信頼半径更新部105は、信頼半径を更新する。
信頼半径更新部105は、以下の式(6)を用いて信頼半径を更新する。
次回の信頼半径 = 今回の信頼半径 × max(定数a, Qscale,min)・・・(6)
上述の如く構成された実施形態の一例としての情報処理装置1における量子化処理を、図9および図10に示すフローチャート(ステップS1~S17)に従って説明する。図9はステップS1~S6を示し、図10はステップS7~S17を示す。
一方、閾値QthのL2ノルムが信頼半径よりも大きい場合には(ステップS3のNOルート参照)、ステップS4に移行する。図9のステップS4において、閾値生成部107は、閾値QthのL2ノルムが信頼半径となるように閾値をスケールする。その後、処理はステップS5に移行する。
ステップS13において、ビット幅設定部102は、ビット幅の値を維持し、仮算出したビット幅の値を破棄する。
図10のステップS14において、ビット幅設定部102は、現在の信頼半径に定数a(a は1未満の値)を乗算することで信頼半径を減少させる。
このように、実施形態の一例としての情報処理装置1によれば、差分算出部103は、全ての量子化対象のベクトル(全レイヤ)について、ビット幅設定部102により仮算出されたビット幅よりも一段階狭いビット幅の量子化誤差と閾値(Qth)との差分(Qdiff)を測定する。
図11および図12は、それぞれ実施形態の一例としての情報処理装置1により量子化を行なった結果を例示する図である。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
量子化対象データの量子化を行なう情報処理装置のプロセッサに、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出し、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する
処理を実行させることを特徴とする、量子化プログラム。
前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値を乗算することで行なう
処理を、前記プロセッサに実行させることを特徴とする、付記1記載の量子化プログラム。
前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値と、信頼半径更新用定数との大きい方の値を乗算することで行なう
処理を、前記プロセッサに実行させることを特徴とする、付記2記載の量子化プログラム。
情報処理装置が量子化対象データの量子化を行なうに際して、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出する処理と、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する処理と
を備えることを特徴とする、量子化方法。
前記信頼半径を更新する処理を、前記信頼半径に前記スケーリング係数のうち最も小さな値を乗算することで行なう
ことを特徴とする、付記4記載の量子化方法。
前記信頼半径を更新する処理を、前記信頼半径に前記スケーリング係数のうち最も小さな値と、信頼半径更新用定数との大きい方の値を乗算することで行なう
ことを特徴とする、付記5記載の量子化方法。
量子化対象データの量子化を行なう処理を実行するプロセッサを有する情報処理装置であって、
前記プロセッサは、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出し、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する
処理を行なうことを特徴とする、量子化装置。
前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値を乗算することで行なう
ことを特徴とする、付記7記載の量子化装置。
前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値と、信頼半径更新用定数との大きい方の値を乗算することで行なう
ことを特徴とする、付記8記載の量子化装置。
10 CPU
11 メモリ
12 アクセラレータ
13 通信バス
100 深層学習処理部
101 量子化処理部
102 ビット幅設定部
103 差分算出部
104 スケーリング係数算出部
105 信頼半径更新部
106 量子化誤差算出部
107 閾値生成部
Claims (5)
- 量子化対象データの量子化を行なう情報処理装置のプロセッサに、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出し、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する
処理を実行させることを特徴とする、量子化プログラム。 - 前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値を乗算することで行なう
処理を、前記プロセッサに実行させることを特徴とする、請求項1記載の量子化プログラム。 - 前記信頼半径の更新を、前記信頼半径に前記スケーリング係数のうち最も小さな値と、信頼半径更新用定数との大きい方の値を乗算することで行なう
処理を、前記プロセッサに実行させることを特徴とする、請求項2記載の量子化プログラム。 - 情報処理装置が量子化対象データの量子化を行なうに際して、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出する処理と、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する処理と
を備えることを特徴とする、量子化方法。 - 量子化対象データの量子化を行なう処理を実行するプロセッサを有する情報処理装置であって、
前記プロセッサは、
ニューラルネットワークを構成する全てのレイヤに対して、
仮算出されたビット幅より1段階狭いビット幅の量子化誤差と信頼半径閾値との差分を算出し、
前記差分に基づき、前記全てのレイヤのスケーリング係数を計算し、
全ての前記スケーリング係数のうち最も小さな値を用いて、信頼半径を更新する
処理を行なうことを特徴とする、量子化装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020200353A JP7556276B2 (ja) | 2020-12-02 | 2020-12-02 | 量子化プログラム,量子化方法および量子化装置 |
US17/500,998 US20220172022A1 (en) | 2020-12-02 | 2021-10-14 | Storage medium, quantization method, and quantization apparatus |
EP21203656.0A EP4009244A1 (en) | 2020-12-02 | 2021-10-20 | Quantization program, quantization method, and quantization apparatus |
CN202111283733.7A CN114580608A (zh) | 2020-12-02 | 2021-11-01 | 存储介质、量化方法和量化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020200353A JP7556276B2 (ja) | 2020-12-02 | 2020-12-02 | 量子化プログラム,量子化方法および量子化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022088096A JP2022088096A (ja) | 2022-06-14 |
JP7556276B2 true JP7556276B2 (ja) | 2024-09-26 |
Family
ID=78332608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020200353A Active JP7556276B2 (ja) | 2020-12-02 | 2020-12-02 | 量子化プログラム,量子化方法および量子化装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220172022A1 (ja) |
EP (1) | EP4009244A1 (ja) |
JP (1) | JP7556276B2 (ja) |
CN (1) | CN114580608A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102596769B1 (ko) * | 2022-07-12 | 2023-11-02 | 오픈엣지테크놀로지 주식회사 | 신경망 설계방법 및 이를 위한 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190050710A1 (en) * | 2017-08-14 | 2019-02-14 | Midea Group Co., Ltd. | Adaptive bit-width reduction for neural networks |
JP7045947B2 (ja) * | 2018-07-05 | 2022-04-01 | 株式会社日立製作所 | ニューラルネットワークの学習装置および学習方法 |
US12112256B2 (en) * | 2018-07-26 | 2024-10-08 | Intel Corporation | Loss-error-aware quantization of a low-bit neural network |
JP7026808B2 (ja) | 2018-09-06 | 2022-02-28 | 株式会社Pfu | 情報処理装置、方法及びプログラム |
-
2020
- 2020-12-02 JP JP2020200353A patent/JP7556276B2/ja active Active
-
2021
- 2021-10-14 US US17/500,998 patent/US20220172022A1/en active Pending
- 2021-10-20 EP EP21203656.0A patent/EP4009244A1/en active Pending
- 2021-11-01 CN CN202111283733.7A patent/CN114580608A/zh active Pending
Non-Patent Citations (2)
Title |
---|
KHORAM, Soroosh et al.,"Adaptive Quantization of Neural Networks",OpenReview.net (Published as a conference paper at ICLR 2018) [online],2018年,p. 1-13,[2024年08月05日検索],インターネット<URL:https://openreview.net/forum?id=SyOK1Sg0W> |
石井潤 ほか,"DNN向けニューロン毎の量子化ビット幅最適化に関する評価",情報処理学会研究報告,2018年,Vol. 2018-SLDM-182,No. 22,p. 1-8 |
Also Published As
Publication number | Publication date |
---|---|
US20220172022A1 (en) | 2022-06-02 |
JP2022088096A (ja) | 2022-06-14 |
EP4009244A1 (en) | 2022-06-08 |
CN114580608A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7243056B2 (en) | Strategy parameter adaptation in evolution strategies | |
US9697471B2 (en) | Device and method for managing plant model | |
US20160357169A1 (en) | Model Predictive Control with Uncertainties | |
CN112101530A (zh) | 神经网络训练方法、装置、设备及存储介质 | |
JP5932612B2 (ja) | 情報処理装置、制御方法、プログラム、及び記録媒体 | |
US11120333B2 (en) | Optimization of model generation in deep learning neural networks using smarter gradient descent calibration | |
JP7556276B2 (ja) | 量子化プログラム,量子化方法および量子化装置 | |
JP7315007B2 (ja) | 学習装置、学習方法および学習プログラム | |
CN110121171B (zh) | 基于指数平滑法和灰色模型的信任预测方法 | |
KR101492197B1 (ko) | 순차적 근사 최적 설계 방법 및 장치 | |
CN110334355B (zh) | 一种关系抽取方法、系统及相关组件 | |
JP2021111143A (ja) | 学習プログラム,学習方法および推定装置 | |
US20080147579A1 (en) | Discriminative training using boosted lasso | |
JP2020123338A (ja) | ディープラーニング基盤装置の学習に使用されるバーチャル世界シミュレータの物理エンジンをキャリブレーションする方法及び装置、そしてそのためのリアル状態ネットワークを学習する方法及びそれを利用した学習装置 | |
Yap et al. | A computational reinforced learning scheme to blind image deconvolution | |
WO2022009449A1 (ja) | 情報処理装置,情報処理方法および情報処理プログラム | |
JP2022177458A (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11886977B2 (en) | Computing apparatus, computing method, storage medium, and table generating apparatus | |
CN115293353A (zh) | 量子计算机及其运行方法、可读存储介质 | |
Ha et al. | Two-Stage Estimation and Variance Modeling for Latency-Constrained Variational Quantum Algorithms | |
KR20200104195A (ko) | 다항식 선택 방법, 이를 수행하기 위한 기록매체, 다항식 선택 장치 및 이를 포함하는 gnfs 방식의 인수분해 연산기 | |
JP6588933B2 (ja) | 言語モデル構築装置、その方法、及びプログラム | |
JP7529145B2 (ja) | 学習装置、学習方法および学習プログラム | |
CN118410851B (zh) | 一种混合专家模型路由网络优化方法、产品、装置及介质 | |
JP2006106817A (ja) | モデルパラメータ計算精度判定プログラム、およびそのプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240802 |
|
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: 20240813 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240826 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7556276 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |