Apache SparkとディープラーニングライブラリTensorFlowとの統合,構造化ストリーミング(Structured Streaming)とGPUハードウェアアクセラレーションを使用したオンラインラーニング – この2つが,先週ブリュッセルで開催されたSpark Summit EU 2016のハイライトだ。
初日にフィーチャーされたのは,Spark 2.0で導入されたイノベーションの紹介だ。APIが簡略化されてDataFramesとDatasets用の単一インターフェースになり,ビッグデータアプリケーションの開発が容易になった。第2世代Tungstenエンジンでは,データ処理クエリにMPPデータベースクエリの考え方が採用され,処理がさらにハードウェアに近くなった – 生成されるバイトコードでは中間データの保存にCPUレジスタが活用されるようになり,メモリ上のデータはスペース効率の高いコラム思考の形式で保持されるようになった。
使用されるAPIに関わらず,データ操作グラフはCatalyst Optimizerによって最適化される。Catalyst Optimizerはクラスタを越えた計算の実行プランを作成し,各オペレーション用に最適化されたコードを出力する。
カンファレンスでは,ストリーミングのための新しい高レベルAPIである構造化ストリーミングのアルファ版も報告された。このAPIはSparkのDatasetおよびDataFrame APIに統合されており,SparkバッチAPIを使用するのと同じ方法で,外部システムとのデータ読み込みと書き込み操作を双方向で行なうことができる。また,ストリーミング処理をバッチ処理に変換することで,強力な一貫性を提供すると同時に,ストレージシステム(HDFSやAWS S3のような)とのトランザクションの統合を実現する。
2日目にはDatabricks CEOのAli Ghodsi氏が,MLアルゴリズムのデータ作成と計算インフラストラクチャ管理を容易にするという側面から,AIを民主化するツールとしてのSparkを描いてみせた。今年の初めには,ディープラーニングライブラリのTensorFlowがSpark上で動作するように統合されたTensorFramesというライブラリが登場している。このライブラリでは,DataFramesとTensorFlowランタイム間のデータ転送が可能だ。
データサイエンストラックには,構造化ストリーミングが実現するマシンラーニングのレジリエンスによって,オンラインラーニングが可能になることを取り上げたセッションもあった – これが事実ならば,膨大な数のオフラインジョブによるマシントレーニングを必要としない,入力データによるマシンラーニングモデルの更新が可能になる。
最後に注目されたのは,DatabricksプラットフォームのGPUサポートと,より多くのディープラーニングライブラリとの統合に関する発表だ。GPUサポートはCUDAなどのハードウェアライブラリを介して行われる。それがDatabricksに予め組み込まれることで,クラスタセットアップのコストを低減するということだ。
この記事を評価
- 編集者評
- 編集長アクション