dmckinney-ml/movie-recommender-artifacts
๐ฌ Two-Tower + FAISS + XGBoost Recommender โ Inference Artifacts This dataset contains the serialized inference artifacts for the Two-Stage Movie Recommendation System built using TensorFlow Recommenders, FAISS, and XGBoost. These artifacts support low-latency retrieval and ranking for the deployed Hugging Face Space: ๐ Space: two-tower-faiss-xgb-recommender ๐ Overview The recommendation system follows a two-stage architecture: Retrieval (Stage 1)โฆ See the full description on the dataset page: https://huggingface.co/datasets/dmckinney-ml/movie-recommender-artifacts.
๐ฌ Two-Tower + FAISS + XGBoost Recommender โ Inference Artifacts
This dataset contains the serialized inference artifacts for the Two-Stage Movie Recommendation System built using TensorFlow Recommenders, FAISS, and XGBoost.
These artifacts support low-latency retrieval and ranking for the deployed Hugging Face Space:
๐ Space: two-tower-faiss-xgb-recommender
๐ Overview
The recommendation system follows a two-stage architecture:
Retrieval (Stage 1)
- Two-tower neural embedding model (TensorFlow Recommenders)
- Vector similarity search using FAISS (
IndexFlatIP) - Cosine similarity implemented via inner-product normalization
Ranking (Stage 2)
- XGBoost learning-to-rank model
- Input features:
- User embedding
- Movie embedding
- Genre one-hot features
Artifacts are structured for inference-only usage.
๐๏ธ Artifact Contents
๐ Training Data
Models were trained on the MovieLens 32M dataset:
- 32 million ratings
- ~87,585 movies
- ~200,948 users
Preprocessing performed using:
- Apache Beam (Cloud Dataflow)
- BigQuery
- Kubeflow Pipelines (Vertex AI)
๐ง Embedding Details
๐ Ranking Model
๐ Intended Usage
These artifacts are designed for:
- โ Inference inside the Hugging Face Space
- โ Reproducible local experimentation
- โ Demonstration of production-style ML architecture
โ ๏ธ Not intended for retraining without the full GCP pipeline.
๐ ๏ธ Loading Example
import faiss
import xgboost as xgb
import tensorflow as tf
# FAISS index
index = faiss.read_index("faiss.index")
# XGBoost ranker
booster = xgb.Booster()
booster.load_model("xgb_ranker.json")
# Two-tower sub-models
user_model = tf.keras.models.load_model("two_tower/user_model")
movie_model = tf.keras.models.load_model("two_tower/movie_model")๐ License
- Project code: MIT License
- Training data: MovieLens dataset license applies โ https://grouplens.org/datasets/movielens/
