JP6558188B2 - 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム - Google Patents

分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム Download PDF

Info

Publication number
JP6558188B2
JP6558188B2 JP2015195302A JP2015195302A JP6558188B2 JP 6558188 B2 JP6558188 B2 JP 6558188B2 JP 2015195302 A JP2015195302 A JP 2015195302A JP 2015195302 A JP2015195302 A JP 2015195302A JP 6558188 B2 JP6558188 B2 JP 6558188B2
Authority
JP
Japan
Prior art keywords
learning model
data
update
timing information
nodes
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.)
Expired - Fee Related
Application number
JP2015195302A
Other languages
English (en)
Other versions
JP2017068710A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015195302A priority Critical patent/JP6558188B2/ja
Priority to US15/251,729 priority patent/US20170091669A1/en
Publication of JP2017068710A publication Critical patent/JP2017068710A/ja
Application granted granted Critical
Publication of JP6558188B2 publication Critical patent/JP6558188B2/ja
Expired - Fee Related 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラムに関する。
近年、ビッグデータを機械学習する技術が注目されている。機械学習には、訓練データをもとに、種々のアルゴリズムによって学習モデルを作成する学習フェーズと、作成した学習モデルを用いて、これから生起する事象を予測する予測フェーズがある。一般に、学習フェーズにおいて、学習モデルの作成に用いるデータが多いほど、作成される学習モデルの精度が高くなる。この特徴から、ビッグデータにおける機械学習は、高精度な学習モデルを作成することができる技術として注目されている。
また、ビッグデータを用いた学習モデルの作成には、多数の計算機リソースを用いるため、並列処理の仕組みを使ったバッチ処理が用いられる。近年、インメモリ処理技術の発展に伴い、機械学習の分析処理が高速に実行できるようなり、バッチ処理で予め作成した学習モデルをリアルタイムの入力データに適用して予測処理を行う技術が注目を集めている。リアルタイムの入力データに対して、タイムリーに処理結果を返す仕組みをストリーム処理と呼ぶ。
例えば、ストリーム処理を用いる機械学習では、時間が経つにつれて入力データの性質が変化すると、学習モデルの作成に用いた入力データが参考にならなくなることから、予測処理結果の精度が低下することがある。そこで、同一の学習モデルを適用し続けるのではなく、直近の入力データを用いて定期的に学習モデルを再作成し、ストリーム処理に適用する学習モデルを更新する。そして、ストリーム処理において、入力データを所定の処理単位でまとめて処理することで、入力データの処理単位の切り替わりのタイミングで学習モデルを更新する。入力データを所定の処理単位でまとめて処理する一例として、例えば、入力データを一時的に蓄えておき、数秒に一回程度の頻度で処理して結果を返すミニバッチ処理がある。ミニバッチ処理により、ストリーム処理における予測処理のリアルタイム性を保ちつつ、学習モデルを更新することができる。
特開2013−167985号公報 特開平06−067966号公報
しかしながら、ミニバッチ処理を用いてストリーム処理を複数のノードで分散処理する場合には、分散処理される入力データに本来適用されるべき学習モデルとは異なる学習モデルが適用されてしまう場合がある。例えば、ノードが、更新前の学習モデルを適用するタイミングで、更新後の学習モデルを適用して入力データを処理するという、入力データと学習モデルとのタイミングの不整合が生じる場合がある。このような入力データと学習モデルとのタイミングの不整合が生じると、予測処理結果の精度が低下することになる。
1つの側面では、入力データと学習モデルとのタイミングの不整合により、ストリーム処理による学習モデルを用いた予測処理結果の精度が低下することを防止することを目的とする。
第1の案では、例えば、分散処理システムは、複数のノードと、分配部と、学習モデル更新部と、適用タイミング情報配布部とを有する。複数のノードは、割り当てられたデータをバッファへ格納し、当該データに学習モデルを適用して当該データのタイムスタンプを基準とした所定時間内に当該データを処理する。分配部は、データを複数のノードに分配して割り当てる。学習モデル更新部は、入力データをもとに更新用の学習モデルを作成し、該更新用の学習モデルを複数のノードへ送信する。適用タイミング情報配布部は、複数のノードへ送信された更新用の学習モデルと対応する、更新用の学習モデルの適用対象であるデータのタイムスタンプに関する適用タイミング情報を複数のノードへ送信する。複数のノードは、更新用の学習モデルおよび適用タイミング情報を受信すると、適用タイミング情報より前のタイミングに対応するデータには更新前の学習モデルを適用する。また、複数のノードは、適用タイミング情報より以後のタイミングに対応するデータには更新用の学習モデルを適用する。
入力データと学習モデルとのタイミングの不整合により、ストリーム処理による学習モデルを用いた予測処理結果の精度が低下することを防止できる。
図1は、実施例に係る分散処理システムを示す図である。 図2は、実施例に係る処理対象のデータの一例を示す図である。 図3は、実施例に係るミニバッチ単位のデータ処理の一例を示す図である。 図4は、実施例に係る学習モデル作成処理の一例を示すフローチャートである。 図5は、実施例に係る予測処理の一例を示すフローチャートである。 図6は、プログラムを実行するコンピュータを示す図である。
以下に、本発明にかかる分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例に係る分散処理システムについて説明する。図1は、実施例に係る分散処理システムを示す図である。分散処理システム1は、例えばラムダアーキテクチャを採用したシステムである。
分散処理システム1は、サーバ装置10と、学習モデル作成装置20と、学習モデル記憶装置30と、複数のノード40−1,・・・,40−n(nは所定の自然数)とを有する。複数のノード40−1,・・・,40−nを、ノード40と総称する。サーバ装置10と学習モデル作成装置20と学習モデル記憶装置30とノード40との間は、ネットワーク2を介して通信可能に接続される。かかるネットワーク2の一態様としては、有線または無線を問わず、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の通信網が挙げられる。
サーバ装置10は、データ分配部11を有する。データ分配部11は、データバッファを含む。データ分配部11は、ネットワーク2もしくはその他のネットワークを介して外部から受信したデータまたは図示しない所定のファイルシステムから取得したデータを、ノード40のいずれかへ割り当てて、送信する。データ分配部11がデータをノード40のいずれかへ割り当てる方法は、既存の様々な負荷分散処理のスケジューリング技術を用いることができる。図2は、実施例に係る処理対象のデータの一例を示す図である。図2に例示するように、データは、データ毎にタイムスタンプが付与されている、ストリームデータである。
また、データ分配部11は、ネットワーク2もしくはその他のネットワークを介して外部から受信したデータまたは図示しない所定のファイルシステムから取得したデータを、学習モデル作成装置20へ送信する。
学習モデル作成装置20は、例えばラムダアーキテクチャのバッチレイヤに該当し、バッチ処理を行って学習モデルの作成を行う。学習モデル作成装置20は、データ記憶部21と、学習モデル作成部22と、タイミング情報更新部23とを有する。学習モデル作成装置20は、バッチ処理により学習モデルを作成する。
データ記憶部21は、サーバ装置10から受信したデータを蓄積して記憶するファイルシステムである。学習モデル作成部22は、新たに学習モデルを作成する所定条件が充足された場合に、データ記憶部21に記憶されるデータを読み出し、このデータをもとに機械学習を行って学習モデルを作成する。学習モデルの作成は、予め定められた既存の手法を用いて行われる。なお、新たに学習モデルを作成する所定条件は、例えば、前回学習モデルを作成してから所定時間が経過した場合や、後述するように学習モデルを適用したストリーム処理による予測精度が所定以上低下した場合などである。学習モデル作成部22は、作成した学習モデルを、学習モデル記憶装置30へ送信する。
タイミング情報更新部23は、学習モデル作成部22により学習モデルが作成されると、作成された学習モデルと対応するタイミング情報を生成する。そして、タイミング情報更新部23は、生成したタイミング情報を、学習モデル記憶装置30へ送信する。
学習モデル記憶装置30は、学習モデル作成部22により作成された学習モデルと、タイミング情報更新部23により生成された、当該学習モデルと対応するタイミング情報とを対応付けて記憶する。なお、タイミング情報は、対応する学習モデルを処理対象のデータに適用する時刻を示すタイムスタンプなどである。また、タイミング情報の生成は、種々の既存の手法を用いて行われる。
学習モデル記憶装置30は、学習モデル作成装置20により作成された学習モデルおよびタイミング情報を記憶する、データの不可分性およびデータの一貫性を保証する、例えば分散メモリファイルシステムである。なお、図1では、簡単のため、1つの学習モデル記憶装置30を示すが、学習モデルは、複数の学習モデル記憶装置に記憶されてもよい。学習モデル記憶装置30は、学習モデル記憶部31を有する。学習モデル記憶部31は、RAM(Random Access Memory)などの高速アクセス可能な記憶部である。学習モデル記憶部31は、学習モデル作成部22により作成された学習モデルと、タイミング情報更新部23により生成された、当該学習モデルと対応するタイミング情報とを対応付けて記憶する。学習モデル記憶装置30は、最新の学習モデルおよび当該学習モデルと対応するタイミング情報を記憶する。
ノード40は、例えばラムダアーキテクチャのスピードレイヤに該当し、ストリーム処理により、データに学習モデルを適用する予測処理を行うデータ処理装置である。ノード40は、サーバなどの計算資源である。ノード40は、それぞれ、切替部41と、第1の学習モデル記憶部42−1と、第2の学習モデル記憶部42−2と、予測部43とを有する。第1の学習モデル記憶部42−1は、予測部43が予測処理に用いる学習モデルおよび対応するタイミング情報を記憶する以下、第1の学習モデル記憶部42−1が記憶する学習モデルを、旧学習モデルと呼ぶ場合がある。また、第2の学習モデル記憶部42−2は、学習モデル作成装置20により作成された最新の学習モデルおよび対応するタイミング情報を記憶する。第1の学習モデル記憶部42−1および第2の学習モデル記憶部42−2は、RAMなどの記憶装置である。第1の学習モデル記憶部42−1および第2の学習モデル記憶部42−2は、物理的に一体の記憶装置であってもよい。
切替部41は、学習モデル記憶装置30の学習モデル記憶部31に記憶されている学習モデルのMD(Message Digest Algorithm)5と、第1の学習モデル記憶部42−1に記憶されている学習モデルのMD5とを比較する。そして、切替部41は、学習モデル記憶部31および第1の学習モデル記憶部42−1それぞれに記憶されている学習モデルのMD5が異なる場合に、学習モデル記憶部31に記憶されている最新の学習モデルおよび対応するタイミング情報を取得する。そして、切替部41は、取得した最新の学習モデルおよび対応するタイミング情報を、第2の学習モデル記憶部42−2へ記憶させる。なお、学習モデル記憶装置30の学習モデル記憶部31に記憶されている学習モデルと、第1の学習モデル記憶部42−1に記憶されている学習モデルとの比較は、MD5の比較に限らず、種々の既存のデータ比較、照合方法を用いることができる。
また、切替部41は、サーバ装置10から受信したデータに付与されているタイムスタンプと、第1の学習モデル記憶部42−1に記憶されている学習モデルと対応するタイミング情報と比較する。切替部41は、比較結果から、サーバ装置10から受信したデータに適用する学習モデルが第2の学習モデル記憶部42−2に記憶されている最新の学習モデルであると判定した場合に、第1の学習モデル記憶部42−1に記憶されている学習モデルを破棄する。そして、切替部41は、第2の学習モデル記憶部42−2に記憶されている最新の学習モデルを第1の学習モデル記憶部42−1に記憶させる。
予測部43は、第1の学習モデル記憶部42−1に記憶されている学習モデルを、サーバ装置10から受信したミニバッチに適用して、予測処理を行う処理部である。予測部43は、データバッファを含む。そして、予測部43は、サーバ装置10のデータ分配部11から受信してバッファに格納したデータの数が、ウィンドウに相当する所定数、例えば1秒単位のタイムスタンプを有するデータが5つになると、ウィンドウ単位でデータをデータバッファから出力する。そして、予測部43は、データバッファから出力したデータに第1の学習モデル記憶部42−1に記憶される学習モデルを適用して、予測処理を行う。なお、ウィンドウ単位のデータを、ミニバッチと呼ぶ。また、ウィンドウ単位で行うデータ処理を、ミニバッチ処理と呼ぶ。
図3は、実施例に係るミニバッチ単位のデータ処理の一例を示す図である。実施例における処理対象のデータは、図2に示すように、タイムスタンプ、データ本体の順序で一つのデータである。実施例では、ノード40で実行されるストリームプロセスにおいて、例えば幅が5秒のウィンドウのミニバッチ単位でデータを処理する。図3に示すように、ストリームプロセスにおいて、最新の学習モデルを受け取ったことが検知されると、最新の学習モデルと対応するタイムスタンプ“10:00:06”が読み込まれる。そして、ストリームプロセスにおいて、“10:00:06”以降のタイムスタンプを有するデータに対して最新の学習モデルを適用すべきであることが認識される。
しかし、ストリームプロセスにおいて、図2に示すように、処理対象のデータのタイムスタンプが“10:00:01”〜“10:00:05”である場合には、旧学習モデルを適用してデータが処理される。そして、タイムスタンプ“10:00:01”〜“10:00:05”のミニバッチ処理終了後、かつ、タイムスタンプ“10:00:06”以降のミニバッチ処理の開始前に、最新の学習モデルが第2の学習モデル記憶部42−2から第1の学習モデル記憶部42−1へ展開される。全てのノード40で実行されるストリームプロセスにおいて、上記のようにして最新の学習モデルが処理データに対して適用される。このため、並列分散処理における異なるストリームプロセス間であっても、同じタイムスタンプを有するデータに対して同一の学習モデルを適用することができる。
図4は、実施例に係る学習モデル作成処理の一例を示すフローチャートである。学習モデル作成処理は、学習モデル作成装置20により繰り返し実行されるバッチ処理である。先ず、学習モデル作成部22は、新たに学習モデルを作成する所定条件が充足されたか否かを判定する(ステップS11)。
ここで、新たに学習モデルを作成する所定条件は、例えば、前回学習モデルを作成してから所定時間が経過した場合や、後述するように学習モデルを適用したストリーム処理による予測精度が所定以上低下した場合などである。予測精度が所定以上低下した場合とは、ノード40で実行されるストリームプロセスによる予測結果(予測値)と、後で到着するデータ(実測値)との間に所定以上の乖離があることをいう。例えば、予測値と実測値の差が所定閾値を超えた場合、入力データの性質が変化したと見なすことができる。所定閾値は、分析または予測の対象に応じて適切な値とすることができる。
学習モデル作成部22は、新たに学習モデルを作成する所定条件が充足されたと判定した場合(ステップS11:Yes)には、ステップS12へ処理を移す。一方、学習モデル作成部22は、新たに学習モデルを作成する所定条件が充足されていないと判定した場合(ステップS11:No)には、ステップS11の処理を繰り返す。
ステップS12では、学習モデル作成部22は、データ記憶部21から、所定期間分の学習用のデータを読み出す。次に、学習モデル作成部22は、ステップS12で読み出した学習用のデータをもとに学習モデルを作成する(ステップS13)。次に、タイミング情報更新部23は、ステップS13で学習モデル作成部22により作成された学習モデルと対応するタイミング情報を生成する(ステップS14)。次に、学習モデル作成部22およびタイミング情報更新部23は、作成した学習モデルおよび対応するタイミング情報を、学習モデル記憶装置30へ出力する(ステップS15)。
図5は、実施例に係る予測処理の一例を示すフローチャートである。予測処理は、ノード40それぞれにより繰り返し実行されるストリームプロセスである。先ず、切替部41は、学習モデル記憶装置30に記憶される学習モデルと、使用中の学習モデルすなわち第1の学習モデル記憶部42−1に記憶される学習モデルとのMD5を比較して、2つのモデルが異なるか否かを判定する(ステップS21)。切替部41は、2つのモデルが異なる場合(ステップS21:Yes)には、ステップS22へ処理を移す。一方、切替部41は、2つのモデルが同一である場合(ステップS21:No)には、ステップS25へ処理を移す。
ステップS22では、切替部41は、学習モデル記憶装置30に記憶される学習モデルおよび対応するタイミング情報をロードして、第2の学習モデル記憶部42−2に記憶させる。次に、切替部41は、ステップS22でロードしたタイミング情報と、処理対象のデータのタイムスタンプとを比較し、最新の学習モデルを適用してデータを処理するか否かを判定する(ステップS23)。切替部41は、最新の学習モデルを適用してデータを処理すると判定した場合(ステップS23:Yes)には、ステップS24へ処理を移す。一方、切替部41は、旧学習モデルを適用してデータを処理すると判定した場合(ステップS23:No)には、ステップS25へ処理を移す。
ステップS24では、切替部41は、第1の学習モデル記憶部42−1に記憶されている旧学習モデルを破棄し、第2の学習モデル記憶部42−2に記憶されている最新の学習モデルを第1の学習モデル記憶部42−1に記憶させる。そして、切替部41は、最新の学習モデルを処理対象のデータに適用して予測処理を行う(以上、ステップS24)。ステップS24が終了すると、ノード40は、ステップS21へ処理を移す。
他方、ステップS25では、第1の学習モデル記憶部42−1に記憶されている旧学習モデルを処理対象のデータに適用して予測処理を行う。ステップS25が終了すると、ノード40は、ステップS21へ処理を移す。
以上の実施例によれば、リアルタイムに行う機械学習において、時間が経つとともに発生するデータの性質(傾向)の変化に対して、ストリームプロセスのリアルタイム性を損ねることなく最新の学習モデルを適用し、予測結果の精度低下を低減することができる。
また、以上の実施例によれば、学習モデルの作成をストリームプロセスから独立して行い、ストリーム処理部と、最新の学習モデルの記憶部とを分離することで、データの性質(傾向)の変化に対して適時に最新の学習モデルの適用を行うことができる。また、最新の学習モデルの記憶部が、データ一貫性が保証される分散メモリファイルシステムであるため、ミニバッチ処理における学習モデル更新時のオーバヘッドを抑えることができる。さらには、分散ストリーム処理において、ノード毎に用いる学習モデルが異なる状況の発生を回避できる。
なお、上記の実施例では、学習モデル記憶装置30の学習モデル記憶部31に最新の学習モデルを記憶させるとした。しかし、開示の技術は、これに限定されず、処理対象のデータを取得する図示しないファイルシステムと同一のファイルシステムに最新の学習モデルを記憶させるとしてもよい。
また、上記の実施例では、学習モデル作成部22は、作成した学習モデルを学習モデル記憶装置30へ送信し、学習モデル記憶装置30に記憶させる。そして、学習モデル記憶装置30に記憶される学習モデルは、ノード40によって取得される。しかし、開示の技術は、これに限定されず、学習モデル作成部22が、作成した学習モデルをノード40へ送信するとしてもよい。
また、上記の実施例では、タイミング情報更新部23は、生成したタイミング情報を学習モデル記憶装置30へ送信し、学習モデル記憶装置30に記憶させる。そして、後述するように、学習モデル記憶装置30に記憶されるタイミング情報は、ノード40によって取得される。しかし、開示の技術は、これに限定されず、タイミング情報更新部23が、生成したタイミング情報をノード40へ送信するとしてもよい。または、タイミング情報更新部23が、生成したタイミング情報をノード40へ送信する場合には、サーバ装置10のデータ分配部11がノード40へ送信するデータとともにタイミング情報をノード40へ送信するとしてもよい。
また、図示した各装置および各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記の実施例におけるサーバ装置10と、学習モデル作成装置20とは、統合されてもよい。
例えば、図1に示す学習モデル作成部22と、タイミング情報更新部23との各処理部が適宜統合されてもよい。また、例えば、図1に示す切替部41と、予測部43との各処理部が適宜統合されてもよい。また、例えば、図1に示す第1の学習モデル記憶部42−1と、第2学習モデル記憶部42−2との各記憶部が適宜統合されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されうる。
[プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図6は、プログラムを実行するコンピュータを示す図である。
図6に示すように、コンピュータ100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、HDD(Hard Disk Drive)130、RAM(Random Access Memory)140を有する。これら110〜140の各部は、バス200を介して接続される。なお、HDD130に代えて、SSD(Solid State Drive)、SSHD(Solid State Hybrid Drive)、フラッシュメモリなどの外部記憶装置を用いてもよい。
例えば、コンピュータ100が、上記の実施例におけるサーバ装置10と同様の機能を実現する場合には、ROM120に予め記憶されるプログラム120aは、データ配分プログラムなどである。また、例えば、コンピュータ100が、上記の実施例における学習モデル作成装置20と同様の機能を実現する場合には、ROM120に予め記憶されるプログラム120aは、学習モデル作成プログラム、タイミング更新プログラムなどである。また、例えば、コンピュータ100が、上記の実施例におけるノード40と同様の機能を実現する場合には、ROM120に予め記憶されるプログラム120aは、切替プログラム、予測プログラムなどである。なお、ROM120に予め記憶される各プログラム12aは、適宜分離・統合してもよい。
そして、CPU110は、各プログラム120aをROM120から読み出して実行することで、上記の実施例の各処理部と同様の動作を実行する。すなわち、CPU110は、データ配分プログラムを実行することにより、上記の実施例のデータ分配部11と同様の動作を実行する。また、CPU110は、学習モデル作成プログラム、タイミング更新プログラムを実行することにより、上記の実施例の学習モデル作成部22、タイミング情報更新部23それぞれと同様の動作を実行する。また、CPU110は、切替プログラム、予測プログラムを実行することにより、上記の実施例の切替部41、予測部43それぞれと同様の動作を実行する。
なお、上記したプログラム120aについては、必ずしも最初からROM120に記憶させることを要しない。プログラム120aはHDD130に記憶させてもよい。
例えば、コンピュータ100に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ100がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ100がこれらからプログラムを読み出して実行するようにしてもよい。
1 分散処理システム
2 ネットワーク
10 サーバ装置
11 データ分配部
20 学習モデル作成装置
21 データ記憶部
22 学習モデル作成部
23 タイミング情報更新部
30 学習モデル記憶装置
31 学習モデル記憶部
40、40−1〜40−n ノード
41 切替部
42−1 第1の学習モデル記憶部
42−2 第2の学習モデル記憶部
43 予測部

Claims (7)

  1. 割り当てられたデータをバッファへ格納し、前記バッファに格納した所定数のデータ単位で当該データに学習モデルを適用して当該データのタイムスタンプを基準とした所定時間内に当該データを処理する複数のノードと、
    データを前記複数のノードに分配して割り当てる分配部と、
    入力データをもとに更新用の学習モデルを作成し、該更新用の学習モデルを前記複数のノードへ送信する学習モデル更新部と、
    前記学習モデル更新部により前記複数のノードへ送信された前記更新用の学習モデルと対応する、該更新用の学習モデルの適用対象であるデータのタイムスタンプに関する適用タイミング情報を前記複数のノードへ送信する適用タイミング情報配布部と、
    を有し、
    前記複数のノードは、前記学習モデル更新部から前記更新用の学習モデルを受信し、前記適用タイミング情報配布部から前記適用タイミング情報を受信すると、前記適用タイミング情報より前のタイミングに対応するデータには更新前の学習モデルを適用し、前記適用タイミング情報より以後のタイミングに対応するデータには前記更新用の学習モデルを適用する
    ことを特徴とする分散処理システム。
  2. 前記適用タイミング情報配布部は、前記適用タイミング情報を、前記分配部が前記ノードに分配するデータとともに送信する
    ことを特徴とする請求項1に記載の分散処理システム。
  3. 前記複数のノードそれぞれは、前記更新用の学習モデルを、データの不可分性およびデータの一貫性を有する分散ファイルシステムから読み出す
    ことを特徴とする請求項1に記載の分散処理システム。
  4. コンピュータが、
    入力データをもとに更新用の学習モデルを作成し、該更新用の学習モデルを、データに学習モデルを適用して当該データのタイムスタンプを基準とした所定時間内に当該データを処理する複数のノードへ送信し、
    前記複数のノードへ送信された前記更新用の学習モデルと対応する、該更新用の学習モデルの適用対象であるデータのタイムスタンプに関する適用タイミング情報を前記複数のノードへ送信する
    各処理を実行することを特徴とする学習モデル作成方法。
  5. コンピュータが、
    受信データをバッファへ格納し、前記バッファに格納した所定数の受信データ単位で当該受信データに学習モデルを適用して当該受信データのタイムスタンプを基準とした所定時間内に当該受信データを処理し、
    更新用の学習モデルと、該更新用の学習モデルと対応する、該更新用の学習モデルの適用対象である受信データのタイムスタンプに関する適用タイミング情報とを受信し、
    前記適用タイミング情報より前のタイミングに対応する受信データには更新前の学習モデルを適用し、前記適用タイミング情報より以後のタイミングに対応する受信データには前記更新用の学習モデルを適用するように、受信データに適用する学習モデルを切り替える
    各処理を実行することを特徴とするデータ処理方法。
  6. コンピュータに、
    入力データをもとに更新用の学習モデルを作成し、該更新用の学習モデルを、データに学習モデルを適用して当該データのタイムスタンプを基準とした所定時間内に当該データを処理する複数のノードへ送信し、
    前記複数のノードへ送信された前記更新用の学習モデルと対応する、該更新用の学習モデルの適用対象であるデータのタイムスタンプに関する適用タイミング情報を前記複数のノードへ送信する
    各処理を実行させることを特徴とする学習モデル作成プログラム。
  7. コンピュータに、
    受信データをバッファへ格納し、前記バッファに格納した所定数の受信データ単位で当該受信データに学習モデルを適用して当該受信データのタイムスタンプを基準とした所定時間内に当該受信データを処理し、
    更新用の学習モデルと、該更新用の学習モデルと対応する、該更新用の学習モデルの適用対象である受信データのタイムスタンプに関する適用タイミング情報とを受信し、
    前記適用タイミング情報より前のタイミングに対応する受信データには更新前の学習モデルを適用し、前記適用タイミング情報より以後のタイミングに対応する受信データには前記更新用の学習モデルを適用するように、受信データに適用する学習モデルを切り替える
    各処理を実行させることを特徴とするデータ処理プログラム。
JP2015195302A 2015-09-30 2015-09-30 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム Expired - Fee Related JP6558188B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015195302A JP6558188B2 (ja) 2015-09-30 2015-09-30 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム
US15/251,729 US20170091669A1 (en) 2015-09-30 2016-08-30 Distributed processing system, learning model creating method and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015195302A JP6558188B2 (ja) 2015-09-30 2015-09-30 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム

Publications (2)

Publication Number Publication Date
JP2017068710A JP2017068710A (ja) 2017-04-06
JP6558188B2 true JP6558188B2 (ja) 2019-08-14

Family

ID=58409654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015195302A Expired - Fee Related JP6558188B2 (ja) 2015-09-30 2015-09-30 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム

Country Status (2)

Country Link
US (1) US20170091669A1 (ja)
JP (1) JP6558188B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7267044B2 (ja) * 2019-03-15 2023-05-01 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
KR102434460B1 (ko) * 2019-07-26 2022-08-22 한국전자통신연구원 기계학습 기반 예측 모델 재학습 장치 및 그 방법
KR102215978B1 (ko) * 2019-09-17 2021-02-16 주식회사 라인웍스 블록체인망 상 비동기 분산 병렬형 앙상블 모델 학습 및 추론 시스템 및 그 방법
KR102377628B1 (ko) * 2019-11-07 2022-03-24 한국전자통신연구원 인공지능 서비스에 대한 성능 관리 장치 및 방법
CN110958472A (zh) * 2019-12-16 2020-04-03 咪咕文化科技有限公司 视频点击量评级预测方法、装置、电子设备及存储介质
KR102283523B1 (ko) * 2019-12-16 2021-07-28 박병훈 인공지능 서비스를 제공하기 위한 방법
KR102433431B1 (ko) * 2020-08-07 2022-08-19 주식회사 에이젠글로벌 이종 데이터를 이용한 향상된 예측 시스템 및 예측 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234395B2 (en) * 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US7231399B1 (en) * 2003-11-14 2007-06-12 Google Inc. Ranking documents based on large data sets
US20070220034A1 (en) * 2006-03-16 2007-09-20 Microsoft Corporation Automatic training of data mining models
JP5584914B2 (ja) * 2010-07-15 2014-09-10 株式会社日立製作所 分散計算システム
US9286574B2 (en) * 2013-11-04 2016-03-15 Google Inc. Systems and methods for layered training in machine-learning architectures
US20150242760A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Personalized Machine Learning System
US9984337B2 (en) * 2014-10-08 2018-05-29 Nec Corporation Parallelized machine learning with distributed lockless training
US10432477B2 (en) * 2015-01-30 2019-10-01 Hitachi, Ltd. Performance monitoring at edge of communication networks using hybrid multi-granular computation with learning feedback
WO2016151637A1 (ja) * 2015-03-26 2016-09-29 日本電気株式会社 学習モデル生成システム、方法およびプログラム
US20160358099A1 (en) * 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system

Also Published As

Publication number Publication date
JP2017068710A (ja) 2017-04-06
US20170091669A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
JP6558188B2 (ja) 分散処理システム、学習モデル作成方法、データ処理方法、学習モデル作成プログラムおよびデータ処理プログラム
US10924535B2 (en) Resource load balancing control method and cluster scheduler
CN112740290B (zh) 多阶段云服务节点错误预测
CN107025205B (zh) 一种分布式系统中的训练模型的方法及设备
US9235801B2 (en) Managing computer server capacity
JP2014123365A (ja) MapReduceフレームワークにおけるデータ処理の最適化のためのデバイスおよび方法
JP6197791B2 (ja) 分散処理装置及び分散処理システム並びに分散処理方法
US9141677B2 (en) Apparatus and method for arranging query
WO2017106997A1 (en) Techniques for co-migration of virtual machines
US9170853B2 (en) Server device, computer-readable storage medium, and method of assuring data order
JP6870508B2 (ja) 学習プログラム、学習方法及び学習装置
CN113535399B (zh) 一种nfv资源调度方法、装置以及系统
US10389823B2 (en) Method and apparatus for detecting network service
US11574243B1 (en) Heterogeneous compute instance auto-scaling with reinforcement learning
US11616732B2 (en) Enhanced redeploying of computing resources
US9582189B2 (en) Dynamic tuning of memory in MapReduce systems
US20160019090A1 (en) Data processing control method, computer-readable recording medium, and data processing control device
US10789183B2 (en) Aggregation handling
Yoginath et al. Parallel vehicular traffic simulation using reverse computation-based optimistic execution
Ibrahim et al. Improving mapreduce performance with progress and feedback based speculative execution
JP2016071886A5 (ja)
US9479437B1 (en) Efficient updates of weighted cost multipath (WCMP) groups
US20210312241A1 (en) Straggler mitigation for iterative machine learning via task preemption
Ovalle et al. Distributed Cache Strategies for Machine Learning Classification Tasks over Cluster Computing Resources
JP6816824B2 (ja) 分散システム、データ管理装置、データ管理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190521

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190701

R150 Certificate of patent or registration of utility model

Ref document number: 6558188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees