Spotify's Music Recommendations Lambda Architecture

18
Spotify’s Music Recommendations Lambda Architecture Esh Kumar @eshvk Emily Samuels @emilymsa

Transcript of Spotify's Music Recommendations Lambda Architecture

Page 1: Spotify's Music Recommendations Lambda Architecture

Spotify’s Music Recommendations Lambda Architecture

Esh Kumar @eshvkEmily Samuels @emilymsa

Page 2: Spotify's Music Recommendations Lambda Architecture

Overview

‣Why Lambda?‣Use Case: Discover Recommendations• Batch Architecture• Real-time Architecture• Challenges

‣Future Work

Page 3: Spotify's Music Recommendations Lambda Architecture

Why Lambda?

• 1 new user every 3 seconds.• Contextual, time based recs

more & more important

Page 4: Spotify's Music Recommendations Lambda Architecture

Discover Recs

Page 5: Spotify's Music Recommendations Lambda Architecture

The Discover Page

Algorithmically generated fresh recs for users.

Page 6: Spotify's Music Recommendations Lambda Architecture

The Discover Batch Pipeline

Page 7: Spotify's Music Recommendations Lambda Architecture

Machine Learning Deep Dive

Page 8: Spotify's Music Recommendations Lambda Architecture

Word2Vec

Words with similar contexts have similar meaning

Page 9: Spotify's Music Recommendations Lambda Architecture

Word2VecKing – Man + Woman = Queen

Page 10: Spotify's Music Recommendations Lambda Architecture

Annoy• Approximate

Nearest Neighbors Oh Yeah!

• https://github.com/spotify/annoy

Page 11: Spotify's Music Recommendations Lambda Architecture

Batch Architecture

Strengths• Recs based on

complete user history

Weakness• User vector generation

time increasing with no. users.

• Not reflective of

current mood.

Page 12: Spotify's Music Recommendations Lambda Architecture

Intro to Storm

Page 13: Spotify's Music Recommendations Lambda Architecture

Storm

• Distributed real-time computation system

Page 14: Spotify's Music Recommendations Lambda Architecture

Storm @ Spotify

Page 15: Spotify's Music Recommendations Lambda Architecture

Real-time Architecture

Page 16: Spotify's Music Recommendations Lambda Architecture

• Workers die -> Cascading JVM Process death

• Memcache flakiness• Cassandra JVM problems due

to write/overwrite pattern

Challenges

Page 17: Spotify's Music Recommendations Lambda Architecture

Future/Ongoing Work

• Simplify the topology

• Keep listens for 24 hours

• Ongoing work on other real time personalization features.

Page 18: Spotify's Music Recommendations Lambda Architecture

Questions

Esh Kumar [email protected] Samuels [email protected]