NVIDIA
NVIDIA
Merlin TensorFlow
Container
NVIDIA
NVIDIA
Merlin TensorFlow

The Merlin TensorFlow container allows users to do preprocessing and feature engineering with NVTabular, and then train a deep-learning based recommender system model with TensorFlow, and serve the trained model on Triton Inference Server.

What is Merlin for Recommender Systems?

NVIDIA Merlin is a framework for accelerating the entire recommender systems pipeline on the GPU: from data ingestion and training to deployment. Merlin empowers data scientists, machine learning engineers, and researchers to build high-performing recommenders at scale. Merlin includes tools that democratize building deep learning recommenders by addressing common ETL, training, and inference challenges. Each stage of the Merlin pipeline offers an easy-to-use API and is optimized to support hundreds of terabytes of data.

The Merlin TensorFlow container allows users to do preprocessing and feature engineering with NVTabular, and then train a deep-learning based recommender system model with TensorFlow, and serve the trained model on Triton Inference Server.

About the Merlin TensorFlow Container

The Merlin Tensorflow container includes the following key components to simplify developing and deploying your recommender system:

  • NVTabular performs data preprocessing and feature engineering for tabular data. The library can operate on small and large datasets--scaling to manipulate terabyte-scale datasets that are used to train deep learning recommender systems.

  • HugeCTR can train deep learning recommender models and is written in CUDA C++ to provide optimal performance with NVIDIA GPUs. The library is a recommender-specific framework with optimized data loaders that can perform distributed training across multiple GPUs and nodes. HugeCTR provides strategies for scaling large embedding tables beyond available memory.

  • Triton Inference Server to provide GPU-accelerated inference. Triton Inference Server simplifies the deployment of AI models at scale in production. The server is an open source inference serving software that enables teams to deploy trained AI models from any framework: TensorFlow, TensorRT, PyTorch, ONNX Runtime, or a custom framework. The server can serve models from local storage or Google Cloud Platform or AWS S3 on any GPU- or CPU-based infrastructure (cloud, data center, or edge). The NVTabular ETL workflow and trained deep learning models (TensorFlow or HugeCTR) can be deployed easily with only a few steps to production.

Getting Started

Launch the Merlin TensorFlow Container

You can launch the Merlin TensorFlow container with the following command:

docker run --runtime=nvidia --rm -it -p 8888:8888 -p 8797:8787 -p 8796:8786 --ipc=host --cap-add SYS_NICE nvcr.io/nvidia/merlin/merlin-tensorflow:latest /bin/bash

If you have a Docker version less than 19.03, change --gpus all to --runtime=nvidia.

The container will open a shell when the run command completes execution, you will be responsible for starting the jupyter lab on the docker container. Should look similar to below:

Start the jupyter-lab server:

cd / ; jupyter-lab --allow-root --ip='0.0.0.0' --NotebookApp.token=''

Now you can use any browser to access the jupyter-lab server, via :8888 Once in the server, navigate to the /nvtabular/ directory and explore the code base or try out some of the examples. Within the container is the codebase, along with all of our dependencies, particularly RAPIDS Dask-cuDF. The easiest way to get started is to simply launch the container above and explore the examples within.

Other NVIDIA Merlin containers

Merlin containers are available in the NVIDIA container repository at the following locations: Table 1: Merlin Containers

Container nameContainer locationFunctionality
merlin-hugectrhttps://ngc.nvidia.com/catalog/containers/nvidia:merlin:merlin-hugectrMerlin and HugeCTR
merlin-pytorchhttps://ngc.nvidia.com/catalog/containers/nvidia:merlin:merlin-pytorchMerlin and PyTorch
merlin-hugectrhttps://ngc.nvidia.com/catalog/containers/nvidia:merlin:merlin-tensorflowMerlin and TensorFlow

Examples and Tutorials

We provide a collection of examples, use cases, and tutorials for NVTabular and HugeCTR as Jupyter notebooks in our repository. These Jupyter notebooks are based on the following datasets:

  • MovieLens
  • Outbrain Click Prediction
  • Criteo Click Ads Prediction
  • RecSys2020 Competition Hosted by Twitter
  • Rossmann Sales Prediction With the example notebooks we cover the following:
  • Preprocessing and feature engineering with NVTabular
  • Advanced workflows with NVTabular
  • Accelerated dataloaders for TensorFlow and PyTorch
  • Scaling to multi-GPU and multi nodes systems
  • Integrating NVTabular with HugeCTR
  • Deploying to inference with Triton

For more sample models and their end-to-end instructions for HugeCTR visit the link: https://github.com/NVIDIA/HugeCTR/tree/master/samples

Learn More

License

By pulling and using the container, you accept the terms and conditions of this End User License Agreement.

Publisher
NVIDIA
NVIDIA
Latest Tagnightly
UpdatedSeptember 25, 2024 UTC
Compressed Size7.79 GB
Multinode SupportNo
Multi-Arch SupportYes

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.