Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deep Learning On Apache Spark

1,593 views

Published on

GTC Japan 2016でプレゼンした、Spark上で動作するDeep Learningライブラリの選択肢と、Sparkで動かすとこのメリットなどをまとめたスライドです。

Published in: Technology

Deep Learning On Apache Spark

  1. 1. Deep Learning on Apache Spark Yuta Imai Solutions Engineer, Hortonworks
  2. 2. Apache Spark
  3. 3. 3 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Apache Spark Ã  RDDという分散データセットを処理の基本単位としたジェネリッ クな⼤規模データ処理のためのエンジン Ã  プログラマフレンドリなAPIを提供しており⼈気が⾼い Ã  Spark SQL, Spark Streaming, SparkML, GraphX, SparkR
  4. 4. 4 © Hortonworks Inc. 2011 – 2016. All Rights Reserved sc.textFile("/some-hdfs-data") map map reduceByKey collect textFile .flatMap(line=>line.split(" ")) .map(word=>(word, 1))) .reduceByKey(_ + _, 3) .collect() RDD[String] RDD[List[String]] RDD[(String, Int)] Array[(String, Int)] RDD[(String, Int)] すべてのデータ処理の基本単位となるRDD RDDに対する処理のつながりをDAGとして構築し・・・
  5. 5. 5 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Driver (e.g. Zeppelin) Executor Executor Executor Job Task Task P PRDD Task P Task Task P P Task P Task Task P P Task P HDFS HDFS HDFS Worker Node 1 Worker Node 2 SparkはRDDに対する処理を分散実⾏する 構築されたDAGを分散実⾏する
  6. 6. Deep Leaning & Spark
  7. 7. 7 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learningと分散処理 Ã  ”Data Parallel”によるDeep Learningのモデルトレーニングの並列化 と、それによる処理時間の短縮 mini batch mini batch mini batch mini batch Model シリアルに 評価&モデル更新 mini batch mini batch mini batch mini batch Model Copy Model Copy Model Copy Model Copy Master 同⼀モデルのコ ピーによる評価の 並列化。結果を Masterでモデル更 新し、再度モデル を配布
  8. 8. 8 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark Apache Spark上で動作するDeep Learningフレームワークの代表的な選択肢 Ã Deeplearning4j – Skymind社が開発を進めているオープンソースのプロジェク ト。商⽤サポートあり。 – その名のとおりJVMで動くことを前提に作られている。 – ND4jという多次元配列取扱の ライブラリも⼀緒に提供 citaHon: hJp://deeplearning4j.org/
  9. 9. 9 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark Apache Spark上で動作するDeep Learningフレームワークの代表的な選択肢 Ã CaffeOnSpark – CaffeのSpark拡張 – Yahoo! Inc.によって主に開発が進められているオープン ソースプロジェクト。 – 既存のSparkのコード資産やワークフロー資産を強調。 citaHon: hJp://yahoohadoop.tumblr.com/post/139916563586/caffeonspark-open-sourced-for-distributed-deep
  10. 10. 10 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark Apache Spark上で動作するDeep Learningフレームワークの代表的な選択肢 Ã H2O on Spark(Sparkling Water) – H2O社が開発しているオープンソースプロジェクト。商⽤サ ポートあり。 – DataFrameの実装あり – FFNNのみサポート(?) citaHon: hJps://github.com/h2oai/sparkling-water/blob/master/DEVEL.md
  11. 11. 11 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark 他にも・・・ Ã SparkNet Ã TensorSpark Ã (Tensorflow)
  12. 12. 12 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark 他にも・・・ Ã SparkNet Ã SparklingWarter Ã TensorSpark Ã (Tensorflow)
  13. 13. Why Spark?(& Hortonworks)
  14. 14. 14 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Why Spark? Ã データストアとしてのHadoop – HDFSをデータストアとして利⽤可能 – 同じようにHiveからデータを取り出したデータをトレーニング に利⽤することも – SparkはHDFSやHive他、様々なデータストアを利⽤できるの で⼤規模なトレーニングデータの取り出しや、結果の保存など のワークフローの構築が容易
  15. 15. 15 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Why Spark? Ã YARNによるリソース管理 – Hadoopクラスタからのリソース払い出し/管理。 – リソースキューを活⽤することによりワークロード管理も。 – Node Labelを利⽤することにより例えばGPUノードだけを割 り当てるといったことも可能に。 – もちろんリソースへのアクセスコントロールも。 1 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° n SQL Hive Pig Script-based ETL Stream Processing Storm ML/DL Spark YARN RM App Master Monitoring UI Spark⽤にリソースを払い出し/管理
  16. 16. 16 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Why Spark? Ã Apache Zeppelin – SparkのノートブックであるZeppelinを活⽤することでワーク フローの構築がしやすく。
  17. 17. 17 © Hortonworks Inc. 2011 – 2016. All Rights Reserved Deep Learning on Apache Spark on Hortonworks Data Platform Hortonworks Data Platform 2.5 GOVERNANCE OPERATION S BATCH, INTERACTIVE & REAL-TIME DATA ACCESS YARN: Data OperaIng System (Cluster Resource Management) Map Reduce Apache Falcon Apache Sqoop Apache Flume Apache Ka^a Apache Hive Apache Pig Apache HBase Apache Accumulo Apache Solr Apache Spark Apache Storm 1 • • • • • • • • • • • • • • • • • • • • • • • HDFS (Hadoop Distributed File System) Apache Ambari Apache ZooKeeper Apache Oozie Deployment Choice Linux Windows On- premises Cloud Apache Atlas Cloudbreak SECURITY Apache Ranger Apache Knox Apache Atlas HDFS EncrypHon ISV Engines → 周辺部の⼿間はプラットフォームに任せ   DLアプリケーションの開発にリソースを集中できる!

×