论文阅读:OneSearch-V2: The Latent Reasoning Enhanced Self-distillation Generative Search Framework

这篇论文是OneSearch-V1的升级版,建议先看OneSearch-V1的论文解读。 基本信息 论文标题:OneSearch-V2: The Latent Reasoning Enhanced Self-distillation Generative Search Framework 作者单位:快手 论文链接:https://arxiv.org/abs/2603.24422 来源:arxiv Motivation:论文要解决的问题是什么 OneSearch-V1上线之后,存在如下三个问题: 对复杂query的理解能力不够。复杂query包括两部分,一部分是头部泛词query,比如“室内健身器材”,这种query太泛了,query可能和很多商品都有关联,导致GR不知道召回哪个(which to retrieve)。另一部分是尾部稀有query,比如“没有破洞的牛仔裤”,这种query很长有很多约束条件,比如有否定、有问句等,导致GR难以理解,不知道该召回什么(what can be retrieved)。 个性化推理能力不足。如果说上一个问题是对复杂query本身的理解,那么这个问题就是结合用户个性化的query理解。比如某用户对特定品种的鲜花过敏,当该用户搜索“当季鲜花”时,需要首先推理出现在的季节,然后推理出这个季节流行的鲜花,最终判断这种鲜花和用户过敏的鲜花是否同品种。如果是同品种,即使这种鲜花是当季热销,也不能展示给用户。因此,这一问题考验GR结合用户个性化的推理能力。 奖励模型性能不足。OneSearch-V1的奖励模型依赖传统精排模型,效果受限。此外常规的奖励模型对item整体一个奖励得分,但是item是通过SID序列组成的,对item整体进行奖惩的话,相当于对所有位置的SID都一视同仁,无法区分不同位置SID的难度和重要性。 所以小结一下,OneSearch-V2重点要增强的是GR的reasoning推理能力,无论是对query的理解,还是对user的理解,都需要强大的推理能力。另外奖励模型的更新就是常规操作肯定要升级的。 思考增强的Query理解 为了增强GR对复杂query的理解能力,本文首先利用LLM(Qwen3-32B)对query进行理解和分析,把分析结果存成CoT;然后构造CoT SFT微调任务,通过CoT微调GR,把LLM对复杂query的理解能力注入到GR中。 具体来说,如图Fig3所示,利用LLM对query进行如下3个步骤的分析: Query分析(Query Analysis),包括四个维度:意图理解、类目预测、属性识别、主题推荐,其中意图理解需要分析本次搜索的意图是商品搜索、店铺搜索、还是短视频直播这些。 对于意图理解是商品搜索的query,再次进行关键词抽取(Keyword Extraction):通过LLM推理出和query相关的关键词,需要考虑检索意图、类目约束、属性一致性和格式约束等。 偏好校准(Preference Calibration):基于用户的基础信息和历史行为流,对上一步推理出来的关键词进行增删改,只保留和用户相关的关键词 上述三个步骤是依次串行进行的,上一步的输出作为下一步的输入,一步步不断细化分析扩展得到与Query相关的个性化的关键词。其中第二步得到的是非个性化的关键词,即<query, keywords>元组;第三步得到的是个性化的关键词,即<query, user, keywords>。通过这些数据就可以构造query→keywords的四类CoT任务,如图Fig3底部。进一步地,在SFT微调GR的第一阶段,加入这些CoT微调任务,得以显著增强GR对复杂query的理解能力,如下表Table2的stage1加粗部分。 小结一下,这个模块的核心是利用更大的LLM标注出一些与query/user相关的keywords,然后通过CoT SFT的方式把LLM的推理能力蒸馏到GR中。 自蒸馏赋予GR内生推理能力 预实验 作者在OneSearch-V1(即下表Table 3中的baseline)的基础上,新增了上一节介绍的CoT微调任务(即\+CoT tasks),结果表明各项指标都有提升,说明增强GR的推理能力是有帮助的。但是CoT tasks中的CoT毕竟来源于LLM离线打标,耗时很长,不可能进行在线实时推理。如果能将LLM对query的推理能力内化到GR模型中,则可以省掉LLM对query的推理打标,显著节省链路耗时。 为此,作者首先做了两个预实验,如表Table 3所示: +direct CoT:即直接用baseline做推理,然后基于推理CoT进行生成式搜索 +RAG:在baseline基础上,把LLM对query推理出来的keywords作为额外特征输入到GR中,再进行生成式搜索 作者发现,直接让GR进行CoT推理的+direct CoT效果很差,说明现有GR缺乏推理能力。而把LLM推理出来的keywords作为额外特征的+RAG效果很好,说明LLM推理能力对GR很有帮助。 \+CoT tasks有效果已经说明通过CoT SFT的方式能够提升GR的效果,本节进一步利用自蒸馏的方式增强GR的推理能力。 自蒸馏 自蒸馏的思想也比较简单,简单理解就是优势特征蒸馏。如图Fig2a所示,这部分就是上一节介绍的利用LLM推理出扩展keywords的过程。Fig2b的Shared Info就是OneSearch-V1的输入特征,而Fig2a产出的扩展keywords相比于Shared Info就是优势特征。 如图Fig2b所示,教师模型和学生模型共享相同的模型参数,他们都有Shared Info作为公共的特征输入,但是教师模型还多包含扩展keywords作为优势特征输入。根据上面Table 3的结果,+RAG就是教师模型,它的效果明显好于学生模型。自蒸馏的过程就是把包含优势特征的教师模型蒸馏到学生模型上。 形式化描述如下。学生模型输入: ...

May 30, 2026 · 3 min

论文阅读:OneSearch: A Preliminary Exploration of the Unified End-to-End Generative Framework for E-commerce Search

基本信息 论文标题:OneSearch: A Preliminary Exploration of the Unified End-to-End Generative Framework for E-commerce Search 作者单位:快手 论文链接:https://arxiv.org/pdf/2509.03236 来源:arxiv ICLR2026被拒,审稿意见:https://openreview.net/forum?id=eDh0K9YNoL Motivation:论文要解决的问题是什么 如图Fig1所示,传统搜索系统需要依次经过召回、粗排、精排等多个级联环节,存在计算碎片化、且不同阶段目标不一致的问题,导致整个系统效率较低且上限较低。本文提出的OneSearch就是整个搜索系统只使用一个生成式模型,直接从用户请求端到端生成候选商品,从而取代召回-粗排-精排这种级联系统。 整体结构图 整体结构图如Fig4所示,整体思路如下: 表征体系,对应Fig4a-c:把庞大且稀疏的item id转换成紧凑且稠密的semantic id(SID),方便LLM模型做scaling up 特征体系,对应Fig4d:把电商中异构的用户、商品、搜索等各种特征统一到SID体系中,即统一LLM输入token 模型架构,对应Fig4e:有了统一的输入token表示,模型就是各种Transformer变种,因为是生成式,所以必须要有decoder 模型训练,对应Fig4f:训练生成式模型的步骤通常是先SFT预训练,再RL微调,重点关注本文设计的预训练和微调任务 SID生成方法 如图Fig4a-c所示,SID生成通常需要两个步骤,一是预训练embedding模型,二是将产出的embedding通过量化方式压缩成SID。本文在基础方法上进行了若干优化,具体如下: 预训练表征模型 该步骤通常基于开源的表征模型,使用电商的协同信号进行微调,使得embedding既能表征语义含义,又能感知电商的协同信号。 具体来说,本文基于ItemCF、Swing等召回模型,从线上日志中收集了大量相似的q2q、i2i、q2i的二元组作为正样本pair,然后如图Fig4a所示,使用对比学习的方式微调开源的BGE表征模型。本文做的几点改进如下: 特征层面,使用的特征包括:query text, item title, item price, keywords, OCR (image-to-text), as well as the statistical business characteristics, such as the number of clicks, add-to-cart, and purchases during a certain time。既有文本特征,也有数值统计特征,虽然没有用原始图片,但是有图片的OCR特征 样本层面,用开源的BGE对所有的正样本pair先进行粗过滤,把相似度<0.6的pair去掉,只保留高质量正样本pair 微调任务层面,包括q2q、i2i、q2i,这三个是常规的对比学习任务,另外还新增了2个特殊任务 rank任务:q2i分为show、click、order不同级别,且使用margin loss区分三者重要层度:show<click<order relevance任务:使用LLM打标query和item的相关性分,然后让BGE微调学习这个相关性分,增强表征的相关性判别能力 最后所有loss融合如下: $$\mathcal{L}_{\text{align}} = \lambda_1 \cdot \mathcal{L}_{\text{q2q}} + \lambda_2 \cdot \mathcal{L}_{\text{i2i}} + \lambda_3 \cdot \mathcal{L}_{\text{q2i}} + \lambda_4 \cdot \mathcal{L}_{\text{rank}} + \lambda_5 \cdot \mathcal{L}_{\text{rel}}, \quad (1)$$关键词增强的query和item表征 作者认为query和item的文本描述中存在大量堆砌甚至冲突的属性,为了去噪且提取核心关键属性,作者使用Qwen-VL提取商品的核心关键词k,然后把这些关键词输入到上一步微调的BGE模型中,产出多个关键词的表征\(e_k^j\),然后将多个关键词表征求平均,最后再和商品原始表征\(e_i\)求平均,得到关键词增强的商品表征\(e_i^o\)。流程见图Fig4b,公式如下: ...

May 24, 2026 · 2 min

论文阅读:QARM V2: Quantitative Alignment Multi-Modal Recommendation for Reasoning User Sequence Modeling

这篇论文是QARM V1的升级版,建议先看QARM V1的阅读总结。 基本信息 论文标题:QARM V2: Quantitative Alignment Multi-Modal Recommendation for Reasoning User Sequence Modeling 作者单位:快手 论文链接:https://arxiv.org/abs/2602.08559 来源:arxiv Motivation:论文要解决的问题是什么 QARM V1确定了“LLM微调→生产SID→排序模型应用”的多模态在排序场景应用的范式,本文发现QARM V1存在如下不足: (1)QARM V1用于LLM微调的i2i训练数据有很多噪声 QARM V1有2种生产i2i样本的方法: 使用swing这种i2i召回模型收集i2i pair。这个方式容易受到商品热度的偏置,如Fig2a所示,酱油和洗衣液被swing判定为i2i正样本,只不过是因为他们都很热门,并不是因为他们在多模态语义上相似。 使用U2I召回模型收集i2i pair。这个方式召回的i2i正样本pair灵活多变,很容易出bad case。 总之,QARM V1构造的i2i正样本有很多噪声,需要去噪。 (2)QARM V1使用RQ-KMeans生产的SID序列冲突率太高 QARM V1使用3层RQ-KMeans训练产出SID序列,作者发现电商商品的分布非常不均匀,甚至是二八分布的情况,即少数几类商品量非常大,大多数类目的商品数量很少。如果只用RQ-KMeans进行分层残差聚类,在商品分布不均匀的情况下,产出的SID序列的冲突率很高。如图Fig3a所示,KMeans聚类严重依赖于数据分布,当数据分布本身不均匀的时候,聚类结果本身也是不均匀的,这就会导致SID序列冲突。 使用推理大模型去噪的I2I样本构造方法 如下图Fig4所示,针对QARM V1的i2i样本噪声多的问题,本文分别使用Qwen3-0.6B和Qwen3-8B对swing和u2i模型召回的i2i样本进行清洗,清洗的prompt如下图所示,就是让大模型判断i2i pair的两个商品是否是相似或者相关商品,输出yes或no。作者认为u2i模型召回的i2i pair更加灵活多变,所以使用了更大的8B模型对这部分数据进行清洗。经过作者的清洗,发现QARM V1的i2i样本中有10%的swing召回的i2i和70%的U2I召回的i2i都是噪声,这噪声的比例也太大了吧。。。 除此之外,为了增强emb对商品的理解能力,作者又使用更大的多模态大模型Qwen2.5-VL-72B,对商品进行理解,生成针对该商品的QA pair,作为后续NTP任务的训练数据。如上图Fig4右上角部分,针对那个辣条,Qwen2.5-VL-72B生成的QA会问这个商品名称是啥,回答是:亲嘴烧。这一步使用的prompt如下图所示。 微调LLM产出多模态表征 微调结构如Fig4下图部分,LLM输入包括标题、图片、属性等特征,此外还新增了3个特殊token <EMB>,用这3个特殊token的输出mean pooling得到最终的多模态emb,然后进行对比学习训练。不理解为啥需要用3个特殊token,1个足够了吧? 上述对比学习结构都比较常规,本文新增的是对QA pair的NTP任务,就是在三个特殊token后面,让LLM继续以NTP的形式生成QA pair,即样本构造环节通过大模型产出的QA pair。 而且这个NTP任务是以三个特殊token为起点的,因为LLM都是decoder-only结构,为了让NTP任务只看到前面三个特殊token,而不看到开头的标题、图片等商品信息,作者设计了Three-Segment Attention Mask,即NTP任务最多看到三个特殊token往后的token。作者这么设计的原因,是希望通过NTP训练,让特殊token产出的商品表征,能够蕴含QA pair里面的信息。 基于Res-KmeansFSQ的SID序列生产 QARM V1是直接使用3层RQ-KMeans残差聚类生产SID序列,作者在Fig3a中认为电商数据天然的不均匀性,会导致KMeans聚类出来的sid存在很大的冲突。为了缓解这个问题,作者将最后一层的KMeans替换成FSQ。其实正如Fig3a所示,KMeans是对向量空间的柔性的量化,而FSQ直接就是四舍五入,是刚性的量化,在码本空间比较大的情况下,FSQ的冲突率比KMeans低。 如下图所示,M^2就是第二层的残差,在公式(3)中,先通过σ函数把残差映射到0~1之间,然后乘以量化值域L,相当于把残差投影到长度为L的线段上,Fig3b的网格等宽网格很好理解。有关FSQ的介绍可以参考这篇博客:https://spaces.ac.cn/archives/9826 基于多模态表征及SID序列的用户行为建模方法 多模态emb和SID序列在排序模型中的应用也比较常规。整体还是TWIN或者说SIM的先GSU进行soft-search,然后在ESU进行target attention。具体来说,作者在GSU使用的是原始多模态emb进行soft-search,在ESU使用的是SID序列和排序模型进行端到端训练。最终离在线效果都有很大的提升。 ...

March 21, 2026 · 1 min

论文阅读:DAS: Dual-Aligned Semantic IDs Empowered Industrial Recommender System

基本信息 论文标题:DAS: Dual-Aligned Semantic IDs Empowered Industrial Recommender System 作者单位:快手 论文链接:https://arxiv.org/pdf/2508.10584 来源:CIKM 2025 Motivation:论文要解决的问题是什么 Semantic id生产时,要么没有和协同信号对齐(fig2(1)),要么是两阶段对齐方式(fig2(2)): 例如LETTER先生成协同emb,然后和semantic id对齐 或者例如QARM,先协同对齐emb,再生产semantic id 把协同对齐和生产semantic id分成两个阶段,天然有信息损失,不是最优的。本文的目的就是把生产协同emb,以及semantic id的协同对齐放到一个模型中联合训练完成,尽量减少信息损失(fig2(3))。 主模型 主模型如上图所示,中间的ICDM是user和item的双塔模型,用于学习user和item的协同id-based emb;两边分别是生产user和item的semantic id的量化模型。 中间的ICDM就是经典的召回双塔模型,使用点击样本进行训练,唯一不同的是,在user和item塔都有流行度去偏模块,用于学习user和item的无偏emb,后续user和item的semantic id协同对齐用的也是无偏的emb。 两边分别是user和item的semantic id量化模型,两者比较类似,以item为例: 先把item的各种信息,如title、desc、ocr等信息用文本构造成prompt,输入到LLM,借助LLM的summary和reasoning能力,产出item的详细描述 然后把LLM产出的描述再输入到一个预训练的embedding模型PLM,文中用的是bge m3模型,得到item emb 后续就是标准的RQ-VAE过程了 需要注意的是,上述前两步,分别用到了LLM和PLM两个大模型,而且看图上这两个模型都是freeze的,也就是说并不微调这两个大模型。后续协同对齐用的emb是RQ-VAE重构emb的中间层结果,即图中的item quantized emb。 semantic id的协同对齐方面,有三大类对齐任务: U2I对齐:量化user emb和协同item emb对齐、量化item emb和协同user emb对齐 U2U和I2I对齐:量化user emb和协同user emb对齐、量化item emb和协同item emb对齐 U2U和I2I的共现对齐:点击相同item的两个量化user emb对齐、同一个user点击的两个item的量化item emb对齐 由于fig3中的协同模型和semantic id模型是联合训练的,总共有3大类loss: 中间的ICDM的双塔召回模型的loss 两边的产semantic id的loss 三个模块的对齐loss 评论 可借鉴 把semantic id的生产和协同信号对齐统一成一阶段的模式,信息损失更少 中间的ICDM模型生产协同emb时进行了去偏,协同对齐的时候用的是去偏的emb,这是其他论文很少提到的 可改进 太复杂了!3个模块,3大类loss,每类loss又有很多个小loss,总loss数量加起来有十多个。。。 任务太多,各种去偏、对齐loss,真的不会互相影响吗? 中间的ICDM模块有必要吗?我理解ICDM本质是为了训练产出协同emb,但是因为训练样本本身是点击样本,样本本身已经包含了搜推场景的协同信号,也就是ICDM本身没必要存在了,直接用相同的样本训练两边的semantic id量化模型就行了,也能实现在训练semantic id的过程中,完成协同信号的对齐 生产semantic id的emb来自LLM和PLM,但是这两个大模型都是freeze的,如果把这两个模型也sft,效果会不会更好?其实我原本以为的一阶段就是这样的,这也是我在【论文阅读:Empowering Large Language Model for Sequential Recommendation via Multimodal Embeddings and Semantic IDs】中提到的一阶段方法。

October 5, 2025 · 1 min

论文阅读:QARM: Quantitative Alignment Multi-Modal Recommendation at Kuaishou

基本信息 论文标题:QARM: Quantitative Alignment Multi-Modal Recommendation at Kuaishou 作者单位:快手 论文链接:https://arxiv.org/pdf/2411.11739 来源:CIKM 2025 Motivation:论文要解决的问题是什么 多模态emb在搜推场景应用时通常采用如下图的两阶段方式,先预训练多模态emb,然后作为一个冻结特征放到搜推模型中。这种方式存在2个问题: 表征不对齐:多模态emb预训练的任务通常是图片分类或者文本的MLM,和下游搜推任务不对齐 表征不更新:多模态emb在搜推任务中作为冻结特征,没有更新 本文的方法就是想要解决上述2个问题。 对齐搜推任务的多模态emb预训练 为了解决多模态emb表征不对齐的问题,本文提出的多模态emb预训练任务直接对齐搜推场景,使用U2I和I2I召回模型,挖掘出相似item pair,然后通过对比学习微调多模态大模型。 具体来说,通过U2I和I2I模型,能够拿到item emb;然后用每一个target item emb去行为流中检索出最相似的商品,作为trigger item emb。<trigger, target>构成一对正样本,然后进行对比学习训练。 通过召回模型构造的训练样本,和搜推场景的协同信号对齐了,解决了开头提到的第一个问题,即表征不对齐的问题。 Semantic id生产方法 Semantic id的生产方法如上图右半部分所示,有两种方式: VQ:直接圈定一定数量(如N)的item emb作为底池,编号1~N,然后任意来一个item emb,通过对底池emb进行KNN搜索,找出top-k相似商品,假设是(a,b,…,k),则VQ编码的semantic id就是(a,b,…,k)。文中取k=25,感觉挺大的。。。 RQ-Kmeans:对圈定的N个item emb不断进行Kmeans聚类、求残差、残差继续Kmeans聚类的过程。文中取迭代次数为L=6,但是没说每次聚到多少个类。 注意:文中的RQ-Kmeans方法和RQ-VAE还不一样,RQ-Kmeans没有训练过程,也没有重构loss,纯粹是每次进行聚类,然后选聚类中心作为码本的过程。文中也没有对比过为啥不用RQ-VAE。 产出两套semantic id之后,直接在下游排序任务中进行端到端更新,解决开头提到的表征不更新的问题。具体建模方法比较常规,不是本文的重点,略讲。 评论 可借鉴 多模态emb预训练任务是i2i的,直接和下游搜推任务对齐 semantic id有两种产出方式,VQ和RQ-Kmeans,尽可能多地保留原始多模态emb的信息 可改进 多模态emb预训练和下游任务对齐,在2025年不算新鲜事了,常规操作。而且文中i2i的构造过程依赖U2I和I2I召回模型,有外部依赖,不够漂亮 VQ的方法,k=25这也太长了吧,相当于一个小型行为流了,会导致下游任务的特征处理更复杂 为什么用RQ-Kmeans而不是RQ-VAE,没有任何说明与对比 从pretrain emb量化成semantic id的过程中,存在严重的信息丢失,这在Empowering Large Language Model for Sequential Recommendation via Multimodal Embeddings and Semantic IDs论文中有讨论

October 4, 2025 · 1 min