Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bytedance/monolith
ByteDance's Recommendation System
https://github.com/bytedance/monolith
Last synced: 1 day ago
JSON representation
ByteDance's Recommendation System
- Host: GitHub
- URL: https://github.com/bytedance/monolith
- Owner: bytedance
- License: other
- Created: 2022-09-29T19:47:57.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-08T12:00:48.000Z (about 1 year ago)
- Last Synced: 2024-11-29T14:27:40.813Z (13 days ago)
- Language: Python
- Size: 23.5 MB
- Stars: 886
- Watchers: 49
- Forks: 125
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-star - monolith
README
Monolith
## What is it?
[Monolith](https://arxiv.org/abs/2209.07663) 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 rapidlyMonolith is built on the top of TensorFlow and supports batch/real-time training and serving.
## Discussion Group
### Join us at Discord
https://discord.gg/QYTDeKxGMX
## Quick start
### Build from source
Currently, we only support compilation on the Linux.
First, download bazel 3.1.0
```bash
wget https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-installer-linux-x86_64.sh && \
chmod +x bazel-3.1.0-installer-linux-x86_64.sh && \
./bazel-3.1.0-installer-linux-x86_64.sh && \
rm bazel-3.1.0-installer-linux-x86_64.sh
```Then, prepare a python environment
```bash
pip install -U --user pip numpy wheel packaging requests opt_einsum
pip install -U --user keras_preprocessing --no-deps
```Finally, you can build any target in the monolith.
For example,
```bash
bazel run //monolith/native_training:demo --output_filter=IGNORE_LOGS
```### Demo and tutorials
There are a tutorial in [markdown/demo](markdown/demo) on how to run distributed async training, and few guides on how to use the `MonolithModel` API [here](markdown).