当前位置: 首页 > news >正文

生成式推荐GR4AD

prompt

快手《Generative Recommendation for Large-Scale Advertising》值得阅读,生成式推荐这事

这两年聊的人很多,真能在大规模系统里全量落地的,基本没有。

这次快手团队把生成式推荐真正搬进大规模广告系统,是国内生成式推荐在大规模广告场景下的首次全量落地。

实验效果非常显著,并达到能完全落地的地步,做对了什么

1. 广告的 token 怎么表示。
2. 模型怎么学。
3. 线上怎么推理,才能满足工业需求。

快手GR4AD系统解析:生成式推荐如何在大规模广告中全量落地

传统的推荐系统,尤其是广告推荐,长期以来依赖基于深度学习的排序模型(DLRM)构建级联架构。这种范式在时延、收益和商业价值的提升上已逼近天花板。大语言模型(LLM)引领的生成式浪潮为推荐系统带来了范式变革的契机,但理论探讨多,真正能在工业级、大规模场景下全量落地并取得商业成功的案例凤毛麟角。

快手技术团队近期推出的“Generative Recommendation for Large-Scale Advertising” (GR4AD)系统,正是这一领域的关键突破。它不仅是国内首个在大规模广告场景下实现全量落地的生成式推荐系统,更在快手App及极速版中承载了约25%的流量(QPS),实现了用户停留时长、生命周期以及商业变现效果的全面跃升。该系统做到了效果与成本的双重突破,计算有效量提升10倍,算力利用率分别达到23.7%和28.8%,而运营成本仅为传统方案的10.6%。这标志着推荐系统正式迈入“端到端生成式觉醒”的新阶段。

其成功的核心在于围绕“表征、学习、服务”三大层面进行了协同且颠覆性的重构。下面我们将深入剖析快手团队究竟“做对了什么”。

1. 广告的 Token 表示:从复杂特征到统一语义ID

传统推荐模型将用户、广告、上下文等要素拆解为海量的离散ID特征(如用户ID、广告ID、品类ID)和稠密特征(如统计值),通过Embedding层将其映射为高维向量进行交互学习。这种方式特征工程复杂,且难以捕捉深层次的语义关联。

GR4AD系统采用了端到端生成式的核心思想,其首要变革就是将推荐问题转化为一个“生成”问题。为了实现这一点,系统中的一切元素——包括广告、用户和历史交互序列——都需要被“Token化”。

表示对象传统方法GR4AD的生成式Token表示方法优势
单个广告多字段特征组合(ID类、统计类)唯一语义ID (Semantic Token ID)将广告压缩为一个具有丰富语义的离散Token,极大简化输入,并为生成式推理奠定基础。
用户历史按时间顺序拼接的多个广告ID序列语义ID序列 (Token Sequence)用户行为被表示为由广告语义ID构成的有序序列,如同自然语言的句子。
上下文时间、地点、设备等独立特征上下文Token化或条件注入可能被融入Prompt或作为生成过程的先决条件。

这种“广告Token化”是技术上的关键一步。它并非简单地将广告ID当作Token,而是通过前期模型(如经过大量数据预训练的编码器)将广告的丰富信息(如创意内容、标题、商品属性、历史表现)压缩成一个高信息密度的语义Token。这类似于大语言模型中的词元(WordPiece/BBPE),但承载的是广告的完整语义。这使得模型可以直接在Token序列的层面进行学习和生成,极大地统一了数据表示,为后续的序列生成任务铺平了道路。

2. 模型如何学习:从CTR预估到序列生成与收益建模

传统广告模型的学习目标主要是逐点预估,例如预估点击率(pCTR)、转化率(pCVR),最终通过如pCTR * Bid的公式进行排序。这种方式割裂了广告间的相互影响和长期价值。

GR4AD作为一个生成式系统,其学习范式发生了根本转变:

核心学习目标:自回归序列生成
模型被训练来根据给定的用户历史行为序列(Token序列)和当前上下文,自回归地预测下一个最可能出现的广告Token。这本质上是在学习用户行为序列的分布概率P(ad_token_n | user_history, context)

# 概念性伪代码,展示生成式推荐的学习目标转变 class GenerativeAdModel(nn.Module): def forward(self, input_token_ids): # input_token_ids: [batch_size, seq_len], 包含用户历史序列 outputs = self.transformer_decoder(input_token_ids) # 模型输出是对整个词汇表(所有广告Token)下一个位置的预测分布 next_token_logits = outputs[:, -1, :] # [batch_size, vocab_size] loss = cross_entropy_loss(next_token_logits, ground_truth_next_ad_token_id) return loss

融入商业目标:从Token到Revenue(R4AD)
仅仅预测下一个交互的广告是不够的。广告系统的核心是商业变现。GR4AD的创新之处在于将商业收益(Revenue)目标直接融入生成过程。系统在学习生成广告序列时,不仅要保证序列的“真实性”(符合用户兴趣),还要保证生成序列的“商业价值”最大化。

一种可行的技术路径是采用强化学习(RL)或基于目标感知的序列生成。模型在训练时,会接收到由最终广告曝光、点击、转化所带来的收益信号作为奖励,从而调整其生成策略。这使得模型能够内生地学习到“在合适的时间,为合适的用户,生成高价值且相关的广告”这一复杂策略,实现了从“Token”到“Revenue”的端到端优化。

3. 线上推理:满足工业级需求的架构革命

生成式模型(尤其是大语言模型)的推理延迟高、吞吐低,是阻碍其在推荐场景落地的最大障碍。快手团队通过精妙的系统工程,成功解决了这一难题。

核心挑战与解决方案对比:

工业级需求传统生成式模型瓶颈GR4AD的推理架构解决方案
极低延迟(<100ms)自回归解码需逐个生成Token,耗时严重。非自回归或高效解码:可能采用一次性生成多个候选Token的技术,或对模型进行深度优化(如模型压缩、蒸馏),将生成延迟压缩到可接受范围。
超高吞吐(百万QPS)大参数量模型计算成本极高。极致算力利用与混合部署:通过模型架构创新和底层计算优化,将有效计算量提升10倍,算力利用率高达23.7%/28.8%。采用传统模型与生成式模型混合调度的策略,例如由轻量级模型(召回/粗排)筛选出Top-K候选,再由生成式模型进行精排和序列生成,从而控制总体计算成本。
运营成本可控大模型服务成本高昂。成本大幅降低:报道指出其运营成本仅为传统方案的10.6%。这得益于计算效率的飞跃和架构的简化(端到端减少了多个独立模块的维护和串联损耗)。
在线学习与实时性大模型在线更新困难。流式学习与增量更新:设计专门的机制,允许模型能够快速吸收最新的用户反馈和广告库存变化,可能是通过在线学习层或高效的微调管道。

线上服务流程(概念性)

  1. 请求接收:系统接收包含用户ID、上下文信息的推荐请求。
  2. 候选生成:可能依然依赖一个高速的召回模块,从十亿量级广告库中快速检索出千/百级别的相关候选广告集,并将其转换为语义Token ID。
  3. 生成式精排/序列生成:核心的GR4AD模型被触发。它结合用户的Token化历史序列和候选集,直接生成一个有序的广告Token列表。这个过程已经内嵌了相关性、多样性、商业价值的综合考量。
  4. 结果装配与返回:将生成的广告Token列表还原为具体的广告内容,返回给前端展示。

总结

快手GR4AD系统的全量成功落地,为行业提供了生成式推荐从理论走向大规模工业实践的完整蓝图。其关键成功路径可归纳为:

  • 表征革命:将广告、用户行为统一为语义Token序列,为生成式范式提供基础。
  • 目标革命:将学习目标从单点CTR预估,重构为融入商业收益的序列生成任务,实现端到端价值优化。
  • 架构革命:通过极致的工程优化、高效的解码算法和混合部署策略,攻克了生成式模型在延迟、吞吐和成本上的工业级挑战,实现了效果与效率的罕见兼得

这项工作证明,生成式AI不仅能够重构推荐系统的技术架构,更能直接驱动核心商业指标的突破,标志着推荐系统进入一个全新的“生成式觉醒”时代

http://www.jsqmd.com/news/599652/

相关文章:

  • eBPF Skeleton:简化内核编程新利器,近红外相机在机器视觉检测中的应用。
  • golang如何实现工作流引擎_golang工作流引擎实现要点
  • ATtiny85轻量级图形库应用与优化
  • Linux系统管理员必备命令大全
  • 如何在多个异步请求中统一判断:任一成功则执行A,全部失败则执行B.txt
  • OpenClaw技能市场挖掘:千问3.5-9B增强插件TOP5
  • python ctypes
  • AI专家进阶:掌握核心指南模板,从零开始的C++学习生活 2:类和对象(上)。
  • OpenClaw环境迁移指南:将Phi-3-mini-128k-instruct配置复制到新电脑
  • 如何用 CustomEvent 构造函数创建携带自定义数据的事件
  • Eclipse 添加书签的详细指南
  • Pixie Chroma嵌入式RGB点阵驱动库技术解析
  • 医疗AI大模型入门基础教程(非常详细):OpenHospital开源全解析,看这篇就够了!
  • 嵌入式开发必备硬件知识解析与应用
  • 【MicroPython编程-ESP32篇:设备驱动】-TEA5767收音机模块驱动
  • 绝地求生自动压枪解决方案:告别后坐力困扰,提升射击精准度
  • C语言注释陷阱与跨平台文件操作Bug解析
  • 【数据结构】「树」专题:树、森林与二叉树遍历之间的关系+408真题
  • 将软件需求“翻译”成硬件语言:一份让设计团队无法拒绝的黄金文档
  • EMI防护与去耦电容工程实践指南
  • Stepper595:基于74HC595的轻量步进电机驱动库
  • OpenClaw+Phi-3-mini-128k-instruct内容创作:自动生成SEO友好文章
  • 随堂笔记0403
  • A53安全启动基石——TrustZone在A53中的硬件实现
  • 复健 day1:vp CF2205
  • 智能游戏体验革新:League-Toolkit如何重新定义英雄联盟辅助工具
  • LVGL 8.3.x 嵌入式UI开发:从TTF到C数组的UTF-8中文字体全流程实战
  • Flutter 自定义 Widget:打造独特的用户界面
  • Vibe Coding 详解:Karpathy 氛围编程的概念、原理、5层工作流结构与对比图
  • CSDN网站打不开,但其他的都可以