Intelが主導する新しいAIフレームワーク、BigDLとは?

2017年12月27日(水)
松下 康之 - Yasuyuki Matsushita
Apache Spark上で動作するAIの深層学習向けライブラリーBigDLを、intelのエンジニアが解説。

オライリー主催のAI Conferenceシリーズの第4弾は、Intelが開発を主導するオープンソースソフトウェア、BigDLを取り上げたい。プレゼンテーションを行ったのは、IntelのビッグデータグループのJason Dai氏とDing Ding氏だ。

登壇するIntelのDai氏(右)とDing氏(左)

登壇するIntelのDai氏(右)とDing氏(左)

まず問題提起としてDai氏は、深層学習を実行するためのインフラストラクチャーを用意することが難しいことを挙げた。これはビッグデータであればHadoopやSparkなどが実際に稼働しているのに対し、深層学習の場合はCaffeやTorch、TensorFlowなどのフレームワークはすでに存在するものの、それを稼働させるインフラストラクチャーを構築する知見が少ないことを意味する。そこでIntelは、すでに実績のあるSparkの中に深層学習のフレームワークを構築して、実行させることを目指した。それがBigDLである。

BigDLの概要

BigDLの概要

Dai氏は「深層学習の専門家とビッグデータのエンジニアの間に大きな溝があり、それが深層学習の普及を阻んでいる」という認識から発想されたものがBigDLであると解説した。

Dai氏はBigDLの要件を「使い慣れたインフラストラクチャーを活用できること」「データが格納されているHadoop/Sparkのストレージを使えること」「Hadoop/Sparkのプログラミングと同じように実行できること」そして「すでに構築されたHadoop/Sparkクラスターを流用できること」であると説明した。つまりビッグデータの稼働環境にCaffeやTorchと同等機能を持つフレームワークを載せて、分散処理を行うのがBigDLということだ。

その後、ユースケースとして中国のUnionPayを紹介した。ここではビッグデータのプラットフォームであるSparkの上で、BigDLがSparkのジョブの一つとして実行できるという例だ。チャートの後半の記述によれば、BigDLによるニューラルネットワークによって不正使用かどうかを推測しているそうだ。

参考:UnionPayにおけるBigDLユースケース

アーキテクチャーとして、Sparkのジョブを並列的に実行可能であることは、次のスライドでも説明がなされた。

BigDL on Sparkの概要

BigDL on Sparkの概要

またパラメータの分散と同期の処理にもBigDLが利用できるために、テストデータを複数に分割して処理を行った上で最終的に収束させることも可能であるという。

パラメータ同期の概要

パラメータ同期の概要

そして並列で処理を実行する際にジョブのスケジューリングを行うためのエンジン、Drizzleに関しても概要が説明された。これもオープンソースソフトウェアとして公開されているもので、UC Berkeleyとのコラボレーションによって開発が進んでいるという。

Drizzleの概要

Drizzleの概要

このスケジューリングエンジンを採用することで、並列実行時にSparkのオーバーヘッドを抑えることができたという。その検証の結果が次のスライドだ。

並列実行のオーバーヘッドが抑えられている

並列実行のオーバーヘッドが抑えられている

1日目のキーノートにおけるIntelのセッションでも、JD.comにおいてBigDLが使われていることが紹介されていた。そこで「BigDLは主に中国でのユースケースが多いのはなぜ?」という質問をセッションの後にDai氏に投げかけてみたが、意図的に選択しているわけではなく、北米でも利用が進んでいるという。ただ機械学習のエンジニアリングを行っているエンジニアに中国勢が多いのも事実であり、「AIで世界一を目指す」という中国の勢いがここでも確認できたということなのだろう。

キーノートで紹介されたJD.comでのBigDL

キーノートで紹介されたJD.comでのBigDL

また深層学習といえばGPUをフルに活用する例が多いのは事実だが、Intelとしてはその部分にもチャレンジがあるという。それをBigDLに置き換えることで、大量の処理を実行する際にIntelのCPU(Xeon)を活用することができるというのも、いかにもIntelらしい方向性だろう。

GPUによる大量処理の問題点

GPUによる大量処理の問題点

ここでもGPUではなく、IntelのXeon上のSparkを使ってスケールアウトできることがアピールされていた。

BigDLをSpark上で稼働させる理由

BigDLをSpark上で稼働させる理由

まだ公開されて1年未満という新しいソフトウェアだが、Intelが本気を出して、AIコミュニティに対してXeonをプロモーションしていこうという強い思いを感じる熱いセッションであった。

より詳細な情報は、Intelのサイトにあるこのページを参考にされたい。

BigDL: Distributed Deep Learning on Apache Spark*

GitHubにおけるBigDLのリポジトリは、こちら。

intel-analytics / BigDL

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

AI・人工知能イベント
第9回

AIは究極の悪になりえるか? Tim O'Reillyの答えは?

2018/1/12
オライリーのAI Conferenceレポートシリーズの最後は、Tim O'Reillyによるクロージングセッションと、会場の様子をお届けする。
AI・人工知能イベント
第8回

機械学習でサイバー攻撃に対抗するCylanceのソリューション

2018/1/11
高度化するマルウェアへの対抗策は、人工知能を用いた自動化であると主張するCylanceのセッションを紹介する。
AI・人工知能イベント
第7回

Microsoftのデータサイエンティストが解説するモバイル向けCNNとは?

2018/1/10
昨今の高性能なスマートフォンを用いて画像認識などの処理を行う場合のポイントを、Microsoftの研究者が解説する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています