SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Mathieu DESPRIEE, Tinyclues
Using Deep Learning in
Production Pipelines
to Predict Consumers’ Interest
#SAISML2
Who am I ?
Mathieu DESPRIEE
ML Engineering Manager at
In charge of ML Scalability & Operability
Contributor to Spark, MxNET
2
AI-FIRST
SAAS SOLUTION
USING ANONYMIZED
FIRST PARTY DATA
SEAMLESSLY INTEGRATED WITH
YOUR MARKETING STACK
DESIGNED FOR
MARKETERS
TINYCLUES IN A FEW WORDS
DEEP LEARNING FOR CAMPAIGN
TARGETING & PLANNING
DRIVE MORE REVENUE
AND ENGAGEMENT
ACROSS ALL
CHANNELS
FIRST CAMPAIGNS IN
2 WEEKS
Instead of…
4
INTUITION
RFM
DEMOGRAPHICS
LAST PURCHASE
QUANTIFIED
ANTICIPATE & MAXIMIZE
CAMPAIGN PERFORMANCE
AI-FIRST: INTELLIGENT CAMPAIGNS IN JUST A FEW CLICKS
EASY
BUILD SEGMENTS IN MINUTES –
NO GUESSWORK &
NO DATA-SCIENCE NEEDED
STRATEGIC
PRIORITIZE BASED ON VALUE
& MARKETING FATIGUE
SPOT ON
TARGET THE FUTURE BUYERS FOR
ANY PRODUCT, IN THE DAYS
FOLLOWING A CAMPAIGN
START FROM YOUR
CAMPAIGN IDEAS
AND BUSINESS
GOALS
SUCCESS STORIES
RETAIL
+30%
CAMPAIGN REVENUE
RETAIL / FASHION
+151%
REVENUE PER EMAIL
HOSPITALITY
+178%
CAMPAIGN REVENUE
HOSPITALITY
+30%
CAMPAIGN REVENUE
RETAIL / FASHION
+60%
REVENUE PER EMAIL
E-COMMERCE
+80%
CAMPAIGN REVENUE
10M+
10M+
5M+
TRAVEL
+115%
CAMPAIGN REVENUE
10M+
$1B+
$1B+
$1B+
$1B+
$1B+
$1B+
RETAIL / FASHION
+20%
CAMPAIGN REVENUE
ONLINE & IN-STORE
1B+
customers customers customers
customers
How it works
7
common
data model
Marketer’s inputs
- topics
- business goals
customers,
products,
purchases,
clicks, pages views…
(1st
party data, with opt-in)
2 PB
500 TB hot
Unsupervised
Learning
Supervised
Learning
customers’
interests
topics
model
prediction =
f (cust., topic)
travel
retail
…
emailing
FB
mobile …
Feedback Loop
Predictive architecture
8
Encoding
One-hot
TopN
Hashers
…
⇓
Sparse
features
Unsupervised Learning
Multiple layers of
Unsupervised learning
To build meaningful
representations of
data, even on dirty
data
⇓
Embeddings:
Sparse & Dense
Features
- Relational model
- Dirty data
- Very sparse data
(10-100 K products,
niche or new products,
low activity customers…)
common
data model Sequence
Learning
Making
sense of
event
history
Feature
Banks
Model Banks
Supervised
Models
P(click)
P(purchase)
E(revenue)
…
Very wide models
(10K columns)
Working with events
• Events (page views, clicks…) are not always meaningful
individually, but sequences are
• Events are ordered, and are not independent from each
other
• Sequences are not all of the same length
• Can we find a model architecture leveraging on these
characteristics ?
9
RNN: Recurrent Neural Networks
• Networks with loops in them, allowing information to persist.
10
unrolled
• They also allow input sequences of variable length
– you just need to pad data with zeroes X0..Xk
Illustrations by Christopher Olah - Check out his blog! colah.github.io
LSTM: Long Short-Term Memory
• Classical RNN can’t learn long-term dependencies with
gradient descent because of vanishing or exploding
gradients: they tend to forget in the long-term
• LSTMs are explicitly designed to avoid this problem
– Invented by Hochreiter & Schmidhuber (1997)
– Many variants exist
• LSTM have great results in speech recognition,
translation, and are building block of assistants.
11
LSTM
• Cell-state is transmitted from cell to cell (top line)
without going through a non-linear activation function
• The rest of the cell controls:
– how the input and previous outputs modifies the cell state,
– how the state and input are combined together to form output
12
Example of LSTM for purchase prediction
• Inputs are events (page views, clicks), padded to
a max sequence length, and passed through an
embedding layer
• LSTM output is aggregated with a pooling layer,
and some densely connected layers
• Through gradient descent, the network will learn
what event sequences are more likely to lead to
the target (purchase)
13
Event History…
Embedding
… LSTM
∑ Pooling (sum, mean…)
p(purchase)
Fully Connected
+ Classifier (logistic)…
“embedding”: representing an information by a
vector in a space, capturing its essential meaning
Bringing some focus: Attention Model
• Attention models are a way to make the
network focus on elements of interest
• Introduce the notion of “Query” = what the
network should focus on (topic)
• The attention network outputs weights W
that modulate the importance of each LSTM
output, given the topic
• This weighted and interpreted history is
then used in subsequent layers for
classification
14
Event History
Topic
Query
…
… LSTM
Embedding
Weighted history
⊗
⊗
softmax
W
Attention network
… à to final layers
Implementation & Execution Engine
• Desired technology for production:
– Easily distributable with Spark
– Callable from Scala
– Interoperability with Python (used in our Lab)
– High performance out-of-the-box
• should benefit from native libs
• ability to use GPU for training phases
– Good support of Sparse tensors
15
Apache MxNET
• Deep Learning framework, incubated at Apache
• Back-end in C++
• Multiple front-end languages: scala, python, Julia, R, …
• Integration with linalg native libs, including Intel MKL
• Benchmarks with GPUs are very good
• Aims at interoperability with others frameworks (ONNX,
MxNET as Keras backend, etc.)
16
LSTM w/ Attention in Python
- Written using (the very
young) Gluon API
- Similar to Keras
- Can be compiled into
a “Symbol” model
(symbolic graph of
execution)
17
Using in Scala a model trained in Python
18
Inference from a Spark pipeline
• Pay attention to resource usage on workers
– Ensure backend processing will have available CPU cores and plenty of RAM
• Pay attention to data copy operation that will happen between Spark
Vectors (from java memory) and MxNET native backend
19
Make model and
parameters available
to workers
(HDFS, broadcasting)
DataFrame
.mapPartitions
Group rows
into mini-
batches
Stack vectors
into NDArray
matrices /
tensors
Predict
Unstack
output
matrices
mapPartitions func
Initialize model only once per worker
Learnings about MxNET in Scala
• MxNET is very young
– Mixed API styles
– Scala API is lagging Python’s
• No sparse tensors yet
– Unhelpful error messages, especially when they come from the C++ backend
– In Lab context (notebook, fast iteration), it feels heavy
– Some non-trivial boilerplate code to write
– ONNX interop has limitations
• Yet, it’s very promising, and fast out-of-the-box
– Many binaries available with hw optimization
– Usable in Scala/Spark pipelines
20
Take aways
• To find the “tiny clues” within your data, you need powerful
learning algorithms to discover their latent meaning
• LSTM with Attention Models are especially good when it
comes to sequences of events
• Using inference models from Scala/Spark code is easy and
performant with MxNET, even if this framework has still a lot
of limitations
21
Thank you !
Questions ?
Reach me on twitter @mdespriee
22
Backup
23
Classical RNN have limitations
• Vanilla RNN can’t learn long-term dependencies with
gradient descent because of vanishing or exploding
gradients
24
Illustrations by Christopher Olah (check out his blog!) http://colah.github.io/
RNN
25
Input from upstream layers:
Each X is a value at a point in
time, represented by a Feature
Vector
Batched
samples
X0 .. Xt
Feature Vectors
(embedded)
Input /
Upstream layers
Output /
Deeper layers
“embedding”: a compact
mathematical representation of an
information into a vector, capturing
its semantics
MKL impact
26
CPU times: user 4min 12s, sys: 10.4 s, total: 4min 22s Wall time: 2min 2s
CPU times: user 15min 41s, sys: 40.6 s, total: 16min 21s Wall time: 59.6 s
Performance of training
27
0 20 40 60 80 100 120 140
CPU std
CPU + MKL
1 GPU
LSTM w/attention - 10K end-users
Wall time in seconds
0 500 1000 1500 2000 2500 3000 3500 4000 4500
CPU + MKL
1 GPU
LSTM w/attention - 1M end-users
Wall time in seconds
Disclaimer: These measurements
are indicative, and vary a lot
depending on many parameters.

Contenu connexe

Tendances

Product Growth Strategy for SaaS
Product Growth Strategy for SaaSProduct Growth Strategy for SaaS
Product Growth Strategy for SaaSMickey Alon
 
Essential Steps for Digital Media Buying and Planning
Essential Steps for Digital Media Buying and PlanningEssential Steps for Digital Media Buying and Planning
Essential Steps for Digital Media Buying and PlanningNitin Karkara
 
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...Taste
 
Customer Segmentation for Retention Strategy
Customer Segmentation for Retention StrategyCustomer Segmentation for Retention Strategy
Customer Segmentation for Retention StrategyMelody Ucros
 
Case Study : How CleverTap helped BookMyShow increase User Retention
Case Study : How CleverTap helped BookMyShow increase User RetentionCase Study : How CleverTap helped BookMyShow increase User Retention
Case Study : How CleverTap helped BookMyShow increase User RetentionCleverTap
 
Marketing Analytics 101
Marketing Analytics 101Marketing Analytics 101
Marketing Analytics 101Intelligent_ly
 
Growth Hacking with Digital Marketing
Growth Hacking with Digital MarketingGrowth Hacking with Digital Marketing
Growth Hacking with Digital MarketingNavneet Kaushal
 
Digital markting
Digital marktingDigital markting
Digital marktingSaloni Aul
 
Your small business' social media strategy - PowerPoint presentation
Your small business' social media strategy - PowerPoint presentationYour small business' social media strategy - PowerPoint presentation
Your small business' social media strategy - PowerPoint presentationGema Molina García
 
Edu4Sure - Google Ads Fundamentals
Edu4Sure - Google Ads FundamentalsEdu4Sure - Google Ads Fundamentals
Edu4Sure - Google Ads FundamentalsEdu4Sure
 
Creating an email marketing campaign
Creating an email marketing campaignCreating an email marketing campaign
Creating an email marketing campaignAneenaBinoy2
 
Marketing Automation
Marketing AutomationMarketing Automation
Marketing AutomationAndrew Wilson
 
Network Effects And Dsir
Network Effects And DsirNetwork Effects And Dsir
Network Effects And Dsirsmehro
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxMeasurementMarketing.io
 
The Customer Success Metrics That Matter
The Customer Success Metrics That MatterThe Customer Success Metrics That Matter
The Customer Success Metrics That MatterOpsPanda
 
Customer Success Management
Customer Success ManagementCustomer Success Management
Customer Success ManagementDennis Antolin
 
Customer segmentation
Customer segmentationCustomer segmentation
Customer segmentationAccenture
 
Everything You Need to Know About Customer Lifetime Value (CLV)
Everything You Need to Know About Customer Lifetime Value (CLV)Everything You Need to Know About Customer Lifetime Value (CLV)
Everything You Need to Know About Customer Lifetime Value (CLV)Demac Media
 

Tendances (20)

Product Growth Strategy for SaaS
Product Growth Strategy for SaaSProduct Growth Strategy for SaaS
Product Growth Strategy for SaaS
 
Essential Steps for Digital Media Buying and Planning
Essential Steps for Digital Media Buying and PlanningEssential Steps for Digital Media Buying and Planning
Essential Steps for Digital Media Buying and Planning
 
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...
PPC Restart 2022: Julie Kneblová & Petr Bureš - Jak maximalizovat výkon RSA r...
 
Paid Search Strategies
Paid Search StrategiesPaid Search Strategies
Paid Search Strategies
 
Customer Segmentation for Retention Strategy
Customer Segmentation for Retention StrategyCustomer Segmentation for Retention Strategy
Customer Segmentation for Retention Strategy
 
Case Study : How CleverTap helped BookMyShow increase User Retention
Case Study : How CleverTap helped BookMyShow increase User RetentionCase Study : How CleverTap helped BookMyShow increase User Retention
Case Study : How CleverTap helped BookMyShow increase User Retention
 
What is Retargeting?
What is Retargeting?What is Retargeting?
What is Retargeting?
 
Marketing Analytics 101
Marketing Analytics 101Marketing Analytics 101
Marketing Analytics 101
 
Growth Hacking with Digital Marketing
Growth Hacking with Digital MarketingGrowth Hacking with Digital Marketing
Growth Hacking with Digital Marketing
 
Digital markting
Digital marktingDigital markting
Digital markting
 
Your small business' social media strategy - PowerPoint presentation
Your small business' social media strategy - PowerPoint presentationYour small business' social media strategy - PowerPoint presentation
Your small business' social media strategy - PowerPoint presentation
 
Edu4Sure - Google Ads Fundamentals
Edu4Sure - Google Ads FundamentalsEdu4Sure - Google Ads Fundamentals
Edu4Sure - Google Ads Fundamentals
 
Creating an email marketing campaign
Creating an email marketing campaignCreating an email marketing campaign
Creating an email marketing campaign
 
Marketing Automation
Marketing AutomationMarketing Automation
Marketing Automation
 
Network Effects And Dsir
Network Effects And DsirNetwork Effects And Dsir
Network Effects And Dsir
 
How to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptxHow to Know Exactly Where to Optimize with GA4.pptx
How to Know Exactly Where to Optimize with GA4.pptx
 
The Customer Success Metrics That Matter
The Customer Success Metrics That MatterThe Customer Success Metrics That Matter
The Customer Success Metrics That Matter
 
Customer Success Management
Customer Success ManagementCustomer Success Management
Customer Success Management
 
Customer segmentation
Customer segmentationCustomer segmentation
Customer segmentation
 
Everything You Need to Know About Customer Lifetime Value (CLV)
Everything You Need to Know About Customer Lifetime Value (CLV)Everything You Need to Know About Customer Lifetime Value (CLV)
Everything You Need to Know About Customer Lifetime Value (CLV)
 

Similaire à Using Deep Learning in Production Pipelines to Predict Consumers’ Interest with Mathieu Despriee

Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...
Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...
Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...Spark Summit
 
Benefits of a Homemade ML Platform
Benefits of a Homemade ML PlatformBenefits of a Homemade ML Platform
Benefits of a Homemade ML PlatformGetInData
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case eProsima
 
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...confluent
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksAmazon Web Services
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksAmazon Web Services
 
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 meetupGanesan Narayanasamy
 
Scala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadiusScala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadiusBoldRadius Solutions
 
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar) Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar) Timothy Spann
 
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...HostedbyConfluent
 
(Current22) Let's Monitor The Conditions at the Conference
(Current22) Let's Monitor The Conditions at the Conference(Current22) Let's Monitor The Conditions at the Conference
(Current22) Let's Monitor The Conditions at the ConferenceTimothy Spann
 
The Fast Path to Building Operational Applications with Spark
The Fast Path to Building Operational Applications with SparkThe Fast Path to Building Operational Applications with Spark
The Fast Path to Building Operational Applications with SparkSingleStore
 
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Storyvanphp
 
Machine learning from software developers point of view
Machine learning from software developers point of viewMachine learning from software developers point of view
Machine learning from software developers point of viewPierre Paci
 
Startup.Ml: Using neon for NLP and Localization Applications
Startup.Ml: Using neon for NLP and Localization Applications Startup.Ml: Using neon for NLP and Localization Applications
Startup.Ml: Using neon for NLP and Localization Applications Intel Nervana
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Jen Aman
 
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote) FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote) Wim Vanderbauwhede
 
OpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroomOpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroomFacultad de Informática UCM
 

Similaire à Using Deep Learning in Production Pipelines to Predict Consumers’ Interest with Mathieu Despriee (20)

Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...
Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...
Building Large Scale Machine Learning Applications with Pipelines-(Evan Spark...
 
Benefits of a Homemade ML Platform
Benefits of a Homemade ML PlatformBenefits of a Homemade ML Platform
Benefits of a Homemade ML Platform
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
 
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
 
Scala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadiusScala Days Highlights | BoldRadius
Scala Days Highlights | BoldRadius
 
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar) Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
Using the FLiPN Stack for Edge AI (Flink, NiFi, Pulsar)
 
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...
Let’s Monitor Conditions at the Conference With Timothy Spann & David Kjerrum...
 
(Current22) Let's Monitor The Conditions at the Conference
(Current22) Let's Monitor The Conditions at the Conference(Current22) Let's Monitor The Conditions at the Conference
(Current22) Let's Monitor The Conditions at the Conference
 
The Fast Path to Building Operational Applications with Spark
The Fast Path to Building Operational Applications with SparkThe Fast Path to Building Operational Applications with Spark
The Fast Path to Building Operational Applications with Spark
 
Novi sad ai event 1-2018
Novi sad ai event 1-2018Novi sad ai event 1-2018
Novi sad ai event 1-2018
 
MLOps with Kubeflow
MLOps with Kubeflow MLOps with Kubeflow
MLOps with Kubeflow
 
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
 
Machine learning from software developers point of view
Machine learning from software developers point of viewMachine learning from software developers point of view
Machine learning from software developers point of view
 
Startup.Ml: Using neon for NLP and Localization Applications
Startup.Ml: Using neon for NLP and Localization Applications Startup.Ml: Using neon for NLP and Localization Applications
Startup.Ml: Using neon for NLP and Localization Applications
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
 
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote) FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
FPGAs as Components in Heterogeneous HPC Systems (paraFPGA 2015 keynote)
 
OpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroomOpenMP tasking model: from the standard to the classroom
OpenMP tasking model: from the standard to the classroom
 

Plus de Databricks

DW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDW Migration Webinar-March 2022.pptx
DW Migration Webinar-March 2022.pptxDatabricks
 
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 1Databricks
 
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 2Databricks
 
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 2Databricks
 
Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Data Lakehouse Symposium | Day 4
Data Lakehouse Symposium | Day 4Databricks
 
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 HadoopDatabricks
 
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 PlatformDatabricks
 
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 ScienceDatabricks
 
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 MonitoringDatabricks
 
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 FixDatabricks
 
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 IntegrationDatabricks
 
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 PyTorchDatabricks
 
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 KubernetesDatabricks
 
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 PipelinesDatabricks
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsDatabricks
 
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 SinkDatabricks
 
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 SparkDatabricks
 
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 QueriesDatabricks
 
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 SparkDatabricks
 
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 LakeDatabricks
 

Plus 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
 

Dernier

Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...only4webmaster01
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteedamy56318795
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx9to5mart
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramMoniSankarHazra
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...amitlee9823
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...amitlee9823
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachBoston Institute of Analytics
 

Dernier (20)

Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 9155563397 👗 Top Class Call Girl Service B...
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
hybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptxhybrid Seed Production In Chilli & Capsicum.pptx
hybrid Seed Production In Chilli & Capsicum.pptx
 
Capstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics ProgramCapstone Project on IBM Data Analytics Program
Capstone Project on IBM Data Analytics Program
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
Vip Mumbai Call Girls Marol Naka Call On 9920725232 With Body to body massage...
 
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
Escorts Service Kumaraswamy Layout ☎ 7737669865☎ Book Your One night Stand (B...
 
Anomaly detection and data imputation within time series
Anomaly detection and data imputation within time seriesAnomaly detection and data imputation within time series
Anomaly detection and data imputation within time series
 
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bellandur ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
Call Girls Hsr Layout Just Call 👗 7737669865 👗 Top Class Call Girl Service Ba...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
Detecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning ApproachDetecting Credit Card Fraud: A Machine Learning Approach
Detecting Credit Card Fraud: A Machine Learning Approach
 

Using Deep Learning in Production Pipelines to Predict Consumers’ Interest with Mathieu Despriee

  • 1. Mathieu DESPRIEE, Tinyclues Using Deep Learning in Production Pipelines to Predict Consumers’ Interest #SAISML2
  • 2. Who am I ? Mathieu DESPRIEE ML Engineering Manager at In charge of ML Scalability & Operability Contributor to Spark, MxNET 2
  • 3. AI-FIRST SAAS SOLUTION USING ANONYMIZED FIRST PARTY DATA SEAMLESSLY INTEGRATED WITH YOUR MARKETING STACK DESIGNED FOR MARKETERS TINYCLUES IN A FEW WORDS DEEP LEARNING FOR CAMPAIGN TARGETING & PLANNING DRIVE MORE REVENUE AND ENGAGEMENT ACROSS ALL CHANNELS FIRST CAMPAIGNS IN 2 WEEKS
  • 5. QUANTIFIED ANTICIPATE & MAXIMIZE CAMPAIGN PERFORMANCE AI-FIRST: INTELLIGENT CAMPAIGNS IN JUST A FEW CLICKS EASY BUILD SEGMENTS IN MINUTES – NO GUESSWORK & NO DATA-SCIENCE NEEDED STRATEGIC PRIORITIZE BASED ON VALUE & MARKETING FATIGUE SPOT ON TARGET THE FUTURE BUYERS FOR ANY PRODUCT, IN THE DAYS FOLLOWING A CAMPAIGN START FROM YOUR CAMPAIGN IDEAS AND BUSINESS GOALS
  • 6. SUCCESS STORIES RETAIL +30% CAMPAIGN REVENUE RETAIL / FASHION +151% REVENUE PER EMAIL HOSPITALITY +178% CAMPAIGN REVENUE HOSPITALITY +30% CAMPAIGN REVENUE RETAIL / FASHION +60% REVENUE PER EMAIL E-COMMERCE +80% CAMPAIGN REVENUE 10M+ 10M+ 5M+ TRAVEL +115% CAMPAIGN REVENUE 10M+ $1B+ $1B+ $1B+ $1B+ $1B+ $1B+ RETAIL / FASHION +20% CAMPAIGN REVENUE ONLINE & IN-STORE 1B+ customers customers customers customers
  • 7. How it works 7 common data model Marketer’s inputs - topics - business goals customers, products, purchases, clicks, pages views… (1st party data, with opt-in) 2 PB 500 TB hot Unsupervised Learning Supervised Learning customers’ interests topics model prediction = f (cust., topic) travel retail … emailing FB mobile … Feedback Loop
  • 8. Predictive architecture 8 Encoding One-hot TopN Hashers … ⇓ Sparse features Unsupervised Learning Multiple layers of Unsupervised learning To build meaningful representations of data, even on dirty data ⇓ Embeddings: Sparse & Dense Features - Relational model - Dirty data - Very sparse data (10-100 K products, niche or new products, low activity customers…) common data model Sequence Learning Making sense of event history Feature Banks Model Banks Supervised Models P(click) P(purchase) E(revenue) … Very wide models (10K columns)
  • 9. Working with events • Events (page views, clicks…) are not always meaningful individually, but sequences are • Events are ordered, and are not independent from each other • Sequences are not all of the same length • Can we find a model architecture leveraging on these characteristics ? 9
  • 10. RNN: Recurrent Neural Networks • Networks with loops in them, allowing information to persist. 10 unrolled • They also allow input sequences of variable length – you just need to pad data with zeroes X0..Xk Illustrations by Christopher Olah - Check out his blog! colah.github.io
  • 11. LSTM: Long Short-Term Memory • Classical RNN can’t learn long-term dependencies with gradient descent because of vanishing or exploding gradients: they tend to forget in the long-term • LSTMs are explicitly designed to avoid this problem – Invented by Hochreiter & Schmidhuber (1997) – Many variants exist • LSTM have great results in speech recognition, translation, and are building block of assistants. 11
  • 12. LSTM • Cell-state is transmitted from cell to cell (top line) without going through a non-linear activation function • The rest of the cell controls: – how the input and previous outputs modifies the cell state, – how the state and input are combined together to form output 12
  • 13. Example of LSTM for purchase prediction • Inputs are events (page views, clicks), padded to a max sequence length, and passed through an embedding layer • LSTM output is aggregated with a pooling layer, and some densely connected layers • Through gradient descent, the network will learn what event sequences are more likely to lead to the target (purchase) 13 Event History… Embedding … LSTM ∑ Pooling (sum, mean…) p(purchase) Fully Connected + Classifier (logistic)… “embedding”: representing an information by a vector in a space, capturing its essential meaning
  • 14. Bringing some focus: Attention Model • Attention models are a way to make the network focus on elements of interest • Introduce the notion of “Query” = what the network should focus on (topic) • The attention network outputs weights W that modulate the importance of each LSTM output, given the topic • This weighted and interpreted history is then used in subsequent layers for classification 14 Event History Topic Query … … LSTM Embedding Weighted history ⊗ ⊗ softmax W Attention network … à to final layers
  • 15. Implementation & Execution Engine • Desired technology for production: – Easily distributable with Spark – Callable from Scala – Interoperability with Python (used in our Lab) – High performance out-of-the-box • should benefit from native libs • ability to use GPU for training phases – Good support of Sparse tensors 15
  • 16. Apache MxNET • Deep Learning framework, incubated at Apache • Back-end in C++ • Multiple front-end languages: scala, python, Julia, R, … • Integration with linalg native libs, including Intel MKL • Benchmarks with GPUs are very good • Aims at interoperability with others frameworks (ONNX, MxNET as Keras backend, etc.) 16
  • 17. LSTM w/ Attention in Python - Written using (the very young) Gluon API - Similar to Keras - Can be compiled into a “Symbol” model (symbolic graph of execution) 17
  • 18. Using in Scala a model trained in Python 18
  • 19. Inference from a Spark pipeline • Pay attention to resource usage on workers – Ensure backend processing will have available CPU cores and plenty of RAM • Pay attention to data copy operation that will happen between Spark Vectors (from java memory) and MxNET native backend 19 Make model and parameters available to workers (HDFS, broadcasting) DataFrame .mapPartitions Group rows into mini- batches Stack vectors into NDArray matrices / tensors Predict Unstack output matrices mapPartitions func Initialize model only once per worker
  • 20. Learnings about MxNET in Scala • MxNET is very young – Mixed API styles – Scala API is lagging Python’s • No sparse tensors yet – Unhelpful error messages, especially when they come from the C++ backend – In Lab context (notebook, fast iteration), it feels heavy – Some non-trivial boilerplate code to write – ONNX interop has limitations • Yet, it’s very promising, and fast out-of-the-box – Many binaries available with hw optimization – Usable in Scala/Spark pipelines 20
  • 21. Take aways • To find the “tiny clues” within your data, you need powerful learning algorithms to discover their latent meaning • LSTM with Attention Models are especially good when it comes to sequences of events • Using inference models from Scala/Spark code is easy and performant with MxNET, even if this framework has still a lot of limitations 21
  • 22. Thank you ! Questions ? Reach me on twitter @mdespriee 22
  • 24. Classical RNN have limitations • Vanilla RNN can’t learn long-term dependencies with gradient descent because of vanishing or exploding gradients 24 Illustrations by Christopher Olah (check out his blog!) http://colah.github.io/
  • 25. RNN 25 Input from upstream layers: Each X is a value at a point in time, represented by a Feature Vector Batched samples X0 .. Xt Feature Vectors (embedded) Input / Upstream layers Output / Deeper layers “embedding”: a compact mathematical representation of an information into a vector, capturing its semantics
  • 26. MKL impact 26 CPU times: user 4min 12s, sys: 10.4 s, total: 4min 22s Wall time: 2min 2s CPU times: user 15min 41s, sys: 40.6 s, total: 16min 21s Wall time: 59.6 s
  • 27. Performance of training 27 0 20 40 60 80 100 120 140 CPU std CPU + MKL 1 GPU LSTM w/attention - 10K end-users Wall time in seconds 0 500 1000 1500 2000 2500 3000 3500 4000 4500 CPU + MKL 1 GPU LSTM w/attention - 1M end-users Wall time in seconds Disclaimer: These measurements are indicative, and vary a lot depending on many parameters.