电商搜索稀疏嵌入微调 | 第三部分:评估与难负样本

电商搜索稀疏嵌入微调 | 第三部分:评估与难负样本

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

本文是电商搜索稀疏嵌入微调系列的第三部分,聚焦评估与难负样本挖掘。将微调后的SPLADE模型索引至Qdrant,在2000条查询上评测:微调模型nDCG@10比BM25高约17%,比现成SPLADE高7.5%。借鉴ANCE,用当前模型检索结果挖掘难负样本再训练,可进一步提升效果。检索延迟低于1毫秒,瓶颈是10-20毫秒的查询编码。

🔎

延伸解读

评估指标与结果解读

文章使用nDCG@10、MRR@10等指标在2000条查询和10000个产品上评估。微调SPLADE的nDCG@10为0.389,比BM25的0.333相对提升16.8%,比现成SPLADE的0.362相对提升7.5%。但作者强调这些指标基于子样本,不能直接与官方Amazon ESCI基准比较,只能作为相对信号。

难负样本挖掘的实践要点

借鉴ANCE,用当前模型检索top-20结果,过滤掉已知正例后保留3个最难负例,再训练模型。这能教会模型区分易混淆产品。但流程增加工程复杂度:需索引、检索、过滤、重训,可能多轮迭代。是否值得取决于业务规模,对百万级查询的系统,小幅nDCG提升也可能带来显著收益。

生产延迟与优化方向

总延迟10-20ms,其中查询编码占10-20ms是瓶颈,稀疏检索在Qdrant中低于1ms可忽略。若需进一步提速,可批量编码查询、蒸馏小模型、缓存热门查询的稀疏向量或使用GPU推理。对多数电商应用,15ms延迟可接受,尤其能换来17%的相关性提升。

微调带来的模型行为变化

微调后模型在查询扩展、词权重和领域词汇上均有改善。例如“laptop”会扩展出“notebook”“computer”“macbook”;品牌名权重提高,通用词权重降低;电商术语如“refurbished”“renewed”获得有意义权重,而网页搜索特定词被降权。这种领域适应解释了其在本领域的强表现,也预示了跨领域时的权衡。

❓

Q&A

微调后的SPLADE模型在电商搜索中的评估结果如何?

在2000条测试查询和10000个产品上,微调SPLADE的nDCG@10为0.389,比BM25(0.333)相对提升16.8%,比现成SPLADE(0.362)相对提升7.5%。

如何实现难负样本挖掘来进一步提升模型效果?

借鉴ANCE,用当前模型检索每个查询的top-K结果,过滤掉已知正例后,将非相关产品作为难负样本,用(查询,正例,难负样本)三元组重新训练模型,可迭代进行。

微调后的SPLADE模型在查询编码和检索上的延迟是多少?

查询编码(SPLADE)需要10-20毫秒,是瓶颈;稀疏检索(Qdrant)低于1毫秒,总延迟约10-20毫秒,可满足实时需求。

微调SPLADE模型具体学到了哪些领域特定的模式?

查询扩展改善(如“laptop”增加“notebook”“computer”),词权重更合理(品牌名权重提高,通用词权重降低),并涌现电商词汇(如“refurbished”“renewed”),同时降低网页搜索特定词的权重。

在Qdrant中索引SPLADE产品向量时有哪些生产实践要点?

使用Qdrant 1.19+,配置稀疏向量参数,设置memory=COLD将倒排索引存磁盘(需SSD),批量编码索引,upsert时使用指数退避重试,最后一批设置wait=True。

如果15毫秒的查询编码延迟不够快,有哪些优化策略?

可以批量编码多个查询、通过蒸馏训练更小的编码器(如TinyBERT、MiniLM)、缓存热门查询的稀疏向量,或使用GPU推理获得5-10倍加速。

🏷️

标签

➡️

继续阅读