Scaling Generative Recommendations with Context Parallelism on Hierarchical Sequential Transducers
Extracted source text · arXiv 2508.04711
%%
%% This is file `sample-sigconf.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% samples.dtx (with options: `all,proceedings,bibtex,sigconf')
%%
%% IMPORTANT NOTICE:
%%
%% For the copyright see the source file.
%%
%% Any modified versions of this file must be renamed
%% with new filenames distinct from sample-sigconf.tex.
%%
%% For distribution of the original source see the terms
%% for copying and modification in the file samples.dtx.
%%
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%
%%
%% Commands for TeXCount
%TC:macro \cite [option:text,text]
%TC:macro \citep [option:text,text]
%TC:macro \citet [option:text,text]
%TC:envir table 0 1
%TC:envir table* 0 1
%TC:envir tabular [ignore] word
%TC:envir displaymath 0 word
%TC:envir math 0 word
%TC:envir comment 0 0
%%
%% The first command in your LaTeX source must be the \documentclass
%% command.
%%
%% For submission and review of your manuscript please change the
%% command to \documentclass[manuscript, screen, review]{acmart}.
%%
%% When submitting camera ready or to TAPS, please change the command
%% to \documentclass[sigconf]{acmart} or whichever template is required
%% for your publication.
%%
%%
\documentclass[sigconf]{acmart}
%%
%% \BibTeX command to typeset BibTeX logo in the docs
\AtBeginDocument{%
\providecommand\BibTeX{{%
Bib\TeX}}}
%% Rights management information. This information is sent to you
%% when you complete the rights form. These commands have SAMPLE
%% values in them; it is your responsibility as an author to replace
%% the commands and values with those provided to you when you
%% complete the rights form.
\copyrightyear{2025}
\acmYear{2025}
\setcopyright{rightsretained}
\acmConference[RecSys '25]{Proceedings of the Nineteenth ACM Conference on Recommender Systems}{September 22--26, 2025}{Prague, Czech Republic}
\acmBooktitle{Proceedings of the Nineteenth ACM Conference on Recommender Systems (RecSys '25), September 22--26, 2025, Prague, Czech Republic}\acmDOI{10.1145/3705328.3748143}
\acmISBN{979-8-4007-1364-4/2025/09}
%%
%% Submission ID.
%% Use this when submitting an article to a sponsored event. You'll
%% receive a unique submission ID from the organizers
%% of the event, and this ID should be used as the parameter to this command.
%%\acmSubmissionID{123-A56-BU3}
%%
%% For managing citations, it is recommended to use bibliography
%% files in BibTeX format.
%%
%% You can then either use BibTeX with the ACM-Reference-Format style,
%% or BibLaTeX with the acmnumeric or acmauthoryear sytles, that include
%% support for advanced citation of software artefact from the
%% biblatex-software package, also separately available on CTAN.
%%
%% Look at the sample-*-biblatex.tex files for templates showcasing
%% the biblatex styles.
%%
%%
%% The majority of ACM publications use numbered citations and
%% references. The command \citestyle{authoryear} switches to the
%% "author year" style.
%%
%% If you are preparing content for an event
%% sponsored by ACM SIGGRAPH, you must use the "author year" style of
%% citations and references.
%% Uncommenting
%% the next command will enable that style.
%%\citestyle{acmauthoryear}
%%
%% end of the preamble, start of the body of the document source.
\begin{document}
%%
%% The "title" command has an optional parameter,
%% allowing the author to define a "short title" to be used in page headers.
\title{Scaling Generative Recommendations with Context Parallelism on Hierarchical Sequential Transducers}
%%
%% The "author" command and its associated commands are used to define
%% the authors and their affiliations.
%% Of note is the shared affiliation of the first two authors, and the
%% "authornote" and "authornotemark" commands
%% used to denote shared contribution to the research.
\author{Yue Dong}
\email{yoyoyod@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Han Li}
\email{hanli@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Shen Li}
\email{shenli@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Nikhil Patel}
\email{nikhilp@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Xing Liu}
\email{xingl@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Xiaodong Wang}
\email{xdwang@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
\author{Chuanhao Zhuge}
\email{czhuge@meta.com}
\affiliation{%
\institution{Meta Platforms}
\city{Menlo Park}
\state{California}
\country{USA}
}
%%
%% By default, the full list of authors will be used in the page
%% headers. Often, this list is too long, and will overlap
%% other information printed in the page headers. This command allows
%% the author to define a more concise list
%% of authors' names for this purpose.
\renewcommand{\shortauthors}{Dong et al.}
%%
%% The abstract is a short summary of the work to be presented in the
%% article.
\begin{abstract}
Large-scale recommendation systems are pivotal to process an immense volume of daily user interactions, requiring the effective modeling of high cardinality and heterogeneous features to ensure accurate predictions. In prior work, we introduced Hierarchical Sequential Transducers (HSTU), an attention-based architecture for modeling high cardinality, non-stationary streaming recommendation data, providing good scaling law in the generative recommender framework (GR). Recent studies and experiments demonstrate that attending to longer user history sequences yields significant metric improvements. However, scaling sequence length is activation-heavy, necessitating parallelism solutions to effectively shard activation memory.
In transformer-based LLMs, context parallelism (CP) is a commonly used technique that distributes computation along the sequence-length dimension across multiple GPUs, effectively reducing memory usage from attention activations. In contrast, production ranking models typically utilize jagged input tensors to represent user interaction features, introducing unique CP implementation challenges. In this work, we introduce context parallelism with jagged tensor support for HSTU attention, establishing foundational capabilities for scaling up sequence dimensions. Our approach enables a 5.3× increase in supported user interaction sequence length, while achieving a 1.55× scaling factor when combined with Distributed Data Parallelism (DDP).
\end{abstract}
%%
%% Keywords. The author(s) should pick words that accurately describe
%% the work being presented. Separate the keywords with commas.
\keywords{Recommendation Systems, Generative Recommenders, Hierarchical Sequential Transducers, Context Parallelism, Jagged Tensors, Jagged Attention}
%% A "teaser" image appears between the author and affiliation
%% information and the body of the document, and typically spans the
%% page.
% \received{20 February 2007}
% \received[revised]{12 March 2009}
% \received[accepted]{5 June 2009}
%%
%% This command processes the author and affiliation and title
%% information and builds the first part of the formatted document.
\maketitle
%% [1] https://arxiv.org/abs/2402.17152
%% [2] https://arxiv.org/abs/2302.02352
%% [3] https://arxiv.org/abs/2205.04507
%% [4] https://arxiv.org/abs/1904.06690
%% [5] https://arxiv.org/pdf/2310.01889 ring attention
%% [6] torchRec
%% [8] https://arxiv.org/pdf/2310.03294 distflashatten load balance
%% [9] https://github.com/NVIDIA/TransformerEngine/tree/9b2fed514ea419141146f843ab2c84b22b86bfd7?tab=readme-ov-file
\section{Introduction}
Modern attention-based architectures enable substantially larger-scale processing, thereby making it possible to leverage significantly more data within recommendation systems. By learning from considerably larger volumes of user impressions and interactions across various product surfaces, these models achieve deeper personalization and more accurate recommendations than previously possible \cite{chang2023twin, pancha2022pinnerformer, sun2019bert4rec}. To effectively learn from longer user interaction history sequences, previous research introduced a novel attention-based encoder design, known as hierarchical sequential transducers (HSTU) \cite{zhai2024actionsspeaklouderwords}. To efficiently process the variable-length user sequence input commonly seen in recommender sequence learning, the encoder adopts a jagged tensor implementation optimized with specialized Triton kernels.
Using this effective architecture, we identify a clear path to scale the model with model quality measured by normalized entropy (NE) improvements. Scaling the model includes learning from longer sequence length; however, this scaling is constrained by substantial activation memory requirements. To overcome this limitation, we explore context-parallelism (CP) \cite{liu2023ringattention}: a parallel computing technique that partitions long sequences across multiple GPUs, reducing per-device activation memory requirements, and thereby enabling greater scalability. Nonetheless, context-parallelism methods designed for standard transformer-based large language models (LLMs) cannot be directly applied due to fundamental differences in how jagged tensor inputs are represented and processed within the HSTU framework. In this paper, we introduce jagged tensor context-parallelism, an adaptation specifically designed for the HSTU architecture, serving as our primary technical contribution to efficiently scale sequence lengths and enable further improvements in recommendation system performance.
\section{Methodology}
In this section, we present the main components of the generative recommender encoder, including the HSTU architecture and the jagged tensor representation. We outline how these elements differ from traditional transformer-based LLM architectures, and discuss our approach to efficiently implementing context-parallelism tailored specifically to the unique characteristics of our system.
\subsection{Sequential Transducer Attention}
The formulation of the HSTU encoder is defined by the following equation:
\[
\text{HSTUAttention}(Q,K,V) = \text{Mask}\left(\text{SiLu}\left(\frac{QK^T + \text{Bias}}{\sqrt{d_k}}\right)\right)V
\]
We highlight that a critical component is the customized timestamp bias, which is generated based on the timestamps with learnable weights. It first computes the differences between consecutive elements in \textit{ts}, then performs the transformation followed by the grouping. These bucket indices are then used to select weights from \textit{ts\_weights}, which is a learnable parameter tensor initialized with values drawn from a normal distribution.
\subsection{Jagged Tensors}
Unlike dense features, which typically have fixed sizes, sparse features frequently observed in training examples exhibit high sparsity and variable sequence lengths. To efficiently represent these sparse features, we preprocess them into jagged tensors containing both feature \textit{values} and metadata, such as \textit{offsets} and \textit{max\_lengths}. These jagged tensors are subsequently provided as inputs to the attention operations. We use the TorchRec \cite{torchrec2024} implementation of the jagged tensor.
\subsection{Context-Parallelism Implementation}
The key idea of Context Parallelism (CP) is to leverage the block-wise computation of self-attention to distribute long sequences across multiple devices to reduce memory usage. A typical workflow includes sharding Q, K, V on sequence length dimension so each device only holds 1/N of the data; each device then independently performs local attention computations before exchanging intermediate results in a block-wise manner to obtain the final attention outputs. To achieve efficient processing, ring-based gathering is utilized, with the intention to fully overlap communication with computation.
In our implementation, we focus on scenarios where CP is introduced as an additional dimension of parallelism alongside DDP. A standard pre-processing interation with DDP is to \textit{AllGather} along the batch dimension, followed by an even split along the sequence dimension. However, the inherently dynamic nature of jagged tensors — characterized by highly variable sequence lengths, common in recommendation system training — introduces significant challenges in efficiently implementing the communication required for this \textit{AllGather} operation. As can be seen in Figure~\ref{fig:jagged-allgather}, both the communication volume and peak memory usage at the intermediate stage are dominated by the total concatenated sequence length.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{samples/jagged-allgather.png}
\caption{Jagged Tensor AllGather Process}
\label{fig:jagged-allgather}
\end{figure}
In order to improve communication and memory efficiency, we replaced the \textit{AllGather} with \textit{AllToAll} to directly send relevant chunks from each sample to each rank, thereby saving memory by avoiding full copy of data on each rank. This is illustrated in Figure~\ref{fig:jagged-a2a}. With this technique, we are able to significantly reduce the peak memory compared to the \textit{AllGather} method by >60\% and improve the training throughput measured by examples per-second by \textbf{>2x}.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{samples/jagged-a2a.png}
\caption{Jagged Tensor AllToAll Process}
\label{fig:jagged-a2a}
\end{figure}
Another common challenge encountered in CP is load balancing. In both standard transformer-based LLM attention and HSTU attention, a mask is typically applied to restrict which positions in the input sequence can attend to each other during self-attention, thus preventing information leakage from future positions. The most frequently used mask is the “causal” (or “lower-triangular”) mask. However, using a triangular mask inherently leads to computational imbalance across different GPU ranks. Several strategies~\cite{li2024distflashattn, transformerengine2025} have been proposed to mitigate this load imbalance. We adopt an approach similar to that used in \texttt{TransformerEngine} \cite{transformerengine2025}. For each chunk, we further partition into 2 mini-CP chunks along sequence-length dimension, and assign chunks \textit{(i, 2xCP - 1 - i)} to \textit{rank i}. This ensures balanced computational loads across GPU ranks, as illustrated in Figure~\ref{fig:lb}. To effectively implement this approach, we employ efficient data shuffling with custom Triton kernels designed for memory reordering, thereby avoiding significant overhead from chunking and concatenation operations. This technique further enhances overall training throughput by \textbf{37\%}.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{samples/lb.png}
\caption{Load Balanced CP with 2*CP\_size Mini-chunks}
\label{fig:lb}
\end{figure}
\section{Experiments and Conclusions}
We conducted experiments on Jagged CP with HSTU, running on NVidia H100 GPUs with 80GB HBM. The baseline model was executed using DDP without activation checkpointing, achieving a maximum sequence length of 3K (utilizing 89\% of available memory). Scaling beyond this point resulted in out-of-memory (OOM) errors. With the adoption of CP, we successfully scaled to significantly longer sequence lengths proportional to the CP size, as illustrated in Table~\ref{tab:max-seq-vs-cp}.
\begin{table}[ht]
\centering
\begin{tabular}{lc}
\toprule
\textbf{CP Size} & \textbf{Maximum Sequence Length} \\
\midrule
Without CP & 3072 \\
CP=2 & 4096 \\
CP=4 & 7168 \\
CP=8 & 16384 \\
\bottomrule
\end{tabular}
\caption{Maximum sequence length supported vs.\ CP size}
\label{tab:max-seq-vs-cp}
\end{table}
We also evaluate the scaling efficiency by measuring the achieved scaling factor. Ideally, the scaling factor should increase linearly with the number of GPUs. In our experiments, we observed scaling efficiency ranging between 1.33× and 1.55×.
\begin{table}[ht]
\centering
\begin{tabular}{lcc}
\toprule
\textbf{Case} & \textbf{Scaling Factor}\\
\midrule
Ideal case & 2.00× \\
DDP only & 1.6–1.7× \\
DDP + CP (cp\_size=2) & ~1.33× \\
DDP + CP (cp\_size=2, 2× batch) & ~1.55× \\
\bottomrule
\end{tabular}
\caption{Scaling factors and raw QPS under different parallelism setups (baseline: 24 K QPS).}
\label{tab:scaling-qps}
\end{table}
We break down how each performance optimization technique described above contributes to improving training throughput, measured in queries (examples) per second (QPS). First, replacing \textit{AllGather} with \textit{AllToAll} eliminated redundant memory usage and communication overhead, resulting in a 2.7× increase in QPS. Next, the custom Triton kernels for memory reordering—an essential step for load balancing—which avoided costly chunking and concatenation, provides additional 37\% improvement. Finally, we addressed GPU/CPU synchronization overhead introduced by jagged tensor communication. Specifically, to compute sequence lengths for collective communication, we previously relied on \textit{.item()} calls that triggered device-host sync. By asynchronously copying the offset tensor to the CPU and delaying synchronization until absolutely necessary, we achieved a further ~2\% QPS gain.
\begin{figure}[htbp]
\centering
\includegraphics[width=\linewidth]{samples/qps-improve.png}
\caption{Normalized QPS Gains by Optimization Techniques}
\label{fig:qps-improve}
\end{figure}
We have also identified additional opportunities to further enhance scaling efficiency. Currently, the performance bottleneck lies in the attention kernel, which was optimized for shorter sequences. A promising opportunity involves fusing these segmented kernels into larger, consolidated kernels. Our preliminary headroom study indicates that implementing this fusion can increase the scaling factor at the same batch size from 1.33× to approximately 1.5×–1.6×.
In summary, our work on jagged tensor context-parallelism (CP) for HSTU enables efficient scaling of generative recommender models to process significantly longer feature sequences, thereby enhancing the overall quality and effectiveness of recommendation systems.
\begin{acks}
This work reflects the collaborative efforts of many contributors. We are especially grateful - in alphabetical order by first name - to Daniel Johnson, David Berard, Jade Nie, Linjian Ma, Weiwei Chu, Xinfeng Xie, Yuchen Hao, and others whose insightful feedback and technical input were instrumental throughout the project. We would also like to thank Adnan Aziz, Ajit Mathews, Bi Xue, Daisy Shi He, Emad El-Haraty, Jiaqi Zhai, and Min Ni for their leadership and support.
\end{acks}
% Identification of funding sources and other support, and thanks to
% individuals and groups that assisted in the research and the
% preparation of the work should be included in an acknowledgment
% section, which is placed just before the reference section in your
% document.
%%
%% The next two lines define the bibliography style to be used, and
%% the bibliography file.
\bibliographystyle{ACM-Reference-Format}
\input{output.bbl}
% \usepackage[backend=biber]{biblatex}
% \addbibresource{samples/sample-base.bib} % Not \bibliography
% \printbibliography
%%
%% If your work has an appendix, this is the place to put it.
\appendix
\end{document}
\endinput
%%
%% End of file `sample-sigconf.tex'.
%%% -*-BibTeX-*-
%%% Do NOT edit. File created by BibTeX with style
%%% ACM-Reference-Format-Journals [18-Jan-2012].
\begin{thebibliography}{8}
%%% ====================================================================
%%% NOTE TO THE USER: you can override these defaults by providing
%%% customized versions of any of these macros before the \bibliography
%%% command. Each of them MUST provide its own final punctuation,
%%% except for \shownote{} and \showURL{}. The latter two
%%% do not use final punctuation, in order to avoid confusing it with
%%% the Web address.
%%%
%%% To suppress output of a particular field, define its macro to expand
%%% to an empty string, or better, \unskip, like this:
%%%
%%% \newcommand{\showURL}[1]{\unskip} % LaTeX syntax
%%%
%%% \def \showURL #1{\unskip} % plain TeX syntax
%%%
%%% ====================================================================
\ifx \showCODEN \undefined \def \showCODEN #1{\unskip} \fi
\ifx \showISBNx \undefined \def \showISBNx #1{\unskip} \fi
\ifx \showISBNxiii \undefined \def \showISBNxiii #1{\unskip} \fi
\ifx \showISSN \undefined \def \showISSN #1{\unskip} \fi
\ifx \showLCCN \undefined \def \showLCCN #1{\unskip} \fi
\ifx \shownote \undefined \def \shownote #1{#1} \fi
\ifx \showarticletitle \undefined \def \showarticletitle #1{#1} \fi
\ifx \showURL \undefined \def \showURL {\relax} \fi
% The following commands are used for tagged output and should be
% invisible to TeX
\providecommand\bibfield[2]{#2}
\providecommand\bibinfo[2]{#2}
\providecommand\natexlab[1]{#1}
\providecommand\showeprint[2][]{arXiv:#2}
\bibitem[Chang et~al\mbox{.}(2023)]%
{chang2023twin}
\bibfield{author}{\bibinfo{person}{Jianxin Chang}, \bibinfo{person}{Chenbin Zhang}, \bibinfo{person}{Zhiyi Fu}, \bibinfo{person}{Xiaoxue Zang}, \bibinfo{person}{Lin Guan}, \bibinfo{person}{Jing Lu}, \bibinfo{person}{Yiqun Hui}, \bibinfo{person}{Dewei Leng}, \bibinfo{person}{Yanan Niu}, \bibinfo{person}{Yang Song}, {and} \bibinfo{person}{Kun Gai}.} \bibinfo{year}{2023}\natexlab{}.
\newblock \bibinfo{title}{{TWIN}: {T}Wo-stage Interest Network for Lifelong User Behavior Modeling in {CTR} Prediction at Kuaishou}.
\newblock
\showeprint[arxiv]{2302.02352}~[cs.IR]
\urldef\tempurl%
\url{https://arxiv.org/abs/2302.02352}
\showURL{%
\tempurl}
\bibitem[Ivchenko et~al\mbox{.}(2022)]%
{torchrec2024}
\bibfield{author}{\bibinfo{person}{Dmytro Ivchenko}, \bibinfo{person}{Dennis Van Der~Staay}, \bibinfo{person}{Colin Taylor}, \bibinfo{person}{Xing Liu}, \bibinfo{person}{Will Feng}, \bibinfo{person}{Rahul Kindi}, \bibinfo{person}{Anirudh Sudarshan}, {and} \bibinfo{person}{Shahin Sefati}.} \bibinfo{year}{2022}\natexlab{}.
\newblock \showarticletitle{TorchRec: a PyTorch Domain Library for Recommendation Systems}. In \bibinfo{booktitle}{\emph{Proceedings of the 16th ACM Conference on Recommender Systems}} (Seattle, WA, USA) \emph{(\bibinfo{series}{RecSys '22})}. \bibinfo{publisher}{Association for Computing Machinery}, \bibinfo{address}{New York, NY, USA}, \bibinfo{pages}{482–483}.
\newblock
\showISBNx{9781450392785}
\href{https://doi.org/10.1145/3523227.3547387}{doi:\nolinkurl{10.1145/3523227.3547387}}
\bibitem[Li et~al\mbox{.}(2024)]%
{li2024distflashattn}
\bibfield{author}{\bibinfo{person}{Dacheng Li}, \bibinfo{person}{Rulin Shao}, \bibinfo{person}{Anze Xie}, \bibinfo{person}{Eric~P. Xing}, \bibinfo{person}{Xuezhe Ma}, \bibinfo{person}{Ion Stoica}, \bibinfo{person}{Joseph~E. Gonzalez}, {and} \bibinfo{person}{Hao Zhang}.} \bibinfo{year}{2024}\natexlab{}.
\newblock \bibinfo{title}{{DISTFLASHATTN}: Distributed Memory-efficient Attention for Long-context {LLMs} Training}.
\newblock
\showeprint[arxiv]{2310.03294}~[cs.LG]
\urldef\tempurl%
\url{https://arxiv.org/abs/2310.03294}
\showURL{%
\tempurl}
\bibitem[Liu et~al\mbox{.}(2023)]%
{liu2023ringattention}
\bibfield{author}{\bibinfo{person}{Hao Liu}, \bibinfo{person}{Matei Zaharia}, {and} \bibinfo{person}{Pieter Abbeel}.} \bibinfo{year}{2023}\natexlab{}.
\newblock \bibinfo{title}{Ring Attention with Blockwise Transformers for Near-Infinite Context}.
\newblock
\showeprint[arxiv]{2310.01889}~[cs.CL]
\urldef\tempurl%
\url{https://arxiv.org/abs/2310.01889}
\showURL{%
\tempurl}
\bibitem[{NVIDIA Corporation}(2025)]%
{transformerengine2025}
\bibfield{author}{\bibinfo{person}{{NVIDIA Corporation}}.} \bibinfo{year}{2025}\natexlab{}.
\newblock \bibinfo{title}{{TransformerEngine}: High-Performance Transformer Primitives for {NVIDIA} {GPUs}}.
\newblock \bibinfo{howpublished}{\url{https://github.com/NVIDIA/TransformerEngine}}.
\newblock
\newblock
\shownote{GitHub repository, commit 9b2fed5, accessed 15~May~2025}.
\bibitem[Pancha et~al\mbox{.}(2022)]%
{pancha2022pinnerformer}
\bibfield{author}{\bibinfo{person}{Nikil Pancha}, \bibinfo{person}{Andrew Zhai}, \bibinfo{person}{Jure Leskovec}, {and} \bibinfo{person}{Charles Rosenberg}.} \bibinfo{year}{2022}\natexlab{}.
\newblock \bibinfo{title}{PinnerFormer: Sequence Modeling for User Representation at Pinterest}.
\newblock
\showeprint[arxiv]{2205.04507}~[cs.LG]
\urldef\tempurl%
\url{https://arxiv.org/abs/2205.04507}
\showURL{%
\tempurl}
\bibitem[Sun et~al\mbox{.}(2019)]%
{sun2019bert4rec}
\bibfield{author}{\bibinfo{person}{Fei Sun}, \bibinfo{person}{Jun Liu}, \bibinfo{person}{Jian Wu}, \bibinfo{person}{Changhua Pei}, \bibinfo{person}{Xiao Lin}, \bibinfo{person}{Wenwu Ou}, {and} \bibinfo{person}{Peng Jiang}.} \bibinfo{year}{2019}\natexlab{}.
\newblock \bibinfo{title}{{BERT4Rec}: Sequential Recommendation with Bidirectional Encoder Representations from Transformer}.
\newblock
\showeprint[arxiv]{1904.06690}~[cs.IR]
\urldef\tempurl%
\url{https://arxiv.org/abs/1904.06690}
\showURL{%
\tempurl}
\bibitem[Zhai et~al\mbox{.}(2024)]%
{zhai2024actionsspeaklouderwords}
\bibfield{author}{\bibinfo{person}{Jiaqi Zhai}, \bibinfo{person}{Lucy Liao}, \bibinfo{person}{Xing Liu}, \bibinfo{person}{Yueming Wang}, \bibinfo{person}{Rui Li}, \bibinfo{person}{Xuan Cao}, \bibinfo{person}{Leon Gao}, \bibinfo{person}{Zhaojie Gong}, \bibinfo{person}{Fangda Gu}, \bibinfo{person}{Michael He}, \bibinfo{person}{Yinghai Lu}, {and} \bibinfo{person}{Yu Shi}.} \bibinfo{year}{2024}\natexlab{}.
\newblock \bibinfo{title}{Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations}.
\newblock
\showeprint[arxiv]{2402.17152}~[cs.LG]
\urldef\tempurl%
\url{https://arxiv.org/abs/2402.17152}
\showURL{%
\tempurl}
\end{thebibliography}