转转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。
2.2 pair处理
我们根据频次将pair 分为高频、中频、低频三类:
高频:默认大多数用户常见的行为偏好搭配,这类pair直接进行人工抽检,然后进行数据清洗。
中频:由于行为频次一般,置信度一般,使用大模型校验,确保搭配的合理性,最后人工抽检,清洗数据。
低频:对于长尾N品类,由于商品行为较少,并不代表没有合理的搭配,人工从中挑出合理搭配,使用大模型进行few shot learning,补充长尾N的pair,最后人工抽检,清洗数据。
整个过程如下图所示:
3 LLM标注打分
3.1 评估标准
我们从商品品类、颜色、品牌、成色、型号5个维度来评估商品之间的可搭配性,每个维度评分范围1-10,并根据实际场景,为不同的属性配比不同权重1%-100%,综合分数越高表明可搭配性越强。以品类为例,关联关系强弱不同,给予的评分也不同,其他属性以此类推。
3.2 prompt拆分设计
在使用大模型打分的时候,如果prompt篇幅较长,耗时就会严重超标,无法接受,考虑拆分属性,多个属性并发进行。以品类为例,prompt如下所示:
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)。
损失函数由两部分组成,第一部分是学生向老师看齐的distill_loss,这部分不计算梯度,第二部分就是搭配关系的task_loss,temp表示权重:
1)distill loss
2)task loss
3)mse loss
5 总结与展望
在首页feed上线后,策略覆盖流量上pv商详到达率提升+6%,uv商详到达率提升5%。 利用大模型标注能力,有效地节省了人力,可以大规模生产样本。 bert蒸馏,使得大模型知识应用于线上成为可能。 商品品类丰富,目前使用的商品属性粒度较粗,但具有一定普适性,未来会考虑分类目使用更细粒度的商品属性进行搭配优化。 未来会进一步在新用户上尝试,区别在于新用户并没有兴趣点击行为,这时候针对非兴趣商品之间,两个或多个关联商品联合搭配展示给用户。
关于作者
郭志伟、英锐,转转算法工程师,主要负责推荐场景精排及重排相关工作。
想了解更多转转公司的业务实践,欢迎点击关注下方公众号: