跳转至

KAR:用 LLM 开放世界知识增强推荐

Fidelity: 完整核心链路复现。真实执行 factorization prompts、用户偏好/物品事实知识生成、离线缓存、hybrid-expert adapter 和下游 CTR 训练;PanGu 与华为日志替换为 SmolLM2-135M-Instruct 和 MovieLens-100K。

论文信息

项目 内容
论文链接 arXiv 2306.10933
公司/机构 Huawei
首次公开日期 2023-06-19(arXiv v1)
原文开源代码 否:论文未提供官方/作者代码(核查日期:2026-08-09)
Adapter kar
本地复现代码 src/auto_research/reproductions/kar/

原始论文总结

背景与主要改动

封闭域推荐只能从本域交互学习,难以理解物品事实和用户偏好背后的常识。KAR 不把 LLM 直接当在线推荐器,而是通过 factorization prompting 让 LLM 分别产出用户偏好推理知识与物品事实知识,再用 hybrid-expert adapter 压缩成与 ID 推荐模型兼容的向量。知识可预生成并缓存,因此线上不承担 LLM 自回归延迟。

flowchart LR
  H["用户历史"] --> P["Factorization prompt"]
  I["物品文本"] --> F["Factual prompt"]
  P --> L["LLM 用户偏好知识"]
  F --> K["LLM 物品事实知识"]
  L --> E["文本编码 + Hybrid Experts"]
  K --> E
  E --> A["增强 user/item 向量"]
  A --> R["任意 CTR / 重排 backbone"]

原论文关键图

KAR:用 LLM 开放世界知识增强推荐 原论文 Figure 2

原论文 Figure 2(关键图):展示原论文提出的核心架构、主要模块及其连接关系。图片来自原论文,版权归原作者所有;点击图片可查看来源。

核心公式

对知识表示 \(z\),hybrid-expert adapter 用门控组合共享与专属专家:

\[ a(z)=\sum_{e=1}^{E}g_e(z)f_e(z),\qquad g(z)=\mathrm{softmax}(W_gz). \]

增强表示与原 ID 表示共同进入推荐器,二分类以 BCE 优化:

\[ \hat y=R([e_u,e_i,a(z_u),a(z_i)]),\qquad \mathcal L=-y\log\hat y-(1-y)\log(1-\hat y). \]

论文离线与线上效果

MovieLens-1M 上 DIN AUC 从 0.7863 提升到 0.7961,Amazon-Books 从 0.8304 到 0.8418;9 个 CTR backbone 的 AUC 普遍提升约 1%~1.5%。Amazon-Books 重排中,PRM 的 MAP@7 / NDCG@7 相对提升 5.71% / 4.71%。

真实线上证据:华为新闻召回指标 +7%;音乐推荐采用 10% treatment / 10% control、持续 7 天,歌曲播放量 +1.70%、播放设备数 +1.64%、总播放时长 +1.57%

本地复现

本地对照口径:基线是纯 ID ranker;实验组是加入 LLM 知识与四专家 adapter 的 KAR;AUC 从 0.72188 升至 0.72774(+0.81%)。这是知识增强模块消融,不是相对 DIN 的比较。

按用户时间切分 MovieLens-100K。SmolLM2-135M-Instruct 为 20 个用户和涉及的物品实际生成 875 个知识 prompt,最终隐藏状态形成知识向量并落到 Git 忽略缓存;比较纯 ID ranker 与加入四专家 adapter 的 KAR ranker。

Method AUC mean ± std 相对 ID ranker
ID ranker 0.72188 ± 0.01086
KAR hybrid-expert 0.72774 ± 0.00627 +0.81%

逐 seed 的 KAR 相对表现为 -0.67% / +1.95% / +1.19%,2/3 正向;均值支持小幅收益趋势,但样本只有 20 用户,不能视作稳健重现论文工业增益。结构化指标见 metrics/movielens-100k-seeds42-44.json

pip install -e '.[plum]'
for seed in 42 43 44; do
  AUTO_RESEARCH_KAR_USERS=20 AUTO_RESEARCH_KAR_STEPS=100 \
  AUTO_RESEARCH_KAR_TRAIN=3000 AUTO_RESEARCH_KAR_TEST=600 \
  auto-research reproduce --paper kar --dataset-dir data --seed "$seed"
done

模型、知识缓存、数据、运行报告和 checkpoint 均不提交 Git;只提交复核后的指标与复现命令。