召回(二)向量召回
参考
召回(二)向量召回
然而,矩阵分解仍然面临一些局限:它是一个相对简单的线性模型,通过用户向量和物品向量的内积来预测评分,表达能力有限;它主要依赖用户-物品交互矩阵,难以融入更多的特征信息(如用户画像、物品属性、上下文信息等);在面对数亿用户和数千万商品的工业级规模时,完整交互矩阵的处理和冷启动问题仍然是挑战。
在向量空间中,推荐问题得到了根本性的简化。原本需要遍历巨大交互矩阵的召回过程,转变为在高维向量空间中根据一个“查询”向量快速搜索出距离最近的K个物品向量。这种转变不仅大幅提升了计算效率,还通过向量的表示能力捕捉到了更深层次的语义相似性。
向量召回技术主要沿着两条路径发展。I2I(Item-to-Item)召回专注于计算物品与物品之间的相似性。U2I(User-to-Item)召回则直接匹配用户与物品。
1、I2I召回
在推荐系统中,I2I(Item-to-Item)召回是一个核心任务:给定一个物品,如何快速找出与之相似的其他物品?这个看似简单的问题,实际上蕴含着深刻的洞察——“相似性”并非仅仅由物品的内在属性决定,而是与用户的行为所共同定义的。如果两个商品经常被同 ...
召回(一)协同过滤
参考
召回(一)协同过滤
核心思想基于一个朴素的假设:相似的用户会喜欢相似的物品。
1、基于物品的协同过滤
ItemCF的思路建立在一个简单的假设上:用户的兴趣具有一定的连贯性,喜欢某个物品的用户往往也会对相似的物品感兴趣。它关注的是“和你喜欢的物品相似的还有什么”这一问题。
1.1 ItemCF 算法
流程
实现流程主要包含以下两个步骤:
第一步:物品相似度计算
wij=C[i][j]∣N(i)∣⋅∣N(j)∣这里∣N(i)∣表示与物品i有交互的用户总数,C[i][j]是两个物品的共现次数。w_{ij} = \frac{C[i][j]}{\sqrt{|N(i)| \cdot |N(j)|}} \\
这里|N(i)|表示与物品i有交互的用户总数,C[i][j]是两个物品的共现次数。
wij=∣N(i)∣⋅∣N(j)∣C[i][j]这里∣N(i)∣表示与物品i有交互的用户总数,C[i][j]是两个物品的共现次数。
第二步:候选物品推荐
首先,系统会选取用户最近交互的物品作为兴趣种子(通常是几百个),然后为每个种子物品找到最相似的若干个候选物品(如Top-10) ...
推荐系统概述
FunRec推荐系统
Start: 2025.12.15
End: 2025.
Check:
章节
(一)
(二)
(三)
(四)
(五)
(六)
1、系统概述
12.15
\
\
\
\
\
2、召回模型
12.15
12.16
12.17
\
\
\
3、精排模型
12.17
12.18
12.18
12.18
12.18
\
4、重排模型
12.18
12.18
\
\
\
\
5、难点热点
12.18
12.18
12.18
\
\
\
6、项目实践
12.19
12.19
12.20
12.21
12.21
12.21
7、面试经验
01.12
01.12
01.12
01.12
01.12
\
12.22
完全跑通搞懂 项目实践 思考提升,询问提升方案;
看完剩下的 面试经验,打印纸质版。
12.23
寻找并跑通1个创新的 召回/排序 项目;
更新简历。
12.24 投简历,找实习!
复习 面试经验 纸质;
重温 力扣HOT100 全书;
刷 热门题机刷 一遍。
岗位:推荐算法岗位
企业:小红书、美团、阿 ...
CS336(1):Basics
CS336(1): Basics
资料来源:斯坦福CS336: Language Modeling from Scratch
国内视频:B站 - (中英字幕完结)斯坦福CS336:从头开始构建大模型 | 2025年
本章包含课程:第 1、2 课
1. Tokenization
Tokenizer: strings <-> tokens (indexes)
基于字符、基于字节、基于单词的标记化非常次优。
BPE是一个有效的启发式查看语料库统计。
标记化是一种必要的弊端,也许有一天我们会从字节来做…
1.1 Character-based tokenization
直接按照 Unicode 字符编码分词即可。
问题1:这是一个非常大的词汇表。大约有150K个Unicode字符。
问题2:许多字符非常罕见(例如🌍),这是对词汇表的低效使用。
1234567891011121314151617181920class CharacterTokenizer(Tokenizer): """Represent a string as a ...
Transformer 开山之作
Transformer 开山之作
论文链接:https://arxiv.org/abs/1706.03762v7
视频讲解:Transformer论文逐段精读【论文精读】
模型架构
Encoder
编码器(左)Encoder:(可以有N个)
Multi-Head Attention 层
Feed Forward 层(本质上就是MLP)
上述两者在输出后都残差连接Residual Connection 和层归一化Layer Normalization。
即 LayerNorm(x+Sublayer(x))LayerNorm(x+ Sublayer(x))LayerNorm(x+Sublayer(x))
固定输出维度 dmodel=512d_{model} = 512dmodel=512
Decoder
解码器(右)Decoder:(可以有N个)
Masked Multi-Head Attention 层
Multi-Head Attention 层
Feed Forward 层
第一个注意力层需要 Masked,是为了模拟预测的状态,不会提前知道后续词。
第二个注意 ...
大模型推荐系统 (应用)
阅读书籍: 《大模型推荐系统 | 算法原理、代码实战与案例分析》刘强
数据集来源:
MIND 新闻数据集对应论文MIND: A Large-scale Dataset for News Recommendation
Amazon 电商数据集
注:大型文件包工具git-lfs、强化学习训练工具trl
大模型在电商推荐中的应用
1、冷启动
1.1 数据准备
由于涉及冷启动商品生成模拟的用户行为,因此需要确定哪些是冷启动商品。
将用户行为数据按照时间排序,前 70%作为训练样本,后 30%作为测试样本。
只在测试数据中出现但不在训练数据中出现的商品就被认为是冷启动商品。
代码cold_start/utils/utils.py
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 ...
大模型推荐系统(4)直接推荐范式
阅读书籍: 《大模型推荐系统 | 算法原理、代码实战与案例分析》刘强
数据集来源:
MIND 新闻数据集对应论文MIND: A Large-scale Dataset for News Recommendation
Amazon 电商数据集
注:大型文件包工具git-lfs、强化学习训练工具trl
直接推荐范式
利用大模型的上下文学习进行推荐
1、上下文学习推荐基本原理
当模型参数规模足够大时,大模型本身就具备非常强的泛化能力。基本能够直接使用这类大模型进行个性化推荐。
只需要使用特定提示词激发大模型的推荐能力就可以将其用于下游推荐任务,而无需进行任何微调,这种能力就叫做上下文学习,分为 zero-shot 和 few-shot 的。
另外,可以分解任务,逐步解决,叫做思维链能力。
注意,在经典的召回->排序推荐范式下,直接推荐范式其实是利用大模型进行排序,即对召回的候选物品进行排序。召回阶段使用其他推荐算法。
2、案例
2.1 LLMRank 实现
构造用户历史交互序列(方法:顺序提示词、关注最近行为的提示词、上下文学习提示词)
构造抽取候选集(方法:多路召回后 ...
大模型推荐系统(3)微调范式
阅读书籍: 《大模型推荐系统 | 算法原理、代码实战与案例分析》刘强
数据集来源:
MIND 新闻数据集对应论文MIND: A Large-scale Dataset for News Recommendation
Amazon 电商数据集
注:大型文件包工具git-lfs、强化学习训练工具trl
微调范式
微调大模型进行个性化推荐
1、微调的方法
指令微调
RLHF
2、案例
2.1 TALLRec 微调框架
指令数据模版的构建
二次微调的原理(指令微调、推荐微调)
2.2 GIRL:基于人类反馈的微调框架
三种 JD 推荐范式
常规的工作推荐
生成式工作推荐
生成增强的工作推荐
基于 RLHF 的 JD 生成框架
监督微调
奖励模型训练
PPO 更新参数
生成加强的 JD 推荐方案
3、基于 MIND 数据集实现微调
3.1 数据准备
转换得到 LoRA微调所需的格式:
文件generate_json_data.py
123456789101112131415161718192021222324252627282930313233343536373 ...
大模型推荐系统(2)预训练范式
阅读书籍: 《大模型推荐系统 | 算法原理、代码实战与案例分析》刘强
数据集来源:
MIND 新闻数据集对应论文MIND: A Large-scale Dataset for News Recommendation
Amazon 电商数据集
注:大型文件包工具git-lfs、强化学习训练工具trl
预训练范式
通过大模型预训练进行推荐
1、预训练的一般思路与方法
1.1 预训练数据的准备
直接利用用户行为序列
将用户行为序列 ID 转为相关文本
在用户行为序列中整合用户的特征
1.2 大模型架构的选择
BERT4Rec
PTUM
P5
M6-Rec
1.3 大模型预训练
Transformers 库
苹果 MLX 框架
1.4 大模型推理
Transformers 库
llama.cpp推理
2、案例
2.1 基于 PTUM 架构的预训练推荐系统
PTUM : Pre-Training User Model
掩码行为预测
后续行为预测
2.2 基于 P5 的预训练推荐系统
P5: Pretrain, Personalized Prompt, and ...
大模型推荐系统(1)生成范式
阅读书籍: 《大模型推荐系统 | 算法原理、代码实战与案例分析》刘强
模型选用:
sentence-transformers/all-MiniLM-L6-v2
数据集来源:
MIND 新闻数据集对应论文MIND: A Large-scale Dataset for News Recommendation
Amazon 电商数据集
注:大型文件包工具git-lfs、强化学习训练工具trl
生成范式
大模型生成特征、训练数据与物品
1、大模型生成嵌入特征
1.1 利用 sentence-transformers 框架嵌入
见下方代码
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859"""利用sentence_transformers框架来实现一个最简单的个性化推荐:1. 用户嵌入:用户浏览过的新闻的嵌入的平均值2. 预测:利用用户嵌入与新闻嵌入的cosine余弦"&qu ...








