当サイトでは、サービス向上、アクセス状況計測、広告配信などのためにクッキーを使用しています。個人情報保護について

OK

Please note that JavaScript and style sheet are used in this website,
Due to unadaptability of the style sheet with the browser used in your computer, pages may not look as original.
Even in such a case, however, the contents can be used safely.

  1. ホーム
  2. プレスリリース
  3. NEC、ビッグデータ分析を高速化する分散処理技術を開発

NEC、ビッグデータ分析を高速化する分散処理技術を開発 ~ Hadoopを用いた機械学習処理を10倍以上高速化 ~

2013年10月8日
日本電気株式会社




NECは、ビッグデータの分析を高速化する分散処理技術を開発しました。本技術により、これまで長時間かかっていたレコメンド(注1)・価格予測・需要予測などを行うビッグデータの機械学習(注2)処理をHadoop(注3)で実行する際、従来の10倍以上高速化でき、分析結果の迅速な活用に貢献します。

現在、ビッグデータの分析は、Hadoopを主とした分散処理基盤を用いることが一般的です。しかしHadoopでは、データから規則性やパターンなどを抽出する機械学習等の複雑な処理を高速に実行することは困難でした。
データ分析に時間がかかると、企業が分析結果を迅速に利用できないという課題が生じます。例えば、多量のデータを用いて、レコメンド・価格予測・需要予測など高度な分析を行う場合、処理結果を基に様々な検討を行い、分析軸の変更や処理を何度も繰り返す必要があり、データ量によっては、最終的な分析結果を得るために1週間以上かかることもあります。このような場合、リアルタイムな分析ができず、機会損失等につながります。

NECがこのたび開発した分散処理技術は、機械学習で頻繁に用いられる繰り返し演算および行列演算を、信頼性を損なわずに高速化します。
本技術を検証した結果、従来のHadoopと比較し10倍以上の速度を達成しました。これにより、例えば、これまで1週間以上かかっていた分析を1日に短縮し、分析結果の迅速な利用を可能とします(注4)。

このたび開発した技術の特長は、次のとおりです。

  1. 機械学習等の複雑な処理を高速化
    機械学習では繰り返し演算と行列演算が頻繁に用いられます。
    Hadoopで繰り返し演算を実現するためには、分散処理手法であるMapReduce(注5)を多数組み合わせる必要があります。従来、MapReduce間のデータ受け渡しはハードディスク経由で行う必要があり、処理に時間がかかり、非効率になっていました。新技術では、MapReduce間のデータ受け渡しをメモリで実現することで、繰り返し演算を高速化します。 また、行列演算をMapReduceで実現する場合、多数のMapReduceを組み合せる必要があるとともに、処理を実行する際にサーバ間の通信が非効率になるケースがあります。これを解決するため、新技術では別の分散処理手法であるMPI (Message Passing Interface)(注6)を利用可能とし高速化を実現しました。
    これらにより、機械学習プログラムにおいてHadoopの10倍以上の速度を実現します。


  2. 世界初、処理の途中の状態を保存する手法により、高速化と高い信頼性を両立
    分散処理では多数のサーバを用いるため、そのうちの1台が故障する確率も増大します。そのため、サーバが故障した場合でも処理を継続できる高信頼化の仕組みが必要となります。
    Hadoopでは、サーバ故障時にはハードディスク上にある入力データを用いて、故障したサーバが行った計算をやりなおすことで処理を継続し、高信頼化を実現しています。一方、今回の新技術により高速化を行う場合、MapReduceの入力データはメモリ上にあるため、サーバが故障するとデータが失われてしまいます。
    そのためNECは、高速化と信頼性を両立するため、メモリ上にある処理の状態を高速にハードディスクに保存する技術を世界で初めて開発しました。
    従来、処理の状態を保存する手法としては、プログラムが利用中のすべてのメモリ内容を保存する手法しかありませんでした。本技術では処理の継続に必要な部分だけを選択することで、保存するデータサイズを大幅に削減し、高速な保存を実現しました。 本技術を用いて、定期的に処理の状態をハードディスクに保存し、サーバ故障時にはハードディスクに保存した処理の状態をメモリに読み込むことで処理を継続します。

昨今のビッグデータ分析では、集計のような単純な分析だけではなく、機械学習のようなより高度な分析に基づき、レコメンドや価格予測、需要予測などを行うニーズが高まっています。このたびの分散処理技術は、こうしたニーズに応えるものであり、NECは今後もビッグデータ活用を支える技術の開発に取り組んでいきます。

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

NECは今回の成果を、アメリカ・カリフォルニアで開催される国際学会「IEEE International Conference on Big Data 2013」(10/6~10/9)において、10/8に発表します。


【別紙】 ビッグデータ分析を高速化する分散処理技術を開発


以上


(注1) 利用者が関心を持ちそうな商品などを、購入履歴などから推薦する手法。

(注2) データから規則やパターン、知識を抽出し、現状認識や将来予測を行う技術。

(注3) Apache Software Foundationが開発・公開しているオープンソースの分散処理基盤。

(注4) 利用者数400万人、商品数50万点、購入履歴数2000万の購入履歴を用いて、レコメンド処理を実行した場合。

(注5) Hadoopで用いられる分散処理手法。分散して処理を行うmap処理と、その結果を集約するreduce処理から構成される。

(注6) サーバ同士がメッセージを送りあうことで分散処理を行う手法。


本件に関するお客様からのお問い合わせ先

NEC 研究企画本部 広報グループ
お問い合わせ

私たちNECグループは、
「人と地球にやさしい情報社会をイノベーションで実現する
グローバルリーディングカンパニー」を目指しています。

Share: