目录
概
通过指令跟随来利用大模型进行推荐, 本文介绍了不同的指令的模板, 覆盖多种任务场景.
InstructRec
- 首先作者对用户的偏好, 意图, 和推荐的任务类型进行了分类:
-
Preference:
- None (\(P_0\)): 即我们对用户没有任何了解, 对应那些冷启动用户;
- Implicit (\(P_1\)): 即我们有用户的一些历史交互记录;
- Explicit (\(P_2\)): 显式的信息, 可以是用户对商品的打分.
-
Intention:
- None (\(I_0\)): 即用户没有特别的意图;
- Vague (\(I_1\)): 用户意图比较模糊, 通常指代一些模糊的需求, 比如"我要给我儿子买礼物";
- Specific (\(I_2\)): 很直接的意图, 比如 "蓝色,便宜, iPhone13".
-
Task Form:
- Pointwise recommendation (\(T_0\)): 即给一个候选的商品, 判断是不是适合用户;
- Pairwise recommendation (\(T_1\)): 从一对商品中选择更合适的;
- Matching (\(T_2\)): 要求给出一些合适的候选商品;
- Reranking (\(T_3\)): 要求给一系列候选商品重排序.
-
有了对偏好/意图/任务的区分后, 我们就会有多种模板, 本文主要考虑如下的几种:
Instruction Generation
-
当然, 上面只是给出了一些模板, 倘若我们希望大模型能够具备指令跟随的能力, 还需要一些数据去训练, 也就是生成一些具体的指令用于微调.
-
本文通过一个较强的大模型 (如 GPT-3.5) 去生成指令.
-
实际上, 假设我们有用户的一些的历史交互信息, 也就是说我们有了用户了隐式的偏好, 我们可以让 GPT-3.5 借此给出用户的一个实际偏好, 于是就会有一条 \(\langle P_2, I_0, T_3 \rangle\) 的指令. 其它的指令可以类似地得到, 具体请看原文.
-
最后的训练, InstructRec 是用在 Fan-T5-XL 的基础上进行的优化.