Transformer-based Sequential Recommendation System with Hierarchical Item Clustering
This is a port of EfficientIDS from PAXml (legacy) to MaxText for:
- ✅ JAX 0.6+ compatibility
- ✅ TPU v6e (Trillium) support
- ✅ Cleaner, more maintainable codebase
- ✅ Better performance and debugging
efficientids_maxtext/
├── data/ # Data processing and loading
├── models/ # Model architectures
├── configs/ # Training configurations
├── metrics/ # Evaluation metrics
├── utils/ # Utilities and helpers
├── scripts/ # Training/eval scripts
├── tests/ # Unit tests
└── requirements.txt # Dependencies
# Install dependencies
pip install -r requirements.txt
# Process MovieLens data
python data/process_movielens.py --output_dir ./data/ml1m_processed
# Train model
python scripts/train.py --config configs/qwen_config.py
# Evaluate
python scripts/eval.py --config configs/qwen_config.py --checkpoint_dir ./checkpoints- Python >= 3.10
- JAX >= 0.6.0
- Flax >= 0.10.0
- TPU v4/v5e/v6e
See /Users/ritik.r/work/efficientids for the original PAXml version.