SlideShare a Scribd company logo
1 of 21
Personalization @ Scale
Challenges and Practical Techniques
Hagay Lupesko
Engineering Manager, Facebook AI
Facebook’s
Mission:
Bring the World
Closer Together
Bringing the world closer together by
connecting people to what they care
about
Personalization @ FB
Personalization @ Facebook
Feed IG Explore Groups Marketplace
1.5B+ Daily Users
Billions Posts Shared Per Day
Trillions Posts Ranked Per Day
Facebook’s
Scale
Personalization @ Scale – Practical Techniques
System Design
Candidate Generation
Learning from Sparse Data
Keeping Models Fresh
Agenda
Personalization @ Scale – System Design (1/2)
Recommender
System
User
User
User
Ranked Items
Query
User ID
Time of day
Device attributes
…
Items
Store
Feature
Store
Personalization @ Scale – System Design (2/2)
Query
Retrieval
AKA
Candidate
Generator
User
User
User
Ranked Items
Item
Store
Ranking
Model
Feature
Store
Impression
Log
Custom
Business
Logic
Recommender
System
Personalization @ Scale – Practical Techniques
System Design
Candidate Generation
Learning from Sparse Data
Keeping Models Fresh
Agenda
Personalization @ Scale – Retrieval (1/3)
Challenge: Identifying O(102) items out of O(106), fast!
Practical Approach: Multi-stage ranking with a candidate generator
Candidate generator:
- Does NOT optimize for accurate rank (this comes later on)
- Usually latency bound
Personalization @ Scale – Retrieval (2/3)
Embeddings: mapping high
dimensionality feature space into low
dimensionality vector.
“King” -> [0.392, …, 0.173]
VideoID311 -> [0.112, …, 0.298]
PostID1907 -> [0.819, …, 0.197]
Two-Tower Neural Net: embedding
for recommender systems.
Query
Tower
Item
Tower
Similarity
Embedding Embedding
Query Features Item Features
Personalization @ Scale – Retrieval (3/3)
KNN Offline Indexing
Populate all item embeddings into a
KNN index for fast lookup.
Online Items Lookup
Lookup item candidates using KNN for
query embeddings.
Item
Tower
Item
Store
KNN
Service
Index
Recurring Offline Update
Query
Tower
KNN
Service
Lookup
Query Features
Personalization @ Scale – Practical Techniques
System Design
Candidate Generation
Learning from Sparse Data
Keeping Models Fresh
Agenda
Personalization @ Scale – Data Sparsity (1/3)
Challenge:
How to learn from categorical/sparse features?
How to combine it with continuous/dense features?
Dense Features Categorical Features
Numerical and continuous or count features.
- Time of day
- # posts liked in the last 30 days
- # videos watched in the last week
Sparse and high dimensional features that
indicate a specific category or item ID.
- Language
- Post ID
- Video ID
Personalization @ Scale – Sparse Data (2/3)
Dense Features Categorical (AKA Sparse) Features
? ? ?
LangID: 16
PostIDs
Liked: […]
VideoIDs
Watched: […]
…
Embedding Table Lookup: ID to Dense Vector
Dense Vector
[0.121, 0.750, 0.579, …]
Feed into
Neural Net
Age: 40
Time of
Day: 5.2
30D Post
Clicks: 121
…
Dense Vector
[0.604, 0.157, 0.184, …]
Feed into
Neural Net
Normalize Normalize Normalize…
Pool Pool
Pairwise Dot Product
…
• Combining together into a
single neural network
• Open sourced by Facebook as
DLRM - PyTorch
implementation
• Embedding tables are memory
bound
• Training at production scale
requires model parallelism
Personalization @ Scale – Sparse Data (3/3)
Sparse
Features
Dense
Features
Bottom
MLP
Embedding
Tables
Feature Interactions
Top MLP
Prediction
Personalization @ Scale – Practical Techniques
System Design
Candidate Generation
Learning from Sparse Data
Keeping Models Fresh
Agenda
Personalization @ Scale – Model Freshness (1/2)
Challenges:
Items are added, removed, updated every minute
Users are onboarding and changing every minute
Data distributions are constantly changing!
How can personalization models keep up?
How can compute usage stay efficient?
Personalization @ Scale – Model Freshness (2/2)
OnlineTraining
Train as user interaction
data is captured
• Deploy updated model
every few hours or less
• Use when data
distributions change
rapidly and model is critical
• Fine tune the previous
baseline due to limited
time and data windows.
RecurringTraining
Train on offline data in
repeat
• Deploy updated model
every few days or weeks
• Make it the default practice
for your models!
• Train from scratch or fine
tune a baseline – based on
cost/benefit.
Personalization @ Scale – Practical Techniques
System Design
Candidate Generation
Learning from Sparse Data
Keeping Models Fresh
Recap
Personalization @ Scale
Challenges and Practical Techniques
Hagay Lupesko
Engineering Manager, Facebook AI
Thank You!

More Related Content

What's hot

오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영NAVER D2
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)Treasure Data, Inc.
 
Optimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningOptimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningDatabricks
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인Jae Young Park
 
Data pipeline essential
Data pipeline essentialData pipeline essential
Data pipeline essentialBryan Yang
 
Debugging PySpark - PyCon US 2018
Debugging PySpark -  PyCon US 2018Debugging PySpark -  PyCon US 2018
Debugging PySpark - PyCon US 2018Holden Karau
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석YOO SE KYUN
 
Made to Measure: Ranking Evaluation using Elasticsearch
Made to Measure: Ranking Evaluation using ElasticsearchMade to Measure: Ranking Evaluation using Elasticsearch
Made to Measure: Ranking Evaluation using ElasticsearchDaniel Schneiter
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용Tapjoy X 5Rocks
 
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들PAP (Product Analytics Playground)
 
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
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Roopa Tangirala
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차Taekyung Han
 
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market KurlyAmelia Choi
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with EsperTed Won
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다승화 양
 

What's hot (20)

오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
 
Optimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File PruningOptimising Geospatial Queries with Dynamic File Pruning
Optimising Geospatial Queries with Dynamic File Pruning
 
ElephantDB
ElephantDBElephantDB
ElephantDB
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
 
Data pipeline essential
Data pipeline essentialData pipeline essential
Data pipeline essential
 
Debugging PySpark - PyCon US 2018
Debugging PySpark -  PyCon US 2018Debugging PySpark -  PyCon US 2018
Debugging PySpark - PyCon US 2018
 
Reliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at AirbnbReliable and Scalable Data Ingestion at Airbnb
Reliable and Scalable Data Ingestion at Airbnb
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
 
Made to Measure: Ranking Evaluation using Elasticsearch
Made to Measure: Ranking Evaluation using ElasticsearchMade to Measure: Ranking Evaluation using Elasticsearch
Made to Measure: Ranking Evaluation using Elasticsearch
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
 
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들
[팝콘 시즌1] 윤석진 : 조직의 데이터 드리븐 문화를 위해 극복해야하는 문제들
 
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
 
Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup) Polyglot persistence @ netflix (CDE Meetup)
Polyglot persistence @ netflix (CDE Meetup)
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차
 
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly
데이터 기반 이커머스 개인화 추천 기획 | 마켓컬리 Market Kurly
 
Complex Event Processing with Esper
Complex Event Processing with EsperComplex Event Processing with Esper
Complex Event Processing with Esper
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
 

Similar to AI Powered Personalization @ Scale - O'Reilly AI San Jose - Sep 2019

Extensis DAM Forum at MW2011
Extensis DAM Forum at MW2011Extensis DAM Forum at MW2011
Extensis DAM Forum at MW2011Extensis
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine LearningRahul Jain
 
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...Lucidworks
 
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn SearchStructure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn SearchC4Media
 
C19013010 the tutorial to build shared ai services session 1
C19013010  the tutorial to build shared ai services session 1C19013010  the tutorial to build shared ai services session 1
C19013010 the tutorial to build shared ai services session 1Bill Liu
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningSergey Karayev
 
data-science-pdf-16588.pdf
data-science-pdf-16588.pdfdata-science-pdf-16588.pdf
data-science-pdf-16588.pdfvkharish18
 
Power Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite AnnouncementsPower Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite AnnouncementsSimon Doy
 
Deploying Viva Topics
Deploying Viva TopicsDeploying Viva Topics
Deploying Viva TopicsDrew Madelung
 
Recommender Systems @ Scale - PyData 2019
Recommender Systems @ Scale - PyData 2019Recommender Systems @ Scale - PyData 2019
Recommender Systems @ Scale - PyData 2019Sonya Liberman
 
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxPowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxprabhatthunuguntla
 
Large scale computing
Large scale computing Large scale computing
Large scale computing Bhupesh Bansal
 
Gnizr Feed
Gnizr FeedGnizr Feed
Gnizr Feedpdscomp
 
Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022
Real-Time Recommendations  with Hopsworks and OpenSearch - MLOps World 2022Real-Time Recommendations  with Hopsworks and OpenSearch - MLOps World 2022
Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022Jim Dowling
 
Recommender Systems @ Scale, Big Data Europe Conference 2019
Recommender Systems @ Scale, Big Data Europe Conference 2019Recommender Systems @ Scale, Big Data Europe Conference 2019
Recommender Systems @ Scale, Big Data Europe Conference 2019Sonya Liberman
 
Social Media Data Collection & Analysis
Social Media Data Collection & AnalysisSocial Media Data Collection & Analysis
Social Media Data Collection & AnalysisScott Sanders
 
Extensis DAM Forum at MCN
Extensis DAM Forum at MCNExtensis DAM Forum at MCN
Extensis DAM Forum at MCNesmithextensis
 
Customizing Microsoft Teams Provisioning and-Governance
Customizing Microsoft Teams Provisioning and-GovernanceCustomizing Microsoft Teams Provisioning and-Governance
Customizing Microsoft Teams Provisioning and-GovernanceOlli Jääskeläinen
 

Similar to AI Powered Personalization @ Scale - O'Reilly AI San Jose - Sep 2019 (20)

Extensis DAM Forum at MW2011
Extensis DAM Forum at MW2011Extensis DAM Forum at MW2011
Extensis DAM Forum at MW2011
 
Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...
Query-time Nonparametric Regression with Temporally Bounded Models - Patrick ...
 
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn SearchStructure, Personalization, Scale: A Deep Dive into LinkedIn Search
Structure, Personalization, Scale: A Deep Dive into LinkedIn Search
 
Recsys 2016
Recsys 2016Recsys 2016
Recsys 2016
 
C19013010 the tutorial to build shared ai services session 1
C19013010  the tutorial to build shared ai services session 1C19013010  the tutorial to build shared ai services session 1
C19013010 the tutorial to build shared ai services session 1
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
 
data-science-pdf-16588.pdf
data-science-pdf-16588.pdfdata-science-pdf-16588.pdf
data-science-pdf-16588.pdf
 
Power Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite AnnouncementsPower Platform Leeds - November 2019 - Microsoft Ignite Announcements
Power Platform Leeds - November 2019 - Microsoft Ignite Announcements
 
Deploying Viva Topics
Deploying Viva TopicsDeploying Viva Topics
Deploying Viva Topics
 
Recommender Systems @ Scale - PyData 2019
Recommender Systems @ Scale - PyData 2019Recommender Systems @ Scale - PyData 2019
Recommender Systems @ Scale - PyData 2019
 
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptxPowerShell-and-DSC-Enables-DSCDevOps-1.pptx
PowerShell-and-DSC-Enables-DSCDevOps-1.pptx
 
Large scale computing
Large scale computing Large scale computing
Large scale computing
 
Architecting for Data Science
Architecting for Data ScienceArchitecting for Data Science
Architecting for Data Science
 
Gnizr Feed
Gnizr FeedGnizr Feed
Gnizr Feed
 
Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022
Real-Time Recommendations  with Hopsworks and OpenSearch - MLOps World 2022Real-Time Recommendations  with Hopsworks and OpenSearch - MLOps World 2022
Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022
 
Recommender Systems @ Scale, Big Data Europe Conference 2019
Recommender Systems @ Scale, Big Data Europe Conference 2019Recommender Systems @ Scale, Big Data Europe Conference 2019
Recommender Systems @ Scale, Big Data Europe Conference 2019
 
Social Media Data Collection & Analysis
Social Media Data Collection & AnalysisSocial Media Data Collection & Analysis
Social Media Data Collection & Analysis
 
Extensis DAM Forum at MCN
Extensis DAM Forum at MCNExtensis DAM Forum at MCN
Extensis DAM Forum at MCN
 
Customizing Microsoft Teams Provisioning and-Governance
Customizing Microsoft Teams Provisioning and-GovernanceCustomizing Microsoft Teams Provisioning and-Governance
Customizing Microsoft Teams Provisioning and-Governance
 

More from Hagay Lupesko

Deep learning acceleration with Amazon Elastic Inference
Deep learning acceleration with Amazon Elastic Inference  Deep learning acceleration with Amazon Elastic Inference
Deep learning acceleration with Amazon Elastic Inference Hagay Lupesko
 
What is deep learning (and why you should care) - Talk at SJSU Oct 2018
What is deep learning (and why you should care) - Talk at SJSU Oct 2018What is deep learning (and why you should care) - Talk at SJSU Oct 2018
What is deep learning (and why you should care) - Talk at SJSU Oct 2018Hagay Lupesko
 
Emotion recognition in images: from idea to a model in production - Nordic DS...
Emotion recognition in images: from idea to a model in production - Nordic DS...Emotion recognition in images: from idea to a model in production - Nordic DS...
Emotion recognition in images: from idea to a model in production - Nordic DS...Hagay Lupesko
 
Deep learning systems model serving
Deep learning systems   model servingDeep learning systems   model serving
Deep learning systems model servingHagay Lupesko
 
Build, Train and Deploy ML Models using Amazon SageMaker
Build, Train and Deploy ML Models using Amazon SageMakerBuild, Train and Deploy ML Models using Amazon SageMaker
Build, Train and Deploy ML Models using Amazon SageMakerHagay Lupesko
 
ONNX - The Lingua Franca of Deep Learning
ONNX - The Lingua Franca of Deep LearningONNX - The Lingua Franca of Deep Learning
ONNX - The Lingua Franca of Deep LearningHagay Lupesko
 

More from Hagay Lupesko (6)

Deep learning acceleration with Amazon Elastic Inference
Deep learning acceleration with Amazon Elastic Inference  Deep learning acceleration with Amazon Elastic Inference
Deep learning acceleration with Amazon Elastic Inference
 
What is deep learning (and why you should care) - Talk at SJSU Oct 2018
What is deep learning (and why you should care) - Talk at SJSU Oct 2018What is deep learning (and why you should care) - Talk at SJSU Oct 2018
What is deep learning (and why you should care) - Talk at SJSU Oct 2018
 
Emotion recognition in images: from idea to a model in production - Nordic DS...
Emotion recognition in images: from idea to a model in production - Nordic DS...Emotion recognition in images: from idea to a model in production - Nordic DS...
Emotion recognition in images: from idea to a model in production - Nordic DS...
 
Deep learning systems model serving
Deep learning systems   model servingDeep learning systems   model serving
Deep learning systems model serving
 
Build, Train and Deploy ML Models using Amazon SageMaker
Build, Train and Deploy ML Models using Amazon SageMakerBuild, Train and Deploy ML Models using Amazon SageMaker
Build, Train and Deploy ML Models using Amazon SageMaker
 
ONNX - The Lingua Franca of Deep Learning
ONNX - The Lingua Franca of Deep LearningONNX - The Lingua Franca of Deep Learning
ONNX - The Lingua Franca of Deep Learning
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

AI Powered Personalization @ Scale - O'Reilly AI San Jose - Sep 2019

  • 1. Personalization @ Scale Challenges and Practical Techniques Hagay Lupesko Engineering Manager, Facebook AI
  • 3. Bringing the world closer together by connecting people to what they care about Personalization @ FB
  • 4. Personalization @ Facebook Feed IG Explore Groups Marketplace
  • 5. 1.5B+ Daily Users Billions Posts Shared Per Day Trillions Posts Ranked Per Day Facebook’s Scale
  • 6. Personalization @ Scale – Practical Techniques System Design Candidate Generation Learning from Sparse Data Keeping Models Fresh Agenda
  • 7. Personalization @ Scale – System Design (1/2) Recommender System User User User Ranked Items Query User ID Time of day Device attributes … Items Store Feature Store
  • 8. Personalization @ Scale – System Design (2/2) Query Retrieval AKA Candidate Generator User User User Ranked Items Item Store Ranking Model Feature Store Impression Log Custom Business Logic Recommender System
  • 9. Personalization @ Scale – Practical Techniques System Design Candidate Generation Learning from Sparse Data Keeping Models Fresh Agenda
  • 10. Personalization @ Scale – Retrieval (1/3) Challenge: Identifying O(102) items out of O(106), fast! Practical Approach: Multi-stage ranking with a candidate generator Candidate generator: - Does NOT optimize for accurate rank (this comes later on) - Usually latency bound
  • 11. Personalization @ Scale – Retrieval (2/3) Embeddings: mapping high dimensionality feature space into low dimensionality vector. “King” -> [0.392, …, 0.173] VideoID311 -> [0.112, …, 0.298] PostID1907 -> [0.819, …, 0.197] Two-Tower Neural Net: embedding for recommender systems. Query Tower Item Tower Similarity Embedding Embedding Query Features Item Features
  • 12. Personalization @ Scale – Retrieval (3/3) KNN Offline Indexing Populate all item embeddings into a KNN index for fast lookup. Online Items Lookup Lookup item candidates using KNN for query embeddings. Item Tower Item Store KNN Service Index Recurring Offline Update Query Tower KNN Service Lookup Query Features
  • 13. Personalization @ Scale – Practical Techniques System Design Candidate Generation Learning from Sparse Data Keeping Models Fresh Agenda
  • 14. Personalization @ Scale – Data Sparsity (1/3) Challenge: How to learn from categorical/sparse features? How to combine it with continuous/dense features? Dense Features Categorical Features Numerical and continuous or count features. - Time of day - # posts liked in the last 30 days - # videos watched in the last week Sparse and high dimensional features that indicate a specific category or item ID. - Language - Post ID - Video ID
  • 15. Personalization @ Scale – Sparse Data (2/3) Dense Features Categorical (AKA Sparse) Features ? ? ? LangID: 16 PostIDs Liked: […] VideoIDs Watched: […] … Embedding Table Lookup: ID to Dense Vector Dense Vector [0.121, 0.750, 0.579, …] Feed into Neural Net Age: 40 Time of Day: 5.2 30D Post Clicks: 121 … Dense Vector [0.604, 0.157, 0.184, …] Feed into Neural Net Normalize Normalize Normalize… Pool Pool Pairwise Dot Product …
  • 16. • Combining together into a single neural network • Open sourced by Facebook as DLRM - PyTorch implementation • Embedding tables are memory bound • Training at production scale requires model parallelism Personalization @ Scale – Sparse Data (3/3) Sparse Features Dense Features Bottom MLP Embedding Tables Feature Interactions Top MLP Prediction
  • 17. Personalization @ Scale – Practical Techniques System Design Candidate Generation Learning from Sparse Data Keeping Models Fresh Agenda
  • 18. Personalization @ Scale – Model Freshness (1/2) Challenges: Items are added, removed, updated every minute Users are onboarding and changing every minute Data distributions are constantly changing! How can personalization models keep up? How can compute usage stay efficient?
  • 19. Personalization @ Scale – Model Freshness (2/2) OnlineTraining Train as user interaction data is captured • Deploy updated model every few hours or less • Use when data distributions change rapidly and model is critical • Fine tune the previous baseline due to limited time and data windows. RecurringTraining Train on offline data in repeat • Deploy updated model every few days or weeks • Make it the default practice for your models! • Train from scratch or fine tune a baseline – based on cost/benefit.
  • 20. Personalization @ Scale – Practical Techniques System Design Candidate Generation Learning from Sparse Data Keeping Models Fresh Recap
  • 21. Personalization @ Scale Challenges and Practical Techniques Hagay Lupesko Engineering Manager, Facebook AI Thank You!