• 検索結果がありません。

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

N/A
N/A
Protected

Academic year: 2021

シェア "ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

ビッグデータ分析を高速化する

分散処理技術を開発

(2)

概要

▌ NECは、ビッグデータの分析を高速化する分散処理技術を開発しました ▌ 本技術により、レコメンド・価格予測・需要予測などに必要な機械学習処 理を従来の10倍以上高速に行い、分析結果の迅速な活用に貢献します  ビッグデータの分散処理で一般的なオープンソース「Hadoop」を利用。 ▌ これにより、レコメンド・価格予測・需要予測などの分析において、 従来提供まで1週間以上かかっていた最終的な分析結果を、 翌日に提供できるようになります  長期間分析結果が得られないことでかかるコストや機会損失リスクを低減

(3)

背景

▌ 近年、インターネットやセンサなどから集まるビッグデータを分析することで、 有用な情報を抽出し、ビジネスに活用するニーズが高まっている

▌ 現在、このようなビッグデータの分析は、Hadoop[*] 等の分散処理基盤を 用い、多数のサーバで行うことが一般的

[*] Apache Software Foundationが開発・公開しているオープンソースの分散処理基盤 Hadoop等で

分散処理

分析結果 収集した

(4)

課題

▌ Hadoopは、集計のような単純な分析は高速に実行できるものの、 レコメンド・価格予測・需要予測などに用いる、機械学習[*] のような 複雑な分析は高速に実行することができない Hadoop [*]データから規則やパターン、知識を抽出し、現状認識や将来予測を行う技術 Hadoop 機械学習のような 複雑な分析 集計のような 単純な分析 高速に実行 高速に実行 できない

(5)

高速に実行できないことによる問題

▌ 分析を行う際は、処理結果を基に分析方法(パラメータの設定等)を修正 するなどし、分析処理を複数回行う。 ▌ 例えば、5回分析する場合、 1回の処理に10時間かかると、 最終的な分析結果を得るまでに1週間以上かかる ▌ 1時間で処理できれば、1日で分析結果を得ることが可能 ○○システムの××予測、 急に当らなくなったんだけど… △△の状況が変わっ たためですね。 分析のやり直しです。 1週間かかります 分析をやりなおして、 明日修正します それは助かるわ! その間、精度が悪いから利 益に影響するんだけど… 現状の問題 本技術による解決

(6)

高速化技術の概要

▌ 機械学習で頻繁に用いられる繰り返し演算および行列演算を 信頼性を損なわずに高速化 ▌ 新技術を用いた新たな分散処理ソフトウェアを試作、大量データを用いた 機械学習プログラムで検証、MapReduce部分を置き換えることで、 従来のHadoopの10倍以上の速度を達成 ▌ これにより、最終的な分析結果を得るまで、1週間以上かかっていた[*] 時間を1日に短縮し、分析結果の迅速な利用を可能に [*] 利用者数400万人、商品数50万点、購入履歴数2000万の購入履歴を用いて、 レコメンド処理を実行した場合

(7)

従来のHadoopと本技術の比較評価

13倍高速 17倍高速

▌ 2種類の機械学習プログラムで比較

 いずれも大量の文書を入力として、類義語等関連の深い単語を抽出するもの • LSA (Latent Semantic Analysis), LDA (Latent Dirichlet Allocation)

評価環境:

• 18台、72CPUのクラスタで評価

• 従来のHadoopはMahout(Hadoopを用いて記述された機械学習プログラム)による実装を利用 • 入力は英語版Wikipedia(文書数約400万、単語種類約50万、総単語数約2000万)。

(8)

技術の特長①

(9)

[ご参考] MapReduceとは

▌Hadoopでは、「MapReduce」 を単位として分散処理を実現 ▌分散して処理を行うMap処理とその結果を集約するReduce処理から構成  Map処理の出力では、データの種類を「キー」として指定  Reduce処理には、同じ「キー」のデータが集められる ▌ プログラマはMap及びReduce関数を記述、システムが自動的に分散実行 分散配置されたデータ を処理対象に処理

Map Map Map Map

(10)

従来のHadoopでの機械学習処理

▌ 集計のような単純な分析は、MapReduce単一で実現できるが、 機械学習は繰り返し演算を必要とするため、これを実現するため 多数のMapReduceを組み合わせる必要がある ▌ また、機械学習は行列演算も必要とするが、MapReduceは不得意  多数のMapReduceを組み合せる必要があるとともに、処理を実行する際に サーバ間の通信が非効率になるケースがある MapReduce 集計のような 単純な分析 機械学習のような 複雑な分析 多数のMapReduceの組合せが必要 MapReduce MapReduce … MapReduce

(11)

多数のMapReduceの組合せで低速になる理由

▌MapReduce間のデータ受け渡しが遅いため

ハードディスク経由で多量のデータが受け渡される

MapReduce MapReduce MapReduce

データの 受け渡しが遅い

(12)

高速化の内容

▌ データの受け渡しをハードディスクではなく、メモリ経由とし、高速化

▌ 行列演算を得意とするMPI (Message Passing Interface) [*]を 利用可能とし、行列演算を高速化

MapReduce MapReduce MapReduce

メモリ経由で受け渡し

(13)

技術の特長②

(14)

従来のHadoopでの高信頼化

▌ 分散処理では多数のサーバを用いるため、1台が故障する確率が増大 したがって、サーバが故障した場合でも処理を継続できる仕組みが必須 ▌ 故障時の動作  各MapReduceは、その入力がハードディスクに保存されていることを仮定  一部サーバが故障したら、保存されている入力を用いて、 故障したサーバの計算を再度実行 ▌ 今回の高速化技術では、メモリ経由でデータを受け渡すため、この仕組みは 使えない  サーバ故障時には失われてしまう MapReduce MapReduce … ハードディスクに データを保存 一部サーバが故障 MapReduce MapReduce … 保存されている入力を用いて 故障したサーバの計算を再度実行

(15)

新たな高信頼化手法を開発

▌ 処理の途中の状態を高速に保存する手法を開発  適切な頻度で処理の途中の状態を保存  サーバ故障時には、保存した状態から実行を再開、処理を継続 処理の途中の 状態を保存 故障 スペアと入替 保存した状態に戻し、 実行を再開

(16)

処理の途中の状態を高速に保存する手法

▌ 各サーバで動いているプログラムが利用しているメモリのうち、 プログラムの再開に必要な部分だけを選択して保存する手法を 世界で初めて実現 ▌ これにより、保存するデータサイズを大幅に削減、高速な保存を実現 プログラムが 利用中のメモリ プログラムの再開に 必要な部分 プログラムの再開に 必要な部分だけを 保存 プログラムの再開には不要な部分 (例:不要になったデータ)

(17)

参照

関連したドキュメント

「父なき世界」あるいは「父なき社会」という概念を最初に提唱したのはウィーン出身 の精神分析学者ポール・フェダーン( Paul Federn,

「1 建設分野の課題と BIM/CIM」では、建設分野を取り巻く課題や BIM/CIM を行う理由等 の社会的背景や社会的要求を学習する。「2

当協会は、我が国で唯一の船舶電気装備技術者の養成機関であるという責務を自覚し、引き

エッジワースの単純化は次のよう な仮定だった。すなわち「すべて の人間は快楽機械である」という

○齋藤第一部会長 もう一度確認なのですが、現存の施設は 1 時間当たり 60t の処理能力と いう理解でよろしいですよね。. 〇事業者

り分けることを通して,訴訟事件を計画的に処理し,訴訟の迅速化および低

最後に,本稿の構成であるが,本稿では具体的な懲戒処分が表現の自由を

2020年 8月 5日