OneLoc: Geo-Aware Generative Recommender Systems for Local Life Service
TL;DR 精炼摘要
OneLoc提出地理感知生成推荐系统,通过地理感知语义ID、自注意力和邻居感知提示融合地理与视频信息,并利用强化学习平衡用户兴趣、距离和商业目标。部署于快手本地生活服务,显著提升GMV和订单数。
摘要
Local life service is a vital scenario in Kuaishou App, where video recommendation is intrinsically linked with store's location information. Thus, recommendation in our scenario is challenging because we should take into account user's interest and real-time location at the same time. In the face of such complex scenarios, end-to-end generative recommendation has emerged as a new paradigm, such as OneRec in the short video scenario, OneSug in the search scenario, and EGA in the advertising scenario. However, in local life service, an end-to-end generative recommendation model has not yet been developed as there are some key challenges to be solved. The first challenge is how to make full use of geographic information. The second challenge is how to balance multiple objectives, including user interests, the distance between user and stores, and some other business objectives. To address the challenges, we propose OneLoc. Specifically, we leverage geographic information from different perspectives: (1) geo-aware semantic ID incorporates both video and geographic information for tokenization, (2) geo-aware self-attention in the encoder leverages both video location similarity and user's real-time location, and (3) neighbor-aware prompt captures rich context information surrounding users for generation. To balance multiple objectives, we use reinforcement learning and propose two reward functions, i.e., geographic reward and GMV reward. With the above design, OneLoc achieves outstanding offline and online performance. In fact, OneLoc has been deployed in local life service of Kuaishou App. It serves 400 million active users daily, achieving 21.016% and 17.891% improvements in terms of gross merchandise value (GMV) and orders numbers.
思维导图
论文精读
中文精读
1. 论文基本信息
1.1. 标题
OneLoc: Geo-Aware Generative Recommender Systems for Local Life Service
1.2. 作者
Zhipeng Wei, Kuo Cai, Junda She, Jie Chen, Minghao Chen, Yang Zeng, Qiang Luo, Wencong Zeng, Ruiming Tang, Kun Gai, and Guorui Zhou。 所有作者除 Kun Gai 标注为 Unaffiliated 外,其余均来自 Kuaishou Inc., Beijing, China。
1.3. 发表期刊/会议
论文指明将在 Proceedings of Make sure to enter the correct conference title from your rights confirmation email (Conference acronym 'XX). ACM, New York, NY, USA 发表。这表明它是一篇 ACM 会议论文,但具体的会议名称在提交时尚未最终确定。ACM 会议通常在计算机科学领域,尤其是信息系统、数据挖掘和人工智能领域具有较高声誉。
1.4. 发表年份
2025年
1.5. 摘要
快手 (Kuaishou) App 中的本地生活服务是一个关键场景,其视频推荐与店铺的地理位置信息紧密相关。这使得推荐面临挑战,因为需要同时考虑用户兴趣和实时地理位置。面对此类复杂场景,端到端 (end-to-end) 的生成式推荐系统已成为一种新范式,例如在短视频场景中的 OneRec、搜索场景中的 OneSug 和广告场景中的 EGA。然而,在本地生活服务领域,尚未开发出端到端生成式推荐模型,因为存在一些关键挑战。第一个挑战是如何充分利用地理信息,第二个挑战是如何平衡多重目标,包括用户兴趣、用户与店铺间的距离以及其他业务目标。
为了解决这些挑战,本文提出了 OneLoc 模型。具体而言,OneLoc 从不同角度利用地理信息:
-
地理感知语义 ID (geo-aware semantic ID): 结合视频和地理信息进行词元化 (tokenization)。
-
编码器中的地理感知自注意力 (geo-aware self-attention): 同时利用视频位置相似性和用户的实时位置。
-
邻居感知提示 (neighbor-aware prompt): 捕捉用户周围丰富的上下文信息以指导生成。
为了平衡多重目标,OneLoc 采用了强化学习 (reinforcement learning),并提出了两种奖励函数:地理奖励 (geographic reward) 和商品交易总额 (GMV) 奖励。通过上述设计,OneLoc 在离线和在线性能上均取得了显著成果。OneLoc 已部署在快手 App 的本地生活服务中,每天服务4亿活跃用户,实现了商品交易总额 (GMV) 21.016% 和订单数 17.891% 的提升。
1.6. 原文链接
原文链接: https://arxiv.org/abs/2508.14646 PDF 链接: https://arxiv.org/pdf/2508.14646v1.pdf 发布状态:预印本 (arXiv preprint),发布于 UTC: 2025-08-20T11:57:48.000Z。
2. 整体概括
2.1. 研究背景与动机
本地生活服务推荐 (Local Life Service Recommendation, LLSR) 已成为快手、美团、抖音等主要互联网平台的核心场景。在这个场景中,视频推荐与具体的实体店铺(如餐厅、咖啡馆)紧密绑定,而这些店铺都拥有地理位置信息。传统的推荐系统在处理这类场景时面临双重挑战:
-
地理信息的复杂性与利用不足: 用户对本地生活服务的需求往往与他们当前的实时位置高度相关。例如,用户在饥饿时可能更倾向于附近的外卖或餐厅。现有的推荐系统(包括一些POI推荐模型)虽然尝试利用地理信息,但通常只从单一维度(如作为独立特征或解码器提示)进行整合,未能充分挖掘其在语义、行为序列和周边环境中的丰富潜力。如何设计一个能够全面、深度融合地理信息的模型,是 LLSR 场景中的首要难题。
-
多目标平衡的挑战: 在商业场景中,推荐系统不仅要满足用户的兴趣,还要兼顾多种商业目标,例如促成交易(提高 GMV)、增加订单量,以及确保推荐的视频在地理上对用户是可达的、合理的(例如,推荐太远的店铺会降低转化)。简单地优化单一目标往往会导致其他目标的下降。如何在用户兴趣、地理距离和多样化的业务指标之间找到一个有效的平衡点,并进行精细化优化,是 LLSR 场景的另一个关键挑战。
本文的动机正是在于弥补生成式推荐模型在本地生活服务场景中的空白,通过端到端 (end-to-end) 的方法,系统性地解决上述地理信息利用和多目标平衡的挑战。
2.2. 核心贡献/主要发现
OneLoc 针对本地生活服务推荐场景的特殊挑战,提出了一个端到端、地理感知 (geo-aware) 的生成式推荐框架,其核心贡献和主要发现包括:
- 首个针对本地生活服务的端到端生成式推荐系统: OneLoc 将生成式推荐范式引入到快手本地生活服务这一复杂场景,并在生产环境中成功部署,每日服务 4 亿活跃用户,验证了其在工业级应用中的可行性和优越性。
- 全面整合地理信息的三个创新模块:
- 地理感知语义 ID (Geo-aware Semantic IDs): 通过将地理信息融入视频内容特征,生成包含地理语义的离散语义 ID,使得推荐的最小单元本身就具备了地理属性。
- 编码器中的地理感知自注意力 (Geo-aware Self-attention): 在编码器中引入了结合视频内容相似性和视频间地理位置相似性的自注意力机制,并通过用户实时位置进行门控,更精确地捕获用户行为序列中的地理相关模式。
- 解码器中的邻居感知提示 (Neighbor-aware Prompt): 不仅使用用户自身位置,还通过交叉注意力机制整合用户周围环境的丰富地理上下文信息作为解码器的提示,以生成更贴近用户实际地理环境的推荐。
- 基于强化学习的多目标平衡机制: 针对本地生活服务中用户兴趣、地理距离和商业目标之间的冲突,设计了基于强化学习 (Reinforcement Learning) 的优化方案,并提出了两种专用奖励函数:
- 地理奖励 (Geographic Reward): 鼓励模型推荐地理距离更近的视频,直接优化用户可达性。
- GMV 奖励 (GMV Reward): 结合传统的 GMV 评分模型,直接优化商业价值,驱动交易转化。 这些奖励通过直接偏好优化 (Direct Preference Optimization, DPO) 机制进行训练,有效平衡了多个推荐目标。
- 卓越的离线和在线性能:
- 在 KuaiLLSR 和 Foursquare 数据集上的离线实验表明,OneLoc 在
Recall@K和NDCG@K等指标上均显著优于现有最先进的传统推荐模型和生成式推荐模型,展现了强大的推荐能力。 - 在线 A/B 测试结果显示,OneLoc 相较于生产级多阶段推荐系统,实现了
GMV21.016%、订单数 17.891%、本地服务付费用户数 18.585% 和新付费用户数 23.027% 的显著提升,直接验证了其在实际业务场景中的巨大价值。
- 在 KuaiLLSR 和 Foursquare 数据集上的离线实验表明,OneLoc 在
3. 预备知识与相关工作
3.1. 基础概念
-
本地生活服务推荐 (Local Life Service Recommendation, LLSR):
- 概念定义: LLSR 是一种特殊的推荐系统,旨在向用户推荐与其当前地理位置相关的本地商家、服务或内容。这类服务通常包括餐饮、娱乐、购物、出行等,其核心特点是商品的消费与用户的物理位置紧密联系。
- 在本文语境: 在快手 App 中,LLSR 指的是向用户推荐包含店铺位置信息的短视频,以吸引用户到附近店铺进行消费。
-
生成式推荐 (Generative Recommendation):
- 概念定义: 区别于传统的匹配-排序 (matching-ranking) 范式,生成式推荐系统借鉴自然语言处理 (NLP) 领域中大型语言模型 (LLM) 的生成能力,将推荐任务建模为序列生成问题。它不直接从预先确定的候选池中选择物品,而是生成代表推荐物品的离散标识符(如
Semantic ID或token)序列。这种方法通常能够捕捉更复杂的语义关系和用户偏好。 - 在本文语境: OneLoc 采用编码器-解码器架构,通过生成语义 ID 来实现推荐,是生成式推荐的典型代表。
- 概念定义: 区别于传统的匹配-排序 (matching-ranking) 范式,生成式推荐系统借鉴自然语言处理 (NLP) 领域中大型语言模型 (LLM) 的生成能力,将推荐任务建模为序列生成问题。它不直接从预先确定的候选池中选择物品,而是生成代表推荐物品的离散标识符(如
-
Transformer 架构:
- 概念定义: Transformer 是一种基于自注意力 (Self-Attention) 机制的深度学习模型架构,最初用于序列到序列的任务(如机器翻译)。它彻底改变了 NLP 领域,并被广泛应用于各种序列建模任务。其核心优势在于能够并行处理序列中的所有元素,并捕获长距离依赖关系。
- 在本文语境: OneLoc 的编码器和解码器均基于 Transformer 块,用于处理用户行为序列和生成推荐序列。
- 自注意力 (Self-Attention):
- 概念定义: 自注意力机制允许模型在处理序列中的某个元素时,能够同时考虑序列中的所有其他元素,并根据它们之间的相关性分配不同的权重。它通过计算查询(Query)、键(Key)和值(Value)向量之间的相似度来确定注意力权重。
- 数学公式: 经典的自注意力计算公式为:
- 符号解释:
- (Query): 查询矩阵,由输入序列的每个元素通过线性变换得到,用于查询其他元素。
- (Key): 键矩阵,由输入序列的每个元素通过线性变换得到,用于与查询匹配。
- (Value): 值矩阵,由输入序列的每个元素通过线性变换得到,包含每个元素的信息。
- : 键向量的维度,用于缩放点积结果,防止梯度过大。
- : 归一化函数,将注意力分数转换为概率分布。
- : 计算查询与所有键的点积相似度。
- 在本文语境: OneLoc 提出了
geo-aware self-attention,在传统自注意力的基础上融入了地理位置相似度。
- 交叉注意力 (Cross-Attention):
- 概念定义: 交叉注意力是 Transformer 架构中的另一种注意力机制,它允许模型在生成一个序列(目标序列)时,关注另一个序列(源序列)中的相关信息。它的 Query 来自目标序列,而 Key 和 Value 来自源序列。
- 在本文语境: OneLoc 的解码器中使用交叉注意力,以及
Neighbor-aware Prompt中也使用交叉注意力,来整合编码器输出的用户行为特征和周围地理上下文信息。
-
语义 ID (Semantic ID) / 残差量化 (Residual Quantization, RQ-VAE):
- 概念定义:
Semantic ID是一种将高维连续的物品嵌入 (item embedding) 映射到低维离散的标识符(即token序列)的方法。这种方法允许将推荐任务转换为类似语言模型中的序列生成任务。残差量化 (RQ-VAE) 是一种生成Semantic ID的技术,它通过多阶段的量化过程,逐步逼近原始嵌入,并在每个阶段生成一个离散的码本索引,最终形成一个由多个离散token组成的序列。 - 在本文语境: OneLoc 沿用了
OneRec的做法,使用res-kmeans(一种残差量化方法)生成视频的Semantic ID,并在此基础上融入了地理信息,形成了geo-aware Semantic ID。
- 概念定义:
-
强化学习 (Reinforcement Learning, RL):
- 概念定义: 强化学习是机器学习的一个分支,智能体 (agent) 通过与环境的交互学习如何采取行动以最大化累积奖励。它通过试错的方式,在特定状态下选择行动,观察环境反馈(奖励和新状态),然后调整其策略 (policy)。
- 在本文语境: OneLoc 利用强化学习来平衡多目标,通过地理奖励和 GMV 奖励来指导推荐模型优化,使其生成的推荐序列不仅符合用户兴趣,还能促进业务目标的达成。
-
直接偏好优化 (Direct Preference Optimization, DPO):
- 概念定义:
DPO是一种用于对语言模型进行人类偏好对齐 (human preference alignment) 的强化学习算法。它直接优化模型生成高质量、符合人类偏好输出的能力,而无需像传统的 PPO (Proximal Policy Optimization) 那样显式地训练一个奖励模型 (reward model)。DPO通过一个简单的交叉熵损失函数,直接在模型生成结果与偏好数据之间建立连接。 - 在本文语境: OneLoc 使用
DPO来将预训练模型与地理奖励和 GMV 奖励对齐,从而平衡多个推荐目标。
- 概念定义:
-
商品交易总额 (Gross Merchandise Value, GMV):
- 概念定义: GMV 是电子商务平台衡量销售业绩的重要指标,指在特定时期内所有商品或服务的销售总额,无论这些交易最终是否完成、取消或退货。它代表了平台促成的交易潜力。
- 在本文语境: GMV 是 OneLoc 优化的一个核心业务目标,通过
GMV reward来指导模型生成能带来更高交易总额的推荐。
3.2. 前人工作
-
传统推荐模型 (Traditional Recommender Models):
- 序列推荐 (Sequential Recommendation): 这类模型关注用户历史交互序列,预测用户下一个可能喜欢的物品。
SASRec[7]: 使用单向Transformer编码器,通过自注意力机制有效建模用户偏好。BERT4Rec[16]: 借鉴BERT的预训练语言表示,采用双向Transformer编码器来捕捉用户行为序列中的依赖关系。GRU4Rec[4]: 利用门控循环单元 (GRU) 来捕捉用户交互序列中的时间依赖性,常用于会话推荐。S3-Rec[29]: 基于自监督学习 (self-supervised learning) 和互信息最大化 (mutual information maximization) 从用户行为序列中提取固有相关性。
- POI 推荐 (POI Recommendation):
TPG[12]: 是一种基于Transformer的方法,利用目标时间戳作为提示 (prompt) 来增强地理感知的位置推荐。Rotan[2]: 引入了一种新颖的时间感知注意力机制,通过将时间间隔表示为旋转位置向量 (rotational position vectors) 来有效捕获用户行为序列中的时间动态。STAN[13]: 提出了一种时空注意力机制,用于捕获 POI 轨迹中的时空关联性。LLM-Mob[21] 和NextLocLLM[11]: 探索使用大型语言模型 (LLMs) 进行下一 POI 推荐,通过上下文学习或注入空间坐标来增强 LLM 对空间关系的理解。LLM4POI[9]: 将下一 POI 推荐任务转化为问答任务,利用 LLM 丰富的上下文信息。
- 序列推荐 (Sequential Recommendation): 这类模型关注用户历史交互序列,预测用户下一个可能喜欢的物品。
-
生成式推荐模型 (Generative Recommendation Models):
TIGER[15]: 首次提出使用分层语义 ID (hierarchical semantic IDs) 和RQ-VAE(Residual Quantized Variational AutoEncoder) 的生成式推荐框架,将物品表示为离散码序列。OneRec[1, 28]: 在短视频场景中,利用强化学习和奖励模型来对齐用户偏好和行业需求,将传统的级联推荐框架统一到端到端生成式框架中。OneSug[3]: 提出了一种用于电商查询建议的端到端生成式框架。EGA[27]: 为广告场景设计了一个端到端生成式广告系统,处理显式竞价、创意选择、广告分配和支付计算等关键广告需求。GNPR-SID[17]: 将Semantic ID生成式推荐范式迁移到 POI 推荐场景,取得了 promising 的结果。- 其他:
COBRA[22] 提出了一个粗到细 (coarse-to-fine) 的框架;LC-Rec[26] 通过多任务训练与协同过滤信号对齐;LETTER[20] 通过整合分层语义、协同信号和代码分配多样性来改进词元器 (tokenizer);ActionPiece[6] 提出了上下文感知 (context-aware) 的词元器;EAGER[5] 以非侵入式方式对齐 LLM 的语言语义和协同语义。
3.3. 技术演进
推荐系统的发展经历了从基于内容、协同过滤、矩阵分解到深度学习的演变。近年来,序列推荐模型(如 SASRec、BERT4Rec)开始利用 Transformer 架构捕获用户行为的复杂模式。生成式推荐是这一演进中的一个重要范式转变,它借鉴了大型语言模型在自然语言生成方面的成功,将推荐任务转化为离散序列生成。这种转变使得模型能够以更灵活、更具表现力的方式处理物品和用户偏好。
在地理信息利用方面,早期的 POI 推荐模型主要将地理位置作为独立特征或通过专门设计的时空注意力机制进行建模。然而,这些方法往往未能将地理信息深度融入推荐系统的核心机制,或仅从单一视角出发。
OneLoc 正是站在这些技术演进的交汇点上,将生成式推荐的强大能力与 LLSR 场景对地理信息的特殊需求相结合,并解决了传统模型在多目标优化方面的局限性。它通过在物品表示(Geo-aware Semantic ID)、行为编码(Geo-aware Self-attention)和生成引导(Neighbor-aware Prompt)的多个层面全面融入地理信息,并在优化阶段引入多目标强化学习,从而实现了对现有方法的超越。
3.4. 差异化分析
OneLoc 与相关工作的主要区别和创新点在于:
- 场景特异性与全面性: 尽管
GNPR-SID[17] 也将生成式推荐应用于 POI 推荐,但 OneLoc 是第一个专门为本地生活服务短视频推荐设计的端到端生成式系统,更全面地考虑了该场景的独特性。它不仅仅停留在将 POI 信息转化为语义 ID,而是在Semantic ID生成、行为序列编码和生成提示的所有关键环节深度融入地理信息。 - 地理信息利用的深度与广度:
- 表示层面:
GNPR-SID[17] 使用地理信息构建Semantic ID。OneLoc 同样在geo-aware Semantic ID中融入地理信息,但更强调多模态视频内容与地理语义的结合。 - 编码层面: 现有的地理感知推荐模型(如
Rotan[2])通常将时空信息作为位置编码或独立特征。OneLoc 提出了geo-aware self-attention,首次在自注意力机制内部将视频内容相似度和视频间地理位置相似度结合,并通过用户实时位置进行门控,这是对传统注意力机制的地理增强。 - 解码层面:
TPG[12] 等方法利用用户坐标或时间戳作为生成提示。OneLoc 提出的Neighbor-aware Prompt不仅考虑用户自身位置,还通过交叉注意力机制捕获用户周围的丰富地理上下文信息,提供了更细致、更全面的地理感知能力。
- 表示层面:
- 多目标平衡的强化学习范式: 现有生成式推荐模型(如
OneRec[28])虽然也使用强化学习进行偏好对齐,但OneLoc首次在本地生活服务场景中明确提出了地理奖励和 GMV 奖励这两种专门的奖励函数。这使得模型能够直接优化业务核心指标,并在用户兴趣、地理距离和商业价值之间进行精细化平衡,这是先前工作未充分探讨的。 - 工业级部署与显著业务价值: 许多研究停留在离线实验阶段。OneLoc 不仅在离线实验中表现出色,更重要的是,它已在快手 App 的日活 4 亿用户的本地生活服务中成功部署,并带来了 GMV 和订单数等关键业务指标的显著提升,证明了其强大的实际应用价值和稳定性。
4. 方法论
OneLoc 是一个为本地生活服务场景设计的端到端 (end-to-end) 生成式推荐模型,采用编码器-解码器 (encoder-decoder) 架构,并经过预训练 (pre-training) 和后训练(强化学习,post-training with reinforcement learning)两阶段范式进行训练。其核心思想是全面利用地理信息,并通过强化学习平衡多重推荐目标。
4.1. 方法原理
OneLoc 的核心原理在于将本地生活服务推荐任务建模为一个序列生成问题,即给定用户历史行为序列和实时地理位置,模型能够生成代表下一个用户可能感兴趣并愿意消费的本地生活服务视频的语义 ID (Semantic ID) 序列。为了实现这一目标,OneLoc 做了以下关键设计:
- 地理信息深度融合: 模型在物品表示、行为序列编码和生成提示三个层面,通过
geo-aware Semantic ID、geo-aware self-attention和neighbor-aware prompt深度融入地理信息,确保推荐结果与用户的地理上下文高度相关。 - 两阶段训练范式:
- 预训练阶段: 模型通过
next token prediction任务,学习从用户行为序列和实时位置预测下一个视频的语义 ID。这一阶段旨在学习基础的用户兴趣和行为模式。 - 后训练阶段(强化学习): 针对本地生活服务场景中的多目标平衡问题(如用户兴趣、距离、GMV 等),引入了强化学习 (Reinforcement Learning),并设计了特定的奖励函数(
geographic reward和GMV reward)。通过直接偏好优化 (Direct Preference Optimization, DPO) 算法,模型被进一步微调,以对齐这些多维度的业务目标。
- 预训练阶段: 模型通过
4.2. 核心方法详解
4.2.1. 问题定义
设 代表用户集合, 代表视频集合, 代表位置集合。 在我们的任务中,每个视频 都被分配了一个位置 。这个位置 实际上是一个 GeoHash 块,包含了丰富的上下文信息,例如地理坐标、品牌和类别。 因此,每个视频可以由一个视频嵌入 、一个位置 ID 嵌入 和一个位置上下文嵌入 表示。 对于用户 ,其所在位置 也可以表示为一个位置上下文嵌入 。 此外,每个视频 会被映射为一个语义 ID,表示为 ,其中 是码本 (codebook) 的数量。 给定一个用户的交互视频序列 和实时位置 ,任务目标是预测下一个能够吸引消费的视频 ,其形式化目标是最大化概率 。
4.2.2. 地理感知语义 ID (Geo-aware Semantic IDs)
OneLoc 借鉴 OneRec [28] 的做法,使用 res-kmeans(残差 K-均值)来生成语义 ID。res-kmeans 采用残差量化 (residual quantization) 的方式,将高维视频嵌入映射到多级离散代码。为了注入地理信息,OneLoc 在 Semantic ID 生成的初始阶段就将地理信息整合进来:
在残差量化过程的初始阶段,每个残差 (在初始残差集 中)被表示为视频内容和位置上下文信息的嵌入,这些嵌入通过多模态大语言模型提取。这意味着,视频的原始特征(即用于生成 Semantic ID 的基础嵌入)已经包含了地理信息。
残差量化的过程如下: 在每个阶段 ,通过对当前残差集 进行 K-均值聚类来构建码本 : 其中:
-
: 第 个码本,是 K-均值聚类得到的质心集 。
-
: 第 阶段的残差集。
-
: 码本的大小(即聚类数量)。
有了码本 ,可以为 中的每个残差 计算其最近的质心索引 。然后,通过从当前残差中减去最近质心来计算下一个阶段的残差 : 其中:
-
: 残差 在第 个码本中最接近的质心的索引,它就是语义 ID 的第 位代码。
-
: 第 个码本中的第 个质心。
-
: 用于下一个量化阶段的新的残差。
上述过程迭代 次。OneLoc 中设置 ,因此可以得到三个码本 。通过这个过程,目标视频 可以被转换为其对应的语义 ID 。由于初始残差包含了地理信息,所以这些生成的语义 ID 自然也具有地理感知能力。
4.2.3. 编码器 (Encoder)
编码器用于从用户行为序列中提取有用的信息。
4.2.3.1. 多行为序列 (Multi-behavior Sequence)
在 OneLoc 场景中,用户的观看 (watching) 序列对于捕捉用户偏好至关重要。为了捕获不同粒度的用户行为模式,OneLoc 还额外整合了用户点击 (clicking) 序列和购买 (purchasing) 序列: 其中:
-
: 用户观看视频的序列。
-
: 用户点击视频的序列。
-
: 用户购买视频对应商品的序列。
这些多行为序列 被转换为一个综合嵌入序列 和一个位置上下文嵌入序列 ,然后输入到编码器中: 其中:
-
: 序列 的长度。
-
: 沿着特征维度进行拼接操作。
-
: 第 个视频的综合嵌入。它通过一个多层感知机 (MLP) 将视频嵌入 、位置 ID 嵌入 和位置上下文嵌入 拼接后得到。
-
: 第 个视频的视频嵌入。
-
: 第 个视频的位置 ID 嵌入。
-
: 第 个视频的位置上下文嵌入。
-
: 所有视频的位置上下文嵌入组成的序列。
4.2.3.2. 编码器架构 (Encoder Architecture)
上述嵌入序列 和用户位置上下文嵌入 被输入到编码器。编码器堆叠了 个 Transformer 块。每个块包含一个地理感知自注意力 (GA-Attn) 模块和一个前馈网络 (FFN) 模块,并辅以 RMSNorm 进行层归一化。其形式化表示如下:
其中:
- : 用户 的输入嵌入序列。
- : 第 个编码器层的输出。
- : 用户实时位置 的上下文嵌入。
- : 地理感知自注意力模块,是捕获用户行为模式的核心模块。
- : 均方根归一化 (Root Mean Square Normalization),一种层归一化技术。
- : 前馈网络。
4.2.3.3. 地理感知自注意力 (Geo-aware Self-attention)
GA-Attn 模块旨在根据用户的实时位置,从用户交互历史中捕获相关的行为。具体而言,注意力分数被定义为两部分结合:
-
综合相似度: 使用综合嵌入序列 作为查询 (Queries) 和键 (Keys) 计算内容相似度。
-
位置上下文相似度: 使用位置上下文嵌入序列 来进一步增强位置语义。
注意力分数的计算公式为: 其中:
-
: 注意力权重矩阵。
-
: 用于将 映射到查询和键空间的权重矩阵。
-
: 键向量的维度,用于缩放。
-
: 计算位置上下文嵌入序列 之间的点积相似度,表示视频之间地理位置的相似性。
-
: 归一化函数。
然后,使用这个注意力权重矩阵 来加权值矩阵,生成初步的输出 : 其中:
-
: 用于将 映射到值空间和最终输出的权重矩阵。
为了注入用户实时位置信息,OneLoc 进一步利用用户的位置上下文嵌入 作为门控 (gate) 机制: 其中:
-
: 序列的第 行,代表序列中第 个视频的位置上下文嵌入。
-
: 拼接操作。
-
: 多层感知机。
-
: 激活函数,将输出压缩到 (0, 1) 之间。
-
: 一个缩放参数,通过用户的实时位置 和当前视频的位置上下文 共同决定,用于动态调整每个视频输出的重要性。
-
:
GA-Attn模块输出的第 行。
4.2.4. 解码器 (Decoder)
解码器根据编码器的输出和关于用户位置的提示 (prompt) 来生成推荐结果。为了建模用户更丰富的地理上下文,OneLoc 提出了 Neighbor-aware Prompt。
4.2.4.1. 邻居感知提示 (Neighbor-aware Prompt)
在本地生活服务中,建模用户周围的地理上下文(如周围的品牌、畅销产品等)至关重要。因此,OneLoc 使用交叉注意力 (cross-attention) 来捕获这些周围信息。 具体而言,给定用户的实时地理位置 ,系统会计算其周围的地理位置集合 (例如,通过 GeoHash 邻域)。然后,获取这些周围位置的上下文嵌入 。 接着,将用户自身的实时位置上下文嵌入 作为查询 (Query),将周围位置的上下文嵌入集合 作为键 (Keys) 和值 (Values),通过交叉注意力计算得到一个融合了邻居信息的嵌入: 其中:
- : 周围位置的上下文嵌入集。
- : 用户位置的上下文嵌入,作为查询。
- : 融合了邻居感知信息的提示嵌入。
- : 交叉注意力计算,其中 是查询, 是键和值。
4.2.4.2. 解码器架构 (Decoder Architecture)
解码器也堆叠了 个块,每个块包含一个因果自注意力 (casual self-attention) 模块、一个交叉注意力 (cross-attention) 模块和一个前馈网络 (FFN) 模块,同样使用 RMSNorm。
为了生成目标视频的语义 ID,计算过程如下:
其中:
-
: 第 个解码器层的输出。
-
: 第 个解码器层的中间结果。
-
: 因果自注意力模块,只关注当前词元及之前的词元。
-
: 交叉注意力计算,使用 作为查询, 作为键和值。在这里, 是解码器当前层的输出, 是编码器最终输出 。
-
: 前馈网络。
-
: 解码器的初始输入,由邻居感知提示 和目标视频三位语义 ID 的嵌入 组成。
解码器最终输出 用于预测下一个词元。具体来说,
geo-aware prompt的 用于预测目标语义 ID 的第一位 。 的输出嵌入 用于预测目标语义 ID 的第二位 ,以此类推。
4.2.4.3. 下一词元预测损失 (Next Token Prediction Loss)
训练损失是交叉熵损失: 其中:
-
: 第 位语义 ID 的预测概率分布。 是码本大小。
-
: 用于预测第 位语义 ID 的解码器输出嵌入。
-
: 预测的第 位语义 ID 的真实值 的概率。
经过一定数量样本的训练后,得到一个带有参数 的预训练模型。使用交互序列 作为编码器输入,实时位置 作为解码器输入,模型可以输出语义 ID 的概率:
4.2.5. 强化学习 (Reinforcement Learning)
在预训练阶段,模型仅通过下一词元预测来拟合曝光视频,这在一定程度上满足了多目标,但难以进行细粒度的平衡。为了解决这一挑战,OneLoc 引入了两个针对本地生活服务场景定制的奖励信号,并使用直接偏好优化 (Direct Preference Optimization, DPO) 进行对齐。
4.2.5.1. 奖励信号 (Reward Signals)
-
地理奖励 (Geographic Reward): 旨在鼓励生成附近的视频,距离越近,奖励越高。 其中:
- : 计算视频 与用户位置 之间的距离。
- : 距离阈值。如果距离超过 ,奖励为 0。否则,奖励与距离成反比。
-
GMV 奖励 (GMV Reward): 旨在鼓励生成能够吸引消费的视频。OneLoc 使用一个传统的 GMV 评分模型作为奖励模型。 其中:
- : 一个预训练好的 GMV 评分模型,根据视频 、用户行为序列 和用户位置 评估潜在的 GMV。
4.2.5.2. 直接偏好优化 (Direct Preference Optimization, DPO)
为了构建用于 DPO 的偏好对,首先从预训练模型 的分布中采样多个视频。具体而言,对于每个样本 ,通过束搜索 (beam search) 生成 个不同的视频: 其中:
-
: 选择概率最高的 个视频。
-
: 生成的候选视频集合。
然后,计算这些候选视频的奖励,包括 和 。 接下来,通过选择奖励最高的视频 作为正样本 (positive sample),奖励最低的视频 作为负样本 (negative sample),构建偏好对 。 给定这些偏好对,可以使用 DPO 训练一个新的模型,其参数 从 初始化。每个偏好对对应的损失如下: 其中:
-
: 正样本视频 的语义 ID。
-
: 负样本视频 的语义 ID。
-
: 当前模型 下的概率。
-
: 之前的模型 下的概率。
-
: 控制奖励强度和平衡的超参数。
强化学习阶段的总训练损失是下一词元预测损失 和 DPO 损失 的加权和: 其中:
-
: DPO 损失的权重超参数,用于平衡预训练目标和强化学习目标。
4.2.6. 系统部署 (System Deployment)
OneLoc 已在快手的实际本地生活服务场景中部署。如图 3 所示,部署架构包含以下几个核心组件:
-
训练器 (Trainer): 在离线训练阶段,训练器收集用户日志进行流式训练,请求奖励系统 (Reward System) 进行评分并构建正/负样本对以进行强化学习训练,并周期性地更新参数到推理服务器。
-
OneLoc 推理服务器 (OneLoc Inference Server): 接收用户请求,将用户特征和实时地理位置转换为用户词元 (user tokens) 和地理提示 (geo prompts)。然后,这些输入被送入 OneLoc 模型,通过束搜索生成语义词元序列,代表推荐的视频。
-
视频映射服务器 (Video Mapping Server): 作为存储服务,负责将生成的语义词元映射回具体的视频 ID。
-
奖励系统 (Reward System): 对候选视频进行 GMV 评分估计和基于规则的过滤。最终,得分最高的 TopK 结果被推荐给用户。
为了优化推理性能,OneLoc 采用了混合精度计算 (mixed-precision computation)、KV 缓存 (KV cache)、动态批处理 (dynamic batching) 和 TensorRT 加速等技术,在 NVIDIA A10 GPU 上实现了 25% 的模型浮点运算利用率 (MFU)。
该图像是图3,系统部署框架示意图,展示了OneLoc在线系统和离线系统的交互流程,包括请求、推荐、日志收集、参数更新和奖励系统反馈等核心模块及其关系。
图 3: 系统部署框架图
5. 实验设置
5.1. 数据集
OneLoc 在一个快手内部数据集和两个公开的 Foursquare 数据集上进行了实验。
-
KuaiLLSR (Kuaishou Local Life Service Recommendation) 数据集:
- 来源与特点: 该数据集由快手平台收集,包含用户在本地生活服务短视频上的交互记录。这些记录经过均匀采样,涵盖了 8 天的数据。
- 规模:
- 用户数 (
#users): 6,000 万 (60 M) - 物品数 (
#items): 90 万 (900 K) - 交互数 (
#interactions): 4.4 亿 (440 M) - 平均用户序列长度: 约 200
- 用户数 (
- 数据划分: 采用流式设置 (streaming setup)。前 7 天的数据用于模型训练,最后 1 天的数据用于评估。
- 用途: 主要用于验证 OneLoc 在大规模工业级真实场景中的性能。
-
Foursquare 数据集 (NYC 和 TKY 子集):
-
来源与特点: 这是一个公开可用的数据集,包含用户在不同城市(纽约市 NYC 和东京 TKY)的兴趣点 (Point-of-Interest, POI) 签到记录。每条记录包括用户 ID、POI ID、地理坐标和时间戳。
-
预处理: 按照 LibCity [19] 的标准化预处理流程,过滤用户和 POI,并按时间顺序构建每个用户的签到序列。
-
NYC 子集:
- 用户数 (
#users): 1,042 - 物品数 (
#items): 36,359 - 交互数 (
#interactions): 212,347
- 用户数 (
-
TKY (Tokyo) 子集:
- 用户数 (
#users): 2,187 - 物品数 (
#items): 59,472 - 交互数 (
#interactions): 545,301
- 用户数 (
-
数据划分: 将交互序列的 80% 用于训练,10% 用于验证,10% 用于测试。
-
用途: 用于在不同用户密度和 POI 分布的公共数据集上评估模型在多样化时空模式下的性能。
以下是数据集统计的表格: 以下是原文 Table 2 的结果:
-
| KuaiLLSR | NYC | TKY | |
| #users | 60 M | 1,042 | 2,187 |
| #items | 900 K | 36,359 | 59,472 |
| #interactions | 440 M | 212,347 | 545,301 |
Table 2: Dataset statistics.
5.2. 评估指标
5.2.1. 离线评估指标
在离线实验中,OneLoc 采用了推荐系统领域常用的两个指标:Recall@K 和 NDCG@K。
-
召回率@K (Recall@K):
- 概念定义:
Recall@K衡量的是在推荐列表的前 K 个物品中,实际用户感兴趣(或目标)的物品有多少被成功推荐出来。它关注的是模型“找全”相关物品的能力,即所有相关的物品中有多少比例被检索到。 - 数学公式:
- 符号解释:
- : 所有用户的集合。
- : 推荐列表的长度。
- : 集合的基数(元素数量)。
- : 集合的交集操作。
- 分子: 对于所有用户,其推荐列表前 K 个物品中实际交互物品的数量之和。
- 分母: 所有用户实际交互物品的总数量之和。
- 概念定义:
-
归一化折扣累计增益@K (Normalized Discounted Cumulative Gain@K, NDCG@K):
- 概念定义:
NDCG@K是一种用于评估推荐系统排序质量的指标。它不仅考虑了推荐物品的相关性,还考虑了相关物品在推荐列表中的位置。排名靠前的相关物品会获得更高的权重(更大的“增益”),并且通过“折扣”因子惩罚排名靠后的物品。通过与理想排序(IDCG)进行归一化,使得不同查询的NDCG值具有可比性。 - 数学公式:
首先计算
DCG@K(Discounted Cumulative Gain@K): 然后计算IDCG@K(Ideal Discounted Cumulative Gain@K): 最后计算NDCG@K: - 符号解释:
- : 推荐列表的长度。
- : 推荐列表中第 个物品的相关性分数(通常为 0 或 1,表示不相关或相关)。
- : 理想排序中第 个物品的相关性分数,即假设所有相关物品都按最高相关性从高到低排序时的相关性分数。
- : 折扣因子,随着 增大而增大,使得排名靠后的物品贡献降低。
- : 物品 的增益,如果相关性为 1,则增益为 1;如果相关性为 0,则增益为 0。
- 概念定义:
5.2.2. 在线 A/B 实验评估指标
在线 A/B 实验是评估推荐系统真实业务效果的黄金标准。OneLoc 在快手 App 上主要使用了以下业务指标:
- 商品交易总额 (Gross Merchandise Value, GMV):
- 概念定义: 在特定时间内,通过平台促成的所有商品或服务的总销售金额,不论订单最终是否完成。它是衡量平台商业价值和营收能力的核心指标。
- 订单数 (Order Numbers):
- 概念定义: 在特定时间内,用户通过平台成功下单的数量。反映了平台的交易活跃度和用户转化率。
- 本地服务付费用户数 (Number of Paying Users in Local Services):
- 概念定义: 在特定时间内,在本地生活服务场景中发生过付费行为的用户数量。反映了付费用户的规模。
- 本地服务新付费用户数 (New Paying Users in Local Services):
- 概念定义: 在特定时间内,首次在本地生活服务场景中发生付费行为的用户数量。反映了平台在新用户获取和冷启动方面的能力。
5.3. 对比基线
OneLoc 与两组竞争性基线模型进行了比较:
-
传统推荐模型 (Traditional Recommender Models):
- SASRec [7]: 自注意力序列推荐 (Self-Attentive Sequential Recommendation)。它使用单向
Transformer编码器来捕捉用户行为序列中的物品依赖关系。 - BERT4Rec [16]: 基于
BERT的序列推荐。它使用双向Transformer编码器,通过掩码语言模型 (masked language model) 任务学习用户行为序列的表示。 - GRU4Rec [4]: 基于 GRU 的会话推荐。它使用门控循环单元 (Gated Recurrent Unit) 来捕获会话内的物品序列依赖。
- Caser [?]: (论文未提供 Caser 的引用,通常 Caser 指 Convolutional Sequence Embedding Recommendation Model [Tang and Wang, 2018])。它使用卷积神经网络 (CNN) 来捕获用户行为序列的局部和全局模式。
- S3-Rec [29]: 自监督序列推荐 (Self-Supervised Sequential Recommendation)。它通过最大化互信息的方式进行自监督学习,从用户行为序列中提取有用的表示。
- SASRec [7]: 自注意力序列推荐 (Self-Attentive Sequential Recommendation)。它使用单向
-
POI 相关及生成式推荐模型 (POI Related and Generative Recommender Models):
- TPG [12]: 时间戳作为提示的地理感知位置推荐 (Timestamps as Prompts for Geography-Aware Location Recommendation)。它是一种基于
Transformer的方法,利用目标时间戳作为提示来增强地理感知的位置推荐。 - Rotan [2]: 旋转式时间注意力网络 (Rotation-based Temporal Attention Network)。它通过将时间间隔表示为旋转位置向量,引入了一种时间感知注意力机制。
- TIGER [15]: 基于
RQ-VAE的生成式推荐模型,将物品转化为离散的语义 ID 序列进行生成。 - GNPR-SID [17]: 基于语义 ID 的生成式下一 POI 推荐 (Generative Next POI Recommendation with Semantic ID)。它将 POI 信息转化为离散语义 ID,并采用生成式方法进行下一 POI 预测。
- TPG [12]: 时间戳作为提示的地理感知位置推荐 (Timestamps as Prompts for Geography-Aware Location Recommendation)。它是一种基于
5.4. 实现细节
OneLoc 的实现细节如下:
- 优化器: 使用
AdamW优化器。 - 学习率: 初始学习率为 。
- 权重衰减 (Weight decay): 0.1。
- GPU 硬件: 在 NVIDIA A800 GPU 上进行训练。
- 码本设置:
- 每个码本层使用 个簇 (clusters) 进行语义 ID 聚类。
- 总共有 个码本层。
- 模型架构参数:
- 编码器和解码器均堆叠 4 个 Transformer 块。
- 隐藏单元数 (hidden units): 1024。
- 注意力头数 (attention heads): 8。
- 前馈网络 (FFN) 的维度: 4096。
- 序列长度:
- 观看序列 (watch sequence) 长度: 256。
- 点击序列 (click sequence) 长度: 32。
- 购买序列 (pay sequence) 长度: 10。
- DPO 损失权重 (): 设为 0.05。
6. 实验结果与分析
6.1. 核心结果分析 (RQ1)
本节旨在通过对比 OneLoc 与各种最先进的基线模型在离线和在线实验中的表现,来验证 OneLoc 的有效性。
以下是原文 Table 1 的结果:
| Dataset | Metric | Traditional | POI Related | Generative | Improvement | |||||||
| SASRec | BERT4Rec | GRU4Rec | Caser | S3-Rec | TPG | Rotan | TIGER | GNPR-SID | Ours | |||
| KuaiLLSR | Recall@5 | 0.0927 | 0.0682 | 0.0350 | 0.0438 | 0.1218 | 0.1750 | 0.2185 | 0.2832 | 0.3142 | 0.3565* | 13.46% |
| Recall@10 | 0.1336 | 0.1071 | 0.0602 | 0.0712 | 0.1889 | 0.2559 | 0.2843 | 0.3637 | 0.4207 | 0.4563* | 8.46% | |
| Recall@20 | 0.2048 | 0.1623 | 0.1090 | 0.1147 | 0.2808 | 0.3241 | 0.3563 | 0.4413 | 0.5056 | 0.5584* | 10.44% | |
| NDCG@5 | 0.0408 | 0.0311 | 0.0178 | 0.0221 | 0.0793 | 0.0897 | 0.1029 | 0.1500 | 0.1775 | 0.2032* | 14.47% | |
| NDCG@10 | 0.0523 | 0.0338 | 0.0255 | 0.0266 | 0.0971 | 0.1018 | 0.1147 | 0.1584 | 0.1874 | 0.2114* | 12.81% | |
| NDCG@20 | 0.0705 | 0.0565 | 0.0360 | 0.0369 | 0.1143 | 0.1117 | 0.1266 | 0.1615 | 0.1904 | 0.2151* | 12.97% | |
| NYC | Recall@5 | 0.3151 | 0.2857 | 0.1977 | 0.2883 | 0.3071 | 0.3551 | 0.4448 | 0.4965 | 0.5311 | 0.6107* | 14.98% |
| Recall@10 | 0.3896 | 0.3564 | 0.2460 | 0.3570 | 0.3854 | 0.4441 | 0.5223 | 0.5514 | 0.5942 | 0.6563* | 10.45% | |
| Recall@20 | 0.4506 | 0.4130 | 0.2889 | 0.4135 | 0.4503 | 0.5121 | 0.5834 | 0.6001 | 0.6455 | 0.6977* | 8.09% | |
| NDCG@5 | 0.2224 | 0.2074 | 0.1442 | 0.2044 | 0.2235 | 0.2464 | 0.3471 | 0.4131 | 0.4430 | 0.5355* | 20.88% | |
| NDCG@10 | 0.2467 | 0.2304 | 0.1599 | 0.2267 | 0.2489 | 0.2755 | 0.3723 | 0.4276 | 0.4634 | 0.5504* | 18.77% | |
| NDCG@20 | 0.2622 | 0.2448 | 0.1708 | 0.2410 | 0.2654 | 0.2927 | 0.3878 | 0.4443 | 0.4766 | 0.5608* | 17.66% | |
| TKY | Recall@5 | 0.3450 | 0.2649 | 0.2514 | 0.3257 | 0.3365 | 0.3725 | 0.4333 | 0.5031 | 0.5354 | 0.5964* | 11.39% |
| Recall@10 | 0.4284 | 0.3326 | 0.3106 | 0.4067 | 0.4115 | 0.4601 | 0.5113 | 0.5808 | 0.6130 | 0.6620* | 7.99% | |
| Recall@20 | 0.4976 | 0.3943 | 0.3651 | 0.4758 | 0.4739 | 0.5291 | 0.5894 | 0.6431 | 0.6675 | 0.7152* | 7.15% | |
| NDCG@5 | 0.2384 | 0.1907 | 0.1833 | 0.2273 | 0.2423 | 0.2591 | 0.3293 | 0.4003 | 0.4437 | 0.4961* | 11.81% | |
| NDCG@10 | 0.2655 | 0.2127 | 0.2025 | 0.2535 | 0.2666 | 0.2881 | 0.3568 | 0.4251 | 0.4623 | 0.5174* | 11.92% | |
| NDCG@20 | 0.2831 | 0.2284 | 0.2163 | 0.2711 | 0.2825 | 0.3051 | 0.3739 | 0.4401 | 0.4788 | 0.5306* | 10.82% | |
6.1.1. 离线实验结果分析 (RQ1)
通过对 Table 1 的观察,可以得出以下结论:
-
OneLoc 性能全面超越所有基线模型:
- 在 KuaiLLSR (快手本地生活服务推荐) 数据集上,OneLoc 在所有评估指标上均表现出显著优势,并显著优于次优基线。例如,在
Recall@5上提升 13.46%,在Recall@20上提升 10.44%,在NDCG@5上提升 14.47%,在NDCG@20上提升 12.97%。 - 在 Foursquare 公开数据集(NYC 和 TKY)上,OneLoc 也保持了领先地位。在 NYC 数据集上,
Recall@5平均提升 14.98%,NDCG@5平均提升 20.88%。在 TKY 数据集上,Recall@5平均提升 11.39%,NDCG@5平均提升 11.81%。 - 这些持续且显著的性能提升证明了 OneLoc 所提出的地理感知生成式架构在本地生活服务推荐任务中的有效性。这主要归因于 OneLoc 创新的地理信息利用方式,它将用户的历史行为偏好与实时空间上下文相结合,生成优化后的推荐。
- 在 KuaiLLSR (快手本地生活服务推荐) 数据集上,OneLoc 在所有评估指标上均表现出显著优势,并显著优于次优基线。例如,在
-
生成式推荐模型普遍优于传统推荐模型:
- 所有生成式方法(OneLoc、TIGER、GNPR-SID)在
Recall@5上始终比传统推荐模型高出 29% 以上,在NDCG@5上高出 45% 以上。 - 这一结果表明,生成式推荐模型(尤其是基于大型模型的方法)在综合语义表达和深度推理能力方面具有显著优势。它们能更好地捕捉用户偏好和物品之间的复杂关系,远超基于表示学习和 ANN (Approximate Nearest Neighbor) 检索的传统召回解决方案。
- 所有生成式方法(OneLoc、TIGER、GNPR-SID)在
6.1.2. 在线 A/B 测试结果分析
为了验证 OneLoc 在真实生产环境中的有效性,研究团队在快手主短视频推荐场景进行了为期一周的在线 A/B 测试。实验分配了 10% 的流量给使用 OneLoc 系统的实验组,而对照组则沿用生产级多阶段推荐流水线(包括多渠道召回、粗排/精排、链接特定优化)。两组共享相同的候选池和系统约束,以确保公平性。
以下是原文 Table 4 的结果:
| Online Metrics | OneLoc |
| GMV | +21.016% |
| Number of Orders | +17.891% |
| Number of Paying Users in Local Services | +18.585% |
| New Paying Users in Local Services | +23.027% |
Table 4: The absolute improvement of OneLoc compared to the production-level multi-stage system in the online A/B test.
从 Table 4 可以看出:
- OneLoc 在所有关键业务指标上都取得了显著的提升,且在双尾 t 检验 (, ) 下具有统计学意义。
GMV提升了 +21.016%。订单数 (Number of Orders)提升了 +17.891%。本地服务付费用户数 (Number of Paying Users in Local Services)提升了 +18.585%。本地服务新付费用户数 (New Paying Users in Local Services)提升了 +23.027%。
- 这些结果有力地证明了 OneLoc 能够在高流量的工业环境中超越复杂的多阶段推荐系统。尤其值得注意的是,它在解决本地商务场景中的冷启动 (cold-start) 和数据稀疏性 (data sparsity) 挑战方面表现出强大的能力,通过更好地理解和利用地理信息,吸引了更多新用户并促成了更多交易。
6.2. 消融实验 (RQ2)
为了探究 OneLoc 各个组件的有效性,研究团队进行了消融实验,主要关注三个关键模块:neighbor-aware prompt (邻居感知提示)、geo-aware self-attention (地理感知自注意力) 和 rewards function (奖励函数)。
6.2.1. 邻居感知提示 (Neighbor-aware Prompt)
Neighbor-aware prompt 使用交叉注意力来捕获用户周围的位置上下文。为了验证其有效性,实验设计了两个变体:
-
Point-wise prompt: 仅使用当前位置上下文,而非周围上下文。 -
Neighbor-mlp prompt: 用简单的 MLP 替代交叉注意力,聚合周围上下文嵌入。下图(原文 Figure 4)展示了不同提示技术的消融实验结果:
该图像是图表,展示了不同提示技术在召回率(Recall)和归一化折扣累计增益(NDCG)指标下的消融实验结果。图中显示,Neighbor-aware prompt在各个评价指标上均显著优于Point-wise prompt和Neighbor-MLP prompt。
图 4: 不同提示技术下的消融实验结果。结果显示,Neighbor-aware prompt 在性能上显著优于 Point-wise prompt 和 Neighbor-mlp prompt。
从 Figure 4 的结果可以观察到:
- 周围上下文的有效性: 当将
Neighbor-aware prompt替换为Point-wise prompt时,性能出现了下降。这表明用户周围的地理上下文信息对于生成高质量的推荐是有效的,仅仅依靠用户当前位置不足以提供全面的地理语境。 - 交叉注意力的必要性: 当使用
Neighbor-mlp prompt替换交叉注意力时,性能急剧下降。这表明周围上下文虽然包含丰富信息,但也可能引入噪声。交叉注意力能够有效地从这些复杂的周围信息中捕获并聚合有用的信号,而简单的 MLP 难以做到这一点。这强调了CrossAttn在处理和整合周围上下文方面的关键作用。
6.2.2. 地理感知自注意力 (Geo-aware Self-attention)
Geo-aware self-attention 的两个关键设计是:(1) 将位置上下文相似度引入注意力分数 (location scores);(2) 利用用户实时位置作为门控 (location gate)。为了验证 geo-aware self-attention 及其关键设计的有效性,实验设计了三个变体:
-
w/o Location Scores(无位置分数): 在注意力分数计算时,移除了 项(即公式 3 中的地理相似度部分)。 -
w/o Location Gate(无位置门控): 移除了位置门控机制(即公式 5 和 6)。 -
w/o Geo-aware Self-attention(无地理感知自注意力): 将geo-aware self-attention替换为普通的自注意力,这相当于同时移除了位置分数和位置门控。以下是原文 Table 3 的结果:
Method Recall NDCG @5 @10 @20 @5 @10 @20 Full Model 0.3565 0.4563 0.5584 0.2032 0.2114 0.2151 w/o Location Scores 0.3476 0.4439 0.5229 0.1758 0.1847 0.1884 w/o Location Gate 0.3501 0.4489 0.5295 0.1810 0.1914 0.1950 w/o Geo-aware Self-attention 0.3315 0.4261 0.4989 0.1552 0.1640 0.1673
Table 3: Ablation study of key designs in geo-aware self-attention.
从 Table 3 的结果可以看出:
- 与完整模型相比,所有三个变体的性能均出现下降,这强调了
geo-aware self-attention及其关键设计的重要性。 w/o Location Scores导致Recall和NDCG明显下降,表明在注意力计算中融入视频间地理位置相似度对于捕获地理相关行为模式是有效的。w/o Location Gate也导致性能下降,说明利用用户实时位置作为门控机制,动态调整序列中不同视频的重要性,能够更精确地匹配用户当前的需求。w/o Geo-aware Self-attention(即使用普通自注意力)的性能下降最显著,这验证了geo-aware self-attention作为整体模块对于提升模型表现的关键作用。
6.2.3. 奖励信号 (Reward Signals)
在强化学习阶段,OneLoc 使用地理奖励和 GMV 奖励来对齐多目标。为了探究它们的影响,实验分别移除了这两个奖励。
下图(原文 Figure 5)展示了不同奖励信号下的 Recall、NDCG 和 GMV 指标对比:
该图像是图表,展示了基于不同奖励信号(全模型、无GMV奖励、无地理奖励)下的Recall、NDCG和GMV指标对比分析,横轴分别为不同模型设置,纵轴对应各指标数值变化。
图 5: 对比分析不同奖励信号下的 Recall、NDCG 和 GMV 指标。
从 Figure 5 的结果可以看出:
- 移除地理奖励 (
w/o geographic reward): 导致Recall和NDCG指标下降。这表明地理奖励确实促使模型在推荐时更多地考虑地理距离因素,即使这可能与纯粹的用户兴趣略有偏离,但能提升推荐的实际可用性。 - 移除 GMV 奖励 (
w/o GMV reward): 结果表明,GMV奖励不仅能提升GMV这一业务目标,还能对Recall目标产生积极影响。这说明 GMV 奖励模型能够识别出那些更具转化潜力的视频,而这些视频往往也与用户兴趣高度相关,从而在提升商业价值的同时,也提升了用户兴趣匹配度。
6.3. 超参数实验 (RQ3)
本节探究了模型大小、序列长度和 DPO 损失权重 等超参数对 OneLoc 性能的影响。实验通过逐一改变超参数进行,结果如图 6 所示。
下图(原文 Figure 6)展示了超参数(模型参数、序列长度和 DPO 损失权重 )对模型性能的影响:
该图像是图表,展示了模型参数规模、序列长度及强化学习损失权重λ对Recall和NDCG指标在不同@k值上的影响。
图 6: 超参数(模型参数、序列长度和 DPO 损失权重 )对模型性能的影响。
从 Figure 6 的结果可以观察到:
-
模型大小和序列长度的缩放定律 (Scaling Laws):
- 模型大小: 随着模型大小从 0.05B (5000 万参数) 扩展到 0.1B (1 亿参数),再到 0.3B (3 亿参数),模型的性能(Recall 和 NDCG)持续提升。具体而言,从 0.05B 到 0.3B,Recall 和 NDCG 平均分别提升了 6.96% 和 7.29%。这表明 OneLoc 遵循了 LLM 领域常见的缩放定律,即更大的模型通常能带来更好的性能。
- 序列长度: 类似地,当用户行为序列长度从 100 增加到 300 时,性能也观察到持续提升。序列长度从 100 增加到 300,Recall 和 NDCG 平均分别提升了 13.02% 和 51.24%。这表明更长的用户历史行为序列能够为模型提供更丰富的上下文信息,从而更好地理解用户偏好。
-
DPO 损失权重 的敏感性:
-
DPO 损失权重 的设置对模型性能非常敏感。
-
将 设置为 0.01 时的性能明显低于 0.05。这说明 DPO 损失对于平衡多目标至关重要,过小的权重可能导致强化学习的目标对模型优化不足。
-
当 设置为 0.03 时,
Recall@10和Recall@20的值显著低于 。然而,NDCG指标在 时却表现出更好的性能。这表明 的选择涉及到不同目标(如召回率和排序质量)之间的权衡。 -
经过综合评估这些权衡,最终选择了 作为模型的最终超参数。这可能是在兼顾各项指标和业务目标后,达到最佳平衡的设置。
总体而言,超参数实验强调了模型规模、输入序列长度以及强化学习损失权重对 OneLoc 性能的关键影响。这些发现为未来模型的进一步优化和扩展提供了指导。
-
7. 总结与思考
7.1. 结论总结
本文提出了 OneLoc,一个专为快手 App 本地生活服务场景设计的端到端 (end-to-end) 地理感知 (geo-aware) 生成式推荐系统。该系统成功解决了现有方法在充分利用地理信息和平衡多重业务目标方面的挑战。
OneLoc 的核心创新在于:
-
全方位地理信息融合: 通过
geo-aware Semantic IDs在物品表示层面融入地理语义;通过编码器中的geo-aware self-attention机制在用户行为序列编码时结合视频内容与地理位置相似性,并利用用户实时位置进行门控;通过解码器中的neighbor-aware prompt机制整合用户周边环境的丰富地理上下文。 -
多目标强化学习优化: 引入强化学习框架,并设计了
geographic reward和GMV reward两种奖励函数,通过直接偏好优化 (Direct Preference Optimization, DPO) 有效平衡了用户兴趣、地理距离和商业价值等多个推荐目标。实验结果强有力地验证了 OneLoc 的有效性。在离线实验中,OneLoc 在 KuaiLLSR 和 Foursquare 数据集上,相较于最先进的传统和生成式推荐模型,在
Recall@K和NDCG@K等指标上均取得了显著提升。更重要的是,OneLoc 已成功部署在快手 App 的本地生活服务中,每天服务 4 亿活跃用户,并在在线 A/B 测试中带来了GMV21.016% 和订单数17.891% 的显著业务增长,充分证明了其在工业级应用中的强大潜力和实际价值。
7.2. 局限性与未来工作
论文作者指出了未来可能的研究方向,也隐含了一些现有模型的局限性:
- 模型大小和序列长度的缩放定律: 尽管超参数实验表明 OneLoc 遵循缩放定律,即更大的模型和更长的序列会带来性能提升,但这种扩展的极限、效率优化以及如何进一步挖掘规模化带来的潜力,仍然是值得探索的方向。例如,是否存在边际效益递减,以及如何更经济地实现大规模模型的训练和推理。
- 强化学习方法的适应性: 论文提到将继续探索适用于本地生活服务的强化学习方法。这意味着当前的
DPO机制可能仍有改进空间,例如探索更复杂的奖励函数设计、更先进的 RL 算法,或者考虑多智能体 (multi-agent) 设置来应对更复杂的交互场景。 - 地理信息更深层次的建模: 尽管 OneLoc 已经从多个角度利用了地理信息,但地理信息本身是多维且复杂的(例如,交通状况、区域特色、商业氛围等)。未来可以探索更深层次的地理知识图谱、时空图神经网络等技术,以更精细地建模地理上下文。
- 冷启动和数据稀疏性: 论文提到 OneLoc 在解决本地商务中的冷启动和数据稀疏性挑战方面表现出色,但并未详细阐述其具体的机制。未来可以进一步研究和强化这方面的能力,例如通过元学习 (meta-learning) 或少样本学习 (few-shot learning) 技术。
7.3. 个人启发与批判
7.3.1. 个人启发
- 端到端生成式范式的强大潜力: OneLoc 的成功再次证明了生成式推荐系统在解决复杂工业场景问题上的强大能力。它通过将推荐任务统一为序列生成,能够更自然地处理物品间的复杂关系和用户偏好,并灵活地整合多种信息源。这种范式未来有望在更多推荐场景中取代传统的多阶段匹配-排序架构。
- 地理信息是本地服务推荐的“核心驱动力”: OneLoc 的设计理念强调了在本地生活服务中,地理信息不再是辅助特征,而是推荐决策的核心驱动力。其在
Semantic ID、Self-attention和Prompt三个层面的地理感知设计,为其他地理相关推荐任务提供了有益的借鉴。仅仅将地理位置作为独立特征输入,可能远远不足以捕获其深层语义和影响力。 - 强化学习在多目标优化中的不可替代性: 在商业环境中,单一指标的优化往往是不可取的。OneLoc 通过
DPO结合geographic reward和GMV reward成功平衡了用户体验和商业价值,为多目标推荐系统的设计提供了实用的解决方案。这启发我们,在设计工业级推荐系统时,应将业务目标显式地纳入优化过程,而强化学习是实现这一目标的高效手段。 - 模型部署和工程优化的重要性: 论文不仅关注模型创新,还详细介绍了推理服务器的优化措施(混合精度、KV 缓存、动态批处理、TensorRT 加速)。这提醒我们,学术研究的最终价值在于实际应用,而高效的部署和工程优化是模型从“实验室”走向“生产环境”的关键。
7.3.2. 潜在问题与改进方向
- 奖励函数的工程实现与偏差:
GMV reward依赖于一个传统的GMV评分模型。这个评分模型的准确性和鲁棒性将直接影响强化学习的效果。如果GMV模型本身存在偏差或无法捕捉所有复杂的商业逻辑,那么强化学习可能会放大这些偏差。未来可以探索更先进、更动态的奖励模型,甚至结合因果推断来构建更准确的业务奖励。 - GeoHash 的粒度选择与隐私:
GeoHash作为位置表示虽然方便,但其粒度选择对性能和隐私都有影响。过粗的GeoHash可能导致信息损失,过细则可能增加计算复杂性并暴露用户精确位置。论文未深入探讨GeoHash粒度的选择策略。此外,虽然提到了周围位置,但如何平衡获取丰富上下文与保护用户隐私,是一个持续的挑战。 - 负样本选择策略: 在
DPO中,负样本 是通过选择奖励最低的视频来构建的。这种“最差”的负样本可能过于极端,导致模型学习到的偏好边界不够精细。可以探索更复杂的负采样策略,例如从相似但略差的样本中选择,或引入硬负样本 (hard negative samples),以提高模型的区分能力。 - 多模态信息的深度融合: 论文提到
geo-aware Semantic ID通过多模态大语言模型提取视频内容和位置上下文。但对多模态信息的具体融合方式(例如,文本、图像、音频与地理信息的交互)未做详细阐述。未来可以更深入地探索如何通过多模态融合技术,为本地生活服务视频创建更丰富的地理感知表示。 - 长期用户行为和地理偏好演变: 用户的地理偏好和行为模式并非一成不变。例如,用户的居住地、工作地变化,或旅行目的地偏好。OneLoc 侧重于实时位置和近期行为,但如何建模和适应用户长期的地理偏好演变,并将其纳入推荐决策,是进一步提升用户体验和忠诚度的关键。
相似论文推荐
基于向量语义检索推荐的相关论文。