Denis Magda Ml Dl Imc Summit

Denis Magda Ml Dl Imc Summit

In-Memory Performance Durability of Disk © 2018 GridGain Systems, Inc. Scalable Machine and Deep Learning with Apache Ignite Denis Magda Apache Ignite PMC Chair GridGain Director of Product Management © 2018 GridGain Systems, Inc. Agenda • Why Machine Learning at Scale? • Ignite Machine Learning • Genetic Algorithms • TensorFlow Integration • Demo • Q&A © 2018 GridGain Systems, Inc. Why Machine Learning at Scale? 1. Models trained and deployed in different systems • Move data out for training • Wait for training to complete • Redeploy models in production 2. Scalability • Data exceed capacity of single server • Burden for developers © 2018 GridGain Systems, Inc. Memory-Centric Storage Automatic Defragmentation Memory-Centric Storage Predictable memory Off-heap Removes IN-MEMORY IN-MEMORY IN-MEMORY consumption noticeable GC pauses Fully Transactional Stores Superset (Write-Ahead Log) of Data Instantaneous Server Node Server Node Server Node Restarts © 2018 GridGain Systems, Inc. Machine Learning R C++ Python Java Scala REST Multi-Language Support Distributed Algorithms K-Means Regressions Decision Trees Random Forest Distributed Core Algebra Dense and Sparse Algebra IN-MEMORY IN-MEMORY IN-MEMORY Large Scale Parallelization Server Node Server Node Server Node No ETL © 2018 GridGain Systems, Inc. GridGain Company Confidential Record to Node Mapping Server Node Key Partition ON-DISK © 2018 GridGain Systems, Inc. Caches and Partitions Cache K1, V1 K5, V5 K3, V3 K7,V7 K2, V2 K6, V6 K4, V4 K8, V8 K9, V9 Partition 1 Partition 2 © 2018 GridGain Systems, Inc. Partitions Distribution Ignite Node 1 Ignite Node 2 0 2 1 0 Ignite Node 3 Ignite Node 4 Primary 2 3 3 1 Backup © 2018 GridGain Systems, Inc. Partition-Based Dataset Ignite Node 2 Client Ignite Node 1 P2 C D Initial P1 C D solution Training Training REDUCE © 2018 GridGain Systems, Inc. Training Failover Ignite Node 1 Ignite Node 2 P C D* P C D P = Partition C = Partition Context D = Partition Data D* = Local ETL © 2018 GridGain Systems, Inc. Continuous Learning © 2018 GridGain Systems, Inc. Algorithms and Applicability Classification Regression Identify to which category a Modeling the relationship Description new observation belongs, on between a scalar dependent the basis of a training set of variable y and one or more data explanatory variables x spam detection, image drug response, stock prices, Applicability recognition, credit scoring, supermarket revenue disease identification nearest neighbor, decision linear regression, decision Algorithms tree classification, neural tree regression, nearest network neighbor, neural network © 2018 GridGain Systems, Inc. Algorithms and Applicability Clustering Preprocessing Grouping a set of objects in Feature extraction and Description such a way that objects in the normalization same group are more similar to each other than to those in other groups customer segmentation, transform input data, such as Applicability grouping experiment text, for use with machine outcomes, grouping learning algorithms shopping items Algorithms k-means Normalization preprocessor © 2018 GridGain Systems, Inc. Linear Regression // y = bx + a LinearRegressionModel model = trainer.train(trainSet); double prediction = model.predict(sampleObject); • Ordinary Least Squares // Prepare trainSet • Linear Regression Trainer ... • QR Decomposition // QR Decomposition LinearRegressionQRTrainer trainer = new LinearRegressionQRTrainer(); • Gradient Descent LinearRegressionModel mdl = trainer.train(trainSet); // Gradient Descent LinearRegressionSGDTrainer trainer = new LinearRegressionSGDTrainer( 1000, 1e-6); LinearRegressionModel mdl = trainer.train(trainSet); © 2018 GridGain Systems, Inc. Decision Trees // Train the model DecisionTreeModel mdl = trainer.train( new BiIndexedCacheColumnDecisionTreeTrainerInput( • Data stored by features cache, new HashMap<>(), ptsCnt, featCnt)); • Related data on same node // Estimate the model on the test set IgniteTriFunction<Model<Vector, Double>, • Features Stream<IgniteBiTuple<Vector, Double>>, Function<Double, Double>, • Continuous Double> mse = Estimators.errorsPercentage(); • Categorical Double accuracy = mse.apply(mdl, testMnistStream.map( v -> new IgniteBiTuple<>(v.viewPart(0, featCnt), v.getX(featCnt))), Function.identity()); System.out.println(">>> Errs percentage: " + accuracy); © 2018 GridGain Systems, Inc. Demo: Fraud Detection © 2018 GridGain Systems, Inc. Genetic Algorithms Biological Evolution Simulation Chromosome and Genes Cluster IN-MEMORY F1, C1, M1 F = F1 + F2 C = C1 + C2 M = M1 + M2 IN-MEMORY F2, C2, M2 F = Fitness Calculation C = Crossover Ignite Cluster M = Mutation Collocated Computation © 2018 GridGain Systems, Inc. TensorFlow Integration: Benefits • Ignite as distributed data source – Perfect fit for distributed TF training • Less ETL – TF nodes deployed together with Ignite nodes – In-machine data movement only • TF tasks execution in-place in Ignite – Roadmap © 2018 GridGain Systems, Inc. TensorFlow Integration: Main Features • Distribution of user tasks written in Python • Automatic creation and maintenance of TF cluster • Minimization of ETL costs • Fault tolerance for both Ignite and TF instances © 2018 GridGain Systems, Inc. Demo: TensorFlow and Ignite © 2018 GridGain Systems, Inc. Summary: Apache Ignite Benefits • Massive scalability • Horizontal + Vertical • RAM + Disk • Zero-ETL • Train models and run algorithms in place • Fault tolerance and continuous learning • Partition-based dataset © 2018 GridGain Systems, Inc. Resources • Apache Ignite ML Documentation: – https://apacheignite.readme.io/docs • ML Blogging Series: – Genetic Algorithms with Apache Ignite – Introduction to Machine Learning with Apache Ignite – Using Linear Regression with Apache Ignite – Using k-NN Classification with Apache Ignite – Using K-Means Clustering with Apache Ignite – Using Apache Ignite’s Machine Learning for Fraud Detection at Scale © 2018 GridGain Systems, Inc. Among Top 5 Apache Projects Over 1M downloads per year Top 5 Developer Top 5 User Top 5 by Commits Mailing Lists Mailing Lists 1. Ignite 1. Lucene/Solr 1. Hadoop 2. Kafka 2. Ignite 2. Ambari 3. Tomcat 3. Flink 3. Camel 4. Beam 4. Kafka 4. Ignite 5. James 5. Cassandra 5. Beam © 2018 GridGain Systems, Inc. GridGain Company Confidential Apache Ignite – We’re Hiring ;) • Very Active Community • Great Way to Learn Distributed Computing • How To Contribute: – https://ignite.apache.org/ © 2018 GridGain Systems, Inc. GridGain Company Confidential Any Questions? Thank you for joining us. Follow the conversation. http://ignite.apache.org @ApacheIgnite @gridgain @denismagda © 2018 GridGain Systems, Inc..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    26 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us