Monolith is a deep learning framework for large scale recommendation modeling. It introduces two important features which are crucial for advanced recommendation system:
- collisionless embedding tables guarantees unique represeantion for different id features
- real time training captures the latest hotspots and help users to discover new intersts rapidly
Monolith is built on the top of TensorFlow and supports batch/real-time training and serving.
- Python 3.8.6
- Bazel Version 4.0.0
- Java: 1.8.0
- Kafka: 2.13-2.8.1
asdf local python 3.8.6 python -m venv .venv . .venv/bin/activate pip install -r requirements.txt export BAZEL_VERSION=4.0.0 curl -fLO "https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-darwin-x86_64.sh" chmod +x "bazel-$BAZEL_VERSION-installer-darwin-x86_64.sh" ./bazel-$BAZEL_VERSION-installer-darwin-x86_64.sh --user export PATH="$PATH:$HOME/bin" - native_training:demo:
bazel run //monolith/native_training:demo --output_filter=IGNORE_LOGS⚠️ (segmentation fault) - batch:
bazel run //markdown/demo:demo_local_runner -- --training_type=batch⚠️ (segmentation fault) - streaming: ❌
static assertion failed due to requirement - Kubernetes:
There are a tutorial in markdown/demo on how to run distributed async training, and few guides on how to use the MonolithModel API here.
When you encounter a problem and want to clean up the bazel cache, you can use the following command:
bazel clean --expunge