转转技术

转转LLM应用-重排阶段商品粒度的跨品类搭配

  • 1 背景
  • 2 数据准备
    • 2.1 pair收集
    • 2.2 pair处理
  • 3 LLM标注打分
    • 3.1 评估标准
    • 3.2 prompt拆分设计
  • 4 模型训练
    • 4.1 样本定义
    • 4.2 微调Qwen 7b
    • 4.3 bert蒸馏
  • 5 总结与展望

1 背景

转转首页推荐每刷主要由兴趣商品与可能感兴趣的探索商品填充,探索品类是根据兴趣品类关联出的结果。商品搭配在重排阶段,通过构建跨品类搭配pair对,训练模型,让模型学习到商品的合理搭配,进行精细化探索,提升搭配效率与用户体验。

整个过程分为两阶段,第一阶段pair的收集与大模型标注处理,第二阶段基于Qwen 7B进行bert蒸馏解决大模型上线耗时问题。

2 数据准备

2.1 pair收集

根据用户历史行为获取商品粒度pair对,并进行如下预处理,最终得到不同频次pair。image

2.2 pair处理

我们根据频次将pair 分为高频、中频、低频三类:

  • 高频:默认大多数用户常见的行为偏好搭配,这类pair直接进行人工抽检,然后进行数据清洗。

  • 中频:由于行为频次一般,置信度一般,使用大模型校验,确保搭配的合理性,最后人工抽检,清洗数据。

  • 低频:对于长尾N品类,由于商品行为较少,并不代表没有合理的搭配,人工从中挑出合理搭配,使用大模型进行few shot learning,补充长尾N的pair,最后人工抽检,清洗数据。

整个过程如下图所示:image

3 LLM标注打分

3.1 评估标准

我们从商品品类、颜色、品牌、成色、型号5个维度来评估商品之间的可搭配性,每个维度评分范围1-10,并根据实际场景,为不同的属性配比不同权重1%-100%,综合分数越高表明可搭配性越强。以品类为例,关联关系强弱不同,给予的评分也不同,其他属性以此类推。image

3.2 prompt拆分设计

在使用大模型打分的时候,如果prompt篇幅较长,耗时就会严重超标,无法接受,考虑拆分属性,多个属性并发进行。以品类为例,prompt如下所示:image

4 模型训练

由于大模型上线耗时问题,我们通过蒸馏方式,部署bert到线上。

4.1 样本定义

每个pair的分数范围在1-10,中低频pair的分数根据大模型打分定义,高频pair默认10分。

4.2 微调Qwen 7b

蒸馏之前,先将样本通过微调Qwen 7B,让模型获取商品搭配的垂直领域能力。

loss:

4.3 bert蒸馏

蒸馏的框架大致如下,其中,Teacher就是微调后的Qwen 7b,Student是bert(340M)。image

损失函数由两部分组成,第一部分是学生向老师看齐的distill_loss,这部分不计算梯度,第二部分就是搭配关系的task_loss,temp表示权重:

1)distill loss

2)task loss

3)mse loss

5 总结与展望

  • 在首页feed上线后,策略覆盖流量上pv商详到达率提升+6%,uv商详到达率提升5%。
  • 利用大模型标注能力,有效地节省了人力,可以大规模生产样本。
  • bert蒸馏,使得大模型知识应用于线上成为可能。
  • 商品品类丰富,目前使用的商品属性粒度较粗,但具有一定普适性,未来会考虑分类目使用更细粒度的商品属性进行搭配优化。
  • 未来会进一步在新用户上尝试,区别在于新用户并没有兴趣点击行为,这时候针对非兴趣商品之间,两个或多个关联商品联合搭配展示给用户。

关于作者

郭志伟、英锐,转转算法工程师,主要负责推荐场景精排及重排相关工作。

想了解更多转转公司的业务实践,欢迎点击关注下方公众号: