轉轉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表示權重:
5.總結與展望
- 在首頁feed上線后,策略覆蓋流量上pv商詳到達率提升+6%,uv商詳到達率提升5%。
- 利用大模型標注能力,有效地節省了人力,可以大規模生產樣本。
- bert蒸餾,使得大模型知識應用于線上成為可能。
- 商品品類豐富,目前使用的商品屬性粒度較粗,但具有一定普適性,未來會考慮分類目使用更細粒度的商品屬性進行搭配優化。
- 未來會進一步在新用戶上嘗試,區別在于新用戶并沒有興趣點擊行為,這時候針對非興趣商品之間,兩個或多個關聯商品聯合搭配展示給用戶。
關于作者
郭志偉、英銳,轉轉算法工程師,主要負責推薦場景精排及重排相關工作。