予測の根拠を説明できる異種混合学習技術だが、大きな課題もあった。それは、処理が複雑な上、並列処理が行えないという点だ。そのため、1つのCPUコアでの処理に限られ、元のデータ量が増えるとそれだけ処理時間が延びることになり、適用用途が限られた。
今回、NECが開発した技術は「分散版異種混合学習技術」であり、その名の通り、分散コンピューティングシステムで、大規模データを高速処理する技術だ。
分散版異種混合学習技術では、「ドライバー」と呼ぶ1つのCPUコアがシステム全体を統括する司令塔役を務める。そしてそのドライバー下に、「エクスキューター」と呼ぶ異種混合学習処理を行うCPUコアが配置され、それらエクスキューターはランダムに割り当てられるデータに対し、それぞれ別個に異種混合学習処理を行い、データの場合分け、予測するための変数(因子)の組み合わせを行い予測モデルを生成する。エクスキューターがそれぞれ生成した予測モデルをドライバーが集めて統合。その統合した予測モデルを各エクスキューターに戻し、さらに各エクスキューターが異種混合学習処理を行いより高精度な予測モデルを生成するといったことを繰り返し、高精度な予測モデルに仕上げていく。
こうした分散コンピューティング基盤として、University of California at Berkeley(カリフォルニア大学バークレー校)で開発されたオープンソースデータ処理フレームワーク「Apache Spark」を利用し、実現したという。
「この仕組みにより、分析対象データは、各エクスキューターのメモリ上に分散配置すると、それ以降再配置や再読み込みの必要がなく、大容量の通信を必要としない。ドライバーとエクスキューター間でやりとりされるのはキロバイト〜メガバイト程度のモデル情報だけで済む。エクスキューターを増やすだけで、大規模な分析対象データを高速に処理できるようになった」とする。
Copyright © ITmedia, Inc. All Rights Reserved.