NVIDIA-Merlin/Merlin

NVIDIA Merlin is an open source library providing end-to-end GPU-accelerated recommender systems, from feature engineering and preprocessing to training deep learning models and running inference in production.

What it solves

NVIDIA Merlin 解决了构建和扩展高性能推荐系统的挑战。它专门针对特征工程、训练大规模深度学习模型以及将这些模型部署到生产环境的瓶颈,尤其是当数据集规模达到数百 TB 时。

How it works

Merlin 是一套 GPU 加速的库,优化推荐流水线的每个阶段:

  • NVTabular: 使用 GPU 加速处理海量表格数据的 ETL 与特征工程。
  • HugeCTR: 为大规模嵌入表设计的训练框架,可跨多个 GPU 与节点扩展。
  • Merlin Models: 提供标准推荐模型架构以及针对 TensorFlow、PyTorch、FastAI 优化的数据加载器。
  • Transformers4Rec: 专注于序列和会话推荐,使用兼容 PyTorch 的模块化构建块。
  • Merlin Systems: 将模型与特征库、最近邻搜索集成,创建通过 Triton Inference Server 提供服务的端到端流水线。
  • Merlin Core: 提供整个生态系统使用的底层数据集抽象和通用 schema。

Who it’s for

它面向数据科学家、机器学习工程师和研究人员,帮助他们构建超出单个 GPU 或 CPU 内存限制的工业级推荐系统。

Highlights

  • Massive Scalability: 优化以支持高达数百 TB 的数据集。
  • GPU Acceleration: 利用 RAPIDS cuDF 和 Dask 实现快速数据操作和分布式处理。
  • Memory Management: 能够分布大型嵌入表,超出可用的 GPU 与 CPU 内存。
  • End-to-End Pipeline: 覆盖从原始数据预处理到使用 Triton Inference Server 的生产服务的完整生命周期。