Robocikowo>ROBOCIKOWO
Wyszukiwanie

DLRM

2019AktywnyOpublikowano: 25 czerwca 2026Aktualizacja: 25 czerwca 2026Opublikowany
Wzorzec architektoniczny systemów rekomendacyjnych Meta z 2019 r. Łączy dense MLP, sparse embedding tables i interakcję feature po stronie modelu. Standardowy baseline rekomendacji deep learning i MLPerf benchmark.
Kluczowa innowacja
Zunifikowany wzorzec architektoniczny dla głębokiego uczenia w systemach rekomendacyjnych łączący dense (numeryczne) i sparse (kategoryczne) cechy przez embedding tables i wielowarstwowy MLP, z dedykowaną parallelizacją: data parallel dla warstw FC i model parallel dla ogromnych embedding tables.
Kategoria
Wyszukiwanie
Poziom abstrakcji
Wzorzec
Poziom operacji
ModelElement architekturyTreningInferencjaRetrieval
Zastosowania
CTR (click-through-rate) prediction w newsfeedach mediów społecznościowych (Facebook, Instagram)Ranking reklam w platformach reklamowych (Meta Ads, Google Ads style systems)Personalizacja rekomendacji w e-commerce (Amazon-style product ranking)Standardowy baseline dla benchmarków MLPerf Training i MLPerf InferenceReference architecture dla bibliotek industrial-scale recommendation (TorchRec, NVIDIA Merlin)

Jak działa

Forward pass DLRM ma cztery etapy: (1) cechy dense → bottom MLP (kilka warstw FC z ReLU) generujący gęsty wektor o ustalonej wymiarowości D; (2) cechy sparse → embedding lookup w odpowiednich tabelach, każda zwracająca wektor o tej samej wymiarowości D; (3) feature interaction layer — wszystkie wektory (bottom MLP output + embeddings) traktowane jako wiersze macierzy, obliczane są pairwise dot products dające macierz NxN, z której bierze się trójkąt górny (N(N-1)/2 wartości); (4) top MLP — konkatenacja interaction output + bottom MLP output → kilka warstw FC z sigmoid na końcu dla predykcji CTR. Trening: cross-entropy loss vs faktyczne kliknięcia, SGD/Adagrad ze sharded gradient sync.

Rozwiązany problem

Klasyczne podejścia do rekomendacji (np. czyste matrix factorization) nie radzą sobie z wysokowymiarowymi danymi z setkami cech (zarówno dense numerycznych jak i sparse kategorycznych) w środowiskach produkcyjnych Big Tech. Wczesne sieci neuronowe do rekomendacji (Wide & Deep, NeuralCF, DeepFM) różniły się detalami architektury, ale brakowało jednolitej, otwartej implementacji referencyjnej z dedykowaną strategią równoległą dla embedding tables o rozmiarach terabajtów. DLRM rozwiązuje to przez ujednolicony wzorzec architektoniczny + reference implementation + co-design system/algorithm.

Kluczowe mechanizmy

Bottom MLP — kilka warstw FC z ReLU przetwarzające dense numeryczne cechy do ustalonej wymiarowości D
Sparse embedding tables — duże tabele uczone (potencjalnie miliardy wpisów × dziesiątki/setki kolumn) z indeksowanym lookup dla cech kategorycznych
Pairwise feature interaction — jawne dot products N×(N-1)/2 między wektorami cech inspirowane factorization machines
Top MLP — predykcja CTR z konkatenowanego wektora bottom MLP output + pairwise interactions
Hybrydowa parallelizacja — data parallel dla MLP + model parallel (sharded) dla embedding tables, z all-to-all między fazami
Reference implementations w PyTorch i Caffe2 (oryginalnie) oraz późniejsza ewolucja w TorchRec
Standard MLPerf benchmark dla compute systemów rekomendacyjnych (DLRM-DCNv2 w nowszych edycjach)

Mocne strony i ograniczenia

Mocne strony
✓Otwarta, dobrze udokumentowana reference implementation — łatwa do reprodukcji i porównywania
✓Ujednolicony wzorzec dla dense + sparse features — pokrywa typowy production recommendation pipeline
✓Skalowalność do petabajtowych embedding tables dzięki hybrydowej parallelizacji
✓De-facto standard MLPerf — wybierany do oceny GPU/TPU dla recommendation workloads
✓Stabilny i przewidywalny — łatwy do tunowania i debug'owania w porównaniu z bardziej egzotycznymi architekturami
✓Świetna baza pod hybrydy z bardziej zaawansowanymi mechanizmami (np. dodanie attention dla user history) — DLRM jako 'backbone'
Ograniczenia
✗Modeluje tylko pairwise interactions (drugi rząd) — wyższe rzędy interakcji wymagają dodatkowych mechanizmów (DCN, DCNv2, AutoInt)
✗Embedding tables o terabajtowych rozmiarach są bardzo trudne do utrzymania (pamięć, sieci dystrybucji parametrów, checkpoint, serving)
✗Brak modelowania sekwencyjnego kontekstu (zachowanie użytkownika w czasie) — wymaga ekstensji typu DIN/DIEN
✗Retrieval-and-rank paradygmat ograniczony do gotowej puli kandydatów — nie generuje treści dla long-tail intencji (rozwiązuje to RaG/SIDs)
✗Cold-start dla nowych itemów jest słaby — model uczy się embeddingów od zera bez transferu semantycznego (rozwiązują to Semantic IDs)
✗Wysoki koszt obliczeniowy treningu w produkcji (godziny GPU dla miliardów wpisów), inferencja wymaga utrzymywania ogromnych tabel w pamięci serwera

Komponenty

Bottom MLPMapowanie dense features na jednolitą przestrzeń embedding

Wielowarstwowy perceptron przetwarzający cechy dense (numeryczne, ciągłe). Typowo 2–4 warstwy FC z ReLU, kończące się wektorem o ustalonej wymiarowości D — tej samej, którą mają embeddingi. Lekki obliczeniowo i replikowany między urządzeniami (data parallel).

Oficjalna

Sparse Embedding TablesReprezentacja sparse cech kategorycznych jako gęstych wektorów

Wielkie tabele uczone (E_i: V_i × D, gdzie V_i to liczba kategorii cechy i-tej, D to wymiar embedding) z indeksowanym lookup. W produkcji każda tabela może mieć miliardy wpisów. Sharded model-parallel między urządzenia: różne urządzenia trzymają różne kolumny (wymiary D) lub różne segmenty wierszy.

Feature Interaction LayerJawne modelowanie interakcji między cechami (drugi rząd)

Warstwa jawnie modelująca cross-feature interactions przez pairwise dot products. Dla N wektorów (bottom MLP output + N-1 embeddings) generuje N(N-1)/2 skalarnych wartości — interakcje drugiego rzędu inspirowane factorization machines. Wynik jest konkatenowany z bottom MLP output i podawany do top MLP.

Oficjalna

Top MLPFinalna predykcja CTR/score na podstawie zinteraktowanych cech

Wielowarstwowy perceptron przyjmujący konkatenację bottom MLP output + pairwise interaction values. Kilka warstw FC z ReLU + sigmoid output dla predykcji CTR (lub innej miary score). Również replikowany data-parallel między urządzeniami.

Oficjalna

Hybrid Parallelism SchemeSkalowanie DLRM do terabajtowych embedding tables i miliardów próbek treningowych

Schemat parallelizacji łączący data parallel (dla MLP) z model parallel (dla embedding tables sharded między urządzenia). Krytyczna operacja all-to-all przenosi wyniki embedding lookup między urządzeniami przed warstwą interakcji. Ten wzorzec stał się standardem dla skalowalnego treningu rekomendacji.

Implementacja

Pułapki implementacyjne
Embedding table memory blowupKrytyczna

W production rozmiar embedding tables szybko rośnie do terabajtów (miliardy wpisów × dziesiątki/setki kolumn). Bez shardingu model parallel trening jest niemożliwy na pojedynczym GPU.

Rozwiązanie:Sharded model-parallel embedding tables (jak w TorchRec), hash collision compression, quantization low-bit (8-bit), embedding pruning rzadko używanych wpisów.
All-to-all communication overheadWysoka

Hybrid parallelism wymaga all-to-all komunikacji embedding outputs między wszystkimi urządzeniami w każdej iteracji — w skali setek/tysięcy GPU staje się głównym wąskim gardłem.

Rozwiązanie:Wysokoprzepustowa sieć (NVLink, NVSwitch, InfiniBand), batching wielu próbek per request, overlap komunikacji z obliczeniami (pipelining).
Cold-start dla nowych itemów/użytkownikówŚrednia

Embeddingi nowych itemów są zaczynane od losowej inicjalizacji — model nie ma żadnej semantycznej priorytety o czym jest nowy item, więc jakość rekomendacji dla nowych itemów jest bardzo niska na początku.

Rozwiązanie:Hybryda z Semantic IDs (transfer semantyki content przez wspólne prefiksy), użycie metadata features (kategoria, marka) jako sparse cech, periodic re-training z aktualnymi danymi.
Limited do pairwise interactionsŚrednia

Oryginalne DLRM modeluje tylko interakcje drugiego rzędu (pairwise dot products). Wyższe rzędy interakcji (cross 3rd order, np. user×item×context) wymagają explicite dodanych mechanizmów.

Rozwiązanie:Użycie wariantu DLRM-DCNv2 z Cross Network (modeluje interakcje dowolnego rzędu), AutoInt (multi-head self-attention nad cechami), lub deep & cross hybrid.

Ewolucja

Oryginalny paper · 2019 · arXiv 1906.00091 (Facebook AI, maj 2019) · Maxim Naumov
Deep Learning Recommendation Model for Personalization and Recommendation Systems
Maxim Naumov, Dheevatsa Mudigere, Hao-Jun Michael Shi, Jianyu Huang, Narayanan Sundaraman, Jongsoo Park, Xiaodong Wang, Udit Gupta, Carole-Jean Wu, Alisson G. Azzolini, Dmytro Dzhulgakov, Andrey Mallevich, Ilia Cherniavskii, Yinghai Lu, Raghuraman Krishnamoorthi, Ansha Yu, Volodymyr Kondratenko, Stephanie Pereira, Xianjie Chen, Wenlin Chen, Vijay Rao, Bill Jia, Liang Xiong, Misha Smelyanskiy
2009
Matrix Factorization w Netflix Prize

Matrix factorization (np. SVD++) jako dominująca technika rekomendacji — bazowa intuicja dla feature interaction w późniejszych modelach deep learning.

2016
Wide & Deep (Google) + YouTube Deep NN (Covington)

Pierwsze produkcyjne sieci neuronowe rekomendacji: Wide & Deep łączy zapamiętywanie (wide) z generalizacją (deep); YouTube Deep NN wprowadza dwustopniowy candidate generation + ranking.

2017
DeepFM (Huawei) — joint factorization + deep

DeepFM łączy factorization machines (drugi rząd) i deep neural network (wyższe rzędy) w jednym end-to-end modelu — ważny prekursor DLRM.

2019
DLRM (Meta) — open reference + co-design
Punkt przełomowy

Naumov et al. publikują DLRM jako ujednolicony wzorzec architektoniczny + open source implementację w PyTorch i Caffe2 + dedykowaną parallelizację hybrydową. Ustanawia standard MLPerf.

2021
TorchRec — Meta otwiera production-grade recommendation

TorchRec (PyTorch) — biblioteka rozwijająca pattern DLRM w productionizable framework z modularnymi komponentami sharded embeddings, model parallel, hybrydy dla industrial-scale recommendation.

2023
TIGER / Semantic IDs — paradigm shift to Generative Retrieval
Punkt przełomowy

Rajput et al. (Google, NeurIPS 2023) wprowadzają Semantic IDs i Generative Retrieval — paradygmatyczne odejście od DLRM-stylu dot-product retrieval w stronę autoregresyjnej generacji SIDs. DLRM pozostaje silnym baseline'em do porównań.

2026
Recommendation-as-Generation (Kuaishou) — DLRM jako baseline porównawczy

Paradygmat RaG (Kuaishou, arXiv 2606.25496) explicitly porównuje swoje wyniki produkcyjne (400M+ DAU) do DLRM baseline'u: +5,46% przychodu reklamowego dla RaG vs DLRM, co potwierdza rolę DLRM jako standardu, względem którego mierzy się postęp.

Paradygmat wykonania

Tryb główny
Gęsty

Hybryda dense (MLP) + conditional (embedding lookup) — dlatego DLRM wymaga specjalnej infrastruktury treningowej.

Wzorzec aktywacji
Zależne od wejścia
Tryby dodatkowe
Warunkowy
Mechanizm routingu

Embedding lookup jest formą rutowania input-dependent: dla każdej próbki tylko niewielki podzbiór wierszy tabel embedding (odpowiadający aktywnym kategoriom) jest faktycznie odczytywany. To kontrastuje z dense MLP, w których aktywne są wszystkie wagi.

Równoległość

Poziom równoległości
W pełni równoległy

Trening DLRM jest jednym z najbardziej zrównoleglonych workloadów w deep learning: setki/tysiące GPU pracują jednocześnie. Inferencja może być replikowana data-parallel, ale wymaga utrzymywania ogromnych tabel embeddingów w pamięci.

Zakres
TreningInferencjaPomiędzy urządzeniami
Ograniczenia
!Hybrid parallelism wymaga drogiej operacji all-to-all między fazami: wyniki embedding lookup muszą być przeniesione między urządzeniami przed warstwą interakcji. To główne wąskie gardło komunikacyjne w treningu.

Wymagania sprzętowe

Podstawowe

MLP w DLRM to typowe GEMM-y na tensor cores; embedding lookup z dużą przepustowością pamięci HBM. Standardowy target dla NVIDIA A100/H100 i AMD MI250.

Dobry fit

Google używa wariantów DLRM na TPU dla swoich systemów rekomendacyjnych. SparseCore w TPU v5e/v5p został zaprojektowany specjalnie pod rekomendację typu DLRM.

Możliwe

Inferencja DLRM może być serwowana na CPU (np. Intel AVX-512) — Meta historycznie używała CPU dla części inferencji rekomendacyjnej dzięki przewadze pojemności pamięci nad GPU dla embedding tables.