SlideShare a Scribd company logo
1 of 70
Download to read offline
Willump: A Statistically-Aware
End-to-end Optimizer for ML
Inference
Peter Kraft, Daniel Kang, Deepak Narayanan, Shoumik Palkar,
Peter Bailis, Matei Zaharia
Stanford University
Problem: ML Inference
โ— Often performance-critical.
โ— Recent focus on tools for ML prediction serving.
2
A Common Bottleneck: Feature Computation
3
โ— Many applications bottlenecked by
feature computation.
โ— Pipeline of transformations computes
numerical features from data for model.
Receive Raw
Data
Compute
Features
Predict With
Model
A Common Bottleneck: Feature Computation
4
โ— Feature computation is bottleneck when models are
inexpensiveโ€”boosted trees, not DNNs.
โ— Common on tabular/structured data!
A Common Bottleneck: Feature Computation
Source: Pretzel (OSDI โ€˜18)
Feature computation takes >99% of the time!
Production Microsoft sentiment analysis pipeline
Model run
time
5
Current State-of-the-art
โ— Apply traditional serving optimizations, e.g. caching
(Clipper), compiler optimizations (Pretzel).
โ— Neglect unique statistical properties of ML apps.
6
Statistical Properties of ML
Amenability to approximation
7
Statistical Properties of ML
Amenability to approximation
8
Easy input:
Definitely not
a dog.
Hard input:
Maybe a
dog?
Statistical Properties of ML
Amenability to approximation
Existing Systems: Use Expensive Model for Both
9
Easy input:
Definitely not
a dog.
Hard input:
Maybe a
dog?
Statistical Properties of ML
Amenability to approximation
Statistically-Aware Systems: Use cheap model on bucket,
expensive model on cat. 10
Easy input:
Definitely not
a dog.
Hard input:
Maybe a
dog?
Statistical Properties of ML
โ— Model is often part of a bigger app (e.g. top-K query)
11
Statistical Properties of ML
โ— Model is often part of a bigger app (e.g. top-K query)
12
Artist Score Rank
Beatles 9.7 1
Bruce Springsteen 9.5 2
โ€ฆ โ€ฆ โ€ฆ
Justin Bieber 5.6 999
Nickelback 4.1 1000
Problem:
Return top
10 artists.
Statistical Properties of ML
โ— Model is often part of a bigger app (e.g. top-K query)
13
Artist Score Rank
Beatles 9.7 1
Bruce Springsteen 9.5 2
โ€ฆ โ€ฆ โ€ฆ
Justin Bieber 5.6 999
Nickelback 4.1 1000
Use
expensive
model for
everything!
Existing Systems
Statistical Properties of ML
โ— Model is often part of a bigger app (e.g. top-K query)
14
Artist Score Rank
Beatles 9.7 1
Bruce Springsteen 9.5 2
โ€ฆ โ€ฆ โ€ฆ
Justin Bieber 5.6 999
Nickelback 4.1 1000
High-value:
Rank precisely,
return.
Low-value:
Approximate,
discard.
Statistically-aware Systems
Prior Work: Statistically-Aware Optimizations
โ— Statistically-aware optimizations exist in literature.
โ— Always application-specific and custom-built.
โ— Never automatic!
15
Source:
Cheng et al.
(DLRSโ€™ 16),
Kang et al.
(VLDB โ€˜17)
ML Inference Dilemna
โ— ML inference systems:
โ—‹ Easy to use.
โ—‹ Slow.
โ— Statistically-aware systems:
โ—‹ Fast
โ—‹ Require a lot of work to implement.
16
Can an ML inference system be fast and easy to use?
17
Willump: Overview
โ— Statistically-aware optimizer for ML Inference.
โ— Targets feature computation!
โ— Automatic model-agnostic statistically-aware opts.
โ— 10x throughput+latency improvements.
18
Outline
19
โ— System Overview
โ— Optimization 1: End-to-end Cascades
โ— Optimization 2: Top-K Query Approximation
โ— Evaluation
Willump: Goals
โ— Automatically maximize performance of ML inference
applications whose performance bottleneck is feature
computation
20
def pipeline(x1, x2):
input = lib.transform(x1, x2)
preds = model.predict(input)
return preds
System Overview
Input Pipeline
def pipeline(x1, x2):
input = lib.transform(x1, x2)
preds = model.predict(input)
return preds
Willump Optimization
Infer Transformation
Graph
System Overview
Input Pipeline
23
def pipeline(x1, x2):
input = lib.transform(x1, x2)
preds = model.predict(input)
return preds
Willump Optimization
Infer Transformation
Graph
Statistically-Aware Optimizations:
1. End-To-End Cascades
2. Top-K Query Approximation
System Overview
Input Pipeline
24
def pipeline(x1, x2):
input = lib.transform(x1, x2)
preds = model.predict(input)
return preds
Willump Optimization
Infer Transformation
Graph
Compiler Optimizations
(Weldโ€”Palkar et al. VLDB โ€˜18)
System Overview
Input Pipeline
Statistically-Aware Optimizations:
1. End-To-End Cascades
2. Top-K Query Approximation
25
def pipeline(x1, x2):
input = lib.transform(x1, x2)
preds = model.predict(input)
return preds
Willump Optimization
Infer Transformation
Graph
Compiler Optimizations
(Weldโ€”Palkar et al. VLDB โ€˜18)
def willump_pipeline(x1, x2):
preds = compiled_code(x1, x2)
return preds
Optimized Pipeline
System Overview
Input Pipeline
Statistically-Aware Optimizations:
1. End-To-End Cascades
2. Top-K Query Approximation
Outline
26
โ— System Overview
โ— Optimization 1: End-to-end Cascades
โ— Optimization 2: Top-K Query Approximation
โ— Evaluation
Background: Model Cascades
โ— Classify โ€œeasyโ€ inputs with cheap model.
โ— Cascade to expensive model for โ€œhardโ€ inputs.
27
Easy input:
Definitely not
a dog.
Hard input:
Maybe a
dog?
Background: Model Cascades
โ— Used for image classification, object detection.
โ— Existing systems application-specific and custom-built.
28
Source:
Viola-Jones
(CVPRโ€™ 01),
Kang et al.
(VLDB โ€˜17)
Our Optimization: End-to-end cascades
โ— Compute only some features for โ€œeasyโ€ data inputs;
cascade to computing all for โ€œhardโ€ inputs.
โ— Automatic and model-agnostic, unlike prior work.
โ—‹ Estimates for runtime performance & accuracy of a feature set
โ—‹ Efficient search process for tuning parameters
29
End-to-end Cascades: Original Model
Compute
All Features
Model
Prediction
Cascades
Optimization
End-to-end Cascades: Approximate Model
Compute
All Features
Model
Prediction
Compute Selected Features
Approximate Model
Prediction
Cascades
Optimization
End-to-end Cascades: Confidence
Compute
All Features
Model
Prediction
Compute Selected Features
Approximate Model
Prediction
Confidence > Threshold
Yes
Cascades
Optimization
End-to-end Cascades: Final Pipeline
Compute
All Features
Model
Prediction
Compute Selected Features
Compute Remaining Features
Approximate Model
Prediction
Original Model
Confidence > Threshold
Yes No
End-to-end Cascades: Constructing Cascades
34
โ— Construct cascades during model training.
โ— Need model training set and an accuracy target.
End-to-end Cascades: Selecting Features
Compute Selected Features
Compute Remaining Features
Approximate Model
Prediction
Original Model
Confidence > Threshold
Yes No
Key question:
Select which
features?
End-to-end Cascades: Selecting Features
36
โ— Goal: Select features that minimize expected query time
given accuracy target.
End-to-end Cascades: Selecting Features
Compute Selected Features
Compute Remaining Features
Approximate Model
Prediction
Original Model
Confidence > Threshold
Yes No
Two possibilities for a query: Can approximate or not.
Can approximate
query.
Canโ€™t approximate
query.
End-to-end Cascades: Selecting Features
Compute Selected Features (S)
Approximate Model
Prediction
Confidence > Threshold
YesP(Yes) = P(approx)
cost(๐‘†)
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
End-to-end Cascades: Selecting Features
Compute Selected Features (S)
Compute Remaining Features
Approximate Model
Prediction
Original Model
Confidence > Threshold
No P(No) = P(~approx)
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
cost(๐น)
End-to-end Cascades: Selecting Features
Compute Selected Features (S)
Compute Remaining Features
Approximate Model
Prediction
Original Model
Confidence > Threshold
Yes NoP(Yes) = P(approx) P(No) = P(~approx)
cost(๐‘†)
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
cost(๐น)
End-to-end Cascades: Selecting Features
41
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
End-to-end Cascades: Selecting Features
42
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘บ).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
43
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
44
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
45
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
46
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘บ).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
47
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
48
โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
End-to-end Cascades: Selecting Features
49
โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Find S maximizing approximate model accuracy.
End-to-end Cascades: Selecting Features
50
โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Find S maximizing approximate model accuracy.
โ—‹ Problem: Computing accuracy expensive.
End-to-end Cascades: Selecting Features
51
โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Find S maximizing approximate model accuracy.
โ—‹ Problem: Computing accuracy expensive.
โ—‹ Solution: Estimate accuracy via permutation
importance -> knapsack problem.
End-to-end Cascades: Selecting Features
52
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Selecting Features
53
โ— Subgoal: Train model & find cascade threshold for S.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Compute empirically on held-out data.
End-to-end Cascades: Selecting Features
54
โ— Subgoal: Train model & find cascade threshold for S.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Compute empirically on held-out data.
โ—‹ Train approximate model from S.
End-to-end Cascades: Selecting Features
55
โ— Subgoal: Train model & find cascade threshold for S.
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Solution:
โ—‹ Compute empirically on held-out data.
โ—‹ Train approximate model from S.
โ—‹ Predict held-out set, determine cascade threshold
empirically using accuracy target.
End-to-end Cascades: Selecting Features
56
โ— Goal: Select feature set S that minimizes query time:
min
๐‘†
๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
โ— Approach:
โ—‹ Choose several potential values of cost(๐‘†).
โ—‹ Find best feature set with each cost(S).
โ—‹ Train model & find cascade threshold for each set.
โ—‹ Pick best overall.
End-to-end Cascades: Results
57
โ— Speedups of up to 5x without statistically significant
accuracy loss.
โ— Full evaluation at end of talk!
Outline
58
โ— System Overview
โ— Optimization 1: End-to-end Cascades
โ— Optimization 2: Top-K Query Approximation
โ— Evaluation
Top-K Approximation: Query Overview
โ— Top-K problem: Rank K highest-scoring items of a
dataset.
โ— Top-K example: Find 10 artists a user would like most
(recommender system).
59
Top-K Approximation: Asymmetry
60
โ— High-value items must be predicted, ranked precisely.
โ— Low-value items need only be identified as low value.
Artist Score Rank
Beatles 9.7 1
Bruce Springsteen 9.5 2
โ€ฆ โ€ฆ โ€ฆ
Justin Bieber 5.6 999
Nickelback 4.1 1000
High-value:
Rank precisely,
return.
Low-value:
Approximate,
discard.
Top-K Approximation: How it Works
โ— Use approximate model to identify and discard low-
value items.
โ— Rank high-value items with powerful model.
61
Top-K Approximation: Prior Work
โ— Existing systems have similar ideas.
โ— However, we automatically generate approximate
models for any ML applicationโ€”prior systems donโ€™t.
โ— Similar challenges as in cascades.
62
Source:
Cheng et al.
(DLRS โ€˜16)
Top-K Approximation: Automatic Tuning
โ— Automatically selects features, tunes parameters to
maximize performance given accuracy target.
โ— Works similarly to cascades.
โ— See paper for details!
63
Top-K Approximation: Results
64
โ— Speedups of up to 10x for top-K queries.
โ— Full eval at end of talk!
Outline
65
โ— System Overview
โ— Optimization 1: End-to-end Cascades
โ— Optimization 2: Top-K Query Approximation
โ— Evaluation
Willump Evaluation: Benchmarks
โ— Benchmarks curated from top-performing entries to
data science competitions (e.g. Kaggle, WSDM, CIKM).
โ— Three benchmarks in presentation (more in paper):
โ—‹ Music (music recommendationโ€“ queries remotely stored
precomputed features)
โ—‹ Purchase (predict next purchase, tabular AutoML features)
โ—‹ Toxic (toxic comment detection โ€“ computes string features)
66
End-to-End Cascades Evaluation: Throughput
67
15x
1.6x1x1x
2.4x
3.2x
68
End-to-End Cascades Evaluation: Latency
Top-K Query Approximation Evaluation
69
4.0x
1x
2.7x
1x
3.2x
30x
Statistical nature of ML enables new
optimizations: Willump applies them
automatically for 10x speedups.
github.com/stanford-futuredata/Willump
Summary
Summary

More Related Content

What's hot

Scalable Acceleration of XGBoost Training on Apache Spark GPU Clusters
Scalable Acceleration of XGBoost Training on Apache Spark GPU ClustersScalable Acceleration of XGBoost Training on Apache Spark GPU Clusters
Scalable Acceleration of XGBoost Training on Apache Spark GPU ClustersDatabricks
ย 
Spark Summit EU talk by Elena Lazovik
Spark Summit EU talk by Elena LazovikSpark Summit EU talk by Elena Lazovik
Spark Summit EU talk by Elena LazovikSpark Summit
ย 
Scaling Machine Learning To Billions Of Parameters
Scaling Machine Learning To Billions Of ParametersScaling Machine Learning To Billions Of Parameters
Scaling Machine Learning To Billions Of ParametersJen Aman
ย 
Choose Your Weapon: Comparing Spark on FPGAs vs GPUs
Choose Your Weapon: Comparing Spark on FPGAs vs GPUsChoose Your Weapon: Comparing Spark on FPGAs vs GPUs
Choose Your Weapon: Comparing Spark on FPGAs vs GPUsDatabricks
ย 
Spark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van HovellSpark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van HovellSpark Summit
ย 
Spark Summit EU talk by Mikhail Semeniuk Hollin Wilkins
Spark Summit EU talk by Mikhail Semeniuk Hollin WilkinsSpark Summit EU talk by Mikhail Semeniuk Hollin Wilkins
Spark Summit EU talk by Mikhail Semeniuk Hollin WilkinsSpark Summit
ย 
Spark Summit EU talk by Kent Buenaventura and Willaim Lau
Spark Summit EU talk by Kent Buenaventura and Willaim LauSpark Summit EU talk by Kent Buenaventura and Willaim Lau
Spark Summit EU talk by Kent Buenaventura and Willaim LauSpark Summit
ย 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsDatabricks
ย 
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Summit
ย 
Spark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit EU talk by Ram Sriharsha and Vlad FeinbergSpark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit EU talk by Ram Sriharsha and Vlad FeinbergSpark Summit
ย 
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflow
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflowImproving the Life of Data Scientists: Automating ML Lifecycle through MLflow
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflowDatabricks
ย 
Scalable Deep Learning Platform On Spark In Baidu
Scalable Deep Learning Platform On Spark In BaiduScalable Deep Learning Platform On Spark In Baidu
Scalable Deep Learning Platform On Spark In BaiduJen Aman
ย 
Cloud-Native Apache Spark Scheduling with YuniKorn Scheduler
Cloud-Native Apache Spark Scheduling with YuniKorn SchedulerCloud-Native Apache Spark Scheduling with YuniKorn Scheduler
Cloud-Native Apache Spark Scheduling with YuniKorn SchedulerDatabricks
ย 
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Spark Summit
ย 
Spark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit
ย 
Spark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit
ย 
Extending Machine Learning Algorithms with PySpark
Extending Machine Learning Algorithms with PySparkExtending Machine Learning Algorithms with PySpark
Extending Machine Learning Algorithms with PySparkDatabricks
ย 
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...Databricks
ย 
Operationalize Apache Spark Analytics
Operationalize Apache Spark AnalyticsOperationalize Apache Spark Analytics
Operationalize Apache Spark AnalyticsDatabricks
ย 
Spark Summit EU talk by Heiko Korndorf
Spark Summit EU talk by Heiko KorndorfSpark Summit EU talk by Heiko Korndorf
Spark Summit EU talk by Heiko KorndorfSpark Summit
ย 

What's hot (20)

Scalable Acceleration of XGBoost Training on Apache Spark GPU Clusters
Scalable Acceleration of XGBoost Training on Apache Spark GPU ClustersScalable Acceleration of XGBoost Training on Apache Spark GPU Clusters
Scalable Acceleration of XGBoost Training on Apache Spark GPU Clusters
ย 
Spark Summit EU talk by Elena Lazovik
Spark Summit EU talk by Elena LazovikSpark Summit EU talk by Elena Lazovik
Spark Summit EU talk by Elena Lazovik
ย 
Scaling Machine Learning To Billions Of Parameters
Scaling Machine Learning To Billions Of ParametersScaling Machine Learning To Billions Of Parameters
Scaling Machine Learning To Billions Of Parameters
ย 
Choose Your Weapon: Comparing Spark on FPGAs vs GPUs
Choose Your Weapon: Comparing Spark on FPGAs vs GPUsChoose Your Weapon: Comparing Spark on FPGAs vs GPUs
Choose Your Weapon: Comparing Spark on FPGAs vs GPUs
ย 
Spark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van HovellSpark Summit EU talk by Herman van Hovell
Spark Summit EU talk by Herman van Hovell
ย 
Spark Summit EU talk by Mikhail Semeniuk Hollin Wilkins
Spark Summit EU talk by Mikhail Semeniuk Hollin WilkinsSpark Summit EU talk by Mikhail Semeniuk Hollin Wilkins
Spark Summit EU talk by Mikhail Semeniuk Hollin Wilkins
ย 
Spark Summit EU talk by Kent Buenaventura and Willaim Lau
Spark Summit EU talk by Kent Buenaventura and Willaim LauSpark Summit EU talk by Kent Buenaventura and Willaim Lau
Spark Summit EU talk by Kent Buenaventura and Willaim Lau
ย 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
ย 
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
ย 
Spark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit EU talk by Ram Sriharsha and Vlad FeinbergSpark Summit EU talk by Ram Sriharsha and Vlad Feinberg
Spark Summit EU talk by Ram Sriharsha and Vlad Feinberg
ย 
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflow
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflowImproving the Life of Data Scientists: Automating ML Lifecycle through MLflow
Improving the Life of Data Scientists: Automating ML Lifecycle through MLflow
ย 
Scalable Deep Learning Platform On Spark In Baidu
Scalable Deep Learning Platform On Spark In BaiduScalable Deep Learning Platform On Spark In Baidu
Scalable Deep Learning Platform On Spark In Baidu
ย 
Cloud-Native Apache Spark Scheduling with YuniKorn Scheduler
Cloud-Native Apache Spark Scheduling with YuniKorn SchedulerCloud-Native Apache Spark Scheduling with YuniKorn Scheduler
Cloud-Native Apache Spark Scheduling with YuniKorn Scheduler
ย 
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
ย 
Spark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital KediaSpark Summit EU talk by Sital Kedia
Spark Summit EU talk by Sital Kedia
ย 
Spark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef HabdankSpark Summit EU talk by Josef Habdank
Spark Summit EU talk by Josef Habdank
ย 
Extending Machine Learning Algorithms with PySpark
Extending Machine Learning Algorithms with PySparkExtending Machine Learning Algorithms with PySpark
Extending Machine Learning Algorithms with PySpark
ย 
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...
Deep Learning with DL4J on Apache Spark: Yeah itโ€™s Cool, but are You Doing it...
ย 
Operationalize Apache Spark Analytics
Operationalize Apache Spark AnalyticsOperationalize Apache Spark Analytics
Operationalize Apache Spark Analytics
ย 
Spark Summit EU talk by Heiko Korndorf
Spark Summit EU talk by Heiko KorndorfSpark Summit EU talk by Heiko Korndorf
Spark Summit EU talk by Heiko Korndorf
ย 

Similar to Willump: Optimizing Feature Computation in ML Inference

Using Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsUsing Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsScott Clark
ย 
Using Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsUsing Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsSigOpt
ย 
FlinkML - Big data application meetup
FlinkML - Big data application meetupFlinkML - Big data application meetup
FlinkML - Big data application meetupTheodoros Vasiloudis
ย 
Production ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeProduction ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeIdo Shilon
ย 
CD in Machine Learning Systems
CD in Machine Learning SystemsCD in Machine Learning Systems
CD in Machine Learning SystemsThoughtworks
ย 
Productionalizing Spark ML
Productionalizing Spark MLProductionalizing Spark ML
Productionalizing Spark MLdatamantra
ย 
Taking your machine learning workflow to the next level using Scikit-Learn Pi...
Taking your machine learning workflow to the next level using Scikit-Learn Pi...Taking your machine learning workflow to the next level using Scikit-Learn Pi...
Taking your machine learning workflow to the next level using Scikit-Learn Pi...Philip Goddard
ย 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilitiesAllan D. Butler
ย 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkIvo Andreev
ย 
Revolutionise your Machine Learning Workflow using Scikit-Learn Pipelines
Revolutionise your Machine Learning Workflow using Scikit-Learn PipelinesRevolutionise your Machine Learning Workflow using Scikit-Learn Pipelines
Revolutionise your Machine Learning Workflow using Scikit-Learn PipelinesPhilip Goddard
ย 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?SIMUL8 Corporation
ย 
Pycon 2012 Scikit-Learn
Pycon 2012 Scikit-LearnPycon 2012 Scikit-Learn
Pycon 2012 Scikit-LearnAnoop Thomas Mathew
ย 
Holistic data application quality
Holistic data application qualityHolistic data application quality
Holistic data application qualityLars Albertsson
ย 
General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsMark Peng
ย 
FlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkFlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkTheodoros Vasiloudis
ย 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroPyData
ย 
Automated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and TrackingAutomated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and TrackingDatabricks
ย 
Advanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowAdvanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowDatabricks
ย 
Ml also helps generic compiler ?
Ml also helps generic compiler ?Ml also helps generic compiler ?
Ml also helps generic compiler ?Ryo Takahashi
ย 

Similar to Willump: Optimizing Feature Computation in ML Inference (20)

Using Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsUsing Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning Models
ย 
Using Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning ModelsUsing Bayesian Optimization to Tune Machine Learning Models
Using Bayesian Optimization to Tune Machine Learning Models
ย 
FlinkML - Big data application meetup
FlinkML - Big data application meetupFlinkML - Big data application meetup
FlinkML - Big data application meetup
ย 
Production ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeProduction ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ waze
ย 
CD in Machine Learning Systems
CD in Machine Learning SystemsCD in Machine Learning Systems
CD in Machine Learning Systems
ย 
Build machine learning pipelines from research to production
Build machine learning pipelines from research to productionBuild machine learning pipelines from research to production
Build machine learning pipelines from research to production
ย 
Productionalizing Spark ML
Productionalizing Spark MLProductionalizing Spark ML
Productionalizing Spark ML
ย 
Taking your machine learning workflow to the next level using Scikit-Learn Pi...
Taking your machine learning workflow to the next level using Scikit-Learn Pi...Taking your machine learning workflow to the next level using Scikit-Learn Pi...
Taking your machine learning workflow to the next level using Scikit-Learn Pi...
ย 
Customer choice probabilities
Customer choice probabilitiesCustomer choice probabilities
Customer choice probabilities
ย 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it Work
ย 
Revolutionise your Machine Learning Workflow using Scikit-Learn Pipelines
Revolutionise your Machine Learning Workflow using Scikit-Learn PipelinesRevolutionise your Machine Learning Workflow using Scikit-Learn Pipelines
Revolutionise your Machine Learning Workflow using Scikit-Learn Pipelines
ย 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
ย 
Pycon 2012 Scikit-Learn
Pycon 2012 Scikit-LearnPycon 2012 Scikit-Learn
Pycon 2012 Scikit-Learn
ย 
Holistic data application quality
Holistic data application qualityHolistic data application quality
Holistic data application quality
ย 
General Tips for participating Kaggle Competitions
General Tips for participating Kaggle CompetitionsGeneral Tips for participating Kaggle Competitions
General Tips for participating Kaggle Competitions
ย 
FlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkFlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache Flink
ย 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
ย 
Automated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and TrackingAutomated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and Tracking
ย 
Advanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflowAdvanced Hyperparameter Optimization for Deep Learning with MLflow
Advanced Hyperparameter Optimization for Deep Learning with MLflow
ย 
Ml also helps generic compiler ?
Ml also helps generic compiler ?Ml also helps generic compiler ?
Ml also helps generic compiler ?
ย 

More from 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
ย 

More from 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
ย 

Recently uploaded

Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Callshivangimorya083
ย 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
ย 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
ย 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
ย 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
ย 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
ย 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
ย 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
ย 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
ย 
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นatducpo
ย 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiSuhani Kapoor
ย 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
ย 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
ย 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
ย 
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
ย 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
ย 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
ย 
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...Delhi Call girls
ย 

Recently uploaded (20)

Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 โ˜Žโœ”๐Ÿ‘Œโœ” Whatsapp Hard And Sexy Vip Call
ย 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
ย 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
ย 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
ย 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
ย 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
ย 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
ย 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
ย 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
ย 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
ย 
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”นไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ไปฃๅŠžๅ›ฝๅค–ๅคงๅญฆๆ–‡ๅ‡ญใ€ŠๅŽŸ็‰ˆ็พŽๅ›ฝUCLAๆ–‡ๅ‡ญ่ฏไนฆใ€‹ๅŠ ๅทžๅคงๅญฆๆด›ๆ‰็Ÿถๅˆ†ๆ กๆฏ•ไธš่ฏๅˆถไฝœๆˆ็ปฉๅ•ไฟฎๆ”น
ย 
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service BhilaiLow Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
Low Rate Call Girls Bhilai Anika 8250192130 Independent Escort Service Bhilai
ย 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
ย 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
ย 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
ย 
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...
๊งโค Aerocity Call Girls Service Aerocity Delhi โค๊ง‚ 9999965857 โ˜Ž๏ธ Hard And Sexy ...
ย 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
ย 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
ย 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
ย 
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi ๐Ÿ’ฏ Call Us ๐Ÿ”9205541914 ๐Ÿ”( Delhi) Escorts S...
ย 

Willump: Optimizing Feature Computation in ML Inference

  • 1. Willump: A Statistically-Aware End-to-end Optimizer for ML Inference Peter Kraft, Daniel Kang, Deepak Narayanan, Shoumik Palkar, Peter Bailis, Matei Zaharia Stanford University
  • 2. Problem: ML Inference โ— Often performance-critical. โ— Recent focus on tools for ML prediction serving. 2
  • 3. A Common Bottleneck: Feature Computation 3 โ— Many applications bottlenecked by feature computation. โ— Pipeline of transformations computes numerical features from data for model. Receive Raw Data Compute Features Predict With Model
  • 4. A Common Bottleneck: Feature Computation 4 โ— Feature computation is bottleneck when models are inexpensiveโ€”boosted trees, not DNNs. โ— Common on tabular/structured data!
  • 5. A Common Bottleneck: Feature Computation Source: Pretzel (OSDI โ€˜18) Feature computation takes >99% of the time! Production Microsoft sentiment analysis pipeline Model run time 5
  • 6. Current State-of-the-art โ— Apply traditional serving optimizations, e.g. caching (Clipper), compiler optimizations (Pretzel). โ— Neglect unique statistical properties of ML apps. 6
  • 7. Statistical Properties of ML Amenability to approximation 7
  • 8. Statistical Properties of ML Amenability to approximation 8 Easy input: Definitely not a dog. Hard input: Maybe a dog?
  • 9. Statistical Properties of ML Amenability to approximation Existing Systems: Use Expensive Model for Both 9 Easy input: Definitely not a dog. Hard input: Maybe a dog?
  • 10. Statistical Properties of ML Amenability to approximation Statistically-Aware Systems: Use cheap model on bucket, expensive model on cat. 10 Easy input: Definitely not a dog. Hard input: Maybe a dog?
  • 11. Statistical Properties of ML โ— Model is often part of a bigger app (e.g. top-K query) 11
  • 12. Statistical Properties of ML โ— Model is often part of a bigger app (e.g. top-K query) 12 Artist Score Rank Beatles 9.7 1 Bruce Springsteen 9.5 2 โ€ฆ โ€ฆ โ€ฆ Justin Bieber 5.6 999 Nickelback 4.1 1000 Problem: Return top 10 artists.
  • 13. Statistical Properties of ML โ— Model is often part of a bigger app (e.g. top-K query) 13 Artist Score Rank Beatles 9.7 1 Bruce Springsteen 9.5 2 โ€ฆ โ€ฆ โ€ฆ Justin Bieber 5.6 999 Nickelback 4.1 1000 Use expensive model for everything! Existing Systems
  • 14. Statistical Properties of ML โ— Model is often part of a bigger app (e.g. top-K query) 14 Artist Score Rank Beatles 9.7 1 Bruce Springsteen 9.5 2 โ€ฆ โ€ฆ โ€ฆ Justin Bieber 5.6 999 Nickelback 4.1 1000 High-value: Rank precisely, return. Low-value: Approximate, discard. Statistically-aware Systems
  • 15. Prior Work: Statistically-Aware Optimizations โ— Statistically-aware optimizations exist in literature. โ— Always application-specific and custom-built. โ— Never automatic! 15 Source: Cheng et al. (DLRSโ€™ 16), Kang et al. (VLDB โ€˜17)
  • 16. ML Inference Dilemna โ— ML inference systems: โ—‹ Easy to use. โ—‹ Slow. โ— Statistically-aware systems: โ—‹ Fast โ—‹ Require a lot of work to implement. 16
  • 17. Can an ML inference system be fast and easy to use? 17
  • 18. Willump: Overview โ— Statistically-aware optimizer for ML Inference. โ— Targets feature computation! โ— Automatic model-agnostic statistically-aware opts. โ— 10x throughput+latency improvements. 18
  • 19. Outline 19 โ— System Overview โ— Optimization 1: End-to-end Cascades โ— Optimization 2: Top-K Query Approximation โ— Evaluation
  • 20. Willump: Goals โ— Automatically maximize performance of ML inference applications whose performance bottleneck is feature computation 20
  • 21. def pipeline(x1, x2): input = lib.transform(x1, x2) preds = model.predict(input) return preds System Overview Input Pipeline
  • 22. def pipeline(x1, x2): input = lib.transform(x1, x2) preds = model.predict(input) return preds Willump Optimization Infer Transformation Graph System Overview Input Pipeline
  • 23. 23 def pipeline(x1, x2): input = lib.transform(x1, x2) preds = model.predict(input) return preds Willump Optimization Infer Transformation Graph Statistically-Aware Optimizations: 1. End-To-End Cascades 2. Top-K Query Approximation System Overview Input Pipeline
  • 24. 24 def pipeline(x1, x2): input = lib.transform(x1, x2) preds = model.predict(input) return preds Willump Optimization Infer Transformation Graph Compiler Optimizations (Weldโ€”Palkar et al. VLDB โ€˜18) System Overview Input Pipeline Statistically-Aware Optimizations: 1. End-To-End Cascades 2. Top-K Query Approximation
  • 25. 25 def pipeline(x1, x2): input = lib.transform(x1, x2) preds = model.predict(input) return preds Willump Optimization Infer Transformation Graph Compiler Optimizations (Weldโ€”Palkar et al. VLDB โ€˜18) def willump_pipeline(x1, x2): preds = compiled_code(x1, x2) return preds Optimized Pipeline System Overview Input Pipeline Statistically-Aware Optimizations: 1. End-To-End Cascades 2. Top-K Query Approximation
  • 26. Outline 26 โ— System Overview โ— Optimization 1: End-to-end Cascades โ— Optimization 2: Top-K Query Approximation โ— Evaluation
  • 27. Background: Model Cascades โ— Classify โ€œeasyโ€ inputs with cheap model. โ— Cascade to expensive model for โ€œhardโ€ inputs. 27 Easy input: Definitely not a dog. Hard input: Maybe a dog?
  • 28. Background: Model Cascades โ— Used for image classification, object detection. โ— Existing systems application-specific and custom-built. 28 Source: Viola-Jones (CVPRโ€™ 01), Kang et al. (VLDB โ€˜17)
  • 29. Our Optimization: End-to-end cascades โ— Compute only some features for โ€œeasyโ€ data inputs; cascade to computing all for โ€œhardโ€ inputs. โ— Automatic and model-agnostic, unlike prior work. โ—‹ Estimates for runtime performance & accuracy of a feature set โ—‹ Efficient search process for tuning parameters 29
  • 30. End-to-end Cascades: Original Model Compute All Features Model Prediction
  • 31. Cascades Optimization End-to-end Cascades: Approximate Model Compute All Features Model Prediction Compute Selected Features Approximate Model Prediction
  • 32. Cascades Optimization End-to-end Cascades: Confidence Compute All Features Model Prediction Compute Selected Features Approximate Model Prediction Confidence > Threshold Yes
  • 33. Cascades Optimization End-to-end Cascades: Final Pipeline Compute All Features Model Prediction Compute Selected Features Compute Remaining Features Approximate Model Prediction Original Model Confidence > Threshold Yes No
  • 34. End-to-end Cascades: Constructing Cascades 34 โ— Construct cascades during model training. โ— Need model training set and an accuracy target.
  • 35. End-to-end Cascades: Selecting Features Compute Selected Features Compute Remaining Features Approximate Model Prediction Original Model Confidence > Threshold Yes No Key question: Select which features?
  • 36. End-to-end Cascades: Selecting Features 36 โ— Goal: Select features that minimize expected query time given accuracy target.
  • 37. End-to-end Cascades: Selecting Features Compute Selected Features Compute Remaining Features Approximate Model Prediction Original Model Confidence > Threshold Yes No Two possibilities for a query: Can approximate or not. Can approximate query. Canโ€™t approximate query.
  • 38. End-to-end Cascades: Selecting Features Compute Selected Features (S) Approximate Model Prediction Confidence > Threshold YesP(Yes) = P(approx) cost(๐‘†) min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
  • 39. End-to-end Cascades: Selecting Features Compute Selected Features (S) Compute Remaining Features Approximate Model Prediction Original Model Confidence > Threshold No P(No) = P(~approx) min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) cost(๐น)
  • 40. End-to-end Cascades: Selecting Features Compute Selected Features (S) Compute Remaining Features Approximate Model Prediction Original Model Confidence > Threshold Yes NoP(Yes) = P(approx) P(No) = P(~approx) cost(๐‘†) min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) cost(๐น)
  • 41. End-to-end Cascades: Selecting Features 41 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
  • 42. End-to-end Cascades: Selecting Features 42 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘บ). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 43. End-to-end Cascades: Selecting Features 43 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 44. End-to-end Cascades: Selecting Features 44 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 45. End-to-end Cascades: Selecting Features 45 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 46. End-to-end Cascades: Selecting Features 46 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘บ). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 47. End-to-end Cascades: Selecting Features 47 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 48. End-to-end Cascades: Selecting Features 48 โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น)
  • 49. End-to-end Cascades: Selecting Features 49 โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Find S maximizing approximate model accuracy.
  • 50. End-to-end Cascades: Selecting Features 50 โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Find S maximizing approximate model accuracy. โ—‹ Problem: Computing accuracy expensive.
  • 51. End-to-end Cascades: Selecting Features 51 โ— Subgoal: Find S minimizing query time if ๐‘๐‘œ๐‘ ๐‘ก ๐‘† = ๐‘ ๐‘š๐‘Ž๐‘ฅ. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Find S maximizing approximate model accuracy. โ—‹ Problem: Computing accuracy expensive. โ—‹ Solution: Estimate accuracy via permutation importance -> knapsack problem.
  • 52. End-to-end Cascades: Selecting Features 52 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 53. End-to-end Cascades: Selecting Features 53 โ— Subgoal: Train model & find cascade threshold for S. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Compute empirically on held-out data.
  • 54. End-to-end Cascades: Selecting Features 54 โ— Subgoal: Train model & find cascade threshold for S. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Compute empirically on held-out data. โ—‹ Train approximate model from S.
  • 55. End-to-end Cascades: Selecting Features 55 โ— Subgoal: Train model & find cascade threshold for S. min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Solution: โ—‹ Compute empirically on held-out data. โ—‹ Train approximate model from S. โ—‹ Predict held-out set, determine cascade threshold empirically using accuracy target.
  • 56. End-to-end Cascades: Selecting Features 56 โ— Goal: Select feature set S that minimizes query time: min ๐‘† ๐‘ƒ(approx)cost(๐‘†) + ๐‘ƒ(~approx)cost(๐น) โ— Approach: โ—‹ Choose several potential values of cost(๐‘†). โ—‹ Find best feature set with each cost(S). โ—‹ Train model & find cascade threshold for each set. โ—‹ Pick best overall.
  • 57. End-to-end Cascades: Results 57 โ— Speedups of up to 5x without statistically significant accuracy loss. โ— Full evaluation at end of talk!
  • 58. Outline 58 โ— System Overview โ— Optimization 1: End-to-end Cascades โ— Optimization 2: Top-K Query Approximation โ— Evaluation
  • 59. Top-K Approximation: Query Overview โ— Top-K problem: Rank K highest-scoring items of a dataset. โ— Top-K example: Find 10 artists a user would like most (recommender system). 59
  • 60. Top-K Approximation: Asymmetry 60 โ— High-value items must be predicted, ranked precisely. โ— Low-value items need only be identified as low value. Artist Score Rank Beatles 9.7 1 Bruce Springsteen 9.5 2 โ€ฆ โ€ฆ โ€ฆ Justin Bieber 5.6 999 Nickelback 4.1 1000 High-value: Rank precisely, return. Low-value: Approximate, discard.
  • 61. Top-K Approximation: How it Works โ— Use approximate model to identify and discard low- value items. โ— Rank high-value items with powerful model. 61
  • 62. Top-K Approximation: Prior Work โ— Existing systems have similar ideas. โ— However, we automatically generate approximate models for any ML applicationโ€”prior systems donโ€™t. โ— Similar challenges as in cascades. 62 Source: Cheng et al. (DLRS โ€˜16)
  • 63. Top-K Approximation: Automatic Tuning โ— Automatically selects features, tunes parameters to maximize performance given accuracy target. โ— Works similarly to cascades. โ— See paper for details! 63
  • 64. Top-K Approximation: Results 64 โ— Speedups of up to 10x for top-K queries. โ— Full eval at end of talk!
  • 65. Outline 65 โ— System Overview โ— Optimization 1: End-to-end Cascades โ— Optimization 2: Top-K Query Approximation โ— Evaluation
  • 66. Willump Evaluation: Benchmarks โ— Benchmarks curated from top-performing entries to data science competitions (e.g. Kaggle, WSDM, CIKM). โ— Three benchmarks in presentation (more in paper): โ—‹ Music (music recommendationโ€“ queries remotely stored precomputed features) โ—‹ Purchase (predict next purchase, tabular AutoML features) โ—‹ Toxic (toxic comment detection โ€“ computes string features) 66
  • 67. End-to-End Cascades Evaluation: Throughput 67 15x 1.6x1x1x 2.4x 3.2x
  • 69. Top-K Query Approximation Evaluation 69 4.0x 1x 2.7x 1x 3.2x 30x
  • 70. Statistical nature of ML enables new optimizations: Willump applies them automatically for 10x speedups. github.com/stanford-futuredata/Willump Summary Summary