SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
WIFI SSID:Spark+AISummit | Password: UnifiedDataAnalytics
Luca Canali, CERN
Deep Learning Pipelines
for High Energy Physics
using Apache Spark with
Distributed Keras and
Analytics Zoo
#UnifiedDataAnalytics #SparkAISummit
About Luca
3#UnifiedDataAnalytics #SparkAISummit
• Data Engineer at CERN
– Hadoop and Spark service, database services
– 19+ years of experience with data engineering
• Sharing and community
– Blog, notes, tools, contributions to Apache Spark
@LucaCanaliDB – http://cern.ch/canali
CMS
ALICE
ATLAS
LHCb
CERN:
Particle Accelerators (LHC)
High Energy Physics Experiments
Experimental High Energy Physics
is Data Intensive
5
Particle Collisions Physics Discoveries
Large Scale
Computing
https://twiki.cern.ch/twiki/pub/CMSPublic/Hig13002TWiki/HZZ4l_animated.gif
And https://iopscience.iop.org/article/10.1088/1742-6596/455/1/012027
Key Data Processing Challenge
• Proton-proton collisions at LHC experiments happen at 40MHz.
• Hundreds of TB/s of electrical signals that allow physicists to investigate
particle collision events.
• Storage, limited by bandwidth
• Currently, only 1 every ~40K events stored to disk (~10 GB/s).
2018: 5 collisions/beam cross
Current LHC
2026: 400 collisions/beam cross
Future: High-Luminosity LHC upgrade
This can generate up to a petabyte of raw data per second
Reduced to GB/s by filtering in real time
Key is how to select potentially interesting events (trigger systems).
PB/s
40 million
collisions
per
second
(Raw)
100,000
selections
per
second
(L1)
TB/s
1,000
selections
per
second
(L2)
GB/s
Data Flow at LHC Experiments
R&D – Data Pipelines
• Improve the quality of filtering systems
• Reduce false positive rate
• From rule-based algorithms to classifiers based on
Deep Learning
• Advanced analytics at the edge
• Avoid wasting resources in offline computing
• Reduction of operational costs
Particle Classifiers Using Neural Networks
1
63%
2
36%
3
1%
Particle
Classifier
W + j
QCD
t-t̅
• R&D to improve the quality of filtering systems
• Develop a “Deep Learning classifier” to be used by the filtering system
• Goal: Identify events of interest for physics and reduce false positives
• False positives have a cost, as wasted storage bandwidth and computing
• “Topology classification with deep learning to improve real-time event selection at the
LHC”, Nguyen et al. Comput.Softw.Big Sci. 3 (2019) no.1, 12
Deep Learning Pipeline for Physics Data
Data
Ingestion
Feature
Preparation
Model
Development
Training
Read physics
data and
feature
engineering
Prepare
input for
Deep
Learning
network
1. Specify model
topology
2. Tune model
topology on
small dataset
Train the best
model
Technology: the pipeline uses Apache Spark + Analytics Zoo and
TensorFlow/Keras. Code on Python Notebooks.
Analytics Platform at CERN
HEP software
Experiments storage
HDFS
Personal storage
Integrating new “Big Data”
components with existing
infrastructure:
• Software distribution
• Data platforms
Text
Code
Monitoring
Visualizations
Hadoop and Spark Clusters at CERN
• Clusters:
• YARN/Hadoop
• Spark on Kubernetes
• Hardware: Intel based servers, continuous refresh and capacity expansion
Accelerator logging
(part of LHC
infrastructure)
Hadoop - YARN - 30 nodes
(Cores - 1200, Mem - 13 TB, Storage – 7.5 PB)
General Purpose Hadoop - YARN, 65 nodes
(Cores – 2.2k, Mem – 20 TB, Storage – 12.5 PB)
Cloud containers Kubernetes on Openstack VMs, Cores - 250, Mem – 2 TB
Storage: remote HDFS or EOS (for physics data)
Extending Spark to Read Physics Data
• Physics data
• Currently: >300 PBs of Physics data, increasing ~90 PB/year
• Stored in the CERN EOS storage system in ROOT Format and
accessible via XRootD protocol
• Integration with Spark ecosystem
• Hadoop-XRootD connector, HDFS compatible filesystem
• Spark Datasource for ROOT format
JNI
Hadoop
HDFS
APIHadoop-
XRootD
Connector
EOS
Storage
Service XRootD
Client
C++ Java
https://github.com/cerndb/hadoop-xrootd
https://github.com/diana-hep/spark-root
Labeled Data for Training and Test
● Simulated events
● Software simulators are used to generate events
and calculate the detector response
● Raw data contains arrays of simulated particles
and their properties, stored in ROOT format
● 54 million events
Step 1: Data Ingestion
• Read input files: 4.5 TB from custom (ROOT) format
• Feature engineering
• Python and PySpark code, using Jupyter notebooks
• Write output in Parquet format
Output:
• 25 M events
• 950 GB in Parquet format
• Target storage (HDFS)
Input:
• 54 M events
~4.5 TB
• Physics data
storage (EOS)
• Physics data
format (ROOT)
● Filtering
● Multiple filters, keep only events of interest
● Example: “events with one electrons or muon with Pt > 23 Gev”
• Prepare “Low Level Features”
• Every event is associated to a matrix of particles and features (801x19)
• High Level Features (HLF)
• Additional 14 features are computed from low level particle features
• Calculated based on domain-specific knowledge
Feature Engineering
Step 2: Feature Preparation
Features are converted to formats
suitable for training
• One Hot Encoding of categories
• MinMax scaler for High Level Features
• Sorting Low Level Features: prepare input
for the sequence classifier, using a metric
based on physics. This use a Python UDF.
• Undersampling: use the same number of
events for each of the three categories
Result
• 3.6 Million events, 317 GB
• Shuffled and split into training and test
datasets
• Code: in a Jupyter notebook using
PySpark with Spark SQL and ML
Performance and Lessons Learned
• Data preparation is CPU bound
• Heavy serialization-deserialization due to Python UDF
• Ran using 400 cores: data ingestion took ~3 hours,
• It can be optimized, but is it worth it ?
• Use Spark SQL, Scala instead of Python UDF
• Optimization: replacing parts of Python UDF code with Spark SQL
and higher order functions: run time from 3 hours to 2 hours
Neural Network Models and
1. Fully connected feed-forward deep neural
network
• Trained using High Level Features (~1 GB of data)
2. Neural network based on Gated Recurrent
Unit (GRU)
• Trained using Low Level Features (~ 300 GB of
data)
3. Inclusive classifier model
• Combination of (1) + (2)
Complexity +
Classifier
Performance
Hyper-Parameter Tuning– DNN
• Hyper-parameter tuning of the DNN model
• Trained with a subset of the data (cached in memory)
• Parallelized with Spark, using spark_sklearn.grid_search
• And scikit-learn + keras: tensorflow.keras.wrappers.scikit_learn
Deep Learning at Scale with Spark
• Investigations and constraints for our exercise
• How to run deep learning in a Spark data pipeline?
• Neural network models written using Keras API
• Deploy on Hadoop and/or Kubernetes clusters (CPU clusters)
• Distributed deep learning
• GRU-based model is complex
• Slow to train on a single commodity (CPU) server
Spark, Analytics Zoo and BigDL
• Apache Spark
• Leading tool and API for data processing at scale
• Analytics Zoo is a platform for unified analytics
and AI
• Runs on Apache Spark leveraging BigDL / Tensorflow
• For service developers: integration with infrastructure
(hardware, data access, operations)
• For users: Keras APIs to run user models, integration
with Spark data structures and pipelines
• BigDL is an open source distributed deep learning
framework for Apache Spark
BigDL Run as Standard Spark Programs
Spark
Program
DL App on Driver
Spark
Executor
(JVM)
Spark
Task
BigDL lib
Worker
Intel MKL
Standard
Spark jobs
Worker
Worker Worker
Worker
Spark
Executor
(JVM)
Spark
Task
BigDL lib
Worker
Intel MKL
BigDL
library
Spark
jobs
BigDL Program
Standard Spark jobs
• No changes to the Spark or Hadoop clusters needed
Iterative
• Each iteration of the training runs as a Spark job
Data parallel
• Each Spark task runs the same model on a subset of the data (batch)
Source: Intel BigDL Team
BigDL Parameter Synchronization
Source: https://github.com/intel-analytics/BigDL/blob/master/docs/docs/whitepaper.md
Model Development – DNN for HLF
• Model is instantiated using the Keras-
compatible API provided by Analytics Zoo
Model Development – GRU + HLF
A more complex network topology, combining a GRU of Low Level Feature + a
DNN of High Level Features
Distributed Training
Instantiate the estimator using Analytics Zoo / BigDL
The actual training is distributed to Spark executors
Storing the model for later use
Analytics Zoo/BigDL on Spark scales up in the ranges tested
Performance and Scalability of Analytics Zoo/BigDL
Inclusive classifier model DNN model, HLF features
Workload Characterization
• Training with Analytics zoo
• GRU-based model: Distributed training on YARN cluster
• Measure with Spark Dashboard: it is CPU bound
Results – Model Performance
• Trained models with
Analytics Zoo and BigDL
• Met the expected results
for model performance:
ROC curve and AUC
Training with TensorFlow 2.0
• Training and test data
• Converted from Parquet to TFRecord format using Spark
• TensorFlow: data ingestion using tf.data and tf.io
• Distributed training with tf.distribute + tool for K8S: https://github.com/cerndb/tf-spawner
Distributed training with TensorFlow
2.0 on Kubernetes (CERN cloud)
Distributed training of the Keras
model with:
tf.distribute.experimental.
MultiWorkerMirroredStrategy
Performance and Lessons Learned
• Measured distributed training elapsed time
• From a few hours to 11 hours, depending on model, number of epochs and batch
size. Hard to compare different methods and solutions (many parameters)
• Distributed training with BigDL and Analytics Zoo
• Integrates very well with Spark
• Need to cache data in memory
• Noisy clusters with stragglers can add latency to parameter synchronization
• TensorFlow 2.0
• It is straightforward to distribute training on CPUs and GPUs with tf.distribute
• Data flow: Use TFRecord format, read with TensorFlow’s tf.data and tf.io
• GRU training performance on GPU: 10x speedup in TF 2.0
• Training of the Inclusive Classifier on a single P100 in 5 hours
Data and
models from
Research
Input:
labeled
data and
DL models
Feature
engineering
at scale
Distributed
model training
Output: particle
selector model
Hyperparameter
optimization
(Random/Grid
search)
Recap: our Deep Learning Pipeline with Spark
Model Serving and Future Work
• Using Apache Kafka
and Spark?
• FPGA serving DNN models
MODEL
Streaming
platform
MODEL
RTL
translation
FPGA Output
pipeline:
to storage
/ further
online
analysis
Output
pipeline
Summary
• The use case developed addresses the needs for higher
efficiency in event filtering at LHC experiments
• Spark, Python notebooks
• Provide well-known APIs and productive environment for data preparation
• Data preparation performance, lessons learned:
• Use Spark SQL/DataFrame API, avoid Python UDF when possible
• Successfully scaled Deep Learning on Spark clusters
• Using Analytics Zoo and BigDL
• Deployed on existing Intel Xeon-based servers: Hadoop clusters and cloud
• Good results also with Tensorflow 2.0, running on Kubernetes
• Continuous evolution and improvements of DL at scale
• Data preparation and scalable distributed training are key
Acknowledgments
• Matteo Migliorini, Marco Zanetti, Riccardo Castellotti, Michał Bień, Viktor
Khristenko, CERN Spark and Hadoop service, CERN openlab
• Authors of “Topology classification with deep learning to improve real-time
event selection at the LHC”, notably Thong Nguyen, Maurizio Pierini
• Intel team for BigDL and Analytics Zoo: Jiao (Jennie) Wang, Sajan Govindan
– Analytics Zoo: https://github.com/intel-analytics/analytics-zoo
– BigDL: https://software.intel.com/bigdl
References:
– Data and code: https://github.com/cerndb/SparkDLTrigger
– Machine Learning Pipelines with Modern Big Data Tools for High Energy Physics
http://arxiv.org/abs/1909.10389
#UnifiedDataAnalytics #SparkAISummit 37
DON’T FORGET TO RATE
AND REVIEW THE SESSIONS
SEARCH SPARK + AI SUMMIT

Mais conteúdo relacionado

Mais procurados

Mais procurados (7)

Spark SQL Beyond Official Documentation
Spark SQL Beyond Official DocumentationSpark SQL Beyond Official Documentation
Spark SQL Beyond Official Documentation
 
Pengenalan Big Data untuk Pemula
Pengenalan Big Data untuk PemulaPengenalan Big Data untuk Pemula
Pengenalan Big Data untuk Pemula
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
Big Data Testing Strategies
Big Data Testing StrategiesBig Data Testing Strategies
Big Data Testing Strategies
 
Spark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon WhitearSpark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon Whitear
 
Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...
Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...
Big Data Applications | Big Data Analytics Use-Cases | Big Data Tutorial for ...
 
Test AI/ML Applications
Test AI/ML ApplicationsTest AI/ML Applications
Test AI/ML Applications
 

Semelhante a Deep Learning Pipelines for High Energy Physics using Apache Spark with Distributed Keras on Analytics Zoo

Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
Databricks
 
Data Automation at Light Sources
Data Automation at Light SourcesData Automation at Light Sources
Data Automation at Light Sources
Ian Foster
 

Semelhante a Deep Learning Pipelines for High Energy Physics using Apache Spark with Distributed Keras on Analytics Zoo (20)

Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
Deep Learning on Apache Spark at CERN’s Large Hadron Collider with Intel Tech...
 
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
Experience of Running Spark on Kubernetes on OpenStack for High Energy Physic...
 
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
Build Deep Learning Applications for Big Data Platforms (CVPR 2018 tutorial)
 
Accelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learningAccelerating TensorFlow with RDMA for high-performance deep learning
Accelerating TensorFlow with RDMA for high-performance deep learning
 
Gladier: The Globus Architecture for Data Intensive Experimental Research (AP...
Gladier: The Globus Architecture for Data Intensive Experimental Research (AP...Gladier: The Globus Architecture for Data Intensive Experimental Research (AP...
Gladier: The Globus Architecture for Data Intensive Experimental Research (AP...
 
2018 03 25 system ml ai and openpower meetup
2018 03 25 system ml ai and openpower meetup2018 03 25 system ml ai and openpower meetup
2018 03 25 system ml ai and openpower meetup
 
Spark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca CanaliSpark Summit EU talk by Luca Canali
Spark Summit EU talk by Luca Canali
 
Deep learning and Apache Spark
Deep learning and Apache SparkDeep learning and Apache Spark
Deep learning and Apache Spark
 
Integrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache SparkIntegrating Deep Learning Libraries with Apache Spark
Integrating Deep Learning Libraries with Apache Spark
 
Data Automation at Light Sources
Data Automation at Light SourcesData Automation at Light Sources
Data Automation at Light Sources
 
04 open source_tools
04 open source_tools04 open source_tools
04 open source_tools
 
PEARC 17: Spark On the ARC
PEARC 17: Spark On the ARCPEARC 17: Spark On the ARC
PEARC 17: Spark On the ARC
 
How HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental scienceHow HPC and large-scale data analytics are transforming experimental science
How HPC and large-scale data analytics are transforming experimental science
 
Resource-Efficient Deep Learning Model Selection on Apache Spark
Resource-Efficient Deep Learning Model Selection on Apache SparkResource-Efficient Deep Learning Model Selection on Apache Spark
Resource-Efficient Deep Learning Model Selection on Apache Spark
 
Scientific
Scientific Scientific
Scientific
 
Stories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi TorresStories About Spark, HPC and Barcelona by Jordi Torres
Stories About Spark, HPC and Barcelona by Jordi Torres
 
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
Using Deep Learning on Apache Spark to Diagnose Thoracic Pathology from Chest...
 
CaffeOnSpark: Deep Learning On Spark Cluster
CaffeOnSpark: Deep Learning On Spark ClusterCaffeOnSpark: Deep Learning On Spark Cluster
CaffeOnSpark: Deep Learning On Spark Cluster
 
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
Vectorized Deep Learning Acceleration from Preprocessing to Inference and Tra...
 
Combining Machine Learning frameworks with Apache Spark
Combining Machine Learning frameworks with Apache SparkCombining Machine Learning frameworks with Apache Spark
Combining Machine Learning frameworks with Apache Spark
 

Mais de Databricks

Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
Databricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
Databricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Databricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
Databricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
Databricks
 

Mais de Databricks (20)

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptx
 
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 1
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4
 
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
 
Democratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized PlatformDemocratizing Data Quality Through a Centralized Platform
Democratizing Data Quality Through a Centralized Platform
 
Learn to Use Databricks for Data Science
Learn to Use Databricks for Data ScienceLearn to Use Databricks for Data Science
Learn to Use Databricks for Data Science
 
Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 

Último

+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
Health
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
wsppdmt
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
nirzagarg
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
nirzagarg
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
gajnagarg
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
vexqp
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
ahmedjiabur940
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
vexqp
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
vexqp
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Último (20)

+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
如何办理英国诺森比亚大学毕业证(NU毕业证书)成绩单原件一模一样
 
Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........Switzerland Constitution 2002.pdf.........
Switzerland Constitution 2002.pdf.........
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
 
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
怎样办理圣路易斯大学毕业证(SLU毕业证书)成绩单学校原版复制
 
Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...Sequential and reinforcement learning for demand side management by Margaux B...
Sequential and reinforcement learning for demand side management by Margaux B...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATIONCapstone in Interprofessional Informatic  // IMPACT OF COVID 19 ON EDUCATION
Capstone in Interprofessional Informatic // IMPACT OF COVID 19 ON EDUCATION
 
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
怎样办理伦敦大学城市学院毕业证(CITY毕业证书)成绩单学校原版复制
 
Digital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham WareDigital Transformation Playbook by Graham Ware
Digital Transformation Playbook by Graham Ware
 
Ranking and Scoring Exercises for Research
Ranking and Scoring Exercises for ResearchRanking and Scoring Exercises for Research
Ranking and Scoring Exercises for Research
 
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
SR-101-01012024-EN.docx  Federal Constitution  of the Swiss ConfederationSR-101-01012024-EN.docx  Federal Constitution  of the Swiss Confederation
SR-101-01012024-EN.docx Federal Constitution of the Swiss Confederation
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 

Deep Learning Pipelines for High Energy Physics using Apache Spark with Distributed Keras on Analytics Zoo

  • 1. WIFI SSID:Spark+AISummit | Password: UnifiedDataAnalytics
  • 2. Luca Canali, CERN Deep Learning Pipelines for High Energy Physics using Apache Spark with Distributed Keras and Analytics Zoo #UnifiedDataAnalytics #SparkAISummit
  • 3. About Luca 3#UnifiedDataAnalytics #SparkAISummit • Data Engineer at CERN – Hadoop and Spark service, database services – 19+ years of experience with data engineering • Sharing and community – Blog, notes, tools, contributions to Apache Spark @LucaCanaliDB – http://cern.ch/canali
  • 5. Experimental High Energy Physics is Data Intensive 5 Particle Collisions Physics Discoveries Large Scale Computing https://twiki.cern.ch/twiki/pub/CMSPublic/Hig13002TWiki/HZZ4l_animated.gif And https://iopscience.iop.org/article/10.1088/1742-6596/455/1/012027
  • 6. Key Data Processing Challenge • Proton-proton collisions at LHC experiments happen at 40MHz. • Hundreds of TB/s of electrical signals that allow physicists to investigate particle collision events. • Storage, limited by bandwidth • Currently, only 1 every ~40K events stored to disk (~10 GB/s). 2018: 5 collisions/beam cross Current LHC 2026: 400 collisions/beam cross Future: High-Luminosity LHC upgrade
  • 7. This can generate up to a petabyte of raw data per second Reduced to GB/s by filtering in real time Key is how to select potentially interesting events (trigger systems). PB/s 40 million collisions per second (Raw) 100,000 selections per second (L1) TB/s 1,000 selections per second (L2) GB/s Data Flow at LHC Experiments
  • 8. R&D – Data Pipelines • Improve the quality of filtering systems • Reduce false positive rate • From rule-based algorithms to classifiers based on Deep Learning • Advanced analytics at the edge • Avoid wasting resources in offline computing • Reduction of operational costs
  • 9. Particle Classifiers Using Neural Networks 1 63% 2 36% 3 1% Particle Classifier W + j QCD t-t̅ • R&D to improve the quality of filtering systems • Develop a “Deep Learning classifier” to be used by the filtering system • Goal: Identify events of interest for physics and reduce false positives • False positives have a cost, as wasted storage bandwidth and computing • “Topology classification with deep learning to improve real-time event selection at the LHC”, Nguyen et al. Comput.Softw.Big Sci. 3 (2019) no.1, 12
  • 10. Deep Learning Pipeline for Physics Data Data Ingestion Feature Preparation Model Development Training Read physics data and feature engineering Prepare input for Deep Learning network 1. Specify model topology 2. Tune model topology on small dataset Train the best model Technology: the pipeline uses Apache Spark + Analytics Zoo and TensorFlow/Keras. Code on Python Notebooks.
  • 11. Analytics Platform at CERN HEP software Experiments storage HDFS Personal storage Integrating new “Big Data” components with existing infrastructure: • Software distribution • Data platforms
  • 13. Hadoop and Spark Clusters at CERN • Clusters: • YARN/Hadoop • Spark on Kubernetes • Hardware: Intel based servers, continuous refresh and capacity expansion Accelerator logging (part of LHC infrastructure) Hadoop - YARN - 30 nodes (Cores - 1200, Mem - 13 TB, Storage – 7.5 PB) General Purpose Hadoop - YARN, 65 nodes (Cores – 2.2k, Mem – 20 TB, Storage – 12.5 PB) Cloud containers Kubernetes on Openstack VMs, Cores - 250, Mem – 2 TB Storage: remote HDFS or EOS (for physics data)
  • 14. Extending Spark to Read Physics Data • Physics data • Currently: >300 PBs of Physics data, increasing ~90 PB/year • Stored in the CERN EOS storage system in ROOT Format and accessible via XRootD protocol • Integration with Spark ecosystem • Hadoop-XRootD connector, HDFS compatible filesystem • Spark Datasource for ROOT format JNI Hadoop HDFS APIHadoop- XRootD Connector EOS Storage Service XRootD Client C++ Java https://github.com/cerndb/hadoop-xrootd https://github.com/diana-hep/spark-root
  • 15. Labeled Data for Training and Test ● Simulated events ● Software simulators are used to generate events and calculate the detector response ● Raw data contains arrays of simulated particles and their properties, stored in ROOT format ● 54 million events
  • 16. Step 1: Data Ingestion • Read input files: 4.5 TB from custom (ROOT) format • Feature engineering • Python and PySpark code, using Jupyter notebooks • Write output in Parquet format Output: • 25 M events • 950 GB in Parquet format • Target storage (HDFS) Input: • 54 M events ~4.5 TB • Physics data storage (EOS) • Physics data format (ROOT)
  • 17. ● Filtering ● Multiple filters, keep only events of interest ● Example: “events with one electrons or muon with Pt > 23 Gev” • Prepare “Low Level Features” • Every event is associated to a matrix of particles and features (801x19) • High Level Features (HLF) • Additional 14 features are computed from low level particle features • Calculated based on domain-specific knowledge Feature Engineering
  • 18. Step 2: Feature Preparation Features are converted to formats suitable for training • One Hot Encoding of categories • MinMax scaler for High Level Features • Sorting Low Level Features: prepare input for the sequence classifier, using a metric based on physics. This use a Python UDF. • Undersampling: use the same number of events for each of the three categories Result • 3.6 Million events, 317 GB • Shuffled and split into training and test datasets • Code: in a Jupyter notebook using PySpark with Spark SQL and ML
  • 19. Performance and Lessons Learned • Data preparation is CPU bound • Heavy serialization-deserialization due to Python UDF • Ran using 400 cores: data ingestion took ~3 hours, • It can be optimized, but is it worth it ? • Use Spark SQL, Scala instead of Python UDF • Optimization: replacing parts of Python UDF code with Spark SQL and higher order functions: run time from 3 hours to 2 hours
  • 20. Neural Network Models and 1. Fully connected feed-forward deep neural network • Trained using High Level Features (~1 GB of data) 2. Neural network based on Gated Recurrent Unit (GRU) • Trained using Low Level Features (~ 300 GB of data) 3. Inclusive classifier model • Combination of (1) + (2) Complexity + Classifier Performance
  • 21. Hyper-Parameter Tuning– DNN • Hyper-parameter tuning of the DNN model • Trained with a subset of the data (cached in memory) • Parallelized with Spark, using spark_sklearn.grid_search • And scikit-learn + keras: tensorflow.keras.wrappers.scikit_learn
  • 22. Deep Learning at Scale with Spark • Investigations and constraints for our exercise • How to run deep learning in a Spark data pipeline? • Neural network models written using Keras API • Deploy on Hadoop and/or Kubernetes clusters (CPU clusters) • Distributed deep learning • GRU-based model is complex • Slow to train on a single commodity (CPU) server
  • 23. Spark, Analytics Zoo and BigDL • Apache Spark • Leading tool and API for data processing at scale • Analytics Zoo is a platform for unified analytics and AI • Runs on Apache Spark leveraging BigDL / Tensorflow • For service developers: integration with infrastructure (hardware, data access, operations) • For users: Keras APIs to run user models, integration with Spark data structures and pipelines • BigDL is an open source distributed deep learning framework for Apache Spark
  • 24. BigDL Run as Standard Spark Programs Spark Program DL App on Driver Spark Executor (JVM) Spark Task BigDL lib Worker Intel MKL Standard Spark jobs Worker Worker Worker Worker Spark Executor (JVM) Spark Task BigDL lib Worker Intel MKL BigDL library Spark jobs BigDL Program Standard Spark jobs • No changes to the Spark or Hadoop clusters needed Iterative • Each iteration of the training runs as a Spark job Data parallel • Each Spark task runs the same model on a subset of the data (batch) Source: Intel BigDL Team
  • 25. BigDL Parameter Synchronization Source: https://github.com/intel-analytics/BigDL/blob/master/docs/docs/whitepaper.md
  • 26. Model Development – DNN for HLF • Model is instantiated using the Keras- compatible API provided by Analytics Zoo
  • 27. Model Development – GRU + HLF A more complex network topology, combining a GRU of Low Level Feature + a DNN of High Level Features
  • 28. Distributed Training Instantiate the estimator using Analytics Zoo / BigDL The actual training is distributed to Spark executors Storing the model for later use
  • 29. Analytics Zoo/BigDL on Spark scales up in the ranges tested Performance and Scalability of Analytics Zoo/BigDL Inclusive classifier model DNN model, HLF features
  • 30. Workload Characterization • Training with Analytics zoo • GRU-based model: Distributed training on YARN cluster • Measure with Spark Dashboard: it is CPU bound
  • 31. Results – Model Performance • Trained models with Analytics Zoo and BigDL • Met the expected results for model performance: ROC curve and AUC
  • 32. Training with TensorFlow 2.0 • Training and test data • Converted from Parquet to TFRecord format using Spark • TensorFlow: data ingestion using tf.data and tf.io • Distributed training with tf.distribute + tool for K8S: https://github.com/cerndb/tf-spawner Distributed training with TensorFlow 2.0 on Kubernetes (CERN cloud) Distributed training of the Keras model with: tf.distribute.experimental. MultiWorkerMirroredStrategy
  • 33. Performance and Lessons Learned • Measured distributed training elapsed time • From a few hours to 11 hours, depending on model, number of epochs and batch size. Hard to compare different methods and solutions (many parameters) • Distributed training with BigDL and Analytics Zoo • Integrates very well with Spark • Need to cache data in memory • Noisy clusters with stragglers can add latency to parameter synchronization • TensorFlow 2.0 • It is straightforward to distribute training on CPUs and GPUs with tf.distribute • Data flow: Use TFRecord format, read with TensorFlow’s tf.data and tf.io • GRU training performance on GPU: 10x speedup in TF 2.0 • Training of the Inclusive Classifier on a single P100 in 5 hours
  • 34. Data and models from Research Input: labeled data and DL models Feature engineering at scale Distributed model training Output: particle selector model Hyperparameter optimization (Random/Grid search) Recap: our Deep Learning Pipeline with Spark
  • 35. Model Serving and Future Work • Using Apache Kafka and Spark? • FPGA serving DNN models MODEL Streaming platform MODEL RTL translation FPGA Output pipeline: to storage / further online analysis Output pipeline
  • 36. Summary • The use case developed addresses the needs for higher efficiency in event filtering at LHC experiments • Spark, Python notebooks • Provide well-known APIs and productive environment for data preparation • Data preparation performance, lessons learned: • Use Spark SQL/DataFrame API, avoid Python UDF when possible • Successfully scaled Deep Learning on Spark clusters • Using Analytics Zoo and BigDL • Deployed on existing Intel Xeon-based servers: Hadoop clusters and cloud • Good results also with Tensorflow 2.0, running on Kubernetes • Continuous evolution and improvements of DL at scale • Data preparation and scalable distributed training are key
  • 37. Acknowledgments • Matteo Migliorini, Marco Zanetti, Riccardo Castellotti, Michał Bień, Viktor Khristenko, CERN Spark and Hadoop service, CERN openlab • Authors of “Topology classification with deep learning to improve real-time event selection at the LHC”, notably Thong Nguyen, Maurizio Pierini • Intel team for BigDL and Analytics Zoo: Jiao (Jennie) Wang, Sajan Govindan – Analytics Zoo: https://github.com/intel-analytics/analytics-zoo – BigDL: https://software.intel.com/bigdl References: – Data and code: https://github.com/cerndb/SparkDLTrigger – Machine Learning Pipelines with Modern Big Data Tools for High Energy Physics http://arxiv.org/abs/1909.10389 #UnifiedDataAnalytics #SparkAISummit 37
  • 38. DON’T FORGET TO RATE AND REVIEW THE SESSIONS SEARCH SPARK + AI SUMMIT