JP2019080232A - 勾配圧縮装置、勾配圧縮方法及びプログラム - Google Patents
勾配圧縮装置、勾配圧縮方法及びプログラム Download PDFInfo
- Publication number
- JP2019080232A JP2019080232A JP2017207200A JP2017207200A JP2019080232A JP 2019080232 A JP2019080232 A JP 2019080232A JP 2017207200 A JP2017207200 A JP 2017207200A JP 2017207200 A JP2017207200 A JP 2017207200A JP 2019080232 A JP2019080232 A JP 2019080232A
- Authority
- JP
- Japan
- Prior art keywords
- gradient
- parameter
- value
- learning
- parameters
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/098—Distributed learning, e.g. federated learning
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Operations Research (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】低い圧縮率を達成しつつも精度の減少を抑制する勾配圧縮装置を提供する。【解決手段】勾配圧縮装置は、学習における誤差関数に対し、学習対象である複数のパラメータについて算出された勾配の統計量を算出する、統計量算出部と、通信ネットワークを介して、前記パラメータのそれぞれについて勾配を送信するパラメータである送信パラメータであるか否かを、前記統計量に基づいて判定する、送信パラメータ判定部と、送信パラメータであると判定された前記パラメータについての勾配の代表値である勾配代表値を量子化する、勾配量子化部と、を備える。【選択図】図2
Description
本発明は、勾配圧縮装置、勾配圧縮方法及びプログラムに関する。
ビッグデータを扱う際に、クラスタやクラウド等を用いて分散して処理を行うことが広く実現されている。深層学習を行う際にも、データの大きさと併せてモデルの層の深さから、学習を分散して行うことが多くなってきている。今日では、扱うデータ量が莫大にあること、また、計算能力の向上及び並列計算において計算能力を上げるためにも通信が必要となることから、分散深層学習を行う場合には、演算時間と比較して通信時間が大幅に大きくなり、学習速度はデータ通信に律速されることが多い。インフィニバンド等の広帯域の通信媒体を用いて通信の高速化を行うことも可能であるが、コストが高くなるという問題がある。
分散深層学習では、主に各ノードで演算した勾配の全ノードでの平均を計算するために通信が行われる。勾配を送信する手法として、各パラメータあたり1ビットのみを送信することにより圧縮する手法、しきい値より大きい勾配の値を有するパラメータのみを送信することにより圧縮する手法、確率的に圧縮する手法等が研究されている。しかしながら、いずれの手法も、高い精度と低い圧縮率との両立が困難であったり、又は、ハイパーパラメータの設定がシビアであったりする。
そこで、本発明は、低い圧縮率を達成しつつも精度の減少を抑制する勾配圧縮装置を提供する。
一実施形態に係る勾配圧縮装置は、学習における誤差関数に対し、学習対象である複数のパラメータについて算出された勾配の統計量を算出する、統計量算出部と、通信ネットワークを介して、前記パラメータのそれぞれについて勾配を送信するパラメータである送信パラメータであるか否かを、前記統計量に基づいて判定する、送信パラメータ判定部と、送信パラメータであると判定された前記パラメータについての勾配の代表値である勾配代表値を量子化する、勾配量子化部と、を備える。
高い精度を保ち、かつ、低い圧縮率を達成することができる。
まず、本明細書で使用する用語の説明をする。
「パラメータ」とは、ニューラルネットワークの内部パラメータのことを示す。
「ハイパーパラメータ」とは、パラメータに対して、ニューラルネットワークの外部のパラメータのことを示す。例えば、あらかじめ設定された各種しきい値等のことを言う。本実施形態においては、例えば、以下の説明中における、基準分散倍率(所定倍率)α、減衰率γ、量子化ビット数kがハイパーパラメータである。この他、本実施形態においては、バッチサイズやエポック数といった他のハイパーパラメータも存在するが、詳しくは説明しない。
「精度」とは、ニューラルネットワークの認識精度のことを示す。特に断りがない限り、学習に用いたデータセット以外のデータセットを用いて評価を行った精度のことを示す。
「勾配」とは、ニューラルネットワークの誤差関数に対する各パラメータの偏微分をあるデータ点において算出した値のことを示す。誤差逆伝播法により算出され、パラメータの最適化に用いられる。
「パラメータの最適化」とは、パラメータを調節して誤差関数の値を小さくする手続のことを示す。勾配を使ったSGD(確率的勾配降下法:Stochastic Gradient Descent)が一般的な方法であり、本実施形態においてもSGDを使用する。
「圧縮率」とは、(送信されたパラメータ数の全ノードでの合計)/((総パラメータ数)×(ノード数))を示す値である。圧縮率が低いほど圧縮の性能がよいことを意味する。
「ハイパーパラメータ」とは、パラメータに対して、ニューラルネットワークの外部のパラメータのことを示す。例えば、あらかじめ設定された各種しきい値等のことを言う。本実施形態においては、例えば、以下の説明中における、基準分散倍率(所定倍率)α、減衰率γ、量子化ビット数kがハイパーパラメータである。この他、本実施形態においては、バッチサイズやエポック数といった他のハイパーパラメータも存在するが、詳しくは説明しない。
「精度」とは、ニューラルネットワークの認識精度のことを示す。特に断りがない限り、学習に用いたデータセット以外のデータセットを用いて評価を行った精度のことを示す。
「勾配」とは、ニューラルネットワークの誤差関数に対する各パラメータの偏微分をあるデータ点において算出した値のことを示す。誤差逆伝播法により算出され、パラメータの最適化に用いられる。
「パラメータの最適化」とは、パラメータを調節して誤差関数の値を小さくする手続のことを示す。勾配を使ったSGD(確率的勾配降下法:Stochastic Gradient Descent)が一般的な方法であり、本実施形態においてもSGDを使用する。
「圧縮率」とは、(送信されたパラメータ数の全ノードでの合計)/((総パラメータ数)×(ノード数))を示す値である。圧縮率が低いほど圧縮の性能がよいことを意味する。
以下、図面を用いて、本実施形態に係る勾配圧縮装置について説明する。
図1は、本実施形態に係る学習システム1を示す図である。この図1に示すように、学習システム1は、複数の分散学習装置10を備える。各分散学習装置は、通信ネットワークを介して接続されている。接続方法は、各分散学習装置同士が相互にそれぞれ接続されていてもよいし、ハブを用意して当該ハブを介して各分散学習装置が接続されていてもよいし、リング状の通信ネットワーク上に各分散学習装置が接続されていてもよい。
通信ネットワークは、必ずしも高速のものでなくともよい。例えば、一般的なLAN(Local Area Network)により形成されていてもよい。また、その通信手法や通信方式は特に限定されるものではない。
各分散学習装置10内において、例えば、深層学習が行われ、各種パラメータが算出される。算出されたパラメータは、各分散学習装置10で共有され、平均化されたものを次の学習のためのパラメータとして更新するようにしてもよい。このように分散させることにより、データ量が莫大である深層学習を並列的に実行することが可能となる。分散学習装置10は、例えば、GPU(Graphical Processing Unit)を備えて構成されていてもよく、この場合、学習システム1は、GPUクラスタを備えた構成となる。
図2は、分散学習装置10の機能を示すブロック図である。分散学習装置10は、通信部100と、受信バッファ102と、送信バッファ104と、データ格納部106と、学習部108と、勾配圧縮装置20と、を備える。
通信部100は、上述した通信ネットワークと、分散学習装置10の内部とを接続する。この通信部100のインターフェースは、通信ネットワークの通信手法や通信方式に適切に対応しているものであればよい。通信部100は、データを受信すると、当該データを受信バッファ102へと格納し、送信バッファ104に格納されているデータを、外部へと送信する。例えば、全て、又は、複数の分散学習装置10は、通信のタイミングにおいて同期をとるようにする。このように同期をとることにより、勾配の値を全て、又は、複数の分散学習装置10において共有して次のステップの学習を行うことが可能となる。
データ格納部106は、分散学習装置10における処理に必要なデータを格納する。例えば、学習に必要となるデータが格納される。このデータは、所謂教師付データ、又は、既に学習により得られているパラメータの情報等である。受信バッファ102に格納されたデータを、データ格納部106へ転送し、受信したデータが格納されるようにしてもよい。
学習部108は、データ格納部106に格納されているデータに基づいて、機械学習を行う部分であり、例えば、深層学習等のニューラルネットワークによる学習演算を実行することにより、学習の対象となる各パラメータを算出する。この学習部108を動かすためのプログラムがデータ格納部106に格納されていてもよい。また、別の例としては、破線で描かれているように、受信バッファ102に格納されたデータを学習部108が直接参照し、学習を行うようにしてもよい。
以下、学習するパラメータの個数をnとし、i番目(0≦i<n)のパラメータをwiとして表す。また、学習部108で評価のために使用する誤差関数をEとする。
なお、原則的に、1つの分散学習装置10においては、ミニバッチにより学習を行うこととするが、勾配を用いるバッチ学習等により学習を行う場合にも適用することが可能である。ミニバッチ学習とは、訓練データをある程度のサイズごとに分割したミニバッチごとにパラメータの更新を行う手法である。
ミニバッチにより学習を行う場合、分散学習装置10内の学習部108は、分散学習装置10に割り当てられたミニバッチに対応するパラメータwiの勾配を算出する。算出されたミニバッチごとの勾配の総和を全ノードで共有し、この共有された勾配を用いて確率的勾配降下法により、パラメータwiの次のステップにおける最適化を行う。
勾配圧縮装置20は、勾配算出部200と、統計量算出部202と、送信パラメータ判定部204と、勾配量子化部206と、出力部208と、を備える。この勾配圧縮装置20は、機械学習の学習対象となる各パラメータの勾配を、量子化し、そのデータ量を圧縮する。
勾配算出部200は、学習部108から出力された各パラメータの集合から、各パラメータの勾配を算出する。この勾配算出部200における勾配の算出は、一般的な誤差逆伝播法における勾配の算出方法と同様である。例えば、パラメータwiによる偏微分を∇iとおくと、パラメータwiに関する勾配は、∇iEと記載することができる。この勾配は、誤差逆伝播法により、例えば、入力層から順にネットワークを伝播させ、パラメータwiに関する層の出力を保存しておき、次に出力層から得られた出力値に基づいて、パラメータwiの層まで誤差(又は、誤差の偏微分値)を逆伝播させることにより求められる。勾配算出部200は、算出された各パラメータに対する勾配の値を図示しないバッファへと格納する。
なお、勾配は、学習中に算出するようにしてもよい。この場合、勾配圧縮装置20内には、勾配を算出する機能は備えられていなくてもよく、学習部108が勾配算出部200の機能を備えていてもよい。すなわち、勾配算出部200は、勾配圧縮装置20には必須の要素ではない。そして、次に説明する統計量算出部202が、学習部108が算出した各パラメータの勾配に基づいて、統計量を算出するようにしてもよい。
統計量算出部202は、勾配算出部200により算出された各パラメータについての勾配に関する統計量を算出する。統計量としては、例えば、平均値及び分散値を用いることができる。統計量算出部202は、ミニバッチ内のデータセットから算出されたパラメータwiごとの勾配から、ミニバッチ内における勾配の平均値及び分散値を算出する。
送信パラメータ判定部204は、求められた統計量、ここでは、平均値μi及び分散値viに基づいて、当該パラメータwiに関する勾配を送信するか否かを判定する。ここで、勾配を送信するパラメータのことを、送信パラメータと表す。
勾配量子化部206は、送信パラメータと判定されたパラメータwiに関する勾配の代表値の量子化を実行する。勾配の代表値とは、次のステップの学習に用いる当該パラメータwiに反映させる勾配の値であり、例えば、上記で求められた勾配の平均値を用いるが、モード値、メディアン値等を用いてもよい。
パラメータwiに対する勾配の代表値を、勾配代表値xiとして表す。すなわち、配列xは、n個の要素を持つ配列であり、その要素である勾配代表値xiは、パラメータwiのうち量子化を行うパラメータwi(送信パラメータ)に対応するものである。送信パラメータではないパラメータwiに対応する勾配代表値xiには、例えば、全てのビットを0としたフラグを立て、送信しないことを通知するようにしてもよいし、別途送信パラメータのインデクスに関する配列を準備し、当該配列に基づいて送信パラメータであるか否かを判断するようにしてもよい。そして、勾配量子化部206は、配列xの最大値によりスケーリングされた配列xの要素を量子化ビット数kに基づいて量子化し、必要なデータを付与して量子化する。
出力部208は、勾配量子化部206が量子化したデータを送信バッファ104へと出力し、他の分散学習装置10とパラメータの勾配値を共有する。
図3は、あるステップにおける学習により勾配が算出されてから、次のステップへと勾配を共有するまでの処理の流れを示すフローチャートである。以下、この図3を用いて勾配圧縮装置20の動作について詳しく説明する。
まず、パラメータwiについて処理を行う(S100)。
勾配算出部200は、誤差逆伝播法によりパラメータwiについての誤差関数の勾配を計算する(S102)。なお、上述したように勾配を求めるまでを学習部108で行うようにしてもよい。学習部108で勾配を算出する場合は、S102の処理は、S100のループ内に含まず、全てのパラメータについての勾配を求めてから処理を行うようにしてもよい。この場合、上述したように、勾配算出部200は、学習部108に備えられており、勾配圧縮装置20には必須の構成要素ではない。
次に、統計量算出部202は、パラメータwiの統計量を算出する(S104)。統計量として、例えば、平均値μiと、分散値viとを算出する。
なお、以下の説明において、用いる統計量は、平均値及び分散値であるとして説明するが、これには限られず、例えば、平均値の代わりに、モード又はメディアン等の他の統計量を用いることも可能である。この場合、平均値の代わりにモード又はメディアン等の統計量を用いた疑似的な分散値を、分散値の代わりとして用いてもよい。すなわち、[数2]のμiの代わりにモード又はメディアンを代入した値を用いてもよい。このように、平均及び分散と同じような関係性を有する統計量であれば、どのような統計量を用いても構わない。また、上記では、標本分散を用いているが、不偏分散としてもよい。
この平均値及び分散値を求める際に、パラメータwiごとに準備された図示しない第1バッファと第2バッファを用いてもよい。第1バッファは、パラメータwiに関する勾配の和を格納するバッファであり、第2バッファは、勾配の2乗の和を格納するバッファである。これらのバッファは、学習が開始されるタイミング、すなわち、第1ステップの開始タイミングにおいて0で初期化される。
統計量算出部202は、第1バッファに勾配の和を加算し、第2バッファに勾配の2乗の和を加算する。そして、統計量算出部202は、第1バッファに格納されている値を標本数mで割ることにより平均値を求める。同様に、第2バッファに格納されている値を標本数mで割り、第1バッファの格納値より求められた平均値の2乗を減ずることにより、分散値を算出する。勾配の平均値を用いない場合には、対応する統計量を第1バッファに格納するようにしてもよい。
なお、後述の[数4]で示すように、平均値と分散値とを比較する場合、標本自体の平均値と、標本の2乗の平均値との比較に書き換えることが可能である。このように、標本の平均値と、標本の2乗の平均値とを比較することにより、第2バッファに格納されている値から分散値を求めることなく送信パラメータの判定を行うことが可能である。
このようにすることにより、前のステップにおいてバッファが初期化されていない場合には、パラメータwiについての勾配を送信するか否かの判定に前のステップまでの状態を反映させることが可能となる。
次に、送信パラメータ判定部204は、統計量算出部202が算出した統計量に基づいて、パラメータwiが送信パラメータであるか否かを判定する(S106)。送信パラメータ判定部204は、例えば、基準分散倍率α’を用い、以下の式を満たす場合に、当該勾配に関するパラメータを送信パラメータであると判定する。
大数の弱法則を用いると、[数3]のようにmで割ることにより、1標本の分散からミニバッチ内の勾配の平均の分散へ変換していることを示される。この式は、分散値viを、(勾配の2乗の平均値)−(勾配の平均値の2乗)で書き換えることにより、基準分散倍率α(≠α’)を用いて以下の式で書き換えられる。
すなわち、このように変形することにより、平均値と勾配の2乗の平均値とを比較することにより、分散値と比較しているのと同等であることが分かる。基準分散倍率αは、例えば、1.0である。これには限られず、0.8、1.5、2.0、又は、その他の値としてもよい。この基準分散倍率αは、ハイパーパラメータであり、例えば、学習方法、学習内容、学習対象等によって変更されるものであってもよい。
これら[数3]、[数4]及び以下の式は、ミニバッチ内で決定される値であり、ノード数n及び全体のバッチサイズであるm×nには依存しない値による比較である。
判定式として使用する式は、[数3]、[数4]には限られず、以下に記載するような各判定式を用いるようにしてもよい。
ここで、p、p’、q、q’、βは、ハイパーパラメータとして与えられるスカラー値であり、||・||pは、p次ノルム(Lpノルム)であることを表す。その他、これらと類似した式を判定式として用いてもよい。
パラメータwiが送信パラメータであると判断された場合(S108:Yes)、パラメータwiを配列xへと追加する(S110)。なお、この配列xは、便宜的なものであり、実際には、送信パラメータとなったパラメータのインデクスiを勾配量子化部206へと出力するようにし、インデクスiに基づいてパラメータwiを参照することにより、続く量子化以下の処理をするようにしてもよい。また、このタイミングにおいて、第1バッファ及び第2バッファを0で初期化する。
一方でパラメータwiが送信パラメータではないと判断された場合(S108:No)、パラメータwiは、配列xには追加されず、さらに、統計量算出部202により算出された勾配の平均値及び分散値をハイパーパラメータである減衰率γに基づいて減衰させ、第1バッファ及び第2バッファへと格納する(S112)。より具体的には、γ×(勾配の平均値)を第1バッファへ格納し、γ2×(勾配の分散値)を第2バッファへと格納する。
減衰率γは、現在の状態を将来についてどの程度影響を与えるかの指標を示す値であり、例えば、0.999といった値である。この値には限られず、1以下である他の値、例えば、0.99、0.95といった他の値としてもよい。一般的には、1に近い値とするが、例えば、現在の状態を将来的に使用したくないのであれば、γ=0としてもよい。このように、γは、[0,1]の任意の値をとるようにしてもよい。
また、平均値及び2乗の平均値に関する減衰率は、同じ値である必要は無く、別々の値としてもよい。例えば、第1バッファに関する減衰率を、減衰率γ1=1.000とし、第2バッファに関する減衰率を、減衰率γ2=0.999としてもよい。
次に、全てのインデクスiについて、送信パラメータであるか否かが判定されたかにより、ループ処理を終了させる(S114)。全てのインデクスiについて処理が行われていない場合には、S102からS112までの処理を次のインデクスに対して行う。
なお、S100からS114のループの処理は、分散学習装置10が並列演算可能であれば、並列演算するようにしてもよい。
次に、勾配量子化部206は、送信パラメータのデータについて量子化を行う(S116)。図4は、送信パラメータのデータの量子化の動作の処理を示すフローチャートである。この図4に示されている動作は、勾配量子化部206が実行する。勾配量子化部206には、送信パラメータwiに関する勾配により構成された配列xと、ハイパーパラメータである量子化ビット数kが入力される。
量子化ステップにおいては、まず、配列xから、その要素の絶対値の最大値Mを抽出し、当該最大値Mを送信バッファ104へと出力する(S200)。具体的には、以下の数式のMの値を求め、送信バッファ104へと出力する。
最大値Mの抽出方法は、一般的な方法を用いる。このタイミングにおいて、送信バッファ104には、最大値Mの値が格納されている。
次に、各勾配代表値xiの処理を実行する(S202)。まず、各勾配代表値xiを、最大値Mで規格化する(S204)。すなわち、勾配代表値xiを、xi=xi/Mの式に基づいて変換する。なお、この処理は、分散学習装置10がSIMD(Single Instruction Multiple Data)演算等に対応しているのであればループに入る前にSIMD演算等により行ってもよい。
規格化前の配列xの最大値はMであるので、規格化後の配列xの要素の絶対値は、全て1以下となる。すなわち、2を基数、仮数を[−1,1]として、(仮数)×2−(正の指数)の形式へと書き換えることが可能となる。勾配量子化部206は、仮数の情報を省略し、最大値Mと、指数部の情報により、勾配の平均値を近似して圧縮しようとするものである。
この判定結果に基づき、勾配を出力するか否かを決定する。この判定は、送信パラメータ判定部204により実行された判定とは異なり、例えば、勾配の平均値が量子化ビット数kで表すことのできる最小値を下回っている場合には、0とみなし、送信しないことにより0を表現することが可能であるために実行される。例えば、k=3である場合、最大値Mから、M/127までの28−1までの2のべき乗(2の23乗=8乗まで)に基づいた8段階の値を表すことが可能となる。そして、M/127未満の数値については、0であるとみなす。量子化は、k=3には限られず、例えば、k=4等としてもよい。kが大きくなるほど、表すことのできる数値が増える。
[数10]を満たす場合(S208:Yes)、eiは、量子化ビット数k及び最大値Mを用いて表すことのできる最小値を下回っているので、0と見なし、当該勾配代表値xiに対応するパラメータwiについての勾配代表値を、送信バッファ104へと出力しないようにする(S210)。すなわち、当該判定を行うことにより、どのインデクスiに対応する勾配代表値を送信しないのかを判定し、当該インデクスiの勾配代表値が0であるとし、送信しないようにする。送信しないことにより、受信側では勾配代表値が0であるとみなしてパラメータの更新を行い、次のステップの学習を行う。
一方、[数10]を満たさない場合(S208:No)、eiは、量子化ビット数k及び最大値Mを用いて近似して圧縮することが可能であるので、規格化された当該勾配代表値xiを送信バッファ104へと出力する(S212)。ここで、出力する値は、当該パラメータwiに対する勾配代表値xiの符号(1ビット)、−floor(ei)(kビット)、及び、インデクスi(i≦nなので、ceil(log2 n)ビット)の、1+k+ceil(log2 n)ビットとなる。
そして、全てのインデクスiについて処理が終わったか否かを判定し(S214)、全てのインデクスiについて処理が終わっている場合は、勾配圧縮の処理を終了する。まだ処理を行っていないインデクスiがある場合には、S202からの処理を次のインデクスに対して行う。
この勾配圧縮の処理を行うと、送信バッファ104には、勾配代表値の最大値Mである例えば32ビット(単精度の場合)のデータと、各送信パラメータwiについての上記の1+k+ceil(log2 n)ビットのデータが格納されることとなる。
なお、全てのインデクスについてデータの出力が完了した後に、配列xを0により初期化してもよいし、学習部108が学習を行うタイミングであって、勾配代表値の圧縮処理が始まる前に、配列xを0により初期化してもよい。
図3に戻り、次に、通信部100は、量子化により圧縮され、送信バッファ104に格納されている内容を他の分散学習装置10へと送信を行うともに、他の分散学習装置10の送信バッファに格納されているデータを受信し、受信バッファ102へと格納する(S118)。このタイミングにおいて、送信パラメータに関する第1バッファ及び第2バッファを0で初期化するようにしてもよい。
この通信部100によるデータの送受信は、例えば、MPI(Message Passing Interface)命令のうち、Allgatherv()の処理により行われる。この命令のように、例えば、各分散学習装置10の送信バッファ104に格納されている値をひとまとめにし、まとめられたデータを各分散学習装置10の受信バッファ102へと格納する。
学習部108は、受信バッファ102に格納されたデータについて、上記と逆の演算を行うことにより勾配代表値を展開し、次のステップの学習を行う。
受信したデータの展開は、上述した処理と逆の処理を行うことにより実行される。まず、受信した勾配代表値の最大値Mを取得する。そして、続くデータがいずれのパラメータに対する勾配代表値であるかを、受信したデータのうち、インデクスiから判別する。次に、受信したデータのうち、指数部eiに当たるデータ抽出し、M×2−eiを計算し、符号ビットに格納されているデータから符号を読み取り、パラメータwiの符号を付す。
全ての分散学習装置10からのデータについて上記のようにパラメータを展開した後、学習部108は、MomentumSGD、SGD、Adam等の学習手法により学習を実行する。
なお、複数の分散学習装置10において、同じインデクスiのパラメータの勾配代表値が取得された場合には、取得された複数の値の和を算出して、次のステップの学習を行うようにしてもよい。
上述した勾配の圧縮は、1ステップごとに行われる必要はなく、例えば、ある程度まとまったステップを各分散学習装置10において学習した後に、出力された勾配に基づいて、勾配圧縮を行い、送信をすることにより、学習を進めるようにしてもよい。
図5(a)乃至図5(c)は、本実施形態に係る勾配圧縮を行った学習の様子を示すグラフである。これらの図において、点線は、勾配圧縮を行わない場合の学習の精度の最高値、破線は、本実施形態に係る勾配圧縮をした場合における評価関数の値、実線は、本実施形態に係る勾配圧縮をした場合における、学習の精度を示す曲線である。すなわち、実線は、交差検証をした結果の精度を示す曲線である。縦軸は、学習の精度を示し、横軸は、ステップ数を示す。
図5(a)は、基準分散倍率α=1とした場合の結果を示す図である。この場合、勾配の圧縮を行わなかった場合と同等の精度を得ていることがわかる。
図5(b)は、基準分散倍率α=2、図5(c)は、基準分散倍率α=3とした場合であるが、それぞれ、図5(a)の結果よりも精度は低くなるものの、良好な精度の学習が行われていることが分かる。
この基準分散倍率αは、大きくなるほど送信パラメータが少なくなるので、圧縮率が低くなる。この圧縮の様子を示したのが図6(a)乃至図6(c)に示すグラフである。それぞれ、図5(a)乃至図5(c)に対応するグラフであり、図6(a)は、基準分散倍率α=1、図6(b)は、基準分散倍率α=2、図6(c)は、基準分散倍率α=3の場合の送信データの圧縮率を示すグラフである。図6において、縦軸が圧縮率、横軸がステップ数を表し、縦軸は、10を基数とした対数目盛となっている。
グラフから読み取ると、基準分散倍率α=1の場合は、無圧縮の場合に比べて約1/40のデータ量、すなわち、約1/40の圧縮率となる。同様に、基準分散倍率α=2の場合は、約1/3000の圧縮率、基準分散倍率α=3の場合は、約1/20000の圧縮率となっている。これらのグラフ及び図5のグラフから、低い圧縮率を達成できているとともに、精度の減少が少ないことが読み取れる。すなわち、学習システム1において、精度の高さを保ったまま、分散学習装置10間の通信データ量、ひいては通信スピードを向上し、学習に掛かる時間における通信時間を減少させていることが読み取れる。
以上のように、本実施形態に係る分散学習装置10によれば、分散深層学習において、通信する必要があるデータの低い圧縮率を達成しつつも精度の減少を抑制することが可能である。このことから、分散深層学習を行う場合において、通信速度律速とならずに、計算機の性能を有効に活用した深層学習を行うことが可能となる。
なお、本実施形態に係る勾配圧縮手法は、通信一般を圧縮できるので、上記で説明したような通信のタイミングにおいて複数の分散学習装置10が同期する同期型のみではなく、非同期型の分散深層学習にも適用可能である。また、GPUクラスタだけではなく、他のアクセラレータを用いたクラスタ上で動作するものであってもよく、例えば、FPGA(Field-Programmable Gate Array)等の専用のチップを複数接続する、すなわち、アクセラレータ同士を接続するような通信速度律速となる場合においても適用することができる。
本実施形態による勾配の圧縮は、もとのデータに依存しないものであるので、画像処理用、テキスト処理用、又は、音声処理用等、様々なニューラルネットによる学習に利用することができる。さらに、勾配の相対的な大きさに着目しているので、ハイパーパラメータの調整が容易となる。圧縮の度合いとして、1次モーメントである統計量と、2次モーメントである統計量とを比較するので、別の次元のモーメント同士で比較するという変形例も、本実施形態の均等の範囲に入る。また、指数により量子化を行いデータの圧縮を行っているので、より広い値のスケールに対応することが可能となる。
上記の全ての記載において、分散学習装置10の少なくとも一部はハードウェアで構成されていてもよいし、ソフトウェアで構成され、ソフトウェアの情報処理によりCPU等が実施をしてもよい。ソフトウェアで構成される場合には、分散学習装置10及びその少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。すなわち、ソフトウェアによる情報処理がハードウェア資源を用いて具体的に実装されるものであってもよい。さらに、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。学習モデルの生成や、学習モデルに入力をした後の処理は、例えば、GPU等のアクセラレータを使用して行ってもよい。
また、本実施形態に係る勾配圧縮モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用することが可能である。すなわち、コンピュータのCPUが格納部に格納されているモデルに基づいて、演算を行い、結果を出力するように動作する。
上記の全ての記載に基づいて、本発明の追加、効果又は種々の変形を当業者であれば想到できるかもしれないが、本発明の態様は、上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更及び部分的削除が可能である。
例えば、図1に示すように、本実施形態に係る分散学習装置10は、学習システム1に複数備えられるコンピュータのうち、1のコンピュータにより実装されてもよい。図2に示すように、学習部108が算出したパラメータの勾配を圧縮し、通信部100が送信を行えるように送信バッファ104へと出力するものであればよい。また、勾配圧縮装置20は、学習部108とは別のコンピュータに実装され、勾配圧縮装置20と、学習部108及び通信部100等が協働して分散学習を行えるような装置であってもよい。学習システム1は、最終的に、1つの学習を複数の通信経路を介して接続された複数の分散学習装置10により学習を分散して実行する。なお、複数のコンピュータである必要は無く、学習システム1は、例えば、同一のコンピュータ内に複数のアクセラレータが備えられ、それら複数のアクセラレータがバスを介して通信を行いながら分散学習をするシステムであってもよい。
1:学習システム、10:分散学習装置、100:通信部、102:受信バッファ、104:送信バッファ、20:勾配圧縮装置、202:統計量算出部、204:送信パラメータ判定部、206:勾配量子化部、208:出力部
Claims (9)
- 学習における誤差関数に対し、学習対象である複数のパラメータについて算出された勾配の統計量を算出する、統計量算出部と、
通信ネットワークを介して、前記パラメータのそれぞれについて勾配を送信するパラメータである送信パラメータであるか否かを、前記統計量に基づいて判定する、送信パラメータ判定部と、
送信パラメータであると判定された前記パラメータについての勾配の代表値である勾配代表値を量子化する、勾配量子化部と、
を備える勾配圧縮装置。 - 前記統計量算出部が算出する前記統計量は、勾配の平均値及び分散値である、請求項1に記載の勾配圧縮装置。
- 前記送信パラメータ判定部は、あるパラメータの勾配の平均値の2乗の値が、当該パラメータの勾配の分散値又は当該パラメータの勾配の2乗の平均値に、所定倍率である基準分散倍率を乗じた値よりも大きい場合に、当該パラメータが送信パラメータであると判定する、請求項2に記載の勾配圧縮装置。
- 前記勾配量子化部は、所定量子化ビット数になるように、前記勾配代表値を量子化する、請求項1乃至請求項3のいずれかに記載の勾配圧縮装置。
- 前記勾配量子化部は、前記勾配代表値の指数値に基づいて、前記所定量子化ビット数になるように、勾配を量子化する、請求項4に記載の勾配圧縮装置。
- 前記勾配量子化部により量子化された前記パラメータの前記勾配代表値を出力する、出力部をさらに備える請求項1乃至請求項5のいずれかに記載の勾配圧縮装置。
- 前記出力部は、前記勾配代表値を量子化した値が所定値よりも小さい場合に、当該勾配に対応する前記送信パラメータを出力しない、請求項6に記載の勾配圧縮装置。
- 学習における誤差関数に対し、学習対象である複数のパラメータについて算出された勾配の統計量を算出し、
通信ネットワークを介して、前記パラメータのそれぞれについて勾配を送信するパラメータである送信パラメータであるか否かを、前記統計量に基づいて判定し、
送信パラメータであると判定された前記パラメータについての勾配の代表値である勾配代表値を量子化する、
勾配圧縮方法。 - コンピュータに、
学習における誤差関数に対し、学習対象である複数のパラメータについて算出された勾配の統計量を算出する手段、
通信ネットワークを介して、前記パラメータのそれぞれについて勾配を送信するパラメータである送信パラメータであるか否かを、前記統計量に基づいて判定する手段、
送信パラメータであると判定された前記パラメータについての勾配の代表値である勾配代表値を量子化する手段、
として機能させるプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017207200A JP2019080232A (ja) | 2017-10-26 | 2017-10-26 | 勾配圧縮装置、勾配圧縮方法及びプログラム |
| US16/171,340 US20190156213A1 (en) | 2017-10-26 | 2018-10-25 | Gradient compressing apparatus, gradient compressing method, and non-transitory computer readable medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017207200A JP2019080232A (ja) | 2017-10-26 | 2017-10-26 | 勾配圧縮装置、勾配圧縮方法及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2019080232A true JP2019080232A (ja) | 2019-05-23 |
Family
ID=66532441
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017207200A Pending JP2019080232A (ja) | 2017-10-26 | 2017-10-26 | 勾配圧縮装置、勾配圧縮方法及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20190156213A1 (ja) |
| JP (1) | JP2019080232A (ja) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110992432A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 基于深度神经网络最小方差梯度量化压缩及图像处理方法 |
| JP2020191017A (ja) * | 2019-05-23 | 2020-11-26 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
| WO2020245864A1 (ja) * | 2019-06-03 | 2020-12-10 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
| JPWO2021009847A1 (ja) * | 2019-07-16 | 2021-01-21 | ||
| JP2021015523A (ja) * | 2019-07-12 | 2021-02-12 | 株式会社リコー | 学習装置および学習方法 |
| JP2021034060A (ja) * | 2019-08-29 | 2021-03-01 | キヤノン株式会社 | ニューラルネットワークモデルの学習及び適用方法、装置、システム及び記憶媒体 |
| CN112463189A (zh) * | 2020-11-20 | 2021-03-09 | 中国人民解放军国防科技大学 | 基于通信操作稀疏化的分布式深度学习多步延迟更新方法 |
| WO2022009449A1 (ja) * | 2020-07-10 | 2022-01-13 | 富士通株式会社 | 情報処理装置,情報処理方法および情報処理プログラム |
| JP2022099327A (ja) * | 2020-12-22 | 2022-07-04 | 株式会社リコー | 事前訓練言語モデル、装置及びコンピュータ読み取り可能な記憶媒体 |
| JP2023130468A (ja) * | 2019-10-08 | 2023-09-20 | 株式会社東芝 | 計算システム、計算方法、プログラムおよび回路情報 |
| JP2023541146A (ja) * | 2020-09-08 | 2023-09-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 局所性鋭敏型ハッシングを使用する連合機械学習 |
| JP2023548915A (ja) * | 2020-11-10 | 2023-11-21 | エヌイーシー ラボラトリーズ アメリカ インク | 深層顔認識のためのメタ学習を用いたドメイン一般化マージン |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10755407B2 (en) * | 2018-01-30 | 2020-08-25 | General Electric Company | Systems and methods for capturing deep learning training data from imaging systems |
| US10924741B2 (en) * | 2019-04-15 | 2021-02-16 | Novatek Microelectronics Corp. | Method of determining quantization parameters |
| CN112308233B (zh) * | 2019-08-02 | 2024-07-19 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
| US11669633B2 (en) * | 2019-08-16 | 2023-06-06 | International Business Machines Corporation | Collaborative AI on transactional data with privacy guarantees |
| US11615301B2 (en) * | 2019-09-03 | 2023-03-28 | Microsoft Technology Licensing, Llc | Lossless exponent and lossy mantissa weight compression for training deep neural networks |
| CN110633798B (zh) * | 2019-09-12 | 2023-04-07 | 北京金山数字娱乐科技有限公司 | 一种分布式训练中参数更新方法及装置 |
| CN111953515B (zh) * | 2020-07-07 | 2021-09-21 | 西南大学 | 一种基于Nesterov梯度法和重球法的双加速分布式异步优化方法 |
| CN114386559B (zh) * | 2020-10-19 | 2025-08-22 | 阿里巴巴集团控股有限公司 | 更新网络模型的方法、装置及设备、非易失性存储介质 |
| CN114692865B (zh) * | 2020-12-31 | 2025-02-11 | 安徽寒武纪信息科技有限公司 | 一种神经网络量化训练方法、装置及相关产品 |
| US12175346B2 (en) * | 2022-01-25 | 2024-12-24 | Qualcomm Incorporated | Method and apparatus for fetching gradient data for federated learning process |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10572800B2 (en) * | 2016-02-05 | 2020-02-25 | Nec Corporation | Accelerating deep neural network training with inconsistent stochastic gradient descent |
| US11106973B2 (en) * | 2016-03-16 | 2021-08-31 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for bit-depth reduction in artificial neural networks |
| JP7006585B2 (ja) * | 2016-03-28 | 2022-01-24 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法 |
| US11321609B2 (en) * | 2016-10-19 | 2022-05-03 | Samsung Electronics Co., Ltd | Method and apparatus for neural network quantization |
| US10685285B2 (en) * | 2016-11-23 | 2020-06-16 | Microsoft Technology Licensing, Llc | Mirror deep neural networks that regularize to linear networks |
| JP6227813B1 (ja) * | 2017-01-25 | 2017-11-08 | 株式会社Preferred Networks | 分散深層学習装置及び分散深層学習システム |
| EP3617904A4 (en) * | 2017-04-28 | 2020-04-29 | Sony Corporation | INFORMATION PROCESSING DEVICE AND PROCESSING PROCESS |
| US10922610B2 (en) * | 2017-09-14 | 2021-02-16 | Intel Corporation | Synchronization scheduler of distributed neural network training |
-
2017
- 2017-10-26 JP JP2017207200A patent/JP2019080232A/ja active Pending
-
2018
- 2018-10-25 US US16/171,340 patent/US20190156213A1/en not_active Abandoned
Cited By (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7208528B2 (ja) | 2019-05-23 | 2023-01-19 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
| JP2020191017A (ja) * | 2019-05-23 | 2020-11-26 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
| WO2020245864A1 (ja) * | 2019-06-03 | 2020-12-10 | 日本電信電話株式会社 | 分散処理システムおよび分散処理方法 |
| JPWO2020245864A1 (ja) * | 2019-06-03 | 2020-12-10 | ||
| JP7363145B2 (ja) | 2019-07-12 | 2023-10-18 | 株式会社リコー | 学習装置および学習方法 |
| JP2021015523A (ja) * | 2019-07-12 | 2021-02-12 | 株式会社リコー | 学習装置および学習方法 |
| JP7276457B2 (ja) | 2019-07-16 | 2023-05-18 | 日本電信電話株式会社 | 分散深層学習システム、プログラム、及び、分散深層学習システムのノード |
| WO2021009847A1 (ja) * | 2019-07-16 | 2021-01-21 | 日本電信電話株式会社 | 分散深層学習システム |
| JPWO2021009847A1 (ja) * | 2019-07-16 | 2021-01-21 | ||
| JP2021034060A (ja) * | 2019-08-29 | 2021-03-01 | キヤノン株式会社 | ニューラルネットワークモデルの学習及び適用方法、装置、システム及び記憶媒体 |
| JP7009020B2 (ja) | 2019-08-29 | 2022-01-25 | キヤノン株式会社 | 学習方法、学習システム、学習装置、方法、適用装置、及びコンピュータプログラム |
| US12086736B2 (en) | 2019-10-08 | 2024-09-10 | Kabushiki Kaisha Toshiba | Search device, search method, computer program product, search system, and arbitrage system |
| JP7521080B2 (ja) | 2019-10-08 | 2024-07-23 | 株式会社東芝 | 計算システム、計算方法、プログラムおよび回路情報 |
| JP2023130468A (ja) * | 2019-10-08 | 2023-09-20 | 株式会社東芝 | 計算システム、計算方法、プログラムおよび回路情報 |
| CN110992432A (zh) * | 2019-10-28 | 2020-04-10 | 北京大学 | 基于深度神经网络最小方差梯度量化压缩及图像处理方法 |
| WO2022009449A1 (ja) * | 2020-07-10 | 2022-01-13 | 富士通株式会社 | 情報処理装置,情報処理方法および情報処理プログラム |
| JP2023541146A (ja) * | 2020-09-08 | 2023-09-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 局所性鋭敏型ハッシングを使用する連合機械学習 |
| JP7623775B2 (ja) | 2020-09-08 | 2025-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 局所性鋭敏型ハッシングを使用する連合機械学習 |
| JP2023548915A (ja) * | 2020-11-10 | 2023-11-21 | エヌイーシー ラボラトリーズ アメリカ インク | 深層顔認識のためのメタ学習を用いたドメイン一般化マージン |
| JP7621480B2 (ja) | 2020-11-10 | 2025-01-24 | エヌイーシー ラボラトリーズ アメリカ インク | 深層顔認識のためのメタ学習を用いたドメイン一般化マージン |
| CN112463189B (zh) * | 2020-11-20 | 2022-04-22 | 中国人民解放军国防科技大学 | 基于通信操作稀疏化的分布式深度学习多步延迟更新方法 |
| CN112463189A (zh) * | 2020-11-20 | 2021-03-09 | 中国人民解放军国防科技大学 | 基于通信操作稀疏化的分布式深度学习多步延迟更新方法 |
| JP7226514B2 (ja) | 2020-12-22 | 2023-02-21 | 株式会社リコー | 事前訓練言語モデル、装置及びコンピュータ読み取り可能な記憶媒体 |
| JP2022099327A (ja) * | 2020-12-22 | 2022-07-04 | 株式会社リコー | 事前訓練言語モデル、装置及びコンピュータ読み取り可能な記憶媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190156213A1 (en) | 2019-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2019080232A (ja) | 勾配圧縮装置、勾配圧縮方法及びプログラム | |
| US20230083116A1 (en) | Federated learning method and system, electronic device, and storage medium | |
| CN117371508B (zh) | 模型压缩方法、装置、电子设备以及存储介质 | |
| CN115358487A (zh) | 面向电力数据共享的联邦学习聚合优化系统及方法 | |
| EP4008057B1 (en) | Lossless exponent and lossy mantissa weight compression for training deep neural networks | |
| WO2020173270A1 (zh) | 用于分析数据的方法、设备和计算机存储介质 | |
| WO2022064656A1 (ja) | 処理システム、処理方法及び処理プログラム | |
| US20210374529A1 (en) | End-to-end learning in communication systems | |
| CN111062431A (zh) | 图像聚类方法、图像聚类装置、电子设备及存储介质 | |
| CN113657468A (zh) | 预训练模型的生成方法、装置、电子设备和存储介质 | |
| WO2021057926A1 (zh) | 一种神经网络模型训练方法及装置 | |
| CN118502955A (zh) | 面向异构系统的动态权重负载均衡方法 | |
| WO2022156159A1 (zh) | 模型参数调整的方法、设备、存储介质及程序产品 | |
| CN116011581A (zh) | 任务处理的方法、设备和计算机程序产品 | |
| CN113657538A (zh) | 模型训练、数据分类方法、装置、设备、存储介质及产品 | |
| US11863398B2 (en) | Centralized management of distributed data sources | |
| CN111860405A (zh) | 图像识别模型的量化方法、装置、计算机设备及存储介质 | |
| US20230388197A1 (en) | Centralized Management of Distributed Data Sources | |
| CN119895433A (zh) | 使用安全多方计算来训练机器学习模型和执行机器学习模型的推断操作 | |
| CN116403001A (zh) | 目标检测模型训练及目标检测方法、装置、设备和介质 | |
| CN114758130A (zh) | 图像处理及模型训练方法、装置、设备和存储介质 | |
| CN114637809A (zh) | 同步延迟时间动态配置方法、装置、电子设备及介质 | |
| CN118626052B (zh) | 一种fpga上实现深度学习的高效浮点数处理方法 | |
| CN114495227A (zh) | 年龄预测网络生成、年龄预测方法、装置、设备和介质 | |
| CN114049516A (zh) | 训练方法、图像处理方法、装置、电子设备以及存储介质 |