SlideShare a Scribd company logo
1 of 71
Download to read offline
Personalized Recommendations and
Search with Retrieval and Ranking at
scale on Hopsworks
MLOps World 2022
Jim Dowling, CEO, Hopsworks
https://www.kaggle.com/competitions/h-and-m-personalized-fashion-recommendations
H&M Personalized Fashion Recommendations
Personalized product recommendations based on previous purchases
ā— articles.csv - detailed metadata for each article_id available for purchase
ā— customers.csv - metadata for each customer_id
ā— transactions_train.csv - purchases for each customer with date
Predict the article_ids each customer will purchase.
Recommender systems are information ļ¬ltering systems that personalize
the information coming to a user based on her historical interests, the
relevance of the information, and the current context (e.g., what is trending).
Some paradigms for recommender systems:
ā— Collaborative ļ¬ltering
ā— Content-based ļ¬ltering
ā— Social and demographic recommenders
ā— Contextual recommendation algorithms
Recommender Systems
Facebook posts
Batch
Collaborative ļ¬ltering
Content-based
Netļ¬‚ix movies
Batch
Collaborative ļ¬ltering
Content-based
Alibaba products
Real-time
Item-to-Item
TikTok
Real-time
Retrieval and Ranking
Freshest features
Spotify Weekly
Batch
Collaborative ļ¬ltering
Content-based
MovieLens
Batch
Collaborative ļ¬ltering
Content-based
Youtube clips
Real-time
Retrieval and Ranking
U2I and I2I
ā€œIt's digital crackā€, Andrej Karpathy
Analytical/Batch Recommendation Systems
Database or
KV-Store
Batch Program
(with model) Model Registry
download model
Operational
Services
Reports
consume predictions
store predictions
read batch data for scoring
Feature
Store
Analytical (Batch) Recommendation Service
Facebook posts
Batch
Collaborative ļ¬ltering
Content-based
Netļ¬‚ix movies
Batch
Collaborative ļ¬ltering
Content-based
Alibaba products
Real-time
Item-to-Item
TikTok
Real-time
Retrieval and Ranking
Freshest features
Spotify Weekly
Batch
Collaborative ļ¬ltering
Content-based
MovieLens
Batch
Collaborative ļ¬ltering
Content-based
Youtube clips
Real-time
Retrieval and Ranking
U2I and I2I
ā€œIt's digital crackā€, Andrej Karpathy
Operational/Online Recommendation Systems
Business
Value
Analytical ML
Operational ML
with historical data
Operational ML
with real-time data
BI:
DESCRIPTIVE & DIAGNOSTIC
ANALYTICS
AI:
PREDICTIVE & PRESCRIPTIVE
ANALYTICS
Artisanal ML
(Laptop ML)
Structured
Data
ā€˜Bigā€™ Data
Increase Business Value with more Real-Time Recommendations
User History & Context
Item 2
millions
or
billions
Hundreds Dozens
Candidate
Generation
Ranking
Item1
Item 3
Item 4
Item 5
Item
Corpus
Online Recommendations: Retrieval and Ranking Architecture
3-Stage Retrieval, Filtering, Ranking
Personalized Music
Discovery Playlist:
ā— Retrieval: Nearest neighbor search in
item embedding space
ā— Filtering: Remove tracks user has
heard before (e.g. w/ Bloom Filters)
ā— Ranking: Re-use embedding space
distance from and tade off between
score, similarity and BPm to reduce
jarring track transitions
Social Media Feed:
ā— Retrieval: Random walks on social
graph to find new items in userā€™s
network
ā— Filtering: Remove posts from muted or
blocked users
ā— Ranking: Predict userā€™s likelihood of
interacting with posts, but ā€œtwiddleā€ the
list so adjacent posts are from different
authors
Examples by Nvidia - https://www.youtube.com/watch?v=5qjiY-kLwFY
3-Stage Retrieval, Filtering, Ranking
eCommerce ā€œAdd to Cartā€:
ā— Retrieval: Look up items commonly
co-purchased with cart contents
ā— Filtering: Remove candidate items that are
currently out of stock (or already in your
cart)
ā— Ranking: Predict how likely to buy each
candidate item the user is, but reorder to
maximize expected revenue
Social Media Feed:
ā— Retrieval: Many candidate sources for the
various rows/shelves/banners
ā— Filtering: Remove items that arenā€™t
licensed for streaming in userā€™s country
ā— Ranking: Predict userā€™s stream time for
each item, but arrange a set of shelves
that trade off between predicted relevance
and matching the genre distribution of the
userā€™s previous consumption
Examples by Nvidia - https://www.youtube.com/watch?v=5qjiY-kLwFY
[Image credit: https://eugeneyan.com/writing/system-design-for-discovery/ ]
Online and Oļ¬„ine Infrastructure for Retrieval/Ranking
(Two-Tower) Operational Recommendation Service
Feature Store
history+context
Model Serving
Model
Deployments
user-embedding/rank
Recommend me stuff!
Data Sources
Model Registry
feature
pipelines
deploy
Vector Database
Embeddings
similarity search
User/query embedding
model - user history and
context.
Item embedding model
Built Approx Nearest
Neighbor (ANN) Index with
items and item embedding
model.
User/Query and Item
Embeddings
With the ranking model,
score all the candidate
items with both user and
item features, ensuring,
candidate diversity.
Ranking
Remove candidate items
for various reasons:
ā€¢ underage user
ā€¢ item sold out
ā€¢ item bought
before
ā€¢ item not available
in userā€™s region
Filtering
Retrieve candidate items
based on the user
embedding from the ANN
Index
Retrieval
Create Embeddings - then Retrieval, Filtering, Ranking
Retrieval and Ranking for Fashion Recommendations
User/query
Embedding
Retrieve closest
candidates with
similarity search
Filter & Enrich
with features for
candidates
Add customer
prior purchases,
age, location, etc
Ranking
Model
Ranked
candidates
Candidate 1
Candidate 2
Candidate N
less than 100ms
User/query
Embedding
Retrieve closest
candidates with
similarity search
Filter & Enrich
with features for
candidates
Add customer
prior purchases,
age, location, etc
Ranking
Model
Hopsworks
Feature
Store
KServe
OpenSearch
(FAISS)
KServe
Ranked
candidates
Candidate 1
Candidate 2
Candidate N
Online Infrastructure
Online Infrastructure for Retrieval and Ranking
Hopsworks
Feature
Store
Hopsworks
Feature
Store
KServe
OpenSearch
(FAISS)
KServe
transactions
Feature Engineering
User Data
Articles Data
User/query and Item
Embedding Models
Model Training
Compute embeddings
for items/users and
add to ANN index
Spark App
Model Training
Ranking Model
deploy
deploy
build index
Oļ¬„ine Infrastructure for Ranking and Retrieval
01.
Embeddings
ā— An embedding is a mapping of a discrete ā€” categorical ā€” variable to a
vector of continuous numbers: [1.119, 4.341, ā€¦.,1.334]
ā— Create a denser representation of the categories and maintain some of
the implicit relationship information between items
Word2Vec Embeddings
Image Embeddings enable Similarity Search
Embeddings
Can a ā€œuser queryā€ ļ¬nd ā€œitemsā€
with similarity search?
Yes, by mapping the ā€œuser queryā€ embedding
into the ā€œitemā€ embedding space.
Representation learning for retrieval usually involves supervised learning with labeled
or pseudo-labeled data from user-item interactions.
Two-Tower Embedding Model
[Image Credit: Roman Grebennikov, Findify - https://www.youtube.com/watch?v=BskjQPkrYec ]
Feature Logging - Generate Training Data for Embedding Models
Log user-item interactions as training data for our two-tower model.
H&M Website
Search
Item 1
Item 2
Item 3
Item 4
Purchase 3
Click 2
Click 3
Score: 0
Item 1
Score: 1
Item 2
Score: 5
Item 3
Score: 0
Item 4
Features
Features
Features
Features
How do we create Training Data for our Embedding Models?
Implicit Feedback vs Explicit Feedback
Imagine the user sees a feed and selects the ļ¬fth item in
the list. This shows us that the ļ¬rst four items should
have been ranked lower in the list. We can train our ranker
model with this sort of data.
You can also train a model with explicit feedback by
introducing a user feedback/rating system in your
application.
Negative examples should also be used when training
- items labeled "irrelevant" to a given query.
Item Embedding
Trainable (neural network) Encoder
Static item features:
name, description, tags
language, location
genre, price, etc
(From Database/DW)
The Item Embedding Model
User/Query Embedding
Trainable (neural network) Encoder
User proļ¬le features:
languages, location
preferences, age, etc
(From Database/DW)
User Search History
User Click History
(From Event Logs or Data Lake)
The User/Query Embedding Model
Sigmoid, Dot Product, ā€¦
User and Item Embeddings
are the same length Item Embedding
Trainable (neural network) Encoder
Static item
features
User/Query Embedding
Trainable (neural network) Encoder
Static user
features
User Session
History
User Click
History
TensorFlow has the tensorļ¬‚ow-recommenders library to train two-tower embedding models.
Our training data, transactions.csv, consists of customer and article pairs. You need to provide only positive pairs, where the
customer purchased an article. Training produces 2 models: an item encoder model and a user encoder model.
The dot product of a user embedding and item
embedding pair that interacted is high and the
dot product of a non interacting pair is close to 0
Training the Query and Item Embedding Models with Two Towers
[Source: https://cloud.google.com/blog/products/ai-machine-learning/vertex-matching-engine-blazing-fast-and-massively-scalable-nearest-neighbor-search ]
Create embeddings for Items, insert them into embedding space
(aka build an Approximate Nearest Neighbor (ANN) Index)
02.
Vector Database -
Similarity Search with
Embeddings
A vector database (or embedding store): a
database for durably storing embeddings and
supporting similarity search (nearest neighbor
search)
Approximate nearest neighbor (ANN) algorithms
provide fast nearest neighbor search, O(log(n))
ā— Facebookā€™s FAISS uses Hierarchical
Navigable Small World Graphs (HNSW)
ā— Google ScaNN
HNSW Graph Search
Vector Database
PUT my-knn-index-1
{
"settings": {
"index": {
"knn": true,
"knn.space_type": "cosinesimil"
}
},
"mappings": {
"properties": {
"my_vector1": {
"type": "knn_vector",
"dimension": 2
},
"my_vector2": {
"type": "knn_vector",
"dimension": 4 }
]}}
https://opensearch.org/docs/latest/search-plugins/knn
Create a k-NN nearest neighbour Index in OpenSearch. In the following
slides, we will add entries to the index. Then query it with approximate
nearest neighbor search. Then query it with additional ļ¬lters.
OpenSearch k-NN: Create Index
POST _bulk
{ "index": { "_index": "my-knn-index-1", "_id": "1" } }
{ "my_vector1": [1.5, 2.5], "price": 12.2 }
{ "index": { "_index": "my-knn-index-1", "_id": "2" } }
{ "my_vector1": [2.5, 3.5], "price": 7.1 }
{ "index": { "_index": "my-knn-index-1", "_id": "3" } }
{ "my_vector1": [3.5, 4.5], "price": 12.9 }
{ "index": { "_index": "my-knn-index-1", "_id": "4" } }
{ "my_vector1": [5.5, 6.5], "price": 1.2 }
{ "index": { "_index": "my-knn-index-1", "_id": "5" } }
{ "my_vector1": [4.5, 5.5], "price": 3.7 }
{ "index": { "_index": "my-knn-index-1", "_id": "6" } }
{ "my_vector2": [1.5, 5.5, 4.5, 6.4], "price": 10.3 }
{ "index": { "_index": "my-knn-index-1", "_id": "7" } }
{ "my_vector2": [2.5, 3.5, 5.6, 6.7], "price": 5.5 }
{ "index": { "_index": "my-knn-index-1", "_id": "8" } }
{ "my_vector2": [4.5, 5.5, 6.7, 3.7], "price": 4.4 }
{ "index": { "_index": "my-knn-index-1", "_id": "9" } }
{ "my_vector2": [1.5, 5.5, 4.5, 6.4], "price": 8.9 }
Note that each entry has a unique ā€œ_idā€ and an additional ā€œpriceā€ attribute.
my_vector1 has an embedding of length 2.
my_vector2 has an embedding of length 4.
OpenSearch k-NN: Insert Embeddings into Index
GET my-knn-index-1/_search
{
"size": 2,
"query": {
"knn": {
"my_vector2": {
"vector": [2, 3, 5, 6],
"k": 2
}
}
}
}
k is the number of neighbors the search of each graph will return.
The size option indicates how many results the query actually
returns.
OpenSearch k-NN: Similarity search using Index
GET my-knn-index-1/_search
{
"size": 2,
"query": {
"knn": {
"my_vector2": {
"vector": [2, 3, 5, 6],
"k": 2
}
}
},
"post_filter": {
"range": {
"price": {
"gte": 5,
"lte": 10
}
}
}
}
We are filtering results so that we only get candidates with a price
between 5-10.
OpenSearch k-NN: Similarity search using Index with ļ¬ltering
03.
Ranking and Reļ¬ning
Recommenations
Each instance (user-item pair)
is represented with a list of
features, retrieved from the
feature store.
Training data is the user-item
features and the label is the
relevance ratings.
Ranking models should be fast
- low latency to rank 100s of
candidates, so decision trees
are popular.
What does a Ranking Model do?
The ranking stage should consider additional criteria or constraints.
If the system always recommend items that are "closest" to the user/query embedding, the
candidates tend to be very similar to each other.
Re-rank items based on genre or other metadata to ensure diversity.
When ranking, we can include features that were not feasible during candidate generation.
Use the feature store to retrieve features such as user persona (e.g., demographics, price propensity),
item metadata (e.g., attributes, engagement statistics), cross features (e.g., interaction between
each feature pair), and media embeddings.
Building a ranking model with TF Recommenders: https://www.youtube.com/watch?v=ZkwJo5HRjiQ
https://www.tensorļ¬‚ow.org/recommenders/examples/basic_ranking
Ranking Models - reordering and the feature store
Tags and Metadata - Reļ¬ne your Recommendations/Search
Feature helps generate candidates in ANN search
Static/Dynamic Filter Candidates.
Book 1
Book 2
Book N
Sci-Fi
Drama
Non-Fiction
Vector DB
Ranking Stage
OR
Static attributes. Filter ANN results in OpenSearch
Book 1 Feature1 Feature2 ā€¦ TAG
Tags, Metadata - Reļ¬ning your Search by Filtering
04.
Oļ¬„ine Infrastructure for
Ranking and Retrieval
Oļ¬„ine Infrastructure for Ranking and Retrieval
Hopsworks
Feature
Store
KServe
OpenSearch
(FAISS)
KServe
Kafka
transactions
Feature Engineering
(Spark/Python/SQL)
Data Warehouse user,
item profiles
Historical transactions
User/query and Item
Embedding Models
Model Training
Compute embeddings
for items/users and
add to ANN index
Spark App
Model Training
Ranking Model
deploy
deploy
build index
Data
Engineer
Data
Scientist
ML
Engineer
Data Dump Model
Enterprise
Data
Model
Serving
What is a Feature Store for Machine Learning?
models need operational data
Feature Store
Data
Engineer
Data Scientist
ML
Engineer
Enterprise
Data
Model
Serving
No Feature Store
What are the System Properties of Recommendation Systems?
Availability
(uptime)
Latency
(response time)
Feature
Freshness
(age)
Throughput
(speed)
Apart from the accuracy of your ML models, you have to worry aboutā€¦
Why should I care about Performance and Availability ?
Availability: Embedded in-memory DB crashes on Black
Friday at e-retailer, produces random recommendations
Freshness: Video streaming service switches from
Spark Streaming to Flink, improving feature
freshness from 10s down to 2s, improving the
engagement rate.
Latency: A real-time recommendation service for a
music streaming company returns 250 candidates
during retrieval, then it needs 250 lookups from the
feature store in < 30ms for ranking.
Throughput: Online retail store produces increasing
number of sales, needs to switch feature pipeline
from Pandas to PySpark.
Throughput: Online retail store produces increasing
number of sales, needs to switch feature pipeline
from Pandas to PySpark.
Why should I care about Performance and Availability ?
Availability: Embedded in-memory DB crashes on Black
Friday at e-retailer, produces random recommendations.
Freshness: Video streaming service switches from
Spark Streaming to Flink, improving feature
freshness from 10s down to 2s, improving the
engagement rate.
Latency: A real-time recommendation service for a
music streaming company returns 250 candidates
during retrieval, then it needs 250 lookups from the
feature store in < 30ms for ranking.
Throughput: Online retail store produces increasing
number of sales, needs to switch feature pipeline
from Pandas to PySpark.
Why should I care about Performance and Availability ?
Freshness: Video streaming service switches from
Spark Streaming to Flink, improving feature
freshness from 10s down to 2s, improving the
engagement rate.
Latency: A real-time recommendation service for a
music streaming company returns 250 candidates
during retrieval, then it needs 250 lookups from the
feature store in < 30ms for ranking.
Availability: Embedded in-memory DB crashes on Black
Friday at e-retailer, produces random recommendations.
Availability: Embedded in-memory DB crashes on Black
Friday at e-retailer, produces random recommendations.
Why should I care about Performance and Availability ?
Freshness: Video streaming service switches from
Spark Streaming to Flink, improving feature
freshness from 10s down to 2s, improving the
engagement rate.
Latency: A real-time recommendation service for a
music streaming company returns 250 candidates
during retrieval, then it needs 250 lookups from the
feature store in < 30ms for ranking.
Throughput: Online retail store produces increasing
number of sales, needs to switch feature pipeline
from Pandas to PySpark.
Feature Store
HOPSWORKS
Feature Pipeline
Inference
Data
Training Data /
Batch Data
Write API, Online/Oļ¬„ine Read APIs
Online API
Ofļ¬‚ine API
Online
Oļ¬„ine
External
Training Data
Model Registry
& Deployment
Projects
Feature Groups
Feature
Views
Online
Oļ¬„ine
External
Spark
Spark
Streaming
Flink
Feature Engineering: APIs & Connectors
Hopsworks
APIs
Frameworks
Pandas
Feature Engineering: SQL & Connectors
Online
Oļ¬„ine
External
Training Data
Model Registry
& Deployment
Projects
Feature Groups
Feature
Views
Online
Oļ¬„ine
External
Redshift
(Amazon)
Snowļ¬‚ake
Amazon S3
ADLS
(Azure)
JDBC
(MySQL,
Postgres,
MongoDB)
HopsFS
Hopsworks
Connectors
Storage Connectors
Feature Groups
Web logs
Customers
Articles
Transactions
Data
Warehouse
Feature Views
Ranking
Retrieval
Feature Store
Online API
Oļ¬„ine API
Serve
Train
Write to Feature Groups, Read from Feature Views
< 1ms KV lookup
>100M KV Lookups/sec
>99.999% availability
>1 PB storage
RonDB - Hopsworksā€™ Online Feature Store
https://www.rondb.com
Feature Views
Ranking
Retrieval
Feature Store
Training Data
Training Models
customers.csv articles.csv retrieval.csv
Ranking
User/Query
Embedding
Item
Embedding
Model Registry
Models
Feature Store
HOPSWORKS
Feature Pipeline
Precomputed Features
(Context, Historical)
Retrieval and
Ranking
Application
(Click or Search)
Online API
Feature Store used for Online for Retrieval and Ranking
05.
Hopsworks = Feature Store
+ VectorDB + Model Serving
Feature Store
HOPSWORKS
Feature Pipeline
Precomputed Features
(Context, Historical)
Training Data
Retrieval and
Ranking
Application
(Click or Search)
Online API
Ofļ¬‚ine API
Hopsworks for Retrieval and Ranking
Model
Registry
OpenSearch
ANN
KServe
(Model Serving)
a. User Query
1. Enrich Query with
User History, Proļ¬le, and
Context
Hopsworks
Feature Store
OpenSearch
2. Compute
User/Query
Embedding
3. Retrieve Candidates
4. Enrich Candidates
using Feature Store
5. Score Candidates
with Ranking Model
KServe
Query,
Req-ID
Ranked
Results
<ReqID,
outcome>
Hopsworks Ranking and Retrieval Service
Feature Logging
b. Item Selected
06.
Case Study:
Spotify Music Search
Goal:
Support Spotify Personalized Search in a Retrieval
and Ranking Architecture.
Benchmark the highest throughput, lowest latency
key-value stores to identify one that could scale to
handle millions of concurrent lookups per second
on Spotifyā€™s workloads.
Systems:
Aerospike and RonDB were identiļ¬ed as the only
systems capable of meeting the triple goals of
High Throughput, Low Latency, and High
Availability. Other databases such as Redis,
Cassandra, BigTable were not considered for
availability or latency or throughput reasons.
Feature Store
Ranking
and
Retrieval
Lookup Features
Feature Values
Feature Pipelines
Benchmarking Online Feature Stores
Hardware Benchmark Setup on GCP: RonDB (NDB) vs Aerospike. The Java Client
nodes are the clients performing the reads/writes on the Data Nodes. When the
cluster is provisioned with 8 RonDB (NDB) data nodes, it has 832GB of usable
in-memory storage, when a replication factor of 2 is used.
Benchmark Setup
Throughput: higher is better. Each feature store operation was a batch of 250 key-value lookups, meaning with 8
clients for a 8-node RonDB cluster, there are >2m lookups/sec.
Average throughput of the clients in both 6 and 8 node setup of RonDB
and Aerospike
N. of clients
RonDB 8 Nodes
RonDB 6 Nodes
Aerospike 6 nodes
Aerospike 8 nodes
1250
1000
750
500
250
1 2 4 8
Ops/Sec
Benchmark Results - Throughput
Latency: lower is better. Each feature store operation was a batch of 250 key-value lookups. So, for RonDB, the P99 when
performing 250 primary operations in a single transaction is under 30ms.
Average latency of the clients in both 6 node setup of RonDB and Aerospike
N. of clients
RonDB P75
RonDB P99 Aerospike P99
Aerospike P75
50
40
30
20
10
0
1 2 4 8
Latency
(ms)
Benchmark Results - Latency
RonDB 35% Higher Throughput
RonDB 30% Better Latency
Based on Public Report from Spotify
comparing Aerospike and RonDB (NDB Cluster) as Feature Stores
http://kth.diva-portal.org/smash/get/diva2:1556387/FULLTEXT01.pdf
Benchmark Results
07.
Ranking and Retrieval
with Hopsworks
H&M Recommendation Service
Todayā€™s Workshop: Retrieval and Ranking Platform in Python
create feature groups for articles, customers, transactions
ā— articles.csv
ā— customers.csv
ā— transactions_train.csv
create feature view for retrieval model (training data)
build opensearch KNN index with embeddings for all articles
train two-tower model - user and article embedding models
create feature view for retrieval model (training data)
train ranking model
deploy models to KServe + glue code for Hopsworks, OpenSearch
Feature Groups
transactions.csv
Customers
Articles
Transactions
Feature Views
retrieval
Feature Store
Transaction = (customer_id, article_id, timestamp, channel)
1_feature_engineering.ipynb 2a_create_retrieval_feature_views.ipynb
articles.csv
customers.csv
OpenSearch kNN
ANN Index
Python Program
with Item
Embedding Model
Item Corpus
Encode all items
Insert all pairs
(ID, embedding)
3_build_index.ipynb
Model Registry
Customer Embedding Model
Article Embedding Model
TensorFlow
Two-Tower
Training
Training Data
Register User & Item
Embedding Models
2b_train_retrieval_model.ipynb
4a_create_ranking_feature_views.ipynb 4b_train_ranking_model.ipynb
Feature Groups
Customers
Articles
Transactions
Feature Views
Ranking
Feature Store
Transaction = (customer_id, article_id, timestamp, channel)
Model Registry
Ranking Model
TensorFlow Program
with Item
Embedding Model
Register Ranking Model
Training
Data
Logs: Inputs, Predictions
predict
(https)
Predictor
devices
Kafka
Istio
Feature Store
Transformer
Metrics
5_create_deployment.ipynb
Transformer
Predictor
Ranking Model
User/Query Model
1
2
3
4 2, 4
5
6
7
08.
Where next for
Retrieval and Ranking
Architectures?
more data -> better models -> more users -> more data->
ā€¦
Feature
Store
Recommende
r
(Website, etc)
Models &
Embedding
s
Model
Training
Feature
Pipeline &
Monitoring
Feature
Store
Enterprise
Data
logs
Online API Ofļ¬‚ine API
Build out your Data-for-AI Flywheel
https://ai.facebook.com/blog/powered-by-ai-instagrams-explore-recommender-system/
DSLs for Recommendation Systems
Democratize the development of Recommendation Systems
Hopsworks is the platform for ML collaboration,
powered by the leading
Python-centric Enterprise Feature Store.
London
IDEALondon,
69 Wilson St.
London
UK
Silicon Valley
470 Ramona St
Palo Alto
California
USA
ā­ Stockholm
Hopsworks AB
Medborgarplatsen 25
118 72 Stockholm
Sweden
www.hopsworks.ai
Open &
modular
Eļ¬ƒciency
At Scale
Compliance
Governance

More Related Content

What's hot

3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta3D: DBT using Databricks and Delta
3D: DBT using Databricks and DeltaDatabricks
Ā 
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...Databricks
Ā 
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...Edureka!
Ā 
How to Build a ML Platform Efficiently Using Open-Source
How to Build a ML Platform Efficiently Using Open-SourceHow to Build a ML Platform Efficiently Using Open-Source
How to Build a ML Platform Efficiently Using Open-SourceDatabricks
Ā 
Deep dive into LangChain integration with Neo4j.pptx
Deep dive into LangChain integration with Neo4j.pptxDeep dive into LangChain integration with Neo4j.pptx
Deep dive into LangChain integration with Neo4j.pptxTomazBratanic1
Ā 
Managing the Complete Machine Learning Lifecycle with MLflow
Managing the Complete Machine Learning Lifecycle with MLflowManaging the Complete Machine Learning Lifecycle with MLflow
Managing the Complete Machine Learning Lifecycle with MLflowDatabricks
Ā 
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin Huai
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin HuaiA Deep Dive into Spark SQL's Catalyst Optimizer with Yin Huai
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin HuaiDatabricks
Ā 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingDatabricks
Ā 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseJames Serra
Ā 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architectureBishal Khanal
Ā 
Snowflake Architecture.pptx
Snowflake Architecture.pptxSnowflake Architecture.pptx
Snowflake Architecture.pptxchennakesava44
Ā 
Whatā€™s New with Databricks Machine Learning
Whatā€™s New with Databricks Machine LearningWhatā€™s New with Databricks Machine Learning
Whatā€™s New with Databricks Machine LearningDatabricks
Ā 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDBAmazon Web Services
Ā 
Data pipelines from zero to solid
Data pipelines from zero to solidData pipelines from zero to solid
Data pipelines from zero to solidLars Albertsson
Ā 
Building a Feature Store around Dataframes and Apache Spark
Building a Feature Store around Dataframes and Apache SparkBuilding a Feature Store around Dataframes and Apache Spark
Building a Feature Store around Dataframes and Apache SparkDatabricks
Ā 
Snorkel: Dark Data and Machine Learning with Christopher RĆ©
Snorkel: Dark Data and Machine Learning with Christopher RĆ©Snorkel: Dark Data and Machine Learning with Christopher RĆ©
Snorkel: Dark Data and Machine Learning with Christopher RĆ©Databricks
Ā 
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...Databricks
Ā 
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
Ā 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
Ā 
The Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdfThe Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdfNeo4j
Ā 

What's hot (20)

3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta3D: DBT using Databricks and Delta
3D: DBT using Databricks and Delta
Ā 
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...
Extending Spark's Ingestion: Build Your Own Java Data Source with Jean George...
Ā 
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...
Spark Streaming | Twitter Sentiment Analysis Example | Apache Spark Training ...
Ā 
How to Build a ML Platform Efficiently Using Open-Source
How to Build a ML Platform Efficiently Using Open-SourceHow to Build a ML Platform Efficiently Using Open-Source
How to Build a ML Platform Efficiently Using Open-Source
Ā 
Deep dive into LangChain integration with Neo4j.pptx
Deep dive into LangChain integration with Neo4j.pptxDeep dive into LangChain integration with Neo4j.pptx
Deep dive into LangChain integration with Neo4j.pptx
Ā 
Managing the Complete Machine Learning Lifecycle with MLflow
Managing the Complete Machine Learning Lifecycle with MLflowManaging the Complete Machine Learning Lifecycle with MLflow
Managing the Complete Machine Learning Lifecycle with MLflow
Ā 
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin Huai
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin HuaiA Deep Dive into Spark SQL's Catalyst Optimizer with Yin Huai
A Deep Dive into Spark SQL's Catalyst Optimizer with Yin Huai
Ā 
Large Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured StreamingLarge Scale Lakehouse Implementation Using Structured Streaming
Large Scale Lakehouse Implementation Using Structured Streaming
Ā 
Introducing Azure SQL Data Warehouse
Introducing Azure SQL Data WarehouseIntroducing Azure SQL Data Warehouse
Introducing Azure SQL Data Warehouse
Ā 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
Ā 
Snowflake Architecture.pptx
Snowflake Architecture.pptxSnowflake Architecture.pptx
Snowflake Architecture.pptx
Ā 
Whatā€™s New with Databricks Machine Learning
Whatā€™s New with Databricks Machine LearningWhatā€™s New with Databricks Machine Learning
Whatā€™s New with Databricks Machine Learning
Ā 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
Ā 
Data pipelines from zero to solid
Data pipelines from zero to solidData pipelines from zero to solid
Data pipelines from zero to solid
Ā 
Building a Feature Store around Dataframes and Apache Spark
Building a Feature Store around Dataframes and Apache SparkBuilding a Feature Store around Dataframes and Apache Spark
Building a Feature Store around Dataframes and Apache Spark
Ā 
Snorkel: Dark Data and Machine Learning with Christopher RĆ©
Snorkel: Dark Data and Machine Learning with Christopher RĆ©Snorkel: Dark Data and Machine Learning with Christopher RĆ©
Snorkel: Dark Data and Machine Learning with Christopher RĆ©
Ā 
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
A Deep Dive into Stateful Stream Processing in Structured Streaming with Tath...
Ā 
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
Ā 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
Ā 
The Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdfThe Neo4j Data Platform for Today & Tomorrow.pdf
The Neo4j Data Platform for Today & Tomorrow.pdf
Ā 

Similar to Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022

Real-time Machine Learning with Hopsworks
Real-time Machine Learning with Hopsworks Real-time Machine Learning with Hopsworks
Real-time Machine Learning with Hopsworks AlbaTorrado
Ā 
Recsys2016 Tutorial by Xavier and Deepak
Recsys2016 Tutorial by Xavier and DeepakRecsys2016 Tutorial by Xavier and Deepak
Recsys2016 Tutorial by Xavier and DeepakDeepak Agarwal
Ā 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Shrutika Oswal
Ā 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessIvo Andreev
Ā 
Webinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchWebinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchLucidworks
Ā 
Connecting social media to e commerce
Connecting social media to e commerceConnecting social media to e commerce
Connecting social media to e commercecloudtechnologies42
Ā 
In search of better deep Recommender Systems
In search of better deep Recommender Systems In search of better deep Recommender Systems
In search of better deep Recommender Systems SK Reddy
Ā 
How recommender systems work
How recommender systems work How recommender systems work
How recommender systems work SK Reddy
Ā 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learningRajesh Muppalla
Ā 
Boosting Personalization In SaaS Using Machine Learning.pdf
Boosting Personalization  In SaaS Using Machine Learning.pdfBoosting Personalization  In SaaS Using Machine Learning.pdf
Boosting Personalization In SaaS Using Machine Learning.pdfReza Rahimi
Ā 
29.4 Mb
29.4 Mb29.4 Mb
29.4 Mbguru100
Ā 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation enginesGeorgian Micsa
Ā 
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.com
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.comHABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.com
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.comHABIB FIGA GUYE
Ā 
Digital Trails Dave King 1 5 10 Part 2 D3
Digital Trails   Dave King   1 5 10   Part 2   D3Digital Trails   Dave King   1 5 10   Part 2   D3
Digital Trails Dave King 1 5 10 Part 2 D3Dave King
Ā 
Context Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsContext Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsJulia Kiseleva
Ā 
Boosting Personalization In SaaS Using Machine Learning
Boosting Personalization  In SaaS Using Machine LearningBoosting Personalization  In SaaS Using Machine Learning
Boosting Personalization In SaaS Using Machine LearningGlorium Tech
Ā 

Similar to Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022 (20)

meetup-talk
meetup-talkmeetup-talk
meetup-talk
Ā 
Recsys 2016
Recsys 2016Recsys 2016
Recsys 2016
Ā 
Real-time Machine Learning with Hopsworks
Real-time Machine Learning with Hopsworks Real-time Machine Learning with Hopsworks
Real-time Machine Learning with Hopsworks
Ā 
Recsys2016 Tutorial by Xavier and Deepak
Recsys2016 Tutorial by Xavier and DeepakRecsys2016 Tutorial by Xavier and Deepak
Recsys2016 Tutorial by Xavier and Deepak
Ā 
Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence Movie Recommender System Using Artificial Intelligence
Movie Recommender System Using Artificial Intelligence
Ā 
Architecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for BusinessArchitecting AI Solutions in Azure for Business
Architecting AI Solutions in Azure for Business
Ā 
Webinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better SearchWebinar: Increase Conversion With Better Search
Webinar: Increase Conversion With Better Search
Ā 
Connecting social media to e commerce
Connecting social media to e commerceConnecting social media to e commerce
Connecting social media to e commerce
Ā 
In search of better deep Recommender Systems
In search of better deep Recommender Systems In search of better deep Recommender Systems
In search of better deep Recommender Systems
Ā 
How recommender systems work
How recommender systems work How recommender systems work
How recommender systems work
Ā 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learning
Ā 
Boosting Personalization In SaaS Using Machine Learning.pdf
Boosting Personalization  In SaaS Using Machine Learning.pdfBoosting Personalization  In SaaS Using Machine Learning.pdf
Boosting Personalization In SaaS Using Machine Learning.pdf
Ā 
29.4 mb
29.4 mb29.4 mb
29.4 mb
Ā 
29.4 Mb
29.4 Mb29.4 Mb
29.4 Mb
Ā 
Recommendation engines
Recommendation enginesRecommendation engines
Recommendation engines
Ā 
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.com
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.comHABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.com
HABIB FIGA GUYE {BULE HORA UNIVERSITY}(habibifiga@gmail.com
Ā 
Digital Trails Dave King 1 5 10 Part 2 D3
Digital Trails   Dave King   1 5 10   Part 2   D3Digital Trails   Dave King   1 5 10   Part 2   D3
Digital Trails Dave King 1 5 10 Part 2 D3
Ā 
Context Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsContext Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive Analytics
Ā 
Maruti gollapudi cv
Maruti gollapudi cvMaruti gollapudi cv
Maruti gollapudi cv
Ā 
Boosting Personalization In SaaS Using Machine Learning
Boosting Personalization  In SaaS Using Machine LearningBoosting Personalization  In SaaS Using Machine Learning
Boosting Personalization In SaaS Using Machine Learning
Ā 

More from Jim Dowling

ARVC and flecainide case report[EI] Jim.docx.pdf
ARVC and flecainide case report[EI] Jim.docx.pdfARVC and flecainide case report[EI] Jim.docx.pdf
ARVC and flecainide case report[EI] Jim.docx.pdfJim Dowling
Ā 
PyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfPyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfJim Dowling
Ā 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleJim Dowling
Ā 
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfPyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfJim Dowling
Ā 
_Python Ireland Meetup - Serverless ML - Dowling.pdf
_Python Ireland Meetup - Serverless ML - Dowling.pdf_Python Ireland Meetup - Serverless ML - Dowling.pdf
_Python Ireland Meetup - Serverless ML - Dowling.pdfJim Dowling
Ā 
Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Jim Dowling
Ā 
Ml ops and the feature store with hopsworks, DC Data Science Meetup
Ml ops and the feature store with hopsworks, DC Data Science MeetupMl ops and the feature store with hopsworks, DC Data Science Meetup
Ml ops and the feature store with hopsworks, DC Data Science MeetupJim Dowling
Ā 
Hops fs huawei internal conference july 2021
Hops fs huawei internal conference july 2021Hops fs huawei internal conference july 2021
Hops fs huawei internal conference july 2021Jim Dowling
Ā 
Hopsworks MLOps World talk june 21
Hopsworks MLOps World talk june 21Hopsworks MLOps World talk june 21
Hopsworks MLOps World talk june 21Jim Dowling
Ā 
Hopsworks Feature Store 2.0 a new paradigm
Hopsworks Feature Store  2.0   a new paradigmHopsworks Feature Store  2.0   a new paradigm
Hopsworks Feature Store 2.0 a new paradigmJim Dowling
Ā 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Jim Dowling
Ā 
GANs for Anti Money Laundering
GANs for Anti Money LaunderingGANs for Anti Money Laundering
GANs for Anti Money LaunderingJim Dowling
Ā 
Berlin buzzwords 2020-feature-store-dowling
Berlin buzzwords 2020-feature-store-dowlingBerlin buzzwords 2020-feature-store-dowling
Berlin buzzwords 2020-feature-store-dowlingJim Dowling
Ā 
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala University
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala UniversityInvited Lecture on GPUs and Distributed Deep Learning at Uppsala University
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala UniversityJim Dowling
Ā 
Hopsworks data engineering melbourne april 2020
Hopsworks   data engineering melbourne april 2020Hopsworks   data engineering melbourne april 2020
Hopsworks data engineering melbourne april 2020Jim Dowling
Ā 
The Bitter Lesson of ML Pipelines
The Bitter Lesson of ML Pipelines The Bitter Lesson of ML Pipelines
The Bitter Lesson of ML Pipelines Jim Dowling
Ā 
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyAsynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyJim Dowling
Ā 
Hopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleHopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleJim Dowling
Ā 
Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Jim Dowling
Ā 
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019Jim Dowling
Ā 

More from Jim Dowling (20)

ARVC and flecainide case report[EI] Jim.docx.pdf
ARVC and flecainide case report[EI] Jim.docx.pdfARVC and flecainide case report[EI] Jim.docx.pdf
ARVC and flecainide case report[EI] Jim.docx.pdf
Ā 
PyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdfPyData Berlin 2023 - Mythical ML Pipeline.pdf
PyData Berlin 2023 - Mythical ML Pipeline.pdf
Ā 
Serverless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData SeattleServerless ML Workshop with Hopsworks at PyData Seattle
Serverless ML Workshop with Hopsworks at PyData Seattle
Ā 
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdfPyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
PyCon Sweden 2022 - Dowling - Serverless ML with Hopsworks.pdf
Ā 
_Python Ireland Meetup - Serverless ML - Dowling.pdf
_Python Ireland Meetup - Serverless ML - Dowling.pdf_Python Ireland Meetup - Serverless ML - Dowling.pdf
_Python Ireland Meetup - Serverless ML - Dowling.pdf
Ā 
Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning Building Hopsworks, a cloud-native managed feature store for machine learning
Building Hopsworks, a cloud-native managed feature store for machine learning
Ā 
Ml ops and the feature store with hopsworks, DC Data Science Meetup
Ml ops and the feature store with hopsworks, DC Data Science MeetupMl ops and the feature store with hopsworks, DC Data Science Meetup
Ml ops and the feature store with hopsworks, DC Data Science Meetup
Ā 
Hops fs huawei internal conference july 2021
Hops fs huawei internal conference july 2021Hops fs huawei internal conference july 2021
Hops fs huawei internal conference july 2021
Ā 
Hopsworks MLOps World talk june 21
Hopsworks MLOps World talk june 21Hopsworks MLOps World talk june 21
Hopsworks MLOps World talk june 21
Ā 
Hopsworks Feature Store 2.0 a new paradigm
Hopsworks Feature Store  2.0   a new paradigmHopsworks Feature Store  2.0   a new paradigm
Hopsworks Feature Store 2.0 a new paradigm
Ā 
Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks Metadata and Provenance for ML Pipelines with Hopsworks
Metadata and Provenance for ML Pipelines with Hopsworks
Ā 
GANs for Anti Money Laundering
GANs for Anti Money LaunderingGANs for Anti Money Laundering
GANs for Anti Money Laundering
Ā 
Berlin buzzwords 2020-feature-store-dowling
Berlin buzzwords 2020-feature-store-dowlingBerlin buzzwords 2020-feature-store-dowling
Berlin buzzwords 2020-feature-store-dowling
Ā 
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala University
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala UniversityInvited Lecture on GPUs and Distributed Deep Learning at Uppsala University
Invited Lecture on GPUs and Distributed Deep Learning at Uppsala University
Ā 
Hopsworks data engineering melbourne april 2020
Hopsworks   data engineering melbourne april 2020Hopsworks   data engineering melbourne april 2020
Hopsworks data engineering melbourne april 2020
Ā 
The Bitter Lesson of ML Pipelines
The Bitter Lesson of ML Pipelines The Bitter Lesson of ML Pipelines
The Bitter Lesson of ML Pipelines
Ā 
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyAsynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Ā 
Hopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, SunnyvaleHopsworks at Google AI Huddle, Sunnyvale
Hopsworks at Google AI Huddle, Sunnyvale
Ā 
Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019 Hopsworks in the cloud Berlin Buzzwords 2019
Hopsworks in the cloud Berlin Buzzwords 2019
Ā 
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019
HopsML Meetup talk on Hopsworks + ROCm/AMD June 2019
Ā 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhisoniya singh
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
Ā 
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Patryk Bandurski
Ā 
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024BookNet Canada
Ā 
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your BudgetHyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your BudgetEnjoy Anytime
Ā 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Ā 
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphSIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphNeo4j
Ā 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
Ā 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Alan Dix
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
Ā 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
Ā 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Ā 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
Ā 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Ā 
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Integration and Automation in Practice: CI/CD in MuleĀ Integration and Automat...
Ā 
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: Whatā€™s new for BISAC - Tech Forum 2024
Ā 
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your BudgetHyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad āœØ 7001305949 āœØ Cheap Price Your Budget
Ā 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Ā 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Ā 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Ā 
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge GraphSIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
SIEMENS: RAPUNZEL ā€“ A Tale About Knowledge Graph
Ā 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
Ā 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Ā 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
Ā 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Ā 

Real-Time Recommendations with Hopsworks and OpenSearch - MLOps World 2022

  • 1. Personalized Recommendations and Search with Retrieval and Ranking at scale on Hopsworks MLOps World 2022 Jim Dowling, CEO, Hopsworks
  • 2. https://www.kaggle.com/competitions/h-and-m-personalized-fashion-recommendations H&M Personalized Fashion Recommendations Personalized product recommendations based on previous purchases ā— articles.csv - detailed metadata for each article_id available for purchase ā— customers.csv - metadata for each customer_id ā— transactions_train.csv - purchases for each customer with date Predict the article_ids each customer will purchase.
  • 3. Recommender systems are information ļ¬ltering systems that personalize the information coming to a user based on her historical interests, the relevance of the information, and the current context (e.g., what is trending). Some paradigms for recommender systems: ā— Collaborative ļ¬ltering ā— Content-based ļ¬ltering ā— Social and demographic recommenders ā— Contextual recommendation algorithms Recommender Systems
  • 4. Facebook posts Batch Collaborative ļ¬ltering Content-based Netļ¬‚ix movies Batch Collaborative ļ¬ltering Content-based Alibaba products Real-time Item-to-Item TikTok Real-time Retrieval and Ranking Freshest features Spotify Weekly Batch Collaborative ļ¬ltering Content-based MovieLens Batch Collaborative ļ¬ltering Content-based Youtube clips Real-time Retrieval and Ranking U2I and I2I ā€œIt's digital crackā€, Andrej Karpathy Analytical/Batch Recommendation Systems
  • 5. Database or KV-Store Batch Program (with model) Model Registry download model Operational Services Reports consume predictions store predictions read batch data for scoring Feature Store Analytical (Batch) Recommendation Service
  • 6. Facebook posts Batch Collaborative ļ¬ltering Content-based Netļ¬‚ix movies Batch Collaborative ļ¬ltering Content-based Alibaba products Real-time Item-to-Item TikTok Real-time Retrieval and Ranking Freshest features Spotify Weekly Batch Collaborative ļ¬ltering Content-based MovieLens Batch Collaborative ļ¬ltering Content-based Youtube clips Real-time Retrieval and Ranking U2I and I2I ā€œIt's digital crackā€, Andrej Karpathy Operational/Online Recommendation Systems
  • 7. Business Value Analytical ML Operational ML with historical data Operational ML with real-time data BI: DESCRIPTIVE & DIAGNOSTIC ANALYTICS AI: PREDICTIVE & PRESCRIPTIVE ANALYTICS Artisanal ML (Laptop ML) Structured Data ā€˜Bigā€™ Data Increase Business Value with more Real-Time Recommendations
  • 8. User History & Context Item 2 millions or billions Hundreds Dozens Candidate Generation Ranking Item1 Item 3 Item 4 Item 5 Item Corpus Online Recommendations: Retrieval and Ranking Architecture
  • 9. 3-Stage Retrieval, Filtering, Ranking Personalized Music Discovery Playlist: ā— Retrieval: Nearest neighbor search in item embedding space ā— Filtering: Remove tracks user has heard before (e.g. w/ Bloom Filters) ā— Ranking: Re-use embedding space distance from and tade off between score, similarity and BPm to reduce jarring track transitions Social Media Feed: ā— Retrieval: Random walks on social graph to find new items in userā€™s network ā— Filtering: Remove posts from muted or blocked users ā— Ranking: Predict userā€™s likelihood of interacting with posts, but ā€œtwiddleā€ the list so adjacent posts are from different authors Examples by Nvidia - https://www.youtube.com/watch?v=5qjiY-kLwFY
  • 10. 3-Stage Retrieval, Filtering, Ranking eCommerce ā€œAdd to Cartā€: ā— Retrieval: Look up items commonly co-purchased with cart contents ā— Filtering: Remove candidate items that are currently out of stock (or already in your cart) ā— Ranking: Predict how likely to buy each candidate item the user is, but reorder to maximize expected revenue Social Media Feed: ā— Retrieval: Many candidate sources for the various rows/shelves/banners ā— Filtering: Remove items that arenā€™t licensed for streaming in userā€™s country ā— Ranking: Predict userā€™s stream time for each item, but arrange a set of shelves that trade off between predicted relevance and matching the genre distribution of the userā€™s previous consumption Examples by Nvidia - https://www.youtube.com/watch?v=5qjiY-kLwFY
  • 11. [Image credit: https://eugeneyan.com/writing/system-design-for-discovery/ ] Online and Oļ¬„ine Infrastructure for Retrieval/Ranking
  • 12. (Two-Tower) Operational Recommendation Service Feature Store history+context Model Serving Model Deployments user-embedding/rank Recommend me stuff! Data Sources Model Registry feature pipelines deploy Vector Database Embeddings similarity search
  • 13. User/query embedding model - user history and context. Item embedding model Built Approx Nearest Neighbor (ANN) Index with items and item embedding model. User/Query and Item Embeddings With the ranking model, score all the candidate items with both user and item features, ensuring, candidate diversity. Ranking Remove candidate items for various reasons: ā€¢ underage user ā€¢ item sold out ā€¢ item bought before ā€¢ item not available in userā€™s region Filtering Retrieve candidate items based on the user embedding from the ANN Index Retrieval Create Embeddings - then Retrieval, Filtering, Ranking
  • 14. Retrieval and Ranking for Fashion Recommendations User/query Embedding Retrieve closest candidates with similarity search Filter & Enrich with features for candidates Add customer prior purchases, age, location, etc Ranking Model Ranked candidates Candidate 1 Candidate 2 Candidate N less than 100ms
  • 15. User/query Embedding Retrieve closest candidates with similarity search Filter & Enrich with features for candidates Add customer prior purchases, age, location, etc Ranking Model Hopsworks Feature Store KServe OpenSearch (FAISS) KServe Ranked candidates Candidate 1 Candidate 2 Candidate N Online Infrastructure Online Infrastructure for Retrieval and Ranking Hopsworks Feature Store
  • 16. Hopsworks Feature Store KServe OpenSearch (FAISS) KServe transactions Feature Engineering User Data Articles Data User/query and Item Embedding Models Model Training Compute embeddings for items/users and add to ANN index Spark App Model Training Ranking Model deploy deploy build index Oļ¬„ine Infrastructure for Ranking and Retrieval
  • 18. ā— An embedding is a mapping of a discrete ā€” categorical ā€” variable to a vector of continuous numbers: [1.119, 4.341, ā€¦.,1.334] ā— Create a denser representation of the categories and maintain some of the implicit relationship information between items Word2Vec Embeddings Image Embeddings enable Similarity Search Embeddings
  • 19. Can a ā€œuser queryā€ ļ¬nd ā€œitemsā€ with similarity search? Yes, by mapping the ā€œuser queryā€ embedding into the ā€œitemā€ embedding space. Representation learning for retrieval usually involves supervised learning with labeled or pseudo-labeled data from user-item interactions. Two-Tower Embedding Model
  • 20. [Image Credit: Roman Grebennikov, Findify - https://www.youtube.com/watch?v=BskjQPkrYec ] Feature Logging - Generate Training Data for Embedding Models Log user-item interactions as training data for our two-tower model. H&M Website Search Item 1 Item 2 Item 3 Item 4 Purchase 3 Click 2 Click 3 Score: 0 Item 1 Score: 1 Item 2 Score: 5 Item 3 Score: 0 Item 4 Features Features Features Features
  • 21. How do we create Training Data for our Embedding Models? Implicit Feedback vs Explicit Feedback Imagine the user sees a feed and selects the ļ¬fth item in the list. This shows us that the ļ¬rst four items should have been ranked lower in the list. We can train our ranker model with this sort of data. You can also train a model with explicit feedback by introducing a user feedback/rating system in your application. Negative examples should also be used when training - items labeled "irrelevant" to a given query.
  • 22. Item Embedding Trainable (neural network) Encoder Static item features: name, description, tags language, location genre, price, etc (From Database/DW) The Item Embedding Model
  • 23. User/Query Embedding Trainable (neural network) Encoder User proļ¬le features: languages, location preferences, age, etc (From Database/DW) User Search History User Click History (From Event Logs or Data Lake) The User/Query Embedding Model
  • 24. Sigmoid, Dot Product, ā€¦ User and Item Embeddings are the same length Item Embedding Trainable (neural network) Encoder Static item features User/Query Embedding Trainable (neural network) Encoder Static user features User Session History User Click History TensorFlow has the tensorļ¬‚ow-recommenders library to train two-tower embedding models. Our training data, transactions.csv, consists of customer and article pairs. You need to provide only positive pairs, where the customer purchased an article. Training produces 2 models: an item encoder model and a user encoder model. The dot product of a user embedding and item embedding pair that interacted is high and the dot product of a non interacting pair is close to 0 Training the Query and Item Embedding Models with Two Towers
  • 25. [Source: https://cloud.google.com/blog/products/ai-machine-learning/vertex-matching-engine-blazing-fast-and-massively-scalable-nearest-neighbor-search ] Create embeddings for Items, insert them into embedding space (aka build an Approximate Nearest Neighbor (ANN) Index)
  • 26. 02. Vector Database - Similarity Search with Embeddings
  • 27. A vector database (or embedding store): a database for durably storing embeddings and supporting similarity search (nearest neighbor search) Approximate nearest neighbor (ANN) algorithms provide fast nearest neighbor search, O(log(n)) ā— Facebookā€™s FAISS uses Hierarchical Navigable Small World Graphs (HNSW) ā— Google ScaNN HNSW Graph Search Vector Database
  • 28. PUT my-knn-index-1 { "settings": { "index": { "knn": true, "knn.space_type": "cosinesimil" } }, "mappings": { "properties": { "my_vector1": { "type": "knn_vector", "dimension": 2 }, "my_vector2": { "type": "knn_vector", "dimension": 4 } ]}} https://opensearch.org/docs/latest/search-plugins/knn Create a k-NN nearest neighbour Index in OpenSearch. In the following slides, we will add entries to the index. Then query it with approximate nearest neighbor search. Then query it with additional ļ¬lters. OpenSearch k-NN: Create Index
  • 29. POST _bulk { "index": { "_index": "my-knn-index-1", "_id": "1" } } { "my_vector1": [1.5, 2.5], "price": 12.2 } { "index": { "_index": "my-knn-index-1", "_id": "2" } } { "my_vector1": [2.5, 3.5], "price": 7.1 } { "index": { "_index": "my-knn-index-1", "_id": "3" } } { "my_vector1": [3.5, 4.5], "price": 12.9 } { "index": { "_index": "my-knn-index-1", "_id": "4" } } { "my_vector1": [5.5, 6.5], "price": 1.2 } { "index": { "_index": "my-knn-index-1", "_id": "5" } } { "my_vector1": [4.5, 5.5], "price": 3.7 } { "index": { "_index": "my-knn-index-1", "_id": "6" } } { "my_vector2": [1.5, 5.5, 4.5, 6.4], "price": 10.3 } { "index": { "_index": "my-knn-index-1", "_id": "7" } } { "my_vector2": [2.5, 3.5, 5.6, 6.7], "price": 5.5 } { "index": { "_index": "my-knn-index-1", "_id": "8" } } { "my_vector2": [4.5, 5.5, 6.7, 3.7], "price": 4.4 } { "index": { "_index": "my-knn-index-1", "_id": "9" } } { "my_vector2": [1.5, 5.5, 4.5, 6.4], "price": 8.9 } Note that each entry has a unique ā€œ_idā€ and an additional ā€œpriceā€ attribute. my_vector1 has an embedding of length 2. my_vector2 has an embedding of length 4. OpenSearch k-NN: Insert Embeddings into Index
  • 30. GET my-knn-index-1/_search { "size": 2, "query": { "knn": { "my_vector2": { "vector": [2, 3, 5, 6], "k": 2 } } } } k is the number of neighbors the search of each graph will return. The size option indicates how many results the query actually returns. OpenSearch k-NN: Similarity search using Index
  • 31. GET my-knn-index-1/_search { "size": 2, "query": { "knn": { "my_vector2": { "vector": [2, 3, 5, 6], "k": 2 } } }, "post_filter": { "range": { "price": { "gte": 5, "lte": 10 } } } } We are filtering results so that we only get candidates with a price between 5-10. OpenSearch k-NN: Similarity search using Index with ļ¬ltering
  • 33. Each instance (user-item pair) is represented with a list of features, retrieved from the feature store. Training data is the user-item features and the label is the relevance ratings. Ranking models should be fast - low latency to rank 100s of candidates, so decision trees are popular. What does a Ranking Model do?
  • 34. The ranking stage should consider additional criteria or constraints. If the system always recommend items that are "closest" to the user/query embedding, the candidates tend to be very similar to each other. Re-rank items based on genre or other metadata to ensure diversity. When ranking, we can include features that were not feasible during candidate generation. Use the feature store to retrieve features such as user persona (e.g., demographics, price propensity), item metadata (e.g., attributes, engagement statistics), cross features (e.g., interaction between each feature pair), and media embeddings. Building a ranking model with TF Recommenders: https://www.youtube.com/watch?v=ZkwJo5HRjiQ https://www.tensorļ¬‚ow.org/recommenders/examples/basic_ranking Ranking Models - reordering and the feature store
  • 35. Tags and Metadata - Reļ¬ne your Recommendations/Search
  • 36. Feature helps generate candidates in ANN search Static/Dynamic Filter Candidates. Book 1 Book 2 Book N Sci-Fi Drama Non-Fiction Vector DB Ranking Stage OR Static attributes. Filter ANN results in OpenSearch Book 1 Feature1 Feature2 ā€¦ TAG Tags, Metadata - Reļ¬ning your Search by Filtering
  • 38. Oļ¬„ine Infrastructure for Ranking and Retrieval Hopsworks Feature Store KServe OpenSearch (FAISS) KServe Kafka transactions Feature Engineering (Spark/Python/SQL) Data Warehouse user, item profiles Historical transactions User/query and Item Embedding Models Model Training Compute embeddings for items/users and add to ANN index Spark App Model Training Ranking Model deploy deploy build index
  • 39. Data Engineer Data Scientist ML Engineer Data Dump Model Enterprise Data Model Serving What is a Feature Store for Machine Learning? models need operational data Feature Store Data Engineer Data Scientist ML Engineer Enterprise Data Model Serving No Feature Store
  • 40. What are the System Properties of Recommendation Systems? Availability (uptime) Latency (response time) Feature Freshness (age) Throughput (speed) Apart from the accuracy of your ML models, you have to worry aboutā€¦
  • 41. Why should I care about Performance and Availability ? Availability: Embedded in-memory DB crashes on Black Friday at e-retailer, produces random recommendations Freshness: Video streaming service switches from Spark Streaming to Flink, improving feature freshness from 10s down to 2s, improving the engagement rate. Latency: A real-time recommendation service for a music streaming company returns 250 candidates during retrieval, then it needs 250 lookups from the feature store in < 30ms for ranking. Throughput: Online retail store produces increasing number of sales, needs to switch feature pipeline from Pandas to PySpark.
  • 42. Throughput: Online retail store produces increasing number of sales, needs to switch feature pipeline from Pandas to PySpark. Why should I care about Performance and Availability ? Availability: Embedded in-memory DB crashes on Black Friday at e-retailer, produces random recommendations. Freshness: Video streaming service switches from Spark Streaming to Flink, improving feature freshness from 10s down to 2s, improving the engagement rate. Latency: A real-time recommendation service for a music streaming company returns 250 candidates during retrieval, then it needs 250 lookups from the feature store in < 30ms for ranking.
  • 43. Throughput: Online retail store produces increasing number of sales, needs to switch feature pipeline from Pandas to PySpark. Why should I care about Performance and Availability ? Freshness: Video streaming service switches from Spark Streaming to Flink, improving feature freshness from 10s down to 2s, improving the engagement rate. Latency: A real-time recommendation service for a music streaming company returns 250 candidates during retrieval, then it needs 250 lookups from the feature store in < 30ms for ranking. Availability: Embedded in-memory DB crashes on Black Friday at e-retailer, produces random recommendations.
  • 44. Availability: Embedded in-memory DB crashes on Black Friday at e-retailer, produces random recommendations. Why should I care about Performance and Availability ? Freshness: Video streaming service switches from Spark Streaming to Flink, improving feature freshness from 10s down to 2s, improving the engagement rate. Latency: A real-time recommendation service for a music streaming company returns 250 candidates during retrieval, then it needs 250 lookups from the feature store in < 30ms for ranking. Throughput: Online retail store produces increasing number of sales, needs to switch feature pipeline from Pandas to PySpark.
  • 45. Feature Store HOPSWORKS Feature Pipeline Inference Data Training Data / Batch Data Write API, Online/Oļ¬„ine Read APIs Online API Ofļ¬‚ine API
  • 46. Online Oļ¬„ine External Training Data Model Registry & Deployment Projects Feature Groups Feature Views Online Oļ¬„ine External Spark Spark Streaming Flink Feature Engineering: APIs & Connectors Hopsworks APIs Frameworks Pandas
  • 47. Feature Engineering: SQL & Connectors Online Oļ¬„ine External Training Data Model Registry & Deployment Projects Feature Groups Feature Views Online Oļ¬„ine External Redshift (Amazon) Snowļ¬‚ake Amazon S3 ADLS (Azure) JDBC (MySQL, Postgres, MongoDB) HopsFS Hopsworks Connectors Storage Connectors
  • 48. Feature Groups Web logs Customers Articles Transactions Data Warehouse Feature Views Ranking Retrieval Feature Store Online API Oļ¬„ine API Serve Train Write to Feature Groups, Read from Feature Views
  • 49. < 1ms KV lookup >100M KV Lookups/sec >99.999% availability >1 PB storage RonDB - Hopsworksā€™ Online Feature Store https://www.rondb.com
  • 50. Feature Views Ranking Retrieval Feature Store Training Data Training Models customers.csv articles.csv retrieval.csv Ranking User/Query Embedding Item Embedding Model Registry Models
  • 51. Feature Store HOPSWORKS Feature Pipeline Precomputed Features (Context, Historical) Retrieval and Ranking Application (Click or Search) Online API Feature Store used for Online for Retrieval and Ranking
  • 52. 05. Hopsworks = Feature Store + VectorDB + Model Serving
  • 53. Feature Store HOPSWORKS Feature Pipeline Precomputed Features (Context, Historical) Training Data Retrieval and Ranking Application (Click or Search) Online API Ofļ¬‚ine API Hopsworks for Retrieval and Ranking Model Registry OpenSearch ANN KServe (Model Serving)
  • 54. a. User Query 1. Enrich Query with User History, Proļ¬le, and Context Hopsworks Feature Store OpenSearch 2. Compute User/Query Embedding 3. Retrieve Candidates 4. Enrich Candidates using Feature Store 5. Score Candidates with Ranking Model KServe Query, Req-ID Ranked Results <ReqID, outcome> Hopsworks Ranking and Retrieval Service Feature Logging b. Item Selected
  • 56. Goal: Support Spotify Personalized Search in a Retrieval and Ranking Architecture. Benchmark the highest throughput, lowest latency key-value stores to identify one that could scale to handle millions of concurrent lookups per second on Spotifyā€™s workloads. Systems: Aerospike and RonDB were identiļ¬ed as the only systems capable of meeting the triple goals of High Throughput, Low Latency, and High Availability. Other databases such as Redis, Cassandra, BigTable were not considered for availability or latency or throughput reasons. Feature Store Ranking and Retrieval Lookup Features Feature Values Feature Pipelines Benchmarking Online Feature Stores
  • 57. Hardware Benchmark Setup on GCP: RonDB (NDB) vs Aerospike. The Java Client nodes are the clients performing the reads/writes on the Data Nodes. When the cluster is provisioned with 8 RonDB (NDB) data nodes, it has 832GB of usable in-memory storage, when a replication factor of 2 is used. Benchmark Setup
  • 58. Throughput: higher is better. Each feature store operation was a batch of 250 key-value lookups, meaning with 8 clients for a 8-node RonDB cluster, there are >2m lookups/sec. Average throughput of the clients in both 6 and 8 node setup of RonDB and Aerospike N. of clients RonDB 8 Nodes RonDB 6 Nodes Aerospike 6 nodes Aerospike 8 nodes 1250 1000 750 500 250 1 2 4 8 Ops/Sec Benchmark Results - Throughput
  • 59. Latency: lower is better. Each feature store operation was a batch of 250 key-value lookups. So, for RonDB, the P99 when performing 250 primary operations in a single transaction is under 30ms. Average latency of the clients in both 6 node setup of RonDB and Aerospike N. of clients RonDB P75 RonDB P99 Aerospike P99 Aerospike P75 50 40 30 20 10 0 1 2 4 8 Latency (ms) Benchmark Results - Latency
  • 60. RonDB 35% Higher Throughput RonDB 30% Better Latency Based on Public Report from Spotify comparing Aerospike and RonDB (NDB Cluster) as Feature Stores http://kth.diva-portal.org/smash/get/diva2:1556387/FULLTEXT01.pdf Benchmark Results
  • 61. 07. Ranking and Retrieval with Hopsworks H&M Recommendation Service
  • 62. Todayā€™s Workshop: Retrieval and Ranking Platform in Python create feature groups for articles, customers, transactions ā— articles.csv ā— customers.csv ā— transactions_train.csv create feature view for retrieval model (training data) build opensearch KNN index with embeddings for all articles train two-tower model - user and article embedding models create feature view for retrieval model (training data) train ranking model deploy models to KServe + glue code for Hopsworks, OpenSearch
  • 63. Feature Groups transactions.csv Customers Articles Transactions Feature Views retrieval Feature Store Transaction = (customer_id, article_id, timestamp, channel) 1_feature_engineering.ipynb 2a_create_retrieval_feature_views.ipynb articles.csv customers.csv
  • 64. OpenSearch kNN ANN Index Python Program with Item Embedding Model Item Corpus Encode all items Insert all pairs (ID, embedding) 3_build_index.ipynb Model Registry Customer Embedding Model Article Embedding Model TensorFlow Two-Tower Training Training Data Register User & Item Embedding Models 2b_train_retrieval_model.ipynb
  • 65. 4a_create_ranking_feature_views.ipynb 4b_train_ranking_model.ipynb Feature Groups Customers Articles Transactions Feature Views Ranking Feature Store Transaction = (customer_id, article_id, timestamp, channel) Model Registry Ranking Model TensorFlow Program with Item Embedding Model Register Ranking Model Training Data
  • 66. Logs: Inputs, Predictions predict (https) Predictor devices Kafka Istio Feature Store Transformer Metrics 5_create_deployment.ipynb Transformer Predictor Ranking Model User/Query Model 1 2 3 4 2, 4 5 6 7
  • 67. 08. Where next for Retrieval and Ranking Architectures?
  • 68. more data -> better models -> more users -> more data-> ā€¦ Feature Store Recommende r (Website, etc) Models & Embedding s Model Training Feature Pipeline & Monitoring Feature Store Enterprise Data logs Online API Ofļ¬‚ine API Build out your Data-for-AI Flywheel
  • 70. Hopsworks is the platform for ML collaboration, powered by the leading Python-centric Enterprise Feature Store. London IDEALondon, 69 Wilson St. London UK Silicon Valley 470 Ramona St Palo Alto California USA ā­ Stockholm Hopsworks AB Medborgarplatsen 25 118 72 Stockholm Sweden