JPWO2018225747A1 - 分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JPWO2018225747A1
JPWO2018225747A1 JP2019523921A JP2019523921A JPWO2018225747A1 JP WO2018225747 A1 JPWO2018225747 A1 JP WO2018225747A1 JP 2019523921 A JP2019523921 A JP 2019523921A JP 2019523921 A JP2019523921 A JP 2019523921A JP WO2018225747 A1 JPWO2018225747 A1 JP WO2018225747A1
Authority
JP
Japan
Prior art keywords
data
computer
computers
memory
learning
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.)
Granted
Application number
JP2019523921A
Other languages
English (en)
Other versions
JP6816824B2 (ja
Inventor
理人 浅原
理人 浅原
遼平 藤巻
遼平 藤巻
優輔 村岡
優輔 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2018225747A1 publication Critical patent/JPWO2018225747A1/ja
Application granted granted Critical
Publication of JP6816824B2 publication Critical patent/JP6816824B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

分散システム100は、データ管理装置10と、機械学習を実行する複数の計算機20とを備える。データ管理装置10は、各計算機20から、そのメモリ21で保持されている学習データに関する情報を取得する、データ取得部11と、各計算機20で実行される機械学習の特性、及び各計算機20から取得した情報に基づいて、各計算機がメモリ21で保持すべき学習データを決定する、データ再配置部12とを備えている。

Description

本発明は、分散処理によって学習モデルを生成するための、分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体に関する。
分散システムは、複数のサーバを並列動作させることで、処理時間を短縮するシステムであり、遺伝子解析、気象予測、暗号解読等の大規模な計算に利用されている。また、近年においては、大量のデータを処理することから、ビックデータの活用においても、分散システムが利用されている。
図18は、従来からの分散システムの一例を示す構成図である。図18に示すように、分散システム200は、マスタサーバ210と、計算を実行する計算処理サーバ220〜222とを備えている。また、マスタサーバ210と、計算処理サーバ220〜222とは、ネットワーク230を介して接続されている。
マスタサーバ210は、計算処理サーバ220〜222に対して、実施すべき処理の指示を行う。計算処理サーバ220〜222は、それぞれ、指示に従って処理を実行する。また、計算処理サーバ220〜222は、自身が保持するデータに基づいて、自律して処理を行うこともできる。
ここで、図19を用いて、従来からの分散システムにおける各サーバの動作について説明する。また、下記の説明においては、各計算処理サーバは、機械学習を実行して予測モデルを生成する。図19は、従来の分散システムにおいて各計算処理サーバのメモリに格納されている学習データの一例を示す図である。
まず、マスタサーバ210は、分散システムを構成する計算処理サーバ220〜222それぞれに対して、学習データをメモリに読み込むよう指示を行なう。その際、各計算処理サーバは、自身のメモリ容量の制限に基づき、メモリ容量に収まるよう学習データを分割して読み込む。
このとき、各計算処理サーバは、内容に関係なく学習データを読み込むため、学習データの値の分布について偏りが生じる可能性がある。そして、この状態で、各計算処理サーバが、機械学習を実行して、予測モデルを学習すると、以下の問題が発生する。
つまり、図19の例では、サーバ220は、正例(予測ターゲット変数が「1」のサンプル)の学習データからしか機械学習を行なえず、結果、常に正例を予測するモデルしか学習できない事態となる。また、サーバ221は、負例(予測ターゲット変数が「−1」のサンプル)の学習データからしか機械学習を行なえず、常に負例を予測するモデルしか学習できない事態となる。
その他、元の学習データの値の分布と各計算処理サーバにおける学習データの値の分布とが異なることによって、学習された予測モデルに不具合が生じる可能生がある。また、計算処理サーバにおける学習データの値の分布が、機械学習のアルゴリズムに適した学習データの値の分布となっていないことにより、高精度な予測モデルの学習が妨げられる可能生もある。
但し、上述の問題は、図20に示すように、各計算処理サーバが、全ての学習データを参照しながら機械学習を実行する方式を採用すれば解決することができる(例えば、非特許文献2及び3参照)。図20は、従来の分散システムにおいて各計算処理サーバが他の計算処理サーバの学習データを参照しながら機械学習を実行する場合を示す図である。図20の例では、各計算処理サーバは、ネットワーク230を介して、他の計算処理サーバが保持する学習データを参照する。
また、上述の問題は、図21及び図22に示すように、各計算処理サーバが、他の計算処理サーバに対して、ランダムに学習データを送る方式、つまり、計算処理サーバ間で学習データを移動し合う方式を採用しても解決することができる。図21は、従来の分散システムにおいて計算処理サーバ間で学習データを移動し合う場合の移動前の状態を示す図である。図22は、従来の分散システムにおいて計算処理サーバ間で学習データを移動し合う場合の移動後の状態を示す図である。
図21に示すように、各計算処理サーバは、学習データを構成するサンプル毎に、移動先の計算処理サーバを特定する「再配置先」という情報を保持している。そして、各計算処理サーバは、自身が保持する学習データを、「再配置先」に指定された計算処理サーバに送信する。この結果、図22に示すように、計算処理サーバ間で、サンプルデータの入れ替えが行われる。
Sparks et al. "Automating Model Search for Large Scale Machine Learning." In ACM SoCC, 2015. Meng et al. "MLlib: Machine Learning in Apache Spark." Journal of Machine Learning Research 17, pp.1-7, 2016.
しかしながら、図20に示した方式を採用した場合は、各計算処理サーバは、ネットワークを介して、他の計算処理サーバが保持する学習用のデータを繰り返し読み出す必要がある。そして、ネットワークを介したデータの読み出し速度は、計算処理サーバ自身が備えるメモリからの読み出し速度より数百倍遅くなる。これらの点から、図20に示す方式には、非常に効率が悪いという問題がある。
また、図21及び図22に示した方式を採用した場合は、学習データの移動後に、各計算処理サーバにおけるメモリの容量が制限値を超えてしまい、機械学習が行なえなくなることがある。また、図21及び図22に示した方式では、学習データにおける正例及び負例の比率が、機械学習アルゴリズムが期待する比率にならないこともある。
本発明の目的の一例は、上記問題を解消し、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機に学習データを分配し得る、分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
上記目的を達成するため、本発明の一側面における分散システムは、データ管理装置と、機械学習を実行する複数の計算機と、を備え、
データ管理装置は、
前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
を備えている、ことを特徴とする。
上記目的を達成するため、本発明の一側面におけるデータ管理装置は、機械学習を実行する複数の計算機における学習データを管理するための装置であって、
前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるデータ管理方法は、機械学習を実行する複数の計算機における学習データを管理するための方法であって、
(a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
(b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータによって、機械学習を実行する複数の計算機における学習データを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
(b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
以上のように、本発明によれば、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機に学習データを分配することができる。
図1は、本発明の実施の形態1における分散システム及びデータ管理装置の構成を概略的に示すブロック図である。 図2は、本発明の実施の形態1において各計算機のメモリに最初に格納されている学習データの一例を示す図である。 図3は、本発明の実施の形態1においてデータ管理装置が作成したテーブルの一例を示す図である。 図4は、図3に示したテーブルに各サンプルの再配置先を登録した状態を示す図である。 図5は、本発明の実施の形態1において各計算機のメモリに格納されている学習データの再配置後の状態を示す図である。 図6は、本発明の実施の形態1におけるデータ管理装置の動作を示すフロー図である。 図7は、本発明の実施の形態2における分散システム及びデータ管理装置の構成を概略的に示すブロック図である。 図8は、本発明の実施の形態2においてマスタサーバが送信するメモリ容量テーブルの一例を示す図である。 図9は、本発明の実施の形態2において各データ管理装置において作成される送信先データの一例を示す図である。 図10は、マスタサーバからの一回目の送信指示があった場合の各データ管理装置が保持している送信先データの一例を示す図である。 図11は、マスタサーバからの一回目の送信指示があった後に各データ管理装置が新たに作成した送信先データの一例を示す図である。 図12は、マスタサーバからの二回目の送信指示があった場合の各データ管理装置が保持している送信先データの一例を示す図である。 図13は、図12に示した送信先データにおいてメモリ容量に基づいて送信先の計算機が変更された状態を示す図である。 図14は、本発明の実施の形態2において作成された学習データテーブルの一例を示す図である。 図15は、本発明の実施の形態2において各計算機のメモリに格納されている学習データの再配置後の状態を示す図である。 図16は、本発明の実施の形態2におけるデータ管理装置の動作を示すフロー図である。 図17は、本発明の実施の形態1及び2におけるデータ管理装置を実現するコンピュータの一例を示すブロック図である。 図18は、従来からの分散システムの一例を示す構成図である。 図19は、従来の分散システムにおいて各計算処理サーバのメモリに格納されている学習データの一例を示す図である。 図20は、従来の分散システムにおいて各計算処理サーバが他の計算処理サーバの学習データを参照しながら機械学習を実行する場合を示す図である。 図21は、従来の分散システムにおいて計算処理サーバ間で学習データを移動し合う場合の移動前の状態を示す図である。 図22は、従来の分散システムにおいて計算処理サーバ間で学習データを移動し合う場合の移動後の状態を示す図である。
(実施の形態1)
以下、本発明の実施の形態1における、分散システム、データ管理装置、データ管理方法、及びプログラムについて、図1〜図6を参照しながら説明する。
[システム構成]
最初に、本実施の形態1における分散システム及びデータ管理装置の構成について説明する。図1は、本発明の実施の形態1における分散システム及びデータ管理装置の構成を概略的に示すブロック図である。
図1に示す、本実施の形態1における分散システム100は、分散処理によって学習モデルを生成するためのシステムである。図1に示すように、分散システム100は、データ管理装置10と、機械学習を実行する複数の計算機20とを備えている。また、図1に示すように、データ管理装置10は、データ取得部11と、データ再配置部12とを備えている。
データ取得部11は、複数の計算機20それぞれから、各計算機20のメモリ21で保持されている学習データに関する情報(以下「学習データ情報」と表記する。)を取得する。データ再配置部12は、複数の計算機20それぞれで実行される機械学習の特性、及び複数の計算機20それぞれから取得した学習データ情報に基づいて、複数の計算機20それぞれがメモリ21で保持すべき学習データを決定する。
このように、本実施の形態1では、各計算機20のメモリで保持されている学習データ情報が集められ、集められた学習データ情報に基づいて、各計算機20が保持すべき最適な学習データが決定される。このため、本実施の形態1によれ、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機に学習データを分配することができる。
続いて、図2〜図4を用いて、本実施の形態1における分散システム及びデータ管理装置の構成についてより具体的に説明する。まず、本実施の形態1においては、図1に示すように、データ管理装置10は、分散システム100を構成するマスタサーバであり、ネットワーク30を介して、各計算機20に接続されている。
また、各計算機20はサーバであり、それぞれサーバA、サーバB、サーバCとする。なお、図1においては、3台の計算機20のみが図示されているが、本実施の形態において計算機20の数は特に限定されるものではない。
データ管理装置10において、データ取得部11は、本実施の形態1では、複数の計算機20それぞれから、各計算機20のメモリ21で保持されている学習データに関する情報として、学習データを構成するサンプル毎の予測ターゲット変数を取得する。
具体的には、図2に示したように、各計算機20のメモリ21には、学習データを構成する1又は2以上のサンプルが格納されている。各サンプルは、サンプルIDと、特徴量1〜n(n:任意の自然数)と、予測ターゲット変数とで構成されている。図2は、本発明の実施の形態1において各計算機のメモリに最初に格納されている学習データの一例を示す図である。
この場合に、データ取得部11は、各計算機20に対して、格納しているサンプルのサンプルIDと予測ターゲット変数とを送信させ、送信されてきた情報を用いて、図3に示すテーブル(以下「学習データテーブル」と表記する。)を作成する。図3は、本発明の実施の形態1においてデータ管理装置が作成したテーブルの一例を示す図である。
また、データ再配置部12は、本実施の形態では、計算機20それぞれのメモリ21が保持する学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、各計算機20がメモリ21で保持すべき学習データを決定する。
具体的には、データ再配置部12は、各計算機20において、メモリ21に保持されるサンプルの予測ターゲット変数の比率が、機械学習アルゴリズムが期待する比率となるように、各計算機20がメモリ21で保持すべきサンプルを決定する。機械学習アルゴリズムが期待する比率としては、例えば、予測ターゲット変数「1」の数と、予測ターゲット変数「−1」の数とが同数である場合が挙げられる。また、このとき、データ再配置部12は、各計算機20において、格納すべきサンプルの個数がメモリ21の容量を超えないようにする。
また、データ再配置部12は、各計算機20がメモリ21で保持すべきサンプルを決定すると、図4に示すように、図3に示した学習データテーブルに各サンプルの再配置先を新に登録する。図4は、図3に示したテーブルに各サンプルの再配置先を登録した状態を示す図である。
また、データ再配置部12は、決定の結果を、具体的には、図4に示したテーブルを、各計算機20に送信する。これにより、各計算機20は、送信されてきた決定の結果に応じて、自身のメモリ20で保持されているサンプルのうち一部又は全部を、他の計算機20に送信する。結果、サンプルの再配置が行なわれ、各計算機20のメモリ21に格納されている学習データは、図5に示す通りとなる。図5は、本発明の実施の形態1において各計算機のメモリに格納されている学習データの再配置後の状態を示す図である。
[システム動作]
次に、本実施の形態1における分散システム100及びデータ管理装置10の動作について図6を用いて説明する。図6は、本発明の実施の形態1におけるデータ管理装置の動作を示すフロー図である。
以下の説明においては、適宜図1〜図5を参酌する。また、本実施の形態1では、データ管理装置10を動作させることによって、データ管理方法が実施される。よって、本実施の形態1におけるデータ管理方法の説明は、以下のデータ管理装置10の動作説明に代える。
図6に示すように、最初に、データ管理装置10において、データ取得部11は、各計算機20に対して、学習データ情報として、サンプルのサンプルIDと予測ターゲット変数とを送信させ、これらを取得して、図3に示す学習データテーブルを作成する(ステップA1)。
次に、データ再配置部12は、各計算機20のメモリ21が保持する学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、各計算機20がメモリ21で保持すべき学習データを決定する(ステップA2)。
次に、データ再配置部12は、各計算機20がメモリ21で保持すべきサンプルを決定すると、図4に示すように、ステップA1で作成された学習データテーブルに各サンプルの再配置先を新に登録する(ステップA3)。
次に、データ再配置部12は、ステップA3で再配置先が登録された学習データテーブルを、各計算機20に送信する(ステップA4)。ステップA4の実行後、各計算機20は、送信されてきたテーブルに基づいて、自身のメモリ20で保持されているサンプルのうち一部又は全部を、他の計算機20に送信する。これにより、サンプルの再配置が行なわれ、結果、各計算機20のメモリ21に格納されている学習データは、図5に示す通りとなる。
[実施の形態1における効果]
以上のように本実施の形態1によれば、各計算機20のメモリで保持されているサンプルの予測ターゲット変数が学習データ情報として集められ、予測ターゲット変数の比率が機械学習アルゴリズムに適するように、サンプルの再配置が行なわれる。このため、本実施の形態1によれば、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機にサンプルを分配することができる。
[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図6に示すステップA1〜A4を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるデータ管理装置10とデータ管理方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、及びデータ再配置部12として機能し、処理を行なう。
また、本実施の形態1におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、及びデータ再配置部12のいずれかとして機能しても良い。
(実施の形態2)
次に、本発明の実施の形態2における分散システム、データ管理装置、データ管理方法、及びプログラムについて、図7〜図16を参照しながら説明する。
[システム構成]
最初に、本実施の形態2における分散システム及びデータ管理装置の構成について説明する。図7は、本発明の実施の形態2における分散システム及びデータ管理装置の構成を概略的に示すブロック図である。
図7に示すように、本実施の形態2においても、実施の形態1と同様に、分散システム101は、マスタサーバ40と、複数の計算機20とを備え、これらはネットワーク30を介して接続されている。但し、本実施の形態2における分散システム101は、データ管理装置10の構成において、実施の形態1における分散システム100と異なっている。以下、実施の形態1との相違点を中心に説明する。
図7に示すように、本実施の形態2では、データ管理装置10は、計算機20毎に、各計算機20によって構築されている。具体的には、データ管理装置10は、本実施の形態2におけるプログラムによって、計算機20のオペレーティングシステム上に構築されている。
また、図7に示すように、本実施の形態2では、計算機20に備えられたデータ管理装置10は、ぞれぞれ、データ取得部11及びデータ再配置部12に加えて、データ作成部13を備えている。
各データ管理装置10において、データ作成部13は、まず、対応するデータ管理装置10が構築された計算機20のメモリ21にアクセスし、そのメモリ21で保持されている学習データを構成するサンプル毎に、送信先の計算機20を決定する。
具体的には、各データ管理装置10において、データ作成部13は、予めマスタサーバ40から受信したメモリ容量テーブル(図8参照)に基づいて、送信先の計算機20のメモリ容量を超えないように、サンプル毎に、ランダムに送信先の計算機20を決定する。図8は、本発明の実施の形態2においてマスタサーバが送信するメモリ容量テーブルの一例を示す図である。図8に示すように、メモリ容量テーブルは、計算機20毎のメモリ容量を登録している。
次いで、各データ管理装置10において、データ作成部13は、決定したサンプル毎の送信先及び学習データに関する情報を特定するデータ(以下「送信先データ」と表記する。)を作成する。
図9は、本発明の実施の形態2において各データ管理装置において作成される送信先データの一例を示す図である。図9に示すように、本実施の形態では、送信先データは、テーブル形式で作成されている。また、送信先データは、対応する計算機20が保持するサンプル毎に、サンプルID、予測ターゲット変数、及び再配置先(送信先)を登録している。
次いで、各データ管理装置10において、データ作成部13は、外部からの指示に応じて、指示された計算機20に送信先データを送信する。具体的には、本実施の形態2では、マスタサーバ40が送信先の計算機20を指示する。
例えば、図9の例において、マスタサーバ40が、送信先として、サーバAに対してサーバAを指示し、サーバBに対してはサーバAを指示し、サーバCに対してサーバCを指示したとする。この場合、各計算機(サーバA〜C)は、指示されたサーバに、送信先データを送信する。なお、上記においては、サーバA及びサーバCに対しては自身が指示されているので、実際には、これらのサーバにおいては送信先データを送信しないで保持することになる。
上述の指示により、送信先データは、図10に示すように、サーバAとサーバCとに集約される。図10は、マスタサーバからの一回目の送信指示があった場合の各データ管理装置が保持している送信先データの一例を示す図である。図10の例では、サーバAは、自身が作成した送信先データと、サーバBから送信されてきた送信先データとを統合し、統合後の送信先データを保持する。
また、各データ管理装置10におけるデータ作成部13による送信先データの送信後に、いずれか1つの計算機20で全ての送信先データが受信されていない場合、即ち、図10に示すようにサーバA及びCが送信先データを受信している場合は、データ作成部13は、新たに送信先データを作成する。
具体的には、図11に示すように、各データ管理装置10において、データ作成部13は、保持している送信先データ(図10参照)によって特定されるサンプル毎に、メモリ容量テーブル(図8参照)に基づいて、送信先の計算機20を決定し、新たに送信先データを作成する。
図11は、マスタサーバからの一回目の送信指示があった後に各データ管理装置が新たに作成した送信先データの一例を示す図である。図11の例では、サーバAにおいては、データ作成部13は、サンプルIDが4のサンプルの送信先を、サーバCに変更している。
その後、図11の例において、マスタサーバ40が、送信先として、サーバAに対してサーバAを指示し、サーバCに対してサーバAを指示したとする。この場合、サーバA及びCは、指示されたサーバに、送信先データを送信する。
上述の指示により、送信先データは、図12に示すように、サーバAに集約される。図12は、マスタサーバからの二回目の送信指示があった場合の各データ管理装置が保持している送信先データの一例を示す図である。図12の例では、サーバAは、結果的に、自身が作成した送信先データと、サーバB及びCから送信されてきた送信先データとを統合し、統合後の送信先データを保持する。マスタサーバ40による送信先データの送信指示は、送信先データが、1つの計算機に集約されるまで行なわれる。
また、この場合、サーバAにおいて、データ作成部13は、図13に示すように、統合後の送信先データ(図11参照)によって特定されるサンプル毎に、メモリ容量テーブル(図8参照)に基づいて、送信先の計算機20を変更することもできる。図13は、図12に示した送信先データにおいてメモリ容量に基づいて送信先の計算機が変更された状態を示す図である。
図12及び図13の例では、いずれか1つの計算機20、即ち、サーバAで全ての送信先データが受信されている。従って、サーバAによって構築されたデータ管理装置10において、そのデータ取得部11が、受信された全ての送信先データテーブルから、計算機20全ての学習データに関する情報(予測ターゲット変数)を取得したことになる。
この場合、サーバAによって構築されたデータ管理装置10において、データ再配置部12は、計算機20それぞれがメモリ21で保持すべき学習データを決定する。本実施の形態2においても、データ配置部12による処理は、実施の形態1と同様である。つまり、データ再配置部12は、計算機20それぞれのメモリ21が保持する学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、各計算機20がメモリ21で保持すべき学習データを決定する。
具体的には、データ再配置部12は、各計算機20において、メモリ21に保持されるサンプルの予測ターゲット変数の比率が、機械学習アルゴリズムが期待する比率となるように、各計算機20がメモリ21で保持すべきサンプルを決定する。
また、データ再配置部12は、決定後、実施の形態1と同様に、図14に示すように、各サンプルの再配置先が登録された学習データテーブルを作成する。図14は、本発明の実施の形態2において作成された学習データテーブルの一例を示す図である。なお、図14に示す学習データテーブルは、図13に示した送信先データから作成されている。
次いで、データ再配置部12は、図14に示したテーブルを、各計算機20に送信する。これにより、各計算機20は、送信されてきた決定の結果に応じて、自身のメモリ20で保持されているサンプルのうち一部又は全部を、他の計算機20に送信する。結果、サンプルの再配置が行なわれ、各計算機20のメモリ21に格納されている学習データは、図15に示す通りとなる。図15は、本発明の実施の形態2において各計算機のメモリに格納されている学習データの再配置後の状態を示す図である。
[システム動作]
次に、本実施の形態2における分散システム101及びデータ管理装置10の動作について図16を用いて説明する。図16は、本発明の実施の形態2におけるデータ管理装置の動作を示すフロー図である。以下の説明においては、適宜図7〜図16を参酌する。また、本実施の形態2では、データ管理装置10を動作させることによって、データ管理方法が実施される。よって、本実施の形態2におけるデータ管理方法の説明は、以下のデータ管理装置10の動作説明に代える。
まず、前提として、予め、マスタサーバ40は、図8に示すメモリ容量テーブルを、各データ管理装置10に送信する。これにより、各データ管理装置10は、メモリ容量テーブルを取得する。また、以下においては、任意の計算機20に構築されているデータ管理装置10に着目して、動作を説明することとする。
図16に示すように、最初に、データ作成部13は、予めマスタサーバ40から受信したメモリ容量テーブルに基づいて、送信先の計算機20のメモリ容量を超えないように、サンプル毎に、ランダムに送信先の計算機20を決定する(ステップB1)。なお、本実施の形態2においても、実施の形態1と同様に、各計算機20のメモリ21に最初に格納されている学習データは、図2に示す通りであるとする。
次に、各データ管理装置10において、データ作成部13は、ステップB1で決定したサンプル毎の送信先及び学習データに関する情報(予測ターゲット変数)を特定する送信先データ(図9参照)を作成する(ステップB2)。
次に、データ作成部13は、マスタサーバ40から指示があると、指示された計算機20に送信先データを送信する(ステップB3)。
次に、データ作成部12は、ステップB3の実行後、送信先データを保持しているかどうかを判定する(ステップB4)。例えば、図10の例において、データ作成部12を備えるデータ管理装置10が、計算機20であるサーバBに構築されている場合は、データ作成部12は、送信先データを保持していないと判定する。これにより、データ管理装置10での処理は終了する。
一方、図10の例において、データ作成部12を備えるデータ管理装置10が、計算機20であるサーバA又はCに構築されている場合は、データ作成部12は、送信先データを保持していると判定する。そして、この場合は、データ作成部13は、新たに送信先データを作成する(ステップB5)。
具体的には、ステップB5では、図11に示すように、各データ管理装置10において、データ作成部13は、保持している送信先データ(図10参照)によって特定されるサンプル毎に、メモリ容量テーブル(図8参照)に基づいて、送信先の計算機20を決定し、新たに送信先データを作成する。
次に、データ作成部12は、ステップB5の実行後、そのデータ管理装置10が構築されている計算機20が、全ての送信先データを受信しているかどうかを判定する(ステップB6)。ステップB6の判定の結果、データ管理装置10が構築されている計算機20が、全ての送信先データを受信していない場合は、データ作成部12は、再度ステップB3を実行する。
一方、ステップB6の判定の結果、データ管理装置10が構築されている計算機20が、全ての送信先データを受信している場合は、例えば、図12の例において、データ管理装置10がサーバAに構築されている場合は、ステップB7〜B9が実行される。
ステップB7では、データ再配置部12は、計算機20それぞれがメモリ21で保持すべき学習データを決定する(ステップB7)。具体的には、データ再配置部12は、計算機20それぞれのメモリ21が保持する学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、各計算機20がメモリ21で保持すべき学習データを決定する。
次に、データ再配置部12は、各計算機20がメモリ21で保持すべきサンプルを決定すると、図14に示すように、統合後の送信先データ(図13)に各サンプルの再配置先を新に登録して、学習データテーブルを作成する(ステップB8)。
次に、データ再配置部12は、ステップB9で作成した学習データテーブルを、各計算機20に送信する(ステップB9)。ステップB9の実行後、各計算機20は、送信されてきたテーブルに基づいて、自身のメモリ20で保持されているサンプルのうち一部又は全部を、他の計算機20に送信する。これにより、サンプルの再配置が行なわれ、結果、各計算機20のメモリ21に格納されている学習データは、図15に示す通りとなる。
[実施の形態2における効果]
以上のように本実施の形態2においても、各計算機20のメモリで保持されているサンプルの予測ターゲット変数が学習データ情報として集められ、予測ターゲット変数の比率が機械学習アルゴリズムに適するように、サンプルの再配置が行なわれる。このため、本実施の形態2によっても、実施の形態1と同様に、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機にサンプルを分配することができる。また、本実施の形態2においては、各計算機20において、処理が行なわれるため、マスタサーバ40の負荷を小さくすることができる。
[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図16に示すステップB1〜B9を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるデータ管理装置10とデータ管理方法とを実現することができる。この場合、コンピュータのプロセッサは、データ取得部11、データ再配置部12、及びデータ作成部13として機能し、処理を行なう。
また、本実施の形態2におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、データ取得部11、データ再配置部12、及びデータ作成部13のいずれかとして機能しても良い。
(物理構成)
ここで、実施の形態1及び2におけるプログラムを実行することによって、データ管理装置10を実現するコンピュータについて図17を用いて説明する。図17は、本発明の実施の形態1及び2におけるデータ管理装置を実現するコンピュータの一例を示すブロック図である。なお、ここでいうコンピュータは、実際には、マスタサーバ又は計算機(サーバ)である。
図17に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、本実施の形態1及び2におけるデータ管理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、データ管理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記20)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
データ管理装置と、機械学習を実行する複数の計算機と、を備え、
データ管理装置は、
前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
を備えている、ことを特徴とする分散システム。
(付記2)
前記データ管理装置において、
前記データ取得部が、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
前記データ再配置部が、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
付記1に記載の分散システム。
(付記3)
前記データ再配置部が、決定の結果を、前記複数の計算機それぞれに送信し、
前記複数の計算機それぞれが、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信する、
付記1または2に記載の分散システム。
(付記4)
前記データ管理装置が、前記複数の計算機毎に、当該計算機によって構築され、
前記データ管理装置それぞれは、
当該計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、データ作成部を更に備え、
いずれか1つの計算機で全ての前記データが受信され、当該計算機によって構築されたデータ管理装置において、その前記データ取得部が、受信された全ての前記データから、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、当該データ管理装置の前記データ再配置部が、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
付記1または2に記載の分散システム。
(付記5)
前記データ管理装置それぞれにおける、前記データ作成部による前記データの送信後に、いずれか1つの計算機で全ての前記データが受信されていない場合に、
前記データ作成部は、保持している前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、
付記4に記載の分散システム。
(付記6)
機械学習を実行する複数の計算機における学習データを管理するための装置であって、
前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
を備えている、ことを特徴とするデータ管理装置。
(付記7)
前記データ取得部が、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
前記データ再配置部が、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
付記6に記載のデータ管理装置。
(付記8)
前記データ再配置部が、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
付記6または7に記載のデータ管理装置。
(付記9)
当該データ管理装置が、前記複数の計算機のいずれかによって構築されている場合において、
当該データ管理装置は、それを構築する当該計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、データ作成部を更に備え、
当該計算機で全ての前記データが受信され、前記データ取得部が、受信された全ての前記データから、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記データ再配置部が、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
付記6または7に記載のデータ管理装置。
(付記10)
前記データ作成部による前記データの送信後に、当該計算機で全ての前記データが受信されていない場合に、
前記データ作成部は、保持している前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、
付記9に記載のデータ管理装置。
(付記11)
機械学習を実行する複数の計算機における学習データを管理するための方法であって、
(a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
(b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
を有する、ことを特徴とするデータ管理方法。
(付記12)
前記(a)のステップにおいて、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
前記(b)のステップにおいて、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
付記11に記載のデータ管理方法。
(付記13)
前記(b)のステップにおいて、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
付記11または12に記載のデータ管理装置。
(付記14)
(c)前記計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、ステップを更に有し、
前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記(b)のステップにおいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
付記11または12に記載のデータ管理方法。
(付記15)
(d)前記(c)のステップによる前記データの送信後に、前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できていない場合に、前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、ステップを更に有する、
付記14に記載のデータ管理方法。
(付記16)
コンピュータによって、機械学習を実行する複数の計算機における学習データを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
(b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記17)
前記(a)のステップにおいて、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
前記(b)のステップにおいて、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
付記16に記載のコンピュータ読み取り可能な記録媒体。
(付記18)
前記(b)のステップにおいて、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
付記16または17に記載のコンピュータ読み取り可能な記録媒体。
(付記19)
前記プログラムが、前記コンピュータに、
(c)前記計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、ステップを実行させる命令を更に含み、
前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記(b)のステップにおいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
付記16または17に記載のコンピュータ読み取り可能な記録媒体。
(付記20)
前記プログラムが、前記コンピュータに、
(d)前記(c)のステップによる前記データの送信後に、前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できていない場合に、前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、ステップを実行させる命令を更に含み、
付記19に記載のコンピュータ読み取り可能な記録媒体。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年6月6日に出願された米国出願62/515,734を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように、本発明によれば、分散処理を行なう場合において、各計算機で行なわれる機械学習に応じて、各計算機に学習データを分配することができる。本発明は、分散システムによって大量のデータに対して機械学習を行なう場合に有用である。
10 データ管理装置
11 データ取得部
12 データ再配置部
13 データ作成部
20 計算機
21 メモリ
30 ネットワーク
40 マスタサーバ
100 分散システム
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (20)

  1. データ管理装置と、機械学習を実行する複数の計算機と、を備え、
    データ管理装置は、
    前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
    前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
    を備えている、ことを特徴とする分散システム。
  2. 前記データ管理装置において、
    前記データ取得部が、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
    前記データ再配置部が、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
    請求項1に記載の分散システム。
  3. 前記データ再配置部が、決定の結果を、前記複数の計算機それぞれに送信し、
    前記複数の計算機それぞれが、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信する、
    請求項1または2に記載の分散システム。
  4. 前記データ管理装置が、前記複数の計算機毎に、当該計算機によって構築され、
    前記データ管理装置それぞれは、
    当該計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、データ作成部を更に備え、
    いずれか1つの計算機で全ての前記データが受信され、当該計算機によって構築されたデータ管理装置において、その前記データ取得部が、受信された全ての前記データから、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、当該データ管理装置の前記データ再配置部が、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
    請求項1または2に記載の分散システム。
  5. 前記データ管理装置それぞれにおける、前記データ作成部による前記データの送信後に、いずれか1つの計算機で全ての前記データが受信されていない場合に、
    前記データ作成部は、保持している前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、
    請求項4に記載の分散システム。
  6. 機械学習を実行する複数の計算機における学習データを管理するための装置であって、
    前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、データ取得部と、
    前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、データ再配置部と、
    を備えている、ことを特徴とするデータ管理装置。
  7. 前記データ取得部が、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
    前記データ再配置部が、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
    請求項6に記載のデータ管理装置。
  8. 前記データ再配置部が、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
    請求項6または7に記載のデータ管理装置。
  9. 当該データ管理装置が、前記複数の計算機のいずれかによって構築されている場合において、
    当該データ管理装置は、それを構築する当該計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、データ作成部を更に備え、
    当該計算機で全ての前記データが受信され、前記データ取得部が、受信された全ての前記データから、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記データ再配置部が、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
    請求項6または7に記載のデータ管理装置。
  10. 前記データ作成部による前記データの送信後に、当該計算機で全ての前記データが受信されていない場合に、
    前記データ作成部は、保持している前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、
    請求項9に記載のデータ管理装置。
  11. 機械学習を実行する複数の計算機における学習データを管理するための方法であって、
    (a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
    (b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
    を有する、ことを特徴とするデータ管理方法。
  12. 前記(a)のステップにおいて、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
    前記(b)のステップにおいて、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
    請求項11に記載のデータ管理方法。
  13. 前記(b)のステップにおいて、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
    請求項11または12に記載のデータ管理装置。
  14. (c)前記計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、ステップを更に有し、
    前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記(b)のステップにおいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
    請求項11または12に記載のデータ管理方法。
  15. (d)前記(c)のステップによる前記データの送信後に、前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できていない場合に、前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、ステップを更に有する、
    請求項14に記載のデータ管理方法。
  16. コンピュータによって、機械学習を実行する複数の計算機における学習データを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    (a)前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報を取得する、ステップと、
    (b)前記複数の計算機それぞれで実行される前記機械学習の特性、及び前記複数の計算機それぞれから取得した前記情報に基づいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、ステップと、
    を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  17. 前記(a)のステップにおいて、前記複数の計算機それぞれから、当該計算機のメモリで保持されている学習データに関する情報として、前記学習データを構成するサンプル毎の予測ターゲット変数を取得し、
    前記(b)のステップにおいて、前記複数の計算機それぞれの前記メモリが保持する前記学習データにおいて、それを構成するサンプルの予測ターゲット変数の比率が、設定された条件を満たすように、前記複数の計算機それぞれが前記メモリで保持すべき前記学習データを決定する、
    請求項16に記載のコンピュータ読み取り可能な記録媒体。
  18. 前記(b)のステップにおいて、決定の結果を、前記複数の計算機それぞれに送信し、前記複数の計算機それぞれに対して、送信されてきた決定の結果に応じて、当該計算機のメモリで保持されている前記学習データの一部又は全部を、他の計算機に送信させる、
    請求項16または17に記載のコンピュータ読み取り可能な記録媒体。
  19. 前記プログラムが、前記コンピュータに、
    (c)前記計算機のメモリで保持されている学習データを構成するサンプル毎に、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを作成し、更に、外部からの指示に応じて、指示された計算機に、前記データを送信する、ステップを実行させる命令を更に含み、
    前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できた場合に、前記(b)のステップにおいて、前記複数の計算機それぞれが前記メモリで保持すべき学習データを決定する、
    請求項16または17に記載のコンピュータ読み取り可能な記録媒体。
  20. 前記プログラムが、前記コンピュータに、
    (d)前記(c)のステップによる前記データの送信後に、前記(a)のステップにおいて、前記複数の計算機全ての前記学習データに関する情報を取得できていない場合に、前記データによって特定されるサンプル毎に、送信先となる前記計算機の前記メモリの容量に基づいて、送信先の前記計算機を決定し、決定した前記サンプル毎の送信先及び前記学習データに関する情報を特定するデータを新に作成し、新たに外部から指示があった場合に、指示された計算機に、前記新たなデータを送信する、ステップを実行させる命令を更に含み、
    請求項19に記載のコンピュータ読み取り可能な記録媒体。
JP2019523921A 2017-06-06 2018-06-05 分散システム、データ管理装置、データ管理方法、及びプログラム Active JP6816824B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762515734P 2017-06-06 2017-06-06
US62/515,734 2017-06-06
PCT/JP2018/021600 WO2018225747A1 (ja) 2017-06-06 2018-06-05 分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2018225747A1 true JPWO2018225747A1 (ja) 2020-03-26
JP6816824B2 JP6816824B2 (ja) 2021-01-20

Family

ID=64566494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019523921A Active JP6816824B2 (ja) 2017-06-06 2018-06-05 分散システム、データ管理装置、データ管理方法、及びプログラム

Country Status (3)

Country Link
US (1) US11610151B2 (ja)
JP (1) JP6816824B2 (ja)
WO (1) WO2018225747A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021105798A (ja) * 2019-12-26 2021-07-26 パナソニックIpマネジメント株式会社 人工知能システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6087662B2 (ja) * 2013-02-28 2017-03-01 株式会社東芝 制御装置、制御プログラム及び情報処理システム
US9444773B2 (en) * 2014-07-31 2016-09-13 Mimecast North America, Inc. Automatic translator identification
JP2018531437A (ja) * 2015-06-15 2018-10-25 アミール,ハイム 適応皮膚処置のためのシステムおよび方法
JP6555015B2 (ja) * 2015-08-31 2019-08-07 富士通株式会社 機械学習管理プログラム、機械学習管理装置および機械学習管理方法
WO2017040663A1 (en) * 2015-09-01 2017-03-09 Skytree, Inc. Creating a training data set based on unlabeled textual data
US10847266B1 (en) * 2015-10-06 2020-11-24 Massachusetts Mutual Life Insurance Company Systems and methods for tracking goals
US10402469B2 (en) * 2015-10-16 2019-09-03 Google Llc Systems and methods of distributed optimization
JP6614466B2 (ja) * 2016-03-14 2019-12-04 オムロン株式会社 能力付与データ生成装置
JP6026036B1 (ja) * 2016-04-08 2016-11-16 株式会社Ubic データ分析システム、その制御方法、プログラム、及び、記録媒体
US20180165757A1 (en) * 2016-04-15 2018-06-14 Arthur Morris GELBER Purchase health care system
JP2017228086A (ja) * 2016-06-22 2017-12-28 富士通株式会社 機械学習管理プログラム、機械学習管理方法、および機械学習管理装置
KR20230118194A (ko) * 2016-06-28 2023-08-10 하트플로우, 인크. 지리적 지역들에 걸친 분석용 건강 데이터를 수정 및 편집하기 위한 시스템 및 방법
US10460255B2 (en) * 2016-07-29 2019-10-29 Splunk Inc. Machine learning in edge analytics
US10536351B2 (en) * 2016-07-29 2020-01-14 Splunk Inc. Analytics for edge devices
US10091231B1 (en) * 2016-09-15 2018-10-02 Symantec Corporation Systems and methods for detecting security blind spots
US11328964B2 (en) * 2018-12-13 2022-05-10 Applied Materials, Inc. Prescriptive analytics in highly collinear response space
US20220117509A1 (en) * 2020-01-17 2022-04-21 IONIQ Sciences Noninvasive medical diagnostics using electrical impedance metrics and clinical predictors

Also Published As

Publication number Publication date
JP6816824B2 (ja) 2021-01-20
WO2018225747A1 (ja) 2018-12-13
US20200134507A1 (en) 2020-04-30
US11610151B2 (en) 2023-03-21

Similar Documents

Publication Publication Date Title
CN111527499B (zh) 提供商网络中的机器学习模型的基于动态准确度的部署和监测方法及系统
EP3414661B1 (en) Efficient live-migration of remotely accessed data
TWI620075B (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
KR102225822B1 (ko) 인공지능 수행을 위한 학습 데이터 생성장치 및 방법
JP5758995B2 (ja) 仮想マシン間で分析の結果を共有するためのシステム、方法及びコンピュータ可読記憶媒体
US10423902B2 (en) Parallel processing apparatus and method of estimating power consumption of jobs
JP6211722B2 (ja) 最適化されたブラウザレンダリング処理
US20130055371A1 (en) Storage control method and information processing apparatus
US20120185843A1 (en) Reconfiguration of computer system to allow application installation
US11579811B2 (en) Method and apparatus for storage device latency/bandwidth self monitoring
BR112019004945B1 (pt) Conversão de serviço de integração de dados
JP2013186770A (ja) データ処理装置
US20130275992A1 (en) Distributed processing system, distributed processing method, and distributed processing program
US10257043B2 (en) Balancing utilization of infrastructure in a networked computing environment
EP3264254B1 (en) System and method for a simulation of a block storage system on an object storage system
Anjos et al. BIGhybrid: a simulator for MapReduce applications in hybrid distributed infrastructures validated with the Grid5000 experimental platform
JP2017215868A (ja) 匿名化処理装置、匿名化処理方法、及びプログラム
JP6816824B2 (ja) 分散システム、データ管理装置、データ管理方法、及びプログラム
US20160105509A1 (en) Method, device, and medium
JP6922995B2 (ja) 分散処理管理装置、分散処理方法、及びプログラム
CN113474757A (zh) 信息处理装置、方法以及程序
Limmer et al. Services for numerical simulations and optimisations in grids
JP2019197465A (ja) シミュレーション制御方法及び計算機システム
US20210209161A1 (en) Cognitively generating parameter settings for a graph database
JP6397101B2 (ja) 最適化されたブラウザレンダリング処理

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200611

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: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201207

R150 Certificate of patent or registration of utility model

Ref document number: 6816824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150