Merlin PyTorch Training

Merlin PyTorch Training

Logo for Merlin PyTorch Training
This container allows users to do preprocessing and feature engineering with NVTabular, and then train a deep-learning based recommender system model with PyTorch.
Latest Tag
May 2, 2024
Compressed Size
6.84 GB
Multinode Support
Multi-Arch Support
latest (Latest) Security Scan Results

Linux / amd64

Sorry, your browser does not support inline SVG.

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 is optimized to support hundreds of terabytes of data, all accessible through easy-to-use APIs. With Merlin, better predictions than traditional methods and increased click-through rates are within reach.

The Merlin ecosystem has four main components: Merlin ETL, Merlin Dataloaders and Training, and Merlin Inference.

Merlin Training for ETL with NVTabular and Training with PyTorch

The merlin-pytorch-training:0.5.2 container does not support SM_80 (A100) architecture.

The Merlin-pytorch-training container allows users to do preprocessing and feature engineering with NVTabular, and then train a deep-learning based recommender system model with PyTorch.

As the ETL component of the Merlin ecosystem, NVTabular is a feature engineering and preprocessing library for tabular data designed to quickly and easily manipulate terabyte scale datasets used to train deep learning based recommender systems. The core features are explained in the API documentation and additional information can be found in the GitHub repository.

Dataloading is a bottleneck in training deep learning recommender systems models. NVIDIA Merlin accelerates training deep learning recommender systems in two ways: 1) Customized dataloaders speed-up existing PyTorch training pipelines or 2) using HugeCTR, a dedicated framework written in CUDA C++. This container provides the environment to use NVTabular dataloaders for PyTorch to accelerate deep learning training for existing PyTorch pipelines.

Getting Started

Launch Merlin-Torch-Training Container

You can pull the training containers 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 /bin/bash

If you are running on a docker version 19+, change --runtime=nvidia to --gpus all. 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='' --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 name Container location Functionality
Merlin-training NVTabular and HugeCTR
Merlin-tensorflow-training NVTabular, TensorFlow and Tensorflow Embedding plugin
Merlin-pytorch-training NVTabular and PyTorch
Merlin-inference NVTabular, HugeCTR and Triton Inference

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:

Learn More

If you are interested in learning more about how NVTabular works under the hood, we have API documentation that outlines in detail the specifics of the calls available within the library. The following are the suggested readings for those who want to learn more about HugeCTR.

HugeCTR User Guide:

Questions and Answers:

Sample models and their end-to-end instructions:

NVIDIA Developer Site:

NVIDIA Developer Blog:


If you wish to contribute to the Merlin library directly please see We are particularly interested in contributions or feature requests for feature engineering or preprocessing operations that you have found helpful in your own workflows.


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