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 は、高性能レコメンドシステムの構築とスケーリングに伴う課題を解決します。特に、特徴量エンジニアリング、巨大なディープラーニングモデルのトレーニング、そしてそれらのモデルを本番環境にデプロイする際のボトルネックに焦点を当てており、データセットが数百テラバイト規模に達する場合でも対応可能です。

How it works

Merlin は GPU 加速ライブラリのスイートで、レコメンドパイプラインのすべての段階を最適化します:

  • NVTabular: GPU 加速で大規模な表形式データセットの ETL と特徴量エンジニアリングを処理します。
  • HugeCTR: 複数 GPU とノードにまたがる大規模埋め込みテーブルのスケーリングを目的としたトレーニングフレームワークです。
  • Merlin Models: TensorFlow、PyTorch、FastAI 向けに最適化されたデータローダーと標準的なレコメンドモデルアーキテクチャのライブラリを提供します。
  • Transformers4Rec: PyTorch 互換のモジュラー構成ブロックを使用した、シーケンシャルおよびセッションベースのレコメンドに特化しています。
  • Merlin Systems: モデルを特徴量ストアや近傍検索と統合し、Triton Inference Server 経由で提供されるエンドツーエンドパイプラインを構築します。
  • Merlin Core: エコシステム全体で使用される基盤データセット抽象化と共通スキーマを提供します。

Who it’s for

データサイエンティスト、機械学習エンジニア、研究者向けに設計されており、単一 GPU や CPU のメモリ制限を超える産業規模のレコメンドシステムを構築する必要がある方に最適です。

Highlights

  • Massive Scalability: 数百テラバイト規模のデータセットをサポートするよう最適化されています。
  • GPU Acceleration: RAPIDS cuDF と Dask を活用し、高速なデータ操作と分散処理を実現します。
  • Memory Management: 利用可能な GPU および CPU メモリを超える大規模埋め込みテーブルの分散が可能です。
  • End-to-End Pipeline: 生データの前処理から Triton Inference Server を用いた本番サービスまで、ライフサイクル全体をカバーします。