Skip to content

BakungaBronson/monolith

This branch is 1 commit ahead of bytedance/monolith:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7ea6dc6 · Dec 20, 2024
Dec 19, 2022
Sep 8, 2023
Dec 19, 2022
Apr 18, 2023
Nov 8, 2023
Sep 21, 2023
Mar 3, 2023
Apr 20, 2023
Dec 19, 2022
Dec 20, 2024
Jun 17, 2023

Repository files navigation

Monolith

What is it?

Monolith is a deep learning framework for large scale recommendation modeling. It introduces two important features which are crucial for an advanced recommendation system:

  • collisionless embedding tables which guarantee unique represention for different id features
  • real time training which captures the latest hotspots and help users to discover new interests rapidly

Monolith 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 Linux.

First, download bazel 3.1.0

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

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,

bazel run //monolith/native_training:demo --output_filter=IGNORE_LOGS

Demo and tutorials

There are tutorials in markdown/demo on how to run distributed async training, and few guides on how to use the MonolithModel API here.

About

ByteDance's Recommendation System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 56.7%
  • C++ 38.7%
  • Starlark 3.2%
  • Go 0.8%
  • Shell 0.3%
  • Dockerfile 0.2%
  • Makefile 0.1%