“生成式推荐” 最近一年是推荐系统里出现频率最高的词之一,但它在不同人嘴里其实指代的是完全不同的东西。一篇讲 LLM 接推荐的论文叫它 “生成式推荐”,一篇讲 RQ - VAE 做 semantic ID 的工作也叫它 “生成式推荐”,一个把召回 - 排序 - 重排合成一个 encoder-decoder 的工业系统也叫它 “生成式推荐”。

但这三件事在工程意义上几乎没有交集。

把它们混在一起讨论,就会出现两种很常见但都不太严谨的判断:

  • 一种是 “GR 还只是噱头,工业用不上”
  • 另一种是 “cascade 范式要被全面颠覆了”

这两种判断都假设 “GR” 是一个东西。但只要稍微拆一下就会发现:semantic ID 已经在多家厂上线、HSTU 在 Meta 上线、OneRec 在快手上线(至少 paper 是这么说的),与此同时大多数 LLM-as-Recommender 类工作的工业落地证据仍然非常少。这显然不是 “GR 是不是噱头” 这种 0 / 1 问题能描述清楚的。

所以本文真正想讨论的,不是 “GR 是不是未来”,而是这样一组更具体的问题:当 cascade(召回 - 粗排 - 精排 - 重排)已经支撑了十几年的工业推荐系统之后,GR 究竟在挑战哪一条假设?它替代了什么、又没替代什么?哪些已经被工业验证、哪些还停留在论文层面?

为了避免后面分章节的细节淹没主线,先把全文的主张提前讲一句:GR 不是 cascade 的全面替代,而是给 cascade 的每一环都打开了一扇 “用生成方式重新解题” 的门。但每扇门后面的工业难度差别极大,需要分层去看,不能一概而论。

阅读全文 »

“Generative Recommendation” has been one of the most frequently used terms in recommender systems over the past year, but it actually refers to completely different things depending on who is speaking. A paper about plugging LLMs into recommendation calls it “generative recommendation”; a work using RQ-VAE to build semantic IDs also calls it “generative recommendation”; an industrial system that merges recall-ranking-reranking into a single encoder-decoder also calls it “generative recommendation”.

But these three things have essentially no intersection in their engineering meaning.

When they are mixed together, two common but imprecise judgments appear:

  • One is “GR is just hype, industry can’t use it”
  • The other is “the cascade paradigm is about to be completely overturned”

Both judgments assume “GR” is one thing. But if you unpack it slightly, you find: semantic ID has been deployed in several companies, HSTU has been deployed at Meta, OneRec has been deployed at Kuaishou (at least according to the papers), while most LLM-as-Recommender type works still have very little industrial deployment evidence. Clearly this is not a 0/1 question of “is GR hype” that can be answered.

So what this article really wants to discuss is not “is GR the future”, but a more specific set of questions: After cascade (recall - coarse ranking - fine ranking - reranking) has supported industrial recommender systems for over a decade, which assumption is GR actually challenging? What does it replace, and what does it not replace? What has been validated industrially, and what remains at the paper level?

To avoid the chapter-level details drowning out the main thread, let me state the full article’s thesis up front: GR is not a wholesale replacement of cascade, but rather it opens a “use generative modeling to re-frame” door for each layer of cascade. But the industrial difficulty behind each door varies enormously; it must be examined layer by layer, not as a single thing.

阅读全文 »

The “personalized ranking formula” is a recurring topic in recommendation systems, but the term itself is often imprecise — we tend to lump together three fundamentally different problems.

More precisely, personalized ranking in a recommendation system typically involves at least three layers:

  • Layer 1: Personalized scoring (fine ranking), which answers “what is the value of showing this item to this user?”
  • Layer 2: Personalized mixed ranking (blending), which answers “when multiple business lines compete for the same impression slot, who should get it?”
  • Layer 3: Global reranking, which answers “the user sees an entire list — how should we assemble it?”

For many modern recommendation systems, Layer 1 is already strong enough.

User embeddings, item embeddings, multi-task learning, cross features — all of these aim at the same target: getting the model to accurately predict how valuable a (user, item) pair is. In that sense, most production rankers are already personalized; that personalization just isn’t written as “one set of weights per user” — it’s been absorbed implicitly into the model parameters.

Yet real systems exhibit something that looks contradictory at first glance: even with a strong Layer 1, production still runs Layer 2 blending, traffic control, quota management, plus Layer 3 reranking, and additionally bolts on score calibration, pacing, shading, and listwise reranking.

The intuitive explanation is: “Layer 1 isn’t accurate enough, so Layer 2 and Layer 3 are patches.” That isn’t entirely wrong, but it’s only half the story.

The deeper reason is that Layer 1, Layer 2, and Layer 3 are not optimizing the same thing.

  • Layer 1 optimizes per-item value prediction
  • Layer 2 optimizes constrained traffic allocation across business lines
  • Layer 3 optimizes overall list composition

For this reason, the truly interesting question about “personalized ranking formulas” is not “why are different users’ weights different” but rather: once Layer 1 can already reasonably learn a user’s per-item preferences, why does the platform still need Layer 2 mixed ranking and Layer 3 global reranking? What is each layer compensating for, and what is each layer optimizing?

This article is about exactly that three-layer question.

阅读全文 »

“个性化排序公式” 是推荐系统里老生常谈的话题,但很多时候,这个词其实指代不清,因为我们经常把三层不同的问题混在一起说。

更准确地讲,推荐系统里的个性化排序,通常至少包含三层:

  • 第一层:个性化精排,回答的是 “这个用户看到这个 item,大概价值是多少”
  • 第二层:个性化混排,回答的是 “在多个业务同时竞争流量时,这次曝光机会应该先给谁”
  • 第三层:全局重排,回答的是 “用户最终看到的是一整张列表,这张列表该怎么拼才最好”

很多推荐系统做到今天,第一层其实已经足够强了。

User embedding、item embedding、多任务学习、cross feature,这些东西的目标都很明确:让模型尽可能准确地回答一个问题: 这个用户看到这个内容,大概价值是多少。从这个意义上说,很多系统的排序公式早就已经是个性化的了,只不过这种个性化不是显式写成 “每个用户一组权重”,而是被模型隐式学进了参数里。

但真实系统往往会出现一个看起来有点矛盾的现象:第一层已经很强了,线上仍然还在做第二层混排、控量、保量,以及第三层重排,甚至还要单独做 score calibration、pacing、shading、listwise rerank。

如果只是从直觉上理解,很容易把这件事解释成一句话:第一层还不够准,所以第二层和第三层是在打补丁。这个解释不能说错,但它只解释了一半。

因为更本质的问题在于:第一层、第二层、第三层,优化的根本不是同一个对象。

  • 第一层优化的是单个 item 的价值预估
  • 第二层优化的是多业务之间、带约束的流量分配
  • 第三层优化的是整张列表的组合质量

也正因为如此,“个性化排序公式” 真正值得讨论的,并不只是 “不同用户的权重为什么不同”,而是:当第一层已经能够较好学习用户对单个 item 的偏好之后,平台为什么还必须引入第二层个性化混排和第三层全局重排?它们分别在弥补什么,又分别在优化什么?

本文想讨论的,正是这个三层问题。

阅读全文 »

这是一个关于迁移的故事。

有一个人,从圣何塞搬到了西雅图。这两个城市差异并不小,圣何塞阳光很足,空气干燥,生活像一张等待填写的表格;西雅图则经常下雨,天色低下来,很多事情反而慢慢浮出水面。

起初,这像是一个关于工作、搬家、租房、洗衣、买菜和适应新语言的故事。后来才发现,它更像是一段重新学习生活的过程:学习如何安放自己的紧张、期待、欲望和好奇,也学习如何在任务、目标和时间表之外,重新看见一场雨、一片云、一次日落。

人总以为迁移意味着抵达另一个地方。后来才发现,真正被移动的,常常是自己看世界的方式。那些在阳光下匆忙学会的句子、路线和生活规则,后来都要被带进更长的雨里。

阅读全文 »

Many business problems appear to be prediction tasks on the surface, but what they really need is intervention decision-making. For example, when sending coupons, buying ads, or adjusting traffic allocation, the real question is usually not “who is most likely to convert?” but rather who should we intervene on to generate the largest net incremental lift?

This distinction between the two types of problems leads to fundamentally different modeling approaches.

Traditional predictive models are good at answering questions like “will this user buy?” or “will this user retain?” But they struggle to answer questions like “if I send this coupon, will the user buy more because of it?” or “if I reduce live-stream exposure, will the user’s long-term value improve?” The former is a correlation problem; the latter is a causality problem.

The value of Uplift Modeling lies in shifting the optimization target from outcome prediction to estimating the incremental effect of an intervention. Compared with “finding high-probability users,” it focuses more on “finding high-incrementality users,” so that under resource constraints we can maximize the true objective value of a strategy.

This article attempts to introduce the basic principles of uplift and a real-world application scenario. The main contents are as follows:

  1. Why traditional predictive models are not suitable for directly guiding intervention strategies
  2. The causal inference foundations behind Uplift Modeling and common modeling methods
  3. How to understand offline evaluation metrics such as AUUC and Qini
  4. In general business strategy optimization scenarios, how to go from experiment design all the way to online deployment
  5. Modeling ideas for extended scenarios such as multiple treatments and continuous treatments
阅读全文 »

很多业务问题表面上看是在做预测,真正要解决的却是干预决策。比如发优惠券、投广告、调整流量分发,真正的问题通常不是 “谁最可能转化”,而是对谁做干预,才能带来最大的净增量?

这两类问题的差异,决定了建模方式也完全不同。

传统预测模型擅长回答 “这个用户会不会买”、“这个用户会不会留存”;但它很难回答 “如果我发券,他会不会因此多买”“如果我减少直播曝光,他的长期价值会不会提升”。前者是相关性问题,后者是因果性问题。

Uplift Modeling 的价值,就在于把优化目标从结果预测,转向对干预增量的估计。相比 “找高概率用户”,它更关注 “找高增量用户”,从而实现在资源约束下的优化目标价值最大化。

本文尝试介绍 uplift 的基本原理和一个实际落地的应用场景,基本内容如下

  1. 为什么传统预测模型不适合直接指导干预策略
  2. Uplift Modeling 背后的因果推断理论基础与常见建模方法
  3. AUUC、Qini 等离线评估指标应该怎么理解
  4. 在通用业务策略优化场景里,如何从实验设计一路走到线上策略落地
  5. 多 Treatment 与连续 Treatment 等扩展场景的建模思路
阅读全文 »

又到了清明时节,总能看到不少人在街头巷尾烧纸。

很长一段时间里,我对这个场景的第一反应都是害怕。看到路边燃起的火,闻到空气里纸灰的味道,我会下意识绕远一点。那种害怕并不完全来自火焰本身,而是因为它把 “死亡” 这件事,从一个遥远的词,忽然变成了日常生活里真实存在的东西。它不在新闻里,不在殡仪馆里,而是在你回家的路上,在夜色里,在风一吹就会飘起来的灰烬里。

后来我看了《寻梦环游记》,对这件事的感受慢慢变了。电影里那句 “死亡不是终点,被遗忘才是终点”,第一次让我意识到,烧纸未必只是阴森的仪式,也可能是一种温柔的挽留。原来生者记住逝者,不只是出于不舍,也是在让那个人以另一种方式继续存在。

这么想之后,那些我曾经远远绕开的场景,忽然也有了一点暖意。

也正是从那时起,我开始认真想:死亡到底是什么?我们为什么怕它?而当我们试着理解它时,它又会怎样反过来改变我们活着的方式?本文是关于 “死亡” 这一话题的一些碎碎念,祝开卷有益~

阅读全文 »

最近在读《创意行为: 存在即答案》,一本关于创作的书,里面有这么一句话

我们的目的不是制造艺术
而是要进入那美妙的境界
让艺术无可避免地发生

这句优美得甚至有些玄乎的句子,一下子把脑子里许多零碎的观点都拽了出来。比如关于创作的 “人只是上帝手中的一支笔”,“世界有分享欲,无时无刻都在找通灵者”;比如关于生活的 “与善人居,如入芝兰之室,久而不闻其香,即与之化矣”,Naval 的 “three most important decisions in life: where you live, who you are with, and what you do”;亦或关于人性的 “人性之无分于善不善也,犹水之无分于东西也”、“性相近也,习相远也”

这些散落在不同维度的碎片,似乎都在论证着同一个我一直深以为然的判断:人是环境的产物。当然,这并不是说人只是任由揉捏的泥土。我们有反思、有抵抗、有重新选择的能力,只是这些能力从来不是凭空发生,而总要付出代价。也正因如此,环境才显得格外重要 —— 它决定了你要花多大力气,才能成为你想成为的人

环境不仅仅是空间,更重要的,是其中看不见却无处不在的 “场”。我们在特定的规则下,会不由自主地做出符合这些规则的行为,这些行为经年累月地沉淀,最终内化为我们的性格与命运。无论是工作、生活、创作,还是那幽微莫测的人性,都与场的引力息息相关。清醒地辨识自己身处何种场,觉察它对我们的无声浸润,进而去选择、去走向那与自身价值观共振的场 —— 这对一个人的长远发展与内心的平静,至关重要

本文是关于 “场” 这个话题的一些碎碎念,内容或许有些发散,祝开卷有益~

阅读全文 »

In Ad Network scenarios, multiple DSPs (Demand Side Platforms) participate in auctions, typically under a First Price Auction (FPA) mechanism. To optimize performance, DSPs often employ Bid Shading techniques to maximize their ROI and revenue while maintaining a competitive level of inventory acquisition.

Bid Shading is a specialized technique developed for first-price auctions. Since the final clearing price equals the submitted bid (i.e., pay-as-you-bid), bidding one’s true valuation often leads to “winner’s curse” or overpayment, resulting in capital inefficiency. Consequently, Bid Shading leverages historical data to estimate win rates or the “market price” (the second-highest bid) to dynamically shade the bid. This ensures the final payment is lower than the original valuation but higher than the second-highest bid, effectively reducing costs and boosting ROI without sacrificing win probability.

In feed mixed ranking (MixRank) scenarios, various business lines (such as Ads, E-commerce, Live Streaming, Short Video, and Articles) provide a “PK Score” for ranking during each request. From a mechanism standpoint, this PK Score is functionally equivalent to a bid in an advertising system: the PK Score can be viewed as an “implicit bid” submitted by a business entity for an exposure opportunity.

Naturally, this raises a question: Can we adapt the principles of Bid Shading to systematically calibrate PK Scores and optimize overall mixed ranking utility? Theoretically, this is highly feasible. This article introduces Score Shading—a method of applying dynamic perturbations (shading) to PK Scores to identify the globally optimal “bidding point.” By doing so, the system maintains competitiveness while maximizing platform-wide revenue, specifically addressing two core objectives:

Problem One: Enhancing the penetration rate (load growth) of specific content formats in high-value traffic by increasing their “participation-to-exposure” ratio.
Problem Two: Reducing the scale (i.e., the cost) of a specific format’s PK Score while keeping the overall win rate (load) stable and within a reasonable range.

This article will first review Bid Shading modeling in Ad Networks, then generalize it to mixed ranking Score Shading. We will explore optimization modeling for both objectives, the Lagrangian dual solution, and the regulation mechanism for the pacing parameter λ. Finally, we will discuss critical challenges such as win-rate modeling and incentive compatibility.

阅读全文 »
0%