How Instacart is Using Deep Learning
to Create the Most Efficient Shoppers Ever
v
@jeremystan
Our Value Proposition
Groceries from
stores you
love
delivered
to your
doorstep
in as little
as an hour
+ + + =
v
@jeremystan
Picking Groceries
v
@jeremystan
Picking Groceries
v
@jeremystan
List Sorting
100s of retailers
1,000s of stores
10,000s of shoppers
1,000,000s of products
v
@jeremystan
Why Not?
Can’t we just?
...build warehouses? No
...get store data? Often not
…map manually? Infrequently
...map with tech? Not yet
v
@jeremystan
Results
123 years
of shopping
125 million
US households
1%
market share
1x
trips / week
1 minute
saved per trip
Shopper
Speed
(Items per
Minute)
Batch Size
(Items Picked)
v
@jeremystan
Problem Definition
1 2 3 4 5 6 7 8 9 10
Learn sequence Predict sequence
v
@jeremystan
Problem Definition
Last Candidates
Next
Pr next= last= ,candidates=
v
@jeremystan
Initial Architecture
1 Cross
Entropy
1
Deterministic
Learned
1m
10m
Final
Layer
1m
Masked
Soft Max
Hidden
Layers
50k
30 10
Embedding
10m
1m 10
tensor
length
# parameters
Predicted
1m
= 32%
Pr next= last= ,candidates=
Embedding
10k
1k 10
10
Embedding
100k
10k
v
@jeremystan
1
10
1m
Initial Architecture
Embedding
Embedding
Embedding
Hidden
Layers
Predicted
10m
10k
100k
50k 10m
Final
Layer
1m
1k
10k
10
10 30 10
1m
Cross
Entropy
1
Deterministic
Learned
Masked
Soft Max
1m
tensor
length
# parameters
= 32%
Pr next= last= ,candidates=
v
@jeremystan
Discovering Layout
10
Embedding
Embedding
Embedding
10m
10k
100k
1m
1k
10k
10
10 30
v
@jeremystan
Discovering Layout
10
Embedding
Embedding
Embedding
10m
10k
100k
1m
1k
10k
10
10 30
v
@jeremystan
1
10
1m
Initial Architecture Weaknesses
Embedding
Embedding
Embedding
Hidden
Layers
Predicted
10m
10k
100k
50k 10m
Final
Layer
1m
1k
10k
10
10 30 10
1m
Cross
Entropy
1
Masked
Soft Max
1m
Redundant No metadata
Dense
v
@jeremystan
1
10
1m
Final Architecture
Embedding
Embedding
Embedding
Hidden
Layers
Predicted
10m
10k
100k
50k 10m
Final
Layer
1m
1k
10k
10
10 30 10
1m
Cross
Entropy
1
Masked
Soft Max
1m
v
@jeremystan
10
Final Architecture
Embedding
Embedding
Embedding
Hidden
Layers
10m
10k
100k
50k
1m
1k
10k
10
10 30
v
@jeremystan
1
10m
10
Final Architecture
Shared
Embedding
Embedding
Embedding
10k
100k
50k
1m
1k
10k
10
10 40
1m 10
Shared
Embedding
Hidden
Layers
Score = 0.7
v
@jeremystan
1
10m
10
Final Architecture
Shared
Embedding
Embedding
Embedding
10k
100k
50k
1m
1k
10k
10
10 40
1m 10
Shared
Embedding
Hidden
Layers
Score = 0.7
v
@jeremystan
1
10m
10
Final Architecture
Shared
Embedding
Embedding
Embedding
10k
100k
50k
1m
1k
10k
10
10 40
1m 10
Shared
Embedding
Hidden
Layers
Score = 0.7
10.16m
Score
Generator
v
@jeremystan
Final Architecture
Score
1
10m
10
Shared
Embedding
Embedding
Embedding
10k
100k
50k
1m
1k
10k
10
10 40
1m 10
Shared
Embedding
Hidden
Layers
= 0.7
10.16m
Score
Generator
v
@jeremystan
Final Architecture
Score
10.16m
Score
Generator
1m 1
10.16m
Score
Generator
Score 0.7
v
@jeremystan
1m
Final Architecture
1
10.16m
Score
Generator
Score 0.7
v
@jeremystan
1m
Final Architecture
1
Score
Generator
Score
10.16m
1m 1
Score
Generator
Score
0.7
-0.2
v
@jeremystan
1m
Final Architecture
1
Score
Generator
Score
1m 1
Score
Generator
Score
0.7
-0.2
1m 1
Score
Generator
Score
1m 1
Score
Generator
Score
1m 1
Score
Generator
Score
10.16m
-0.4
1.3
1.1
v
@jeremystan
1m
Final Architecture
1
Score
Generator
Score
1m 1
Score
Generator
Score
1m 1
Score
Generator
Score
1m 1
Score
Generator
Score
1m 1
Score
Generator
Score
1
Predicted
Cross
Entropy
1
Soft
Max
5
= 36%
10.16m
10x faster training
10% better accuracy
2x slower prediction
v
@jeremystan
Team
Francisco Guzman
Designer
Nima Zahedi
Product Manager
Montana Low
Machine Learning Engineer
WE’RE HIRING!
@jeremystan | e-mail: jeremy.stanley@instacart.com
careers: careers.instacart.com

How Instacart is Using Deep Learning