JP7331303B2 - フレキシブルな浮動小数点テンソルを用いた人工ニューラルネットワーク訓練 - Google Patents
フレキシブルな浮動小数点テンソルを用いた人工ニューラルネットワーク訓練 Download PDFInfo
- Publication number
- JP7331303B2 JP7331303B2 JP2019082718A JP2019082718A JP7331303B2 JP 7331303 B2 JP7331303 B2 JP 7331303B2 JP 2019082718 A JP2019082718 A JP 2019082718A JP 2019082718 A JP2019082718 A JP 2019082718A JP 7331303 B2 JP7331303 B2 JP 7331303B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- floating point
- neural network
- bits
- exponent
- 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
- 238000012549 training Methods 0.000 title claims description 247
- 238000013528 artificial neural network Methods 0.000 title claims description 220
- 238000007667 floating Methods 0.000 claims description 262
- 238000000034 method Methods 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 6
- 238000010586 diagram Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004146 energy storage Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000008906 neuronal response Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- 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/08—Learning methods
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)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Description
ニューラルネットワークを訓練するためのシステムであって、
プロセッサ回路と、
上記プロセッサ回路に結合される通信インタフェースであって、ニューラルネットワークに結合可能な通信インタフェースと、
上記プロセッサ回路に結合される記憶デバイスであって、機械可読命令を含む記憶デバイスと
を備え、
上記機械可読命令は、上記プロセッサ回路により実行された場合、上記プロセッサ回路に、
ニューラルネットワーク訓練テンソルを生成させ、上記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの上記浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの上記浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
上記訓練テンソルに含まれる上記16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、システム。
[項目2]
上記ニューラルネットワーク訓練テンソルに含まれる上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される10ビット仮数、
上記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、項目1に記載のシステム。
[項目3]
上記ニューラルネットワーク訓練テンソルに含まれる上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される可変ビット長仮数、
上記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含み、
上記命令はさらに、上記プロセッサ回路に、1または複数のニューラルネットワークパラメータに基づいて、
上記可変ビット長仮数を表すためのビット数、および
上記可変ビット長指数を表すためのビット数
を選択させる、項目1に記載のシステム。
[項目4]
上記1または複数のニューラルネットワークパラメータは、上記ネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示すトレンドを含む、項目3に記載のシステム。
[項目5]
上記ニューラルネットワーク訓練テンソルに含まれる上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される上記仮数、
上記第2の複数のビットにより提供される上記指数、
1ビット符号、および
それぞれの上記16ビット浮動小数点数の上記指数部分を上記共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、項目1に記載のシステム。
[項目6]
ニューラルネットワークを訓練する方法であって、
プロセッサ回路が、ニューラルネットワーク訓練テンソルを生成する段階であって、上記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの上記浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの上記浮動小数点数の指数を形成する第2の複数のビット
を各々が含む16ビット浮動小数点値、および
上記訓練テンソルに含まれる上記16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、生成する段階と、
上記訓練テンソルに含まれる上記複数の16ビット浮動小数点値のうちの少なくとも1つを上記ニューラルネットワークに入力として提供する段階と
を備える方法。
[項目7]
上記ニューラルネットワーク訓練テンソルを生成する段階は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成する段階を含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される10ビット仮数、
上記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、項目6に記載の方法。
[項目8]
上記ニューラルネットワーク訓練テンソルを生成する段階は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成する段階を含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される可変ビット長仮数、
上記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含む、項目6に記載の方法。
[項目9]
上記プロセッサ回路が、1または複数のニューラルネットワークパラメータに基づいて、
上記可変ビット長仮数を表すための第1のビット数、および
上記可変ビット長指数を表すための第2のビット数
を選択する段階をさらに備える、項目8に記載の方法。
[項目10]
上記プロセッサ回路が、上記訓練テンソルに含まれる上記複数の16ビット浮動小数点値のうちの1または複数におけるトレンドを検出する段階をさらに備え、検出される上記トレンドは、上記ネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示す、項目9に記載の方法。
[項目11]
上記可変ビット長仮数を表すための第1のビット数、および上記可変ビット長指数を表すための第2のビット数を選択する段階は、
上記プロセッサ回路が、上記ネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示す上記トレンドの検出に応答して、上記第1の複数のビットに含まれる第1のビット数および上記第2の複数のビットに含まれる第2のビット数を選択する段階を含む、項目9に記載の方法。
[項目12]
上記ニューラルネットワーク訓練テンソルを生成する段階は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成する段階を含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される上記仮数、
上記第2の複数のビットにより提供される上記指数、
1ビット符号、および
それぞれの上記16ビット浮動小数点数の上記指数部分を上記共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、項目6に記載の方法。
[項目13]
ニューラルネットワーク訓練システムであって、
プロセッサ回路が、ニューラルネットワーク訓練テンソルを生成するための手段であって、上記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの上記浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの上記浮動小数点数の指数を形成する第2の複数のビット
を各々が含む16ビット浮動小数点値、および
上記訓練テンソルに含まれる上記16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、生成するための手段と、
上記訓練テンソルに含まれる上記複数の16ビット浮動小数点値のうちの少なくとも1つを上記ニューラルネットワークに入力として提供するための手段と
を備えるシステム。
[項目14]
上記ニューラルネットワーク訓練テンソルを生成するための上記手段は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成するための手段を含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される10ビット仮数、
上記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、項目13に記載のシステム。
[項目15]
上記ニューラルネットワーク訓練テンソルを生成するための上記手段は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成するための手段をさらに含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される可変ビット長仮数、
上記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含む、項目13に記載のシステム。
[項目16]
上記可変ビット長仮数を表すための第1のビット数、および
上記可変ビット長指数を表すための第2のビット数
を選択するための手段をさらに備える、項目15に記載のシステム。
[項目17]
上記訓練テンソルに含まれる上記複数の16ビット浮動小数点値のうちの1または複数におけるトレンドを検出するための手段をさらに備え、検出される上記トレンドは、上記ニューラルネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数における潜在的なアンダーフロー状況または潜在的なオーバーフロー状況のうちの少なくとも1つを示す、項目16に記載のシステム。
[項目18]
上記可変ビット長仮数を表すための第1のビット数、および上記可変ビット長指数を表すための第2のビット数を選択するための上記手段は、
上記ネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示す上記トレンドの検出に応答して、上記第1の複数のビットに含まれる第1のビット数および上記第2の複数のビットに含まれる第2のビット数を選択するための手段をさらに含む、項目16に記載のシステム。
[項目19]
上記ニューラルネットワーク訓練テンソルを生成するための上記手段は、
上記複数の16ビット浮動小数点値および上記5ビット共有指数を含む上記ニューラルネットワーク訓練テンソルを生成するための手段をさらに含み、上記複数の16ビット浮動小数点値の各々は、
上記第1の複数のビットにより提供される上記仮数、
上記第2の複数のビットにより提供される上記指数、
1ビット符号、および
それぞれの上記16ビット浮動小数点数の上記指数部分を上記共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、項目13に記載のシステム。
[項目20]
機械可読命令を含む非一時的コンピュータ可読記憶媒体であって、上記機械可読命令は、プロセッサ回路により実行された場合、上記プロセッサ回路に、
ニューラルネットワーク訓練テンソルを生成させ、上記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの上記浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの上記浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
上記訓練テンソルに含まれる上記16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、非一時的コンピュータ可読記憶媒体。
[項目21]
上記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる上記機械可読命令はさらに、上記プロセッサ回路に、
上記第1の複数のビットにより提供される10ビット仮数、
上記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる、項目20に記載の非一時的コンピュータ可読記憶媒体。
[項目22]
上記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる上記機械可読命令はさらに、上記プロセッサ回路に、
上記第1の複数のビットにより提供される可変ビット長仮数、
上記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成することと、
1または複数のニューラルネットワークパラメータに基づいて、
上記可変ビット長仮数を表すためのビット数、および
上記可変ビット長指数を表すためのビット数
を選択することと
を行わせる、項目20に記載の非一時的コンピュータ可読記憶媒体。
[項目23]
上記プロセッサ回路に、1または複数のニューラルネットワークパラメータに基づいて、上記可変ビット長仮数および上記可変ビット長指数を表すためのビット数を選択させる上記機械可読命令はさらに、上記プロセッサ回路に、
上記ネットワーク訓練テンソルに含まれる上記16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの1または複数に基づいて、上記可変ビット長仮数および上記可変ビット長指数を表すためのビット数を選択させる、項目22に記載の非一時的コンピュータ可読記憶媒体。
[項目24]
上記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる上記機械可読命令はさらに、上記プロセッサ回路に、
上記第1の複数のビットにより提供される上記仮数、
上記第2の複数のビットにより提供される上記指数、
1ビット符号、および
それぞれの上記16ビット浮動小数点数の上記指数部分を上記共有指数と選択的に組み合わせるための1ビットスイッチ
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる、項目20に記載の非一時的コンピュータ可読記憶媒体。
[項目25]
仮数値に対応する第1の複数のビット、
指数値に対応する第2の複数のビット、および
符号ビット
を各々が含む複数の16ビット浮動小数点レジスタと、
上記複数の16ビット浮動小数点レジスタのそれぞれ1つ1つに関連付けられた共有指数レジスタと
を備えるテンソルデータ記憶構造。
Claims (30)
- ニューラルネットワークを訓練するためのシステムであって、
プロセッサ回路と、
前記プロセッサ回路に結合される通信インタフェースであって、ニューラルネットワークに結合可能な通信インタフェースと、
前記プロセッサ回路に結合される記憶デバイスであって、機械可読命令を含む記憶デバイスと
を備え、
前記機械可読命令は、前記プロセッサ回路により実行された場合、前記プロセッサ回路に、
ニューラルネットワーク訓練テンソルを生成させ、前記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、システム。 - 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される10ビット仮数、
前記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、請求項1に記載のシステム。 - 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される可変ビット長仮数、
前記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含み、
前記機械可読命令はさらに、前記プロセッサ回路に、1または複数のニューラルネットワークパラメータに基づいて、
前記可変ビット長仮数を表すためのビット数、および
前記可変ビット長指数を表すためのビット数
を選択させる、請求項1または2に記載のシステム。 - 前記1または複数のニューラルネットワークパラメータは、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示すトレンドを含む、請求項3に記載のシステム。
- 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される前記仮数、
前記第2の複数のビットにより提供される前記指数、
1ビット符号、および
それぞれの16ビット浮動小数点数の前記指数を前記5ビット共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、請求項1から4のいずれか一項に記載のシステム。 - ニューラルネットワークを訓練する方法であって、
プロセッサ回路が、ニューラルネットワーク訓練テンソルを生成する段階であって、前記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、生成する段階と、
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの少なくとも1つを前記ニューラルネットワークに入力として提供する段階と
を備える方法。 - 前記ニューラルネットワーク訓練テンソルを生成する段階は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成する段階を含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される10ビット仮数、
前記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、請求項6に記載の方法。 - 前記ニューラルネットワーク訓練テンソルを生成する段階は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成する段階を含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される可変ビット長仮数、
前記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含む、請求項6または7に記載の方法。 - 前記プロセッサ回路が、1または複数のニューラルネットワークパラメータに基づいて、
前記可変ビット長仮数を表すための第1のビット数、および
前記可変ビット長指数を表すための第2のビット数
を選択する段階をさらに備える、請求項8に記載の方法。 - 前記プロセッサ回路が、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるトレンドを検出する段階をさらに備え、検出される前記トレンドは、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示す、請求項9に記載の方法。
- 前記可変ビット長仮数を表すための第1のビット数、および前記可変ビット長指数を表すための第2のビット数を選択する段階は、
前記プロセッサ回路が、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示すトレンドの検出に応答して、前記第1の複数のビットに含まれる第1のビット数および前記第2の複数のビットに含まれる第2のビット数を選択する段階を含む、請求項9または10に記載の方法。 - 前記ニューラルネットワーク訓練テンソルを生成する段階は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成する段階を含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される前記仮数、
前記第2の複数のビットにより提供される前記指数、
1ビット符号、および
それぞれの16ビット浮動小数点数の前記指数を前記5ビット共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、請求項6から11のいずれか一項に記載の方法。 - ニューラルネットワーク訓練システムであって、
プロセッサ回路が、ニューラルネットワーク訓練テンソルを生成するための手段であって、前記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、生成するための手段と、
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの少なくとも1つをニューラルネットワークに入力として提供するための手段と
を備えるシステム。 - 前記ニューラルネットワーク訓練テンソルを生成するための前記手段は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成するための手段を含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される10ビット仮数、
前記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を含む、請求項13に記載のシステム。 - 前記ニューラルネットワーク訓練テンソルを生成するための前記手段は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成するための手段をさらに含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される可変ビット長仮数、
前記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含む、請求項13または14に記載のシステム。 - 前記可変ビット長仮数を表すための第1のビット数、および
前記可変ビット長指数を表すための第2のビット数
を選択するための手段をさらに備える、請求項15に記載のシステム。 - 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるトレンドを検出するための手段をさらに備え、検出される前記トレンドは、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数における潜在的なアンダーフロー状況または潜在的なオーバーフロー状況のうちの少なくとも1つを示す、請求項16に記載のシステム。
- 前記可変ビット長仮数を表すための第1のビット数、および前記可変ビット長指数を表すための第2のビット数を選択するための前記手段は、
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示すトレンドの検出に応答して、前記第1の複数のビットに含まれる第1のビット数および前記第2の複数のビットに含まれる第2のビット数を選択するための手段をさらに含む、請求項16または17に記載のシステム。 - 前記ニューラルネットワーク訓練テンソルを生成するための前記手段は、
前記複数の16ビット浮動小数点値および前記5ビット共有指数を含む前記ニューラルネットワーク訓練テンソルを生成するための手段をさらに含み、前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される前記仮数、
前記第2の複数のビットにより提供される前記指数、
1ビット符号、および
それぞれの16ビット浮動小数点数の前記指数を前記5ビット共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、請求項13から18のいずれか一項に記載のシステム。 - 機械可読命令を含むコンピュータプログラムであって、前記機械可読命令は、プロセッサ回路により実行された場合、前記プロセッサ回路に、
ニューラルネットワーク訓練テンソルを生成させ、前記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、コンピュータプログラム。 - 前記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる前記機械可読命令はさらに、前記プロセッサ回路に、
前記第1の複数のビットにより提供される10ビット仮数、
前記第2の複数のビットにより提供される5ビット指数、および
1ビット符号
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる、請求項20に記載のコンピュータプログラム。 - 前記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる前記機械可読命令はさらに、前記プロセッサ回路に、
前記第1の複数のビットにより提供される可変ビット長仮数、
前記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成することと、
1または複数のニューラルネットワークパラメータに基づいて、
前記可変ビット長仮数を表すためのビット数、および
前記可変ビット長指数を表すためのビット数
を選択することと
を行わせる、請求項20または21に記載のコンピュータプログラム。 - 前記プロセッサ回路に、1または複数のニューラルネットワークパラメータに基づいて、前記可変ビット長仮数および前記可変ビット長指数を表すためのビット数を選択させる前記機械可読命令はさらに、前記プロセッサ回路に、
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの1または複数に基づいて、前記可変ビット長仮数および前記可変ビット長指数を表すためのビット数を選択させる、請求項22に記載のコンピュータプログラム。 - 前記プロセッサ回路に複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる前記機械可読命令はさらに、前記プロセッサ回路に、
前記第1の複数のビットにより提供される前記仮数、
前記第2の複数のビットにより提供される前記指数、
1ビット符号、および
それぞれの16ビット浮動小数点数の前記指数を前記5ビット共有指数と選択的に組み合わせるための1ビットスイッチ
を各々が含む複数の16ビット浮動小数点値を含むニューラルネットワーク訓練テンソルを生成させる、請求項20から23のいずれか一項に記載のコンピュータプログラム。 - 請求項20から24のいずれか一項に記載のコンピュータプログラムを格納するコンピュータ可読記録媒体。
- プロセッサベースデバイスであって、
プリント回路基板と、前記プリント回路基板に結合されるプロセッサ回路と、ニューラルネットワークに結合可能な入出力インタフェースと、
前記プロセッサ回路に結合される記憶デバイスであって、機械可読命令を含む記憶デバイスと
を備え、
前記機械可読命令は、前記プロセッサ回路により実行された場合、前記プロセッサ回路に、
ニューラルネットワーク訓練テンソルを生成させ、前記ニューラルネットワーク訓練テンソルは、
複数の16ビット浮動小数点値であって、
それぞれの浮動小数点数の仮数を形成する第1の複数のビット、および
それぞれの浮動小数点数の指数を形成する第2の複数のビット
を各々が含む複数の16ビット浮動小数点値、および
前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々に共通する5ビット共有指数
を含む、プロセッサベースデバイス。 - 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される10ビット仮数、前記第2の複数のビットにより提供される5ビット指数、および1ビット符号を含む、請求項26に記載のプロセッサベースデバイス。 - 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される可変ビット長仮数、
前記第2の複数のビットにより提供される可変ビット長指数、および
1ビット符号
を含み、
前記機械可読命令はさらに、前記プロセッサ回路に、1または複数のニューラルネットワークパラメータに基づいて、
前記可変ビット長仮数を表すためのビット数、および
前記可変ビット長指数を表すためのビット数
を選択させる、請求項26または27に記載のプロセッサベースデバイス。 - 前記1または複数のニューラルネットワークパラメータは、前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値のうちの1または複数におけるアンダーフロー状況またはオーバーフロー状況のうちの少なくとも1つを示すトレンドを含む、請求項28に記載のプロセッサベースデバイス。
- 前記ニューラルネットワーク訓練テンソルに含まれる前記複数の16ビット浮動小数点値の各々は、
前記第1の複数のビットにより提供される前記仮数、
前記第2の複数のビットにより提供される前記指数、
1ビット符号、および
それぞれの16ビット浮動小数点数の前記指数を前記5ビット共有指数と選択的に組み合わせるための1ビットスイッチ
を含む、請求項26から29のいずれか一項に記載のプロセッサベースデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/004,243 US20190042944A1 (en) | 2018-06-08 | 2018-06-08 | Artificial neural network training using flexible floating point tensors |
US16/004,243 | 2018-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019212295A JP2019212295A (ja) | 2019-12-12 |
JP7331303B2 true JP7331303B2 (ja) | 2023-08-23 |
Family
ID=65230317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019082718A Active JP7331303B2 (ja) | 2018-06-08 | 2019-04-24 | フレキシブルな浮動小数点テンソルを用いた人工ニューラルネットワーク訓練 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20190042944A1 (ja) |
JP (1) | JP7331303B2 (ja) |
KR (1) | KR20190139757A (ja) |
CN (1) | CN110580524A (ja) |
DE (1) | DE102019111995A1 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11205093B2 (en) | 2018-10-11 | 2021-12-21 | Tesla, Inc. | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US12045724B2 (en) * | 2018-12-31 | 2024-07-23 | Microsoft Technology Licensing, Llc | Neural network activation compression with outlier block floating-point |
US11562247B2 (en) | 2019-01-24 | 2023-01-24 | Microsoft Technology Licensing, Llc | Neural network activation compression with non-uniform mantissas |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
US20200302284A1 (en) * | 2019-03-18 | 2020-09-24 | Nvidia Corporation | Data compression for a neural network |
US11659565B2 (en) | 2019-11-20 | 2023-05-23 | Samsung Electronics Co., Ltd. | Method and apparatus of retransmission using adjacent configured grant resource in wireless communications systems |
TW202141290A (zh) | 2020-01-07 | 2021-11-01 | 韓商愛思開海力士有限公司 | 記憶體中處理(pim)系統和pim系統的操作方法 |
US20220229633A1 (en) | 2020-01-07 | 2022-07-21 | SK Hynix Inc. | Multiplication and accumulation(mac) operator and processing-in-memory (pim) device including the mac operator |
US11663000B2 (en) | 2020-01-07 | 2023-05-30 | SK Hynix Inc. | Multiplication and accumulation(MAC) operator and processing-in-memory (PIM) device including the MAC operator |
CN113704687B (zh) * | 2020-05-21 | 2024-04-05 | 杭州海康威视数字技术股份有限公司 | 一种张量计算运行方法、装置及运算系统 |
US11175957B1 (en) * | 2020-09-22 | 2021-11-16 | International Business Machines Corporation | Hardware accelerator for executing a computation task |
KR20240096949A (ko) * | 2022-12-19 | 2024-06-27 | 한국전자기술연구원 | 가변 데이터 표현형을 적용한 딥러닝 학습 방법 및 이를 적용한 모바일 디바이스 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299898A1 (en) | 2006-06-22 | 2007-12-27 | Honeywell International Inc. | System and method for implementing irregular data formats |
US20090292750A1 (en) | 2008-05-22 | 2009-11-26 | Videolq, Inc. | Methods and apparatus for automatic accuracy- sustaining scaling of block-floating-point operands |
US20180157465A1 (en) | 2016-12-07 | 2018-06-07 | Microsoft Technology Licensing, Llc | Block floating point for neural network implementations |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63255735A (ja) * | 1987-04-13 | 1988-10-24 | Oki Electric Ind Co Ltd | 浮動小数点乗算器 |
US11556762B2 (en) * | 2018-04-21 | 2023-01-17 | Microsoft Technology Licensing, Llc | Neural network processor based on application specific synthesis specialization parameters |
-
2018
- 2018-06-08 US US16/004,243 patent/US20190042944A1/en active Pending
-
2019
- 2019-04-24 JP JP2019082718A patent/JP7331303B2/ja active Active
- 2019-04-30 CN CN201910360720.1A patent/CN110580524A/zh active Pending
- 2019-05-02 KR KR1020190051434A patent/KR20190139757A/ko active Search and Examination
- 2019-05-08 DE DE102019111995.2A patent/DE102019111995A1/de active Pending
-
2023
- 2023-09-29 US US18/478,554 patent/US20240028905A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070299898A1 (en) | 2006-06-22 | 2007-12-27 | Honeywell International Inc. | System and method for implementing irregular data formats |
US20090292750A1 (en) | 2008-05-22 | 2009-11-26 | Videolq, Inc. | Methods and apparatus for automatic accuracy- sustaining scaling of block-floating-point operands |
US20180157465A1 (en) | 2016-12-07 | 2018-06-07 | Microsoft Technology Licensing, Llc | Block floating point for neural network implementations |
Also Published As
Publication number | Publication date |
---|---|
KR20190139757A (ko) | 2019-12-18 |
CN110580524A (zh) | 2019-12-17 |
US20190042944A1 (en) | 2019-02-07 |
DE102019111995A1 (de) | 2019-12-12 |
JP2019212295A (ja) | 2019-12-12 |
US20240028905A1 (en) | 2024-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331303B2 (ja) | フレキシブルな浮動小数点テンソルを用いた人工ニューラルネットワーク訓練 | |
US11216719B2 (en) | Methods and arrangements to quantize a neural network with machine learning | |
KR102648665B1 (ko) | 뉴럴 네트워크들의 아키텍처 최적화된 트레이닝 | |
US9268528B2 (en) | System and method for dynamically reducing power consumption of floating-point logic | |
JP2022502752A (ja) | 実装コストを目的として含めることによるニューラルネットワークのトレーニング | |
US11169776B2 (en) | Decomposed floating point multiplication | |
EP3676698B1 (en) | Providing efficient floating-point operations using matrix processors in processor-based systems | |
WO2018075532A1 (en) | Dynamic variable precision computation | |
US20230139623A1 (en) | Data path circuit design using reinforcement learning | |
US20230244921A1 (en) | Reduced power consumption analog or hybrid mac neural network | |
KR20210028075A (ko) | 범위-특정 계수 세트를 사용하여 단항 함수를 수행하는 시스템 | |
CN104823153B (zh) | 用于执行指令的处理器、归一化加法运算的方法、通信设备、机器可读介质、用于处理指令的设备和设备 | |
US11243743B2 (en) | Optimization of neural networks using hardware calculation efficiency and adjustment factors | |
US11256537B2 (en) | Interrupt control apparatus, interrupt control method, and computer readable medium | |
US11086634B2 (en) | Data processing apparatus and method | |
CN111198714B (zh) | 重训练方法及相关产品 | |
CN111753988A (zh) | 用于多变量数据提供方的深度学习数据操纵 | |
US20220012571A1 (en) | Apparatus, method, and computer-readable medium for activation function prediction in deep neural networks | |
US20230359436A1 (en) | Floating-point multiplier using zero counters | |
WO2024000908A1 (en) | Session-based recommendation utilizing similarity graph | |
CN111381802B (zh) | 数据比较器、数据处理方法、芯片及电子设备 | |
KR20230096903A (ko) | 벡터 단위 누적 기반 비트-병렬 가변 정밀도를 이용하는 시스톨릭 어레이 구조 및 장치 | |
WO2020201791A1 (en) | Trainable threshold for ternarized neural networks | |
KR20230005643A (ko) | 플로팅 포인트 연산 회로의 동작 방법 및 플로팅 포인트 연산 회로를 포함하는 집적 회로 | |
CN114118341A (zh) | 量化方法、计算装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230322 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230606 |
|
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: 20230711 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230714 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7331303 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |