JP6898778B2 - Machine learning system and machine learning method - Google Patents
Machine learning system and machine learning method Download PDFInfo
- Publication number
- JP6898778B2 JP6898778B2 JP2017110108A JP2017110108A JP6898778B2 JP 6898778 B2 JP6898778 B2 JP 6898778B2 JP 2017110108 A JP2017110108 A JP 2017110108A JP 2017110108 A JP2017110108 A JP 2017110108A JP 6898778 B2 JP6898778 B2 JP 6898778B2
- Authority
- JP
- Japan
- Prior art keywords
- machine learning
- information processing
- model
- learning system
- unit
- 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
- 238000010801 machine learning Methods 0.000 title claims description 67
- 238000013139 quantization Methods 0.000 claims description 59
- 230000006835 compression Effects 0.000 claims description 47
- 238000007906 compression Methods 0.000 claims description 47
- 230000010365 information processing Effects 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000013527 convolutional neural network Methods 0.000 claims description 21
- 230000002123 temporal effect Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000013136 deep learning model Methods 0.000 description 11
- 230000006837 decompression Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 239000010410 layer Substances 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 239000011229 interlayer Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、機械学習システム及び機械学習方法に関する。 The present invention relates to a machine learning system and a machine learning method.
特許文献1には、「機械学習装置は、層間アクセラレータを含む。層間アクセラレータは、3層以上のニューラルネットワークに含まれる第1の層の入力ベクトルと当該第1の層の学習重み行列とに基づいて当該第1の層の次の第2の層の入力ベクトルを生成する複数の層間ユニットを含む。複数の層間ユニットの各々は、結合発振器アレイと、活性化関数適用器とを含む。結合発振器アレイは、第1の層の入力ベクトルの複数の要素と学習重み行列のいずれかの行に相当する行ベクトルの複数の要素との差分に応じた周波数で発振する複数の発振器を含み、当該複数の発振器によって生成された発振信号を結合して演算信号を得る。活性化関数適用器は、演算信号に活性化関数を適用することによって、第2の層の入力ベクトルのいずれかの要素を生成する。」と記載されている。
非特許文献1には、高性能のハードウェアを有する複数の計算ノードを用いて並列分散処理を行うことにより、ディープラーニングにおける学習時間を削減する技術に関して記載されている。
Non-Patent
昨今、ディープラーニング(深層学習)の開発/研究が急速に進められており、画像認識、文字認識、音声認識、スマートフォン、自律ロボット、ドローン等の様々な分野への応用が期待されている。ディープラーニングにおいては、畳み込みニューラルネットワーク(CNN(Convolutional Neural Network)やフィードフォワードニューラルネットワーク(FFNN(Feedforward Neural Network))等のモデルを用いて学習が行われる。 Recently, the development / research of deep learning is rapidly progressing, and it is expected to be applied to various fields such as image recognition, character recognition, voice recognition, smartphones, autonomous robots, and drones. In deep learning, learning is performed using a model such as a convolutional neural network (CNN (Convolutional Neural Network)) or a feedforward neural network (FFNN (Feedforward Neural Network)).
ここでモデルを用いた学習においては取り扱う重み係数の数が膨大であるため、学習に多大な時間を要する。そこで例えば、非特許文献1に開示されているように、訓練データや重み係数の更新を複数の計算ノードに分散させて行う方式(以下、並列分散方式と称する。)が提案されている。
Here, in learning using a model, since the number of weighting coefficients to be handled is enormous, a large amount of time is required for learning. Therefore, for example, as disclosed in
しかし並列分散方式では、計算ノード間で重み係数や重み係数の更新量を共有する必要があり、学習に際して計算ノード間で行われるデータ転送により大量のトラフィックが発生し、とくに計算ノードの数が多いと転送待ちの状態が頻発し、学習時間の短縮化を図る上でボトルネックとなる。 However, in the parallel distribution method, it is necessary to share the weighting coefficient and the update amount of the weighting coefficient between the computing nodes, and a large amount of traffic is generated due to the data transfer performed between the computing nodes during learning, and the number of computing nodes is particularly large. The state of waiting for transfer frequently occurs, which becomes a bottleneck in shortening the learning time.
本発明はこのような背景に鑑みてなされたものであり、機械学習を効率よく行うことが
可能な、機械学習システム及び機械学習方法を提供することを目的とする。
The present invention has been made in view of such a background, and an object of the present invention is to provide a machine learning system and a machine learning method capable of efficiently performing machine learning.
上記目的を達成するための本発明の一つは、通信可能に接続された複数の情報処理装置を含み、前記複数の情報処理装置を用いた並列分散方式により機械学習を行う機械学習システムであって、前記情報処理装置は、前記機械学習におけるモデルの学習に用いるパラメータの送受信を他の前記情報処理装置との間で行う送受信部と、前記パラメータを他の前記情報処理装置に送信する際、前記パラメータを差分符号化して圧縮する圧縮部と、他の前記情報処理装置から受信した前記パラメータを伸張する伸張部と、前記情報処理装置の夫々と通信可能に接続する制御装置と、を備え、前記制御装置は、前記機械学習が進むにつれ、前記情報処理装置の夫々が前記差分符号化に際して用いる量子化パラメータの値を減少させる量子化パラメータ制御部を有する。 One of the present inventions for achieving the above object is a machine learning system that includes a plurality of information processing devices connected so as to be communicable and performs machine learning by a parallel distribution method using the plurality of information processing devices. When the information processing apparatus transmits and receives parameters used for learning a model in the machine learning to and from the other information processing apparatus, and transmits the parameters to the other information processing apparatus. A compression unit that differentially encodes and compresses the parameters, an expansion unit that expands the parameters received from the other information processing device, and a control device that is communicably connected to each of the information processing devices are provided. The control device has a quantization parameter control unit that reduces the value of the quantization parameter used by each of the information processing devices for the difference coding as the machine learning progresses .
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。 In addition, the problems disclosed in the present application and the solutions thereof will be clarified by the column of the form for carrying out the invention and the drawings.
本発明によれば、機械学習を効率よく行うことができる。 According to the present invention, machine learning can be performed efficiently.
以下、図面を参照しつつ実施形態について説明する。以下の説明において、同一の又は類似する構成について同一の符号を付して重複した説明を省略することがある。 Hereinafter, embodiments will be described with reference to the drawings. In the following description, the same or similar configurations may be designated by the same reference numerals and duplicate description may be omitted.
[第1実施形態]
図1に第1実施形態として説明する、機械学習を行う情報処理システム(以下、学習システム1と称する。)の概略的な構成を示している。同図に示すように、学習システム1は、1つのパラメータサーバ200と複数のワーカ100とを含む。以下の説明において、ワーカ100及びパラメータサーバ200の夫々を計算ノードと称することがある。また以下の説明において、機械学習はディープラーニングであるものとして説明する。
[First Embodiment]
FIG. 1 shows a schematic configuration of an information processing system (hereinafter, referred to as learning system 1) that performs machine learning, which will be described as the first embodiment. As shown in the figure, the
パラメータサーバ200及び複数のワーカ100は、通信回線50を介して互いに通信可能に接続されている。学習システム1は、機械学習における処理を複数のワーカ100及びパラメータサーバ200の夫々に分担させる方式(以下、並列分散方式と称する)で行う。
The
図2は計算ノードの実現に用いる情報処理装置10の一例である。同図に示すように、情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16の各構成を備える。これらはバス等の通信手段を介して互いに通信可能に接続されている。
FIG. 2 is an example of the
尚、情報処理装置10の全部又は一部が、例えば、クラウドシステムにおけるクラウドサーバ等の仮想的な資源を用いて構成されていてもよい。同図に示す構成のうち、補助記憶装置13、入力装置14、及び出力装置15については必須の構成ではない。
In addition, all or a part of the
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等を用いて構成されている。プロセッサ11は、例えば、マルチコアプロセッサを構成するコアの一つであってもよい。またプロセッサ11は、マルチプロセッサシステムを構成するプロセッサの一つでもよい。
The
主記憶装置12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性半導体メモリ(NVRAM(Non Volatile RAM))等であり、プログラムやデータを記憶する。主記憶装置12は、プロセッサ11と同一のモジュールやパッケージに実装されたものであってもよい。
The
補助記憶装置13は、例えば、ハードディスクドライブ、SSD(Solid State Drive
)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDメモリカードや光学式記録媒体等の記録媒体に対するデータの読取/書込装置等である。補助記憶装置13に格納されているプログラムやデータは主記憶装置12に随時ロードされる。補助記憶装置13は、例えば、ネットワークストレージのように情報処理装置10とは独立していてもよい。
The
), Optical storage devices (CD (Compact Disc), DVD (Digital Versatile Disc), etc.), storage systems, IC cards, SD memory cards, data reading / writing devices for recording media such as optical recording media, etc. is there. Programs and data stored in the
入力装置14は、外部からのデータの入力を受け付けるインタフェースであり、例えば、記録媒体(不揮発性メモリ、光学式記録媒体、磁気記録媒体、光磁気記録媒体等)からのデータの読取装置、キーボード、マウス、タッチパネル等である。尚、例えば、情報処理装置10が、通信装置16を介して他の装置からデータの入力を受け付ける構成としてもよい。
The
出力装置15は、処理経過や処理結果等のデータや情報を外部に提供するユーザインタフェースであり、例えば、画面表示装置(液晶ディスプレイ(Liquid Crystal Display)、プロジェクタ、グラフィックカード等)、印字装置、記録媒体へのデータの記録装置等である。尚、例えば、情報処理装置10が、処理経過や処理結果等のデータを通信装置16を介して他の装置に提供する構成としてもよい。
The
通信装置16は、他の装置や素子との間の通信を実現する、有線方式又は無線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール等である。
The
図1に戻り、通信回線50は、例えば、LAN(Local Area Network)、WAN(Wide
Area Network)、インターネット、公衆通信網、専用線等である。例えば、通信回線5
0として、低レイテンシでギガbps単位のスループットが出せるInfiniBandを利用すると
効果的である。学習システム1が、例えば、マルチコアシステムやマルチプロセッサシステム等を用いて実現される場合、通信回線50はバス(bus)を用いて構成されていても
よい。通信回線50の全部または一部は、有線方式又は無線方式のいずれの方式で実現されていてもよい。
Returning to FIG. 1, the
Area Network), the Internet, public communication networks, leased lines, etc. For example, communication line 5
As 0, it is effective to use InfiniBand, which has low latency and can output throughput in giga bps units. When the
例えば、1つのCPUと2つのGPUを備えた計算ノードをM個用意し、いずれかの計算ノードのCPUをパラメータサーバ200として動作させ、各計算ノードのGPUをワーカ100として動作させると、最大で2×M個のワーカ100を含む学習システム1を構成することができる。また例えば、1つのCPUと8つのGPUを備えた計算ノードを1つ用意し、上記CPUをパラメータサーバ200として動作させ、各計算ノードのGPUをワーカ100として動作させると、最大で8個のワーカ100を含む学習システム1を構成することができる。またこの場合、計算ノードにおける高速な内部バスを利用してデータ転送を行うことができる。尚、CPUやGPUは、いずれもワーカ100としてもパラメータサーバ200としても利用することができる。
For example, if M computing nodes having one CPU and two GPUs are prepared, the CPU of one of the computing nodes is operated as the
図3は、パラメータサーバ200及びワーカ100の概略的な動作を説明する図である。前述したように、学習システム1は、機械学習における処理を並列分散方式で行う。具体的には、各ワーカ100には、機械学習に用いる訓練データを分割(例えば、分配先のワーカ100の数(以下、Nとする。)に分割)したデータが分配される。各ワーカ100は、分配された訓練データを機械学習のモデルに適用することによりモデルの重み係数の更新量ΔWを求め、求めた重み係数の更新量ΔWを通信回線50を介してパラメータサーバ200に送信する。一方、パラメータサーバ200は、各ワーカ100から送られてくる重み係数の更新量ΔWを用いて重み係数Wを更新し、更新後の最新の重み係数Wを通信回線50を介して各ワーカ100に送信する。学習システム1は、以上の処理を繰り返し行うことにより機械学習を進行させる。
FIG. 3 is a diagram illustrating a schematic operation of the
尚、重み係数の更新量ΔWの算出方法は必ずしも限定されない。例えば、ワーカ100は、非特許文献1に記載されている確率的勾配降下法(SGD:Stochastic Gradient Descent)、誤差逆伝搬法、準ニュートン法、遺伝的アルゴリズム等により重み係数の更新量Δ
Wを求める。各ワーカ100が分担する訓練データ104は、予め各ワーカ100に送信しておいてもよいし、通信回線50等を介して計算ノード間で共有するサーバ装置等に格納しておいてもよい。
The method of calculating the update amount ΔW of the weighting coefficient is not necessarily limited. For example, the
Find W. The training data 104 shared by each
ここで並列分散方式により機械学習を行う際は、パラメータサーバ200とワーカ100との間で転送されるデータ(重み係数Wや重み係数の更新量ΔW)の量が多いことが問題となる。例えば、データ転送量が回線速度を上回れば転送待ちが発生し、スループットの低下につながる。こうした傾向はワーカ100数が多いほど顕著となり、転送されるデータの量が多いことはワーカ100の数(並列数)を増やして処理時間の短縮化を図る際のボトルネックとなる。
Here, when machine learning is performed by the parallel distribution method, there is a problem that the amount of data (weight coefficient W and update amount ΔW of the weight coefficient) transferred between the
そこで本実施形態の学習システム1は、パラメータサーバ200とワーカ100との間で転送されるデータ(重み係数Wや重み係数の更新量ΔW)を差分符号化して圧縮することにより計算ノード間のトラフィック量を減らして上記ボトルネックの解消を図る。また差分符号化の効率(圧縮率)は機械学習のモデルに依存するため、学習システム1は機械学習のモデルに応じて差分符号化の方法として適切なものを選択する。
Therefore, the
図4はワーカ100及びパラメータサーバ200の機能の概略を説明するブロック図である。同図に示すように、ワーカ100は、W受信部111、W伸張部112、ΔW算出部113、ΔW圧縮部114、及びΔW送信部115の各機能を備える。またパラメータ
サーバ200は、ΔW受信部211、ΔW伸張部212、W更新部213、W圧縮部214、及びW送信部215の各機能を備える。
FIG. 4 is a block diagram illustrating the outline of the functions of the
ワーカ100やパラメータサーバ200が備える上記の各機能は、例えば、プロセッサ11が、主記憶装置12や補助記憶装置13に格納されているプログラムを読み出して実行することにより実現される。またこれらの機能は、例えば、情報処理装置10が備えるハードウェア(FPGA(Field-Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等)によって実現される。
Each of the above-mentioned functions included in the
ワーカ100の各機能について順に説明する。W受信部111は、通信回線50を介してパラメータサーバ200から送られてくる重み係数Wを受信する。W伸張部112は、W受信部111が受信した重み係数Wを伸張する。ΔW算出部113は、W伸張部112により伸張された重み係数Wを用いて重み係数の更新量ΔWを求める。ΔW圧縮部114は、ΔW算出部113が求めた重み係数の更新量ΔWを差分符号化して圧縮した圧縮データ(以下、圧縮データ(ΔW)とも称する。)を生成する。ΔW送信部115は、ΔW圧縮部114が生成した圧縮データ(ΔW)を通信回線50を介してパラメータサーバ200に送信する。
Each function of the
続いて、パラメータサーバ200の各機能について順に説明する。ΔW受信部211は、通信回線50を介して各ワーカ100から送られてくる圧縮データ(ΔW)を受信する。ΔW伸張部212は、ΔW受信部211が受信した圧縮データ(ΔW)を伸張し、重み係数の更新量ΔWを復元する。W更新部213は、ΔW伸張部212が復元した重み係数の更新量ΔWに基づき重み係数Wを更新する。W圧縮部214は、W更新部213による更新後の重み係数Wを圧縮したデータ(以下、圧縮データ(W)とも称する。)を生成する。W送信部215は、W圧縮部214が生成した圧縮データ(W)を通信回線50を介して各ワーカ100に送信する。
Subsequently, each function of the
尚、W更新部213による重み係数Wの更新の方法はとくに限定されないが、一例を示せば、W更新部213は次式により重み係数Wを更新する。
Wx,n+1 = Wx,n - ηΔWx,n ・・・式1
ここでxはディープラーニングのモデル空間において重み係数が付与されている位置を
特定する情報、nは重み係数の更新回数(即ち更新時刻)、ηは学習係数である。学習係数ηは定数としてもよいが、例えば、重み係数Wの収束を早めるため、学習が進むにつれ値が小さくなるように変化させてもよい。
The method of updating the weighting coefficient W by the
Wx, n + 1 = Wx, n --ηΔWx, n ・ ・ ・
Here, x is information for specifying the position where the weighting coefficient is given in the deep learning model space, n is the number of times the weighting coefficient is updated (that is, the updating time), and η is the learning coefficient. The learning coefficient η may be a constant, but for example, in order to accelerate the convergence of the weighting coefficient W, the value may be changed so as to decrease as the learning progresses.
続いて、W伸張部112、ΔW圧縮部114、ΔW伸張部212、W圧縮部214による、重み係数Wや重み係数の更新量ΔWの圧縮及び伸張方法について説明する。尚、学習システム1は、重み係数Wの空間的相関や時間的相関を利用した差分符号化を行うことにより、重み係数Wや重み係数の更新量ΔWの圧縮並びに伸張を効率的に行う。
Subsequently, a method of compressing and decompressing the weight coefficient W and the update amount ΔW of the weighting coefficient by the
図5は、ディープラーニングのモデルの一例として示す畳み込みニューラルネットワーク(以下、CNN(Convolutional Neural Network)とも称する。)の空間的相関を説明する図である。図5(a)は、CNNのモデル空間のイメージ図である。また図5(b)は、更新回数n(横軸)と位置x−1における重み係数Wx-1,n(縦軸)との関係を表し
たグラフであり、図5(c)は、更新回数n(横軸)と位置x−1に隣接する位置xおける重み係数Wx,n(縦軸)との関係を表したグラフである。これらのグラフから、ディー
プラーニングのモデルとしてCNNを用いた場合、隣接する位置の間では重み係数Wの相関(空間的相関)が高くなる性質(同一の時刻(更新回数n)において両者の差分が0に偏る性質)があることがわかる。つまりこの性質を利用して上記差分を符号化すれば圧縮率を高めることができる。
FIG. 5 is a diagram for explaining the spatial correlation of a convolutional neural network (hereinafter, also referred to as CNN (Convolutional Neural Network)) shown as an example of a deep learning model. FIG. 5A is an image diagram of the model space of CNN. Further, FIG. 5B is a graph showing the relationship between the number of updates n (horizontal axis) and the weighting coefficients Wx-1, n (vertical axis) at the position x-1, and FIG. 5C is an update. It is a graph showing the relationship between the number of times n (horizontal axis) and the weighting coefficients Wx, n (vertical axis) at the position x adjacent to the position x-1. From these graphs, when CNN is used as a deep learning model, the correlation (spatial correlation) of the weighting coefficient W becomes high between adjacent positions (difference between the two at the same time (update count n)). It can be seen that there is a property that is biased toward 0). That is, if the above difference is encoded by utilizing this property, the compression rate can be increased.
一方、図6は、ディープラーニングのモデルの一例として示すフィードフォワードニューラルネットワーク(以下、FFNN(Feedforward Neural Network)と称する。)の時間的相関を説明する図である。図6(a)は、FFNNのモデル空間のイメージ図である。また図6(b)は、更新回数n(横軸)と位置x−1における重み係数Wx-1,n(縦軸
)との関係を表したグラフであり、図6(c)は、更新回数n(横軸)と位置x−1に隣接する位置xおける重み係数Wx,n(縦軸)との関係を表したグラフである。図6(b)
,(c)に示すように、ディープラーニングのモデルとしてFFNNを用いた場合、隣接する位置の間で重み係数Wの空間的相関は低いが、重み係数の時間的変動は両者とも概してなだらかであり、連続する時刻(例えば、nとn−1。)間で重み係数Wの時間的相関が高くなる性質(連続する時刻における係数値の差分が0に偏る性質)があることがわかる。つまりの性質を利用して上記差分を符号化すれば圧縮率を高めることができる。
On the other hand, FIG. 6 is a diagram for explaining the temporal correlation of a feedforward neural network (hereinafter, referred to as FFNN (Feedforward Neural Network)) shown as an example of a deep learning model. FIG. 6A is an image diagram of the model space of FFNN. Further, FIG. 6B is a graph showing the relationship between the number of updates n (horizontal axis) and the weighting coefficients Wx-1, n (vertical axis) at the position x-1, and FIG. 6C is an update. It is a graph showing the relationship between the number of times n (horizontal axis) and the weighting coefficients Wx, n (vertical axis) at the position x adjacent to the position x-1. FIG. 6 (b)
As shown in (c), when FFNN is used as a deep learning model, the spatial correlation of the weighting coefficient W is low between adjacent positions, but the temporal variation of the weighting coefficient is generally gentle in both cases. , It can be seen that there is a property that the temporal correlation of the weighting coefficient W is high between consecutive times (for example, n and n-1) (the difference between the coefficient values at consecutive times is biased to 0). In other words, the compression rate can be increased by coding the above difference using the property of.
尚、FFNNと同様に時間的相関が高くなる傾向があるネットワークとして、他にも再帰型ネットワーク(RNN(Recurrent Neural Network))、制限付きボルツマンマシン(RBM(Restricted Boltzmann Machine))、オートエンコーダ(AutoEncoder)、全
結合型ネットワーク等がある。これらについてもFFNNと同様に時間的相関を利用して圧縮率を高めることができる。
Similar to FFNN, other networks that tend to have a high temporal correlation include recurrent networks (RNNs (Recurrent Neural Networks)), restricted Boltzmann machines (RBMs), and autoencoders (AutoEncoder). ), Fully coupled network, etc. Similar to FFNN, the compression rate can be increased by utilizing the temporal correlation for these as well.
以上のように、ディープラーニングにおけるモデルの重み係数Wは、モデルの種類によって空間的相関や時間的相関が異なる。そこで学習システム1は、モデルの種類に応じて差分符号化の方法を切り替える(例えば、モデルがCNNである場合は空間的相関に着目した算出方式で差分符号化を行い、モデルがCNN以外である場合は時間的相関に着目した算出方式で差分符号化を行う)ことにより圧縮率の向上を図る。
As described above, the weighting coefficient W of the model in deep learning has different spatial correlation and temporal correlation depending on the type of model. Therefore, the
尚、こうした仕組みの実施に際し、例えば、各ワーカ100とパラメータサーバ200との間(圧縮側と伸張側)でディープラーニングにおけるモデルの種類を特定する情報(以下、モデル特定情報とも称する。)を共有するようにし、各ワーカ100やパラメータサーバ200は、重み係数Wや重み係数の更新量ΔWの圧縮又は伸張に際してモデル特定情報を参照して差分の算出方法を切り換えるようにする。
In implementing such a mechanism, for example, information for specifying the type of model in deep learning (hereinafter, also referred to as model specific information) is shared between each
続いて、図7乃至図9に示す図とともに、差分符号化による重み係数Wや重み係数の更新量ΔWの圧縮及び伸張について詳述する。 Subsequently, the compression and decompression of the weighting coefficient W and the update amount ΔW of the weighting coefficient by the difference coding will be described in detail together with the figures shown in FIGS. 7 to 9.
図7は、ディープラーニングのモデル空間の隣接する位置(x−1とx)の夫々について連続する更新時刻(n−1,n)と重み係数Wとの関係を示す図である。図7(a)は、Wx-1,n-1とWx-1,nとの関係を示すグラフ、図7(b)はWx,n-1とWx,nとの関係を示すグラフである。 FIG. 7 is a diagram showing the relationship between the continuous update time (n-1, n) and the weighting coefficient W for each of the adjacent positions (x-1 and x) in the deep learning model space. FIG. 7A is a graph showing the relationship between Wx-1, n-1 and Wx-1, n, and FIG. 7B is a graph showing the relationship between Wx, n-1 and Wx, n. ..
例えば、ディープラーニングのモデルがCNNである場合、学習システム1は、空間的相関を利用して、重み係数Wについて、次式のようにWx-1,nを一度圧縮して伸張した値<Wx-1,n>(以下、このように一度圧縮して伸張した値を<>で囲んで表記する。)をWx,nから差し引くことにより差分を求める。
重みWの差分=Wx,n−<Wx-1,n> ・・・式2
For example, when the deep learning model is CNN, the
Difference of weight W = Wx, n− <Wx-1, n> ・ ・ ・
また学習システム1は、次式に示すように、重み係数の更新量ΔWについても同様に差分を求める。
重みの更新量ΔWの差分=ΔWx,n−<ΔWx-1,n> ・・・式3
Further, as shown in the following equation, the
Difference in weight update amount ΔW = ΔWx, n− <ΔWx-1, n> ・ ・ ・
尚、Wx-1,nやΔWx-1,nそのものではなく、これらを圧縮して伸張した値( <Wx-1,n>や
<ΔWx-1,n>)を差し引いているのは、量子化誤差を考慮した上で圧縮側と伸張側とで値を合わせるためである。即ち、伸張側では量子化誤差を含んだ値を受信するため、圧縮側と伸張側とで値を合わせるには圧縮側においても圧縮及び伸張を行った値(量子化誤差を反映した値)を生成しておく必要がある。以下、圧縮側が圧縮及び伸張を行って量子化誤差を反映した値のことを「参照値」とも称する。
It should be noted that it is not the Wx-1, n or ΔWx-1, n itself, but the compressed and decompressed value (<Wx-1, n> or
<ΔWx-1, n>) is subtracted in order to match the values on the compression side and the decompression side in consideration of the quantization error. That is, since the decompression side receives the value including the quantization error, in order to match the value between the compression side and the decompression side, the value obtained by compressing and decompressing on the compression side (value reflecting the quantization error) is used. Must be generated. Hereinafter, the value that the compression side compresses and decompresses and reflects the quantization error is also referred to as a “reference value”.
モデルがCNN以外である場合、学習システム1は、時間的相関を利用して、重み係数Wについて次式に示すようにWx,n-1を一度圧縮して伸張した値<Wx,n-1>をWx,nから差し引くことにより差分を求める。
重みWの差分=Wx,n−<Wx,n-1> ・・・式4
When the model is other than CNN, the
Difference of weight W = Wx, n− <Wx, n-1> ・ ・ ・ Equation 4
また学習システム1は、次式に示すように、重み係数の更新量ΔWについても同様にして差分を求める。
重みの更新量ΔWの差分=ΔWx,n−<ΔWx,n-1> ・・・式5
Further, as shown in the following equation, the
Difference in weight update amount ΔW = ΔWx, n− <ΔWx, n-1> ・ ・ ・ Equation 5
続いて、学習システム1は、以上のようにして求めた差分について、例えば、量子化パラメータqを用いて次式に基づき量子化データを生成する。
量子化データ=差分を量子化パラメータqで割った商 ・・・式6
Subsequently, the
Quantization data = quotient of difference divided by quantization parameter q ...
尚、量子化パラメータqの値は全ての重み係数Wについて同一としてもよいが、例えば、重み係数W毎に異なる値としてもよい。例えば、1回の更新あたりの変化が激しい重み係数Wについては量子化パラメータqを大きな値に設定し、一方、1回の更新あたりの変化が小さな重み係数Wについては量子化パラメータqを小さな値に設定することで、圧縮率の向上を図ることができる。 The value of the quantization parameter q may be the same for all the weighting coefficients W, but may be different for each weighting coefficient W, for example. For example, the quantization parameter q is set to a large value for the weighting coefficient W that changes drastically per update, while the quantization parameter q is set to a small value for the weighting coefficient W that changes little per update. By setting to, the compression coefficient can be improved.
図8は、量子化データの符号化に際して学習システム1が参照する可変長符号表800(量子化テーブル)の一例である。同図に示すように、可変長符号表800には、量子化データの値811と符号812とを対応づけた情報を含む。学習システム1は、可変長符号表800を参照して量子化データを可変長符号に変換する。尚、可変長符号表800において、量子化パラメータqの値が小さいほど短い符号を割り当てることで圧縮率を向上させることができる。
FIG. 8 is an example of a variable length code table 800 (quantization table) referred to by the
尚、伸張に際しては以上に説明した圧縮の場合と逆の手順を辿ることになる。例えば、学習システム1は、圧縮データ(W)や圧縮データ(ΔW)に対し、可変長符号表800を参照して量子化データを復元し、量子化パラメータqを掛け合わせた後、参照値を足し合わせることにより圧縮データ(W)や圧縮データ(ΔW)を伸張する。
In addition, when decompressing, the procedure opposite to that in the case of compression described above is followed. For example, the
続いて、パラメータサーバ200並びにワーカ100の夫々の機能について詳述する。
Subsequently, the functions of the
図9は、ディープラーニングの1回分の学習に際してパラメータサーバ200が行う処理(以下、学習処理S900と称する。)を説明するフローチャートである。以下、同図とともに学習処理S900について説明する。
FIG. 9 is a flowchart illustrating a process (hereinafter, referred to as a learning process S900) performed by the
まずパラメータサーバ200は、ワーカ100から通信回線50を介して重み係数の更新量ΔWx,nの圧縮データ(圧縮データ(ΔW))を受信する(S911)。
First, the
続いて、パラメータサーバ200は、ディープラーニングのモデルがCNNであるか否か(圧縮データ(ΔW)が空間的相関又は時間的相関のいずれを利用して符号化されたか)を判定する(S912)。パラメータサーバ200がモデルはCNNであると判定した場合(S912:YES)、処理はS913に進む。一方、パラメータサーバ200がモ
デルはCNNでないと判定した場合(S912:NO)、処理はS914に進む。
Subsequently, the
S913の処理に進んだ場合、パラメータサーバ200は、参照値<ΔWx-1,n>を用いて圧縮データ(ΔWx,n−<ΔWx-1,n>)を伸張し、<ΔWx,n>を取得する(S915)。
When proceeding to the process of S913, the
S914の処理に進んだ場合、パラメータサーバ200は、参照値<ΔWx,n-1>を取得して圧縮データ(ΔWx,n−<ΔWx,n-1>)を伸張し、<ΔWx,n>を取得する(S915)。
When proceeding to the process of S914, the
続いて、パラメータサーバ200は、<ΔWx,n>に基づき、式1等により重み係数Wx,n
を更新してWx,n+1を取得する(S916)。
Subsequently, the
Is updated to obtain Wx, n + 1 (S916).
続いて、パラメータサーバ200は、取得したWx,n+1を圧縮する。パラメータサーバ200は、ディープラーニングのモデルがCNNであるか否かを判定(空間的相関又は時間的相関のいずれを利用して符号化するか)し(S917)、判定結果に応じて参照値 <Wx-1,n+1>又は参照値<Wx,n>を取得し、取得した参照値をWx,n+1から差し引くことにより差
分を求め、求めた差分を圧縮して圧縮データ(W)を生成する(S918,S919)。
Subsequently, the
続いて、パラメータサーバ200は、生成した圧縮データ(W)をワーカ100に送信する(S920)。
Subsequently, the
図10は、ディープラーニングの1回文の学習に際してワーカ100が行う処理(以下
、学習処理S1000と称する。)を説明するフローチャートである。以下、同図とともに学習処理S1000について説明する。
FIG. 10 is a flowchart illustrating a process (hereinafter, referred to as a learning process S1000) performed by the
まずワーカ100は、パラメータサーバ200から通信回線50を介して重み係数Wx,nの圧縮データ(圧縮データ(W))を受信する(S1011)。続いて、ワーカ100は、ディープラーニングのモデルがCNNであるか否か(圧縮データが空間的相関又は時間的相関のいずれを利用して符号化されたか)を判定する(1012)。ワーカ100がモデルがCNNであると判定した場合(S1012:YES)、処理はS1013に進む。ワーカ100がモデルがCNNでないと判定した場合(S1012:NO)、処理はS1014に進む。
First, the
S1013の処理に進んだ場合、ワーカ100は、参照値<Wx-1,n>を取得して圧縮デ
ータ(Wx,n - <Wx-1,n>)を伸張し、<Wx,n>を取得する(S1015)。
When proceeding to the process of S1013, the
S1014の処理に進んだ場合、ワーカ100は、参照値<Wx,n-1>を取得して圧縮データ(Wx,n - <Wx,n-1>)を伸張し、<Wx,n>を取得する(S1015)。
When proceeding to the processing of S1014, the
続いて、ワーカ100は、取得した<Wx,n>に基づき、重み係数の更新量ΔWx,nを確率的勾配降下法等により更新し、ΔWx,n+1を求める(S1016)。
Subsequently, the
続いて、ワーカ100は、求めたΔWx,n+1を圧縮する。ワーカ100は、対象とするモデルがCNNであるか否かを判定(空間的相関又は時間的相関のいずれを利用して符号化するか)を判定し(S1017)、判定結果に応じて参照値 <ΔWx-1,n+1>又は参照値<ΔWx,n>を取得し、取得した参照値をΔWx,n+1から差し引くことにより差分を求め、求めた
差分を圧縮して圧縮データ(ΔW)を生成する(S1018,S1019)。
Subsequently, the
続いて、ワーカ100は、生成した圧縮データ(ΔW)をパラメータサーバ200に送信する(S1020)。
Subsequently, the
次に、前述したパラメータサーバ200のW圧縮部214、ワーカ100のW伸張部112、ワーカ100のΔW圧縮部114、及びパラメータサーバ200のΔW伸張部212の各機能について詳述する。
Next, each function of the
図11は、パラメータサーバ200のW圧縮部214の詳細を説明する処理ブロック図である。同図に示すように、W圧縮部214は、参照値特定部2141、差分算出部2142、量子化部2143、可変長符号化部2144、逆量子化部2145、及び伸張部2146を備える。またW圧縮部214は、前述したモデル特定情報、量子化パラメータq、及びワーカ100毎の参照値を記憶する。
FIG. 11 is a processing block diagram illustrating details of the
参照値特定部2141は、モデル特定情報に基づきモデルの種類(空間的相関、時間的相関)を特定する。
The reference
差分算出部2142は、S916で更新された重み係数Wx,nと参照値との差分を求める。
The
量子化部2143は、量子化パラメータqを用いて上記差分を量子化した量子化データを生成する。
The
可変長符号化部2144は、可変長符号表800を参照して量子化データを圧縮し、圧縮データ(W)を出力する。
The variable-
逆量子化部2145は、量子化データの逆量子化を行う。
The
伸張部2146は、上記参照値を用いて逆量子化後の重み係数Wx,nを伸張し、伸張した値を新たな参照値として記憶する。
The
図12は、ワーカ100のW伸張部112の詳細を説明する処理ブロック図である。
FIG. 12 is a processing block diagram illustrating the details of the
同図に示すように、W伸張部112は、可変長復元部1121、逆量子化部1122、参照値特定部1123、及び伸張部1124を備える。またW伸張部112は、モデル特定情報、量子化パラメータq、及び当該ワーカの参照値を記憶する。
As shown in the figure, the
可変長復元部1121は、可変長符号表800を参照してW受信部111から入力された重み係数Wの圧縮データ(W)を復元し、量子化データを生成する。
The variable
逆量子化部1122は、量子化パラメータqを用いて量子化データを逆量子化する。
The
参照値特定部1123は、モデル特定情報に基づきモデルの種類(空間的相関、時間的相関)を特定する。 The reference value specifying unit 1123 specifies the model type (spatial correlation, temporal correlation) based on the model specifying information.
伸張部1124は、記憶されている参照値との和を算出することにより重み係数Wx,nを伸張し、伸張した値を出力するとともに、記憶している参照値を更新する。
The
図13は、ワーカ100のΔW圧縮部114の詳細を説明する処理ブロック図である。
FIG. 13 is a processing block diagram illustrating the details of the
同図に示すように、ΔW圧縮部114は、参照値特定部1141、差分算出部1142、量子化部1143、可変長符号化部1144、逆量子化部1145、及び伸張部1146を備える。またΔW圧縮部114は、モデル特定情報、量子化パラメータq、及び当該ワーカ100の参照値を記憶する。
As shown in the figure, the
参照値特定部1141は、モデル特定情報に基づきモデルの種類(空間的相関、時間的相関)を特定する。
The reference
差分算出部1142は、ΔW算出部113が算出した重み係数の更新量ΔWと参照値との差分を求める。
The
量子化部1143は、量子化パラメータqを用いて上記差分を量子化した量子化データを生成する。
The
可変長符号化部1144は、可変長符号表800を参照して量子化データを圧縮し、圧縮データ(W)を出力する。
The variable-
逆量子化部1145は、量子化データに対して逆量子化を行う。
The
伸張部1146は、上記参照値を足し合わせて重み係数の更新量ΔWx,nの伸張値を取
得し、参照値を更新する。
The
図14は、パラメータサーバ200のΔW伸張部212の詳細を説明する処理ブロック図である。
FIG. 14 is a processing block diagram illustrating details of the
同図に示すように、ΔW伸張部212は、可変長復元部2121、逆量子化部2122、参照値特定部2123、及び伸張部2124を備える。またΔW伸張部212は、モデル特定情報、量子化パラメータq、及びワーカ100毎の参照値を記憶する。
As shown in the figure, the
可変長復元部2121は、可変長符号表800を参照して入力された重み係数の更新量ΔWx,nの圧縮データ(ΔW)を復元し、量子化データを生成する。
The variable-
逆量子化部2122は、量子化パラメータqを用いて量子化データを逆量子化する。
The
参照値特定部2123は、モデル特定情報に基づきモデルの種類(空間的相関、時間的相関)を特定する。
The reference
伸張部1124は、ワーカ100毎に記憶されている参照値との和を算出することによりΔWx,nを伸張し、伸張した値を出力するとともに、記憶しているワーカ100毎の参
照値を更新する。
The
ところで、図15(a)は、学習時に値の変動が激しい重み係数Wx,nについて、その値の変化の一例を示すグラフであるが、同図に示すように、ディープラーニングの学習においては、学習が進むにつれ(更新回数nが増えるにつれ)重み係数Wの変動が緩やかになる性質があり、学習が進むにつれて圧縮率は徐々に高まる。 By the way, FIG. 15A is a graph showing an example of the change in the value of the weighting coefficients Wx and n whose values fluctuate sharply during learning. As the learning progresses (as the number of updates n increases), the weighting coefficient W has a property of becoming more gradual, and the compression rate gradually increases as the learning progresses.
そこで例えば、図15(b)に示すように、学習が進むにつれ並列分散に参加するワーカ100数の数を増やしていくことにより、処理性能の向上や計算資源の有効活用が期待できる。またこの場合、後述するように複数のパラメータサーバ200を用いた場合(図17、図18)、未稼働の計算ノードや稼働率の低い計算ノードの数が少なくなるように並列度を制御すれば、処理性能の向上や計算資源の有効活用を図ることができる。
Therefore, for example, as shown in FIG. 15B, by increasing the number of 100 workers participating in parallel distribution as learning progresses, improvement in processing performance and effective utilization of computational resources can be expected. In this case, when a plurality of
さらに例えば、図15(c)に示すように、学習が進むにつれ量子化パラメータqの値を小さくして細かく量子化を行うようにすれば、圧縮率の変動を抑えつつ学習精度を徐々
に高めていくことができる。
Further, for example, as shown in FIG. 15C, if the value of the quantization parameter q is reduced as the learning progresses and the quantization is performed finely, the learning accuracy is gradually increased while suppressing the fluctuation of the compression rate. You can go.
尚、図16に示すように、例えば、通信回線50に接続する情報処理装置(例えば、図2に示すハードウェアを備えた装置。以下、制御装置300と称する。)に、並列分散に参加するワーカ100の数を制御する機能(以下、ワーカ数制御部311と称する。)や、量子化パラメータqの値を制御する機能(以下、量子化パラメータ制御部312と称する。)を設けることで、上記のように並列分散に参加するワーカ100の数の制御や量子化パラメータqの値を制御する仕組みを容易に実現することができる。この場合、例えば、ワーカ数制御部311は、データ転送量が通信回線50の回線速度を超えない程度にワーカ100の数を増大させる。また量子化パラメータ制御部312は、例えば、データ転送量の変化が少なくなるように量子化パラメータqの値を決定し、決定した値を通信回線50等を介してパラメータサーバ200及びワーカ100に随時通知する。
As shown in FIG. 16, for example, an information processing device connected to the communication line 50 (for example, a device provided with the hardware shown in FIG. 2, hereinafter referred to as a control device 300) participates in parallel distribution. By providing a function for controlling the number of workers 100 (hereinafter referred to as a worker number control unit 311) and a function for controlling the value of the quantization parameter q (hereinafter referred to as a quantization parameter control unit 312), a mechanism for controlling the value of the control and the quantization parameter q number of
図17又は図18は学習システム1のハードウェア構成の他の例である。これらの図に示すように、パラメータサーバ200は複数存在していてもよい。図17は、1種類の訓練データに対して、複数(本例では2つ)のパラメータサーバ200を用いて学習を行う場合である。この場合、例えば、学習が終了した後に全てのパラメータサーバ200が持つ重み係数の平均値や重み付き平均値等を最終的な学習結果とする。一方、図18は、複数(本例では2つ)の訓練データA,Bを夫々に対応づけられたパラメータサーバ200で学習する場合である。この場合、例えば、学習が終了した後に各パラメータサーバ200が持つ重み係数を各訓練データの学習結果とする。
17 or 18 is another example of the hardware configuration of the
以上、実施形態につき詳細に説明したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 Although the embodiments have been described in detail above, it goes without saying that the present invention is not limited to the above embodiments and can be variously modified without departing from the gist thereof. For example, the above-described embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. Further, it is possible to add / delete / replace a part of the configuration of the above embodiment with another configuration.
例えば、以上の方法では、ディープラーニングのモデルに応じて参照値を決定したが(図9のS917、図10のS1017等)、ワーカ100やパラメータサーバ200に、圧縮率が高くなるモデルを自動的に選択して圧縮を行う機能(モデル選択部)を設けてよい。その場合、伸張側ではどのモデルを選択して圧縮を行ったかを特定する必要があるが、これは例えば、ワーカ100やパラメータサーバ200に、圧縮側で選択したモデルを特定する情報(例えば、ビット)を圧縮データ(W)や圧縮データ(ΔW)に付与し、伸張側では、上記情報を参照していずれの方法が選択されたかを特定し、特定した方法により圧縮データ(W)や圧縮データ(ΔW)を伸張する機能(モデル特定情報共有部)を設ければよい。これによればより効率よく通信回線50を介したデータ転送を行うことができる。
For example, in the above method, the reference value is determined according to the deep learning model (S917 in FIG. 9, S1017 in FIG. 10 and the like), but the
また以上の方法では、隣接する位置の間や隣接する時間(連続する更新)の間で重み係数Wや重み係数ΔWの差分を求めていたが、より遠い位置間やより離れた時間の間で重み係数Wや重み係数ΔWの差分を求めるようにしてもよい。 Further, in the above method, the difference between the weighting coefficient W and the weighting coefficient ΔW is obtained between adjacent positions and between adjacent times (continuous updates), but between more distant positions and more distant times. The difference between the weighting coefficient W and the weighting coefficient ΔW may be obtained.
また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、また
はICカード、SDカード、DVD等の記録媒体に置くことができる。
Further, each of the above configurations, functional units, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. Further, each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function. Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際にはほとんど全ての構成が相互に接続されていると考えてもよい。 Further, in each of the above figures, the control lines and information lines are shown as necessary for explanation, and not all the control lines and information lines in the implementation are necessarily shown. For example, in practice almost all configurations may be considered interconnected.
また以上に説明した各種装置の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、各種装置が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。 Further, the arrangement form of various functional units, various processing units, and various databases of various devices described above is only an example. The arrangement form of various function units, various processing units, and various databases can be changed to the optimum arrangement form from the viewpoints of hardware and software performance, processing efficiency, communication efficiency, and the like provided in various devices.
また前述したデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。 Further, the above-mentioned database configuration (schema, etc.) can be flexibly changed from the viewpoints of efficient use of resources, improvement of processing efficiency, improvement of access efficiency, improvement of search efficiency, and the like.
1 学習システム、10 情報処理装置、50 通信回線、100 ワーカ、111 W受信部、112 W伸張部、1121 可変長復元部、1122 逆量子化部、1123
参照値特定部、1124 伸張部、1121 可変長復元部、1122 逆量子化部、1123 参照値特定部、113 ΔW算出部、114 ΔW圧縮部、1141 参照値特定部、1142 差分算出部、1143 量子化部、1144 可変長符号化部、1145 逆量子化部、1146 伸張部、115 ΔW送信部、200 パラメータサーバ、211 ΔW受信部、212 ΔW伸張部、2121 可変長復元部、2122 逆量子化部、2123 参照値特定部、2124 伸張部、213 W更新部、214 W圧縮部、2141 参照値特定部、2142 差分算出部、2143 量子化部、2144 可変長符号化部、2145 逆量子化部、2146 伸張部、215 W送信部、300 制御装置、311 ワーカ数制御部、312 量子化パラメータ制御部、800 可変長符号表、S900 学習処理、S1000 学習処理
1 Learning system, 10 information processing equipment, 50 communication lines, 100 workers, 111 W receiver, 112 W extension unit, 1121 variable length restoration unit, 1122 inverse quantization unit, 1123
Reference value identification unit, 1124 extension unit, 1121 variable length restoration unit, 1122 inverse quantization unit, 1123 reference value identification unit, 113 ΔW calculation unit, 114 ΔW compression unit, 1141 reference value identification unit, 1142 difference calculation unit, 1143 quantum Quantization unit, 1144 variable length coding unit, 1145 inverse quantization unit, 1146 expansion unit, 115 ΔW transmission unit, 200 parameter server, 211 ΔW reception unit, 212 ΔW expansion unit, 2121 variable length restoration unit, 2122 inverse quantization unit , 2123 Reference value identification unit, 2124 Decompression unit, 213 W update unit, 214 W compression unit, 2141 Reference value identification unit, 2142 Difference calculation unit, 2143 quantization unit, 2144 variable length coding unit, 2145 inverse quantization unit, 2146 Expansion unit, 215 W transmission unit, 300 controller, 311 worker number control unit, 312 quantization parameter control unit, 800 variable length code table, S900 learning process, S1000 learning process
Claims (15)
前記情報処理装置は、
前記機械学習におけるモデルの学習に用いるパラメータの送受信を他の前記情報処理装置との間で行う送受信部と、
前記パラメータを他の前記情報処理装置に送信する際、前記パラメータを差分符号化して圧縮する圧縮部と、
他の前記情報処理装置から受信した前記パラメータを伸張する伸張部と、
前記情報処理装置の夫々と通信可能に接続する制御装置と、
を備え、
前記制御装置は、前記機械学習が進むにつれ、前記情報処理装置の夫々が前記差分符号化に際して用いる量子化パラメータの値を減少させる量子化パラメータ制御部を有する、
機械学習システム。 A machine learning system that includes a plurality of information processing devices that are communicably connected and performs machine learning by a parallel distribution method using the plurality of information processing devices.
The information processing device
A transmission / reception unit that transmits / receives parameters used for learning a model in the machine learning to / from another information processing device.
When transmitting the parameter to the other information processing apparatus, a compression unit that differentially encodes and compresses the parameter, and a compression unit.
An extension unit that extends the parameter received from the other information processing device, and an extension unit.
A control device that is communicatively connected to each of the information processing devices,
With
The control device has a quantization parameter control unit that reduces the value of the quantization parameter used by each of the information processing devices in the differential coding as the machine learning progresses.
Machine learning system.
前記圧縮部は、前記モデルの空間的相関又は時間的相関を利用して前記差分符号化を行う、
機械学習システム。 The machine learning system according to claim 1.
The compression unit performs the difference coding by utilizing the spatial correlation or the temporal correlation of the model.
Machine learning system.
前記圧縮部は、前記モデルのモデル空間の同一時刻における隣接する位置の夫々における前記パラメータの差分を算出することにより前記差分符号化を行う、
機械学習システム。 The machine learning system according to claim 2.
The compression unit performs the difference coding by calculating the difference of the parameters at the respective adjacent positions in the model space of the model at the same time.
Machine learning system.
前記モデルは畳み込みニューラルネットワークである、
機械学習システム。 The machine learning system according to claim 3.
The model is a convolutional neural network,
Machine learning system.
前記圧縮部は、前記モデルのモデル空間の同一位置における連続する時刻の夫々における前記パラメータの差分を算出することにより前記差分符号化を行う、
機械学習システム。 The machine learning system according to claim 2.
The compression unit performs the difference coding by calculating the difference of the parameters at each of the consecutive times at the same position in the model space of the model.
Machine learning system.
前記モデルは、フィードフォワードニューラルネットワーク(FFNN(Feedforward Neural Network))、再帰型ネットワーク(RNN(Recurrent Neural Network))、制限付きボルツマンマシン(RBM(Restricted Boltzmann Machine))、オートエンコーダ(AutoEncoder)、及び全結合型ネットワークのうちのいずれかである、
機械学習システム。 The machine learning system according to claim 5.
The models include feedforward neural networks (FFNNs (Feedforward Neural Networks)), recurrent networks (RNNs (Recurrent Neural Networks)), restricted Boltzmann Machines (RBMs), autoencoders, and all. One of the combined networks,
Machine learning system.
前記パラメータは、前記モデルの重み係数又は重み係数の更新量のうちの少なくともいずれかである、
機械学習システム。 The machine learning system according to any one of claims 1 to 6.
The parameter is at least one of the weighting factor of the model and the update amount of the weighting factor.
Machine learning system.
前記制御装置は、前記機械学習が進むにつれ前記並列分散方式による機械学習に参加する前記情報処理装置の数を増大させる制御部を備える、
機械学習システム。 The machine learning system according to any one of claims 1 to 6.
The control device includes a control unit that increases the number of information processing devices that participate in machine learning by the parallel distribution method as the machine learning progresses.
Machine learning system.
前記情報処理装置は、
前記差分符号化による圧縮率の高いモデルを選択して学習を行うモデル選択部と、
選択した前記モデルを特定する情報であるモデル特定情報を他の前記情報処理装置との間で送受信することにより共有するモデル特定情報共有部と、
を備え、
前記圧縮部は、前記モデル特定情報に応じた算出方法により前記パラメータの前記差分符号化を行い、
前記伸張部は、前記モデル特定情報に応じた算出方法により前記パラメータを伸張する、
機械学習システム。 The machine learning system according to any one of claims 1 to 6.
The information processing device
A model selection unit that selects and trains a model with a high compression rate by differential coding, and
A model-specific information sharing unit that shares model-specific information, which is information that identifies the selected model, by transmitting and receiving to and from other information processing devices.
With
The compression unit performs the difference coding of the parameters by a calculation method according to the model specific information.
The stretched portion stretches the parameter by a calculation method according to the model specific information.
Machine learning system.
前記情報処理装置のうちの少なくとも一つは前記重み係数を更新するパラメータサーバとして機能し、
前記情報処理装置のうちの少なくとも一つは、前記重み係数の更新量を求めるワーカとして機能し、
前記パラメータサーバとして機能する前記情報処理装置は、前記ワーカから送られてくる前記重み係数の更新量に基づき前記重み係数を更新し、
前記ワーカとして機能する前記情報処理装置は、前記パラメータサーバから送られてくる前記重み係数に基づき前記重み係数の更新量を求める、
機械学習システム。 The machine learning system according to claim 7.
At least one of the information processing devices functions as a parameter server that updates the weighting factor.
At least one of the information processing devices functions as a worker for obtaining the update amount of the weighting coefficient.
The information processing device that functions as the parameter server updates the weighting coefficient based on the updating amount of the weighting coefficient sent from the worker.
The information processing device that functions as the worker obtains an update amount of the weighting coefficient based on the weighting coefficient sent from the parameter server.
Machine learning system.
前記情報処理装置が、
前記機械学習におけるモデルの学習に用いるパラメータの送受信を他の前記情報処理装置との間で行うステップと、
前記パラメータを他の前記情報処理装置に送信する際、前記パラメータを差分符号化して圧縮するステップと、
他の前記情報処理装置から受信した前記パラメータを伸張するステップと、
を実行し、
前記情報処理装置の夫々と通信可能に接続する制御装置が、前記機械学習が進むにつれ、前記情報処理装置の夫々が前記差分符号化に際して用いる量子化パラメータの値を減少させるステップと、
を実行する、機械学習方法。 It is a machine learning method using a machine learning system that includes a plurality of information processing devices connected so as to be able to communicate and performs machine learning by a parallel distribution method using the plurality of information processing devices.
The information processing device
A step of transmitting and receiving parameters used for learning a model in the machine learning with the other information processing device, and
When the parameter is transmitted to the other information processing apparatus, the step of differentially encoding and compressing the parameter, and
A step of decompressing the parameter received from the other information processing device, and
And
A step in which the control device communicably connected to each of the information processing devices reduces the value of the quantization parameter used by each of the information processing devices in the differential coding as the machine learning progresses.
A machine learning method to perform.
前記情報処理装置は、前記モデルの空間的相関又は時間的相関を利用して前記差分符号化を行う、
機械学習方法。 The machine learning method according to claim 11.
The information processing device performs the difference coding by utilizing the spatial correlation or the temporal correlation of the model.
Machine learning method.
前記情報処理装置は、前記モデルのモデル空間の同一時刻における隣接する位置の夫々における前記パラメータの差分を算出することにより前記差分符号化を行う、
機械学習方法。 The machine learning method according to claim 12.
The information processing apparatus performs the difference coding by calculating the difference of the parameters at the adjacent positions at the same time in the model space of the model.
Machine learning method.
前記情報処理装置は、前記モデルのモデル空間の同一位置における連続する時刻の夫々における前記パラメータの差分を算出することにより前記差分符号化を行う、
機械学習方法。 The machine learning method according to claim 12.
The information processing apparatus performs the difference coding by calculating the difference of the parameters at each of the consecutive times at the same position in the model space of the model.
Machine learning method.
前記制御装置は、前記機械学習が進むにつれ前記並列分散方式による機械学習に参加する前記情報処理装置の数を増大させる、
機械学習方法。 The machine learning method according to claim 11.
The control device increases the number of information processing devices that participate in machine learning by the parallel distribution method as the machine learning progresses.
Machine learning method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017110108A JP6898778B2 (en) | 2017-06-02 | 2017-06-02 | Machine learning system and machine learning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017110108A JP6898778B2 (en) | 2017-06-02 | 2017-06-02 | Machine learning system and machine learning method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018206016A JP2018206016A (en) | 2018-12-27 |
JP6898778B2 true JP6898778B2 (en) | 2021-07-07 |
Family
ID=64957194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017110108A Active JP6898778B2 (en) | 2017-06-02 | 2017-06-02 | Machine learning system and machine learning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6898778B2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102425039B1 (en) * | 2019-02-27 | 2022-07-28 | 한국전력공사 | Apparatus and method for compressing data in distributed deep-learning environment |
JP7313515B2 (en) * | 2019-02-28 | 2023-07-24 | 三菱電機株式会社 | DATA PROCESSING DEVICE, DATA PROCESSING SYSTEM AND DATA PROCESSING METHOD |
CN113454654B (en) * | 2019-02-28 | 2024-08-23 | 三菱电机株式会社 | Data processing apparatus, data processing system, and data processing method |
JP7328799B2 (en) * | 2019-06-12 | 2023-08-17 | 株式会社日立製作所 | Storage system and storage control method |
JP7393882B2 (en) | 2019-06-18 | 2023-12-07 | キヤノンメディカルシステムズ株式会社 | Medical information processing equipment and medical information processing system |
KR102473613B1 (en) * | 2019-12-23 | 2022-12-02 | 주식회사 제로원에이아이 | Techniques for distributed learning of artificial intelligence models |
JP7414655B2 (en) * | 2020-07-01 | 2024-01-16 | 株式会社東芝 | Learning systems, information processing devices, learning methods and programs |
KR20230031892A (en) * | 2020-07-03 | 2023-03-07 | 엘지전자 주식회사 | Method for transmitting and receiving signals in a wireless communication system using an auto-encoder and apparatus therefor |
KR102718918B1 (en) * | 2020-12-15 | 2024-10-18 | 한국과학기술원 | Method and apparatus for learning of deep learning model in a distributed deep learning system |
JP2022109807A (en) | 2021-01-15 | 2022-07-28 | 富士通株式会社 | Information processing apparatus, information processing method, and information processing program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005184525A (en) * | 2003-12-19 | 2005-07-07 | Akuseru:Kk | Image processor |
EP2065842B1 (en) * | 2007-11-28 | 2012-11-14 | Honda Research Institute Europe GmbH | Adaptive driver assistance system with robust estimation of object properties |
US20150269481A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Differential encoding in neural networks |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
-
2017
- 2017-06-02 JP JP2017110108A patent/JP6898778B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018206016A (en) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6898778B2 (en) | Machine learning system and machine learning method | |
JP6998968B2 (en) | Deep neural network execution method, execution device, learning method, learning device and program | |
US20190156214A1 (en) | Systems and methods for exchange of data in distributed training of machine learning algorithms | |
JP7564416B2 (en) | SYSTEM AND METHOD FOR LOSSLESS IMAGE AND VIDEO COMPRESSION AND/OR TRANSMISSION USING META-NETWORKS OR NEURAL NETWORKS - Patent application | |
US9590655B2 (en) | Scalable high-bandwidth architecture for lossless compression | |
KR102163209B1 (en) | Method and reconfigurable interconnect topology for multi-dimensional parallel training of convolutional neural network | |
JP2018018422A (en) | Prediction device, prediction method and prediction program | |
CN114402293A (en) | Pipelined neural network processing with continuous and asynchronous updates | |
CN113435682A (en) | Gradient compression for distributed training | |
KR102382383B1 (en) | Method and system for improving image compression efficiency based on deep learning | |
JP7374340B2 (en) | Methods, apparatus and computer programs for task-adaptive preprocessing for neural image compression | |
KR20220042455A (en) | Method and apparatus for neural network model compression using micro-structured weight pruning and weight integration | |
JP7418570B2 (en) | Method and apparatus for multirate neural image compression using stackable nested model structures | |
TW202312033A (en) | Dual exponent bounding box floating-point processor | |
JP7447253B2 (en) | Method, apparatus and computer program for feature replacement for end-to-end image compression | |
JP2023526180A (en) | Alternative Input Optimization for Adaptive Neural Image Compression with Smooth Quality Control | |
US20220215511A1 (en) | System and method for lossy image and video compression and/or transmission utilizing a metanetwork or neural networks | |
JP7425870B2 (en) | Method and apparatus for multirate neural image compression with stackable nested model structure and microstructured weight unification | |
JP7471730B2 (en) | Method, apparatus and program for adaptive neural image compression using meta-learning rate control | |
JP7434605B2 (en) | Method, apparatus, non-transitory computer-readable medium, and computer program for adaptive neural image compression using smooth quality control with meta-learning | |
JP2023522746A (en) | Method, Apparatus and Computer Program for Adaptive Image Compression Using Flexible Hyper Prior Models by Meta-learning | |
CN117634571A (en) | Data processing method, device, chip, system and equipment based on many-core chip | |
JP2022182225A (en) | Data processing system and data processing method | |
CN113918224A (en) | Data processing method and device for machine learning, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210421 |
|
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: 20210601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210611 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6898778 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |