このページの本文へ

1週間以上かかっていた分析を1日に短縮

Hadoopによる機械学習処理を10倍以上高速化する技術

2013年10月09日 11時00分更新

文● TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 NECはビッグデータ分析を高速化する分散処理技術を開発。機械学習で頻繁に用いられる繰り返し演算および行列演算を、信頼性を損なわずにHadoopによる機械学習処理を大幅に高速化する。

 今回開発した技術では、繰り返し演算と行列演算を多用するHadoopの機械演算を高速化するもの。具体的には、Hadoopの分散処理手法であるMapReduce間のデータ受け渡しをHDDではなく、メモリで実現することで、繰り返し演算を高速化。また、行列演算に関しては、分散処理手法としてMPI(Message Passing Interface)を利用可能にした。これにより、機械学習プログラムにおいてHadoopの10倍以上の速度を実現したという。

 さらに新技術の高速化と信頼性を両立するため、メモリ上にある処理の状態を高速にハードディスクに保存する技術を世界で初めて開発した。Hadoopでは、サーバーの故障時にハードディスク上にある入力データを用いて、故障したサーバーの計算をやりなおすことで処理を継続する。しかし、新技術で高速化を行なう場合、サーバーが故障するとメモリ上にあるMapReduceの入力データが失われてしまうため、プログラムが利用中のすべてのメモリ内容を保存する手法しかなかった。これに対して、新技術では処理の継続に必要な部分だけを選択することで、保存するデータサイズを大幅に削減し、高速な保存を実現した。定期的に処理の状態をハードディスクに保存し、サーバーの故障時にはハードディスクに保存した処理状態をメモリに読み込むことで処理を継続できる。

処理の継続に必要な部分だけを選択することで、保存するデータサイズを大幅に削減し、高速な保存を実現(同社の資料より)

 NECでは、「レコメンド・価格予測・需要予測などの分析において、従来提供まで1週間以上かかっていた最終的な分析結果を、翌日に提供でききるようになる」と説明している。

 なお、本成果の一部は、平成21年度より平成24年度までNECが参画した独立行政法人新エネルギー・産業技術総合開発機構(NEDO)のプロジェクト「グリーンネットワーク・システム技術研究開発プロジェクト(グリーンITプロジェクト)」によるもの。

■関連サイト

カテゴリートップへ