提纲
1 简介
2 Efficient prompt retrieval
3 Topic model
4 Markov Decision process
5 总结
参考文献
1 简介
在上周我们介绍了一些关于
demonstration selection 的无监督方法, 在 NLP 任务下,大部分情况下监督学习的方法虽然对于数据有更多要求,但在效果上也会有一定提升。于是在这里介绍若干种对应的demonstration selection监督学习方法。
2 Efficient prompt retrieval
无监督方法中的样本检索都没有参数更新阶段,于是就有研究提出一种利用监督数据来训练检索器,
EPR ,从而为 ICL 去检索更加合适的 prompt 。具体流程如下
a)
生成训练数据, 利用目标文本 y 跟一个简单检索方法( BM25 或者 SBERT )从训练数据中检索得到候选样本。
b)
对候选样本排序, 利用一个打分语言模型,计算在给定某个候选样本跟测试输入 x 条件下,生成目标 y 的概率,作为该候选样本的分数。选择得分最高的若干个候选样本作为正样本,得分最低的若干个样本作为负样本。
c)
模型训练,设计一个输入编码器(负责对测试输入 x 进行编码),跟 prompt 编码器(负责对检索得到的样本进行编码),使用向量内积作为相似度度量,通过对比学习的方式对该双塔模型进行训练。
d)
推理,事先利用训练好的 prompt 编码器将所有训练数据编码成对应的向量并存进 faiss 库中,对于每个测试输入 x ,通过输入编码器得到对应的向量后,直接在 faiss 库中检索得到最相似的 K 个训练作为当前的 demonstration 示例,以及样本之间的顺序。
图1: EPR框架
图2: EPR效果对比
从实验结果上看EPR效果明显优于无监督的方法,也从侧面验证了利用语言模型对数据打分的可靠性(第二步),另外, **训练时利用y检索,而推理时只能通过x检索之间的gap,也是因为发现了这里的监督信息y对于训练得到一个更好的检索器有帮助才这种设置的。**
3 Topic model
Demonstration selection所挑选的示例都是针对特定任务跟模型的,也就是换个任务甚至数据集demonstration就不生效了。于是有研究 **将LLM视作主题模型,从每个任务中推断出对应的主题隐变量,然后从训练数据中选择可以使得该主题隐变量最大的样本作为demonstration示例。**
图3: Topic model流程图
整个过程分为两阶段,第一阶段是主题变量推断,第二阶段是选择合适的示例。
a)
Latent concept learning, 选定一个任务,在语言模型的词表中插入c个新token,作为该任务的标识 ,如果有S个任务,那么总共会插入cS个新token。初始化这cS个新token的embedding,随机抽样训练数据, 在给定x跟任务标识token的条件下去预测对应的y,从而更新对应的任务标识token对应的参数,也称为主题隐变量。(就是prefix tuning,就是换了种说法)
图4: Latent concept learning算法流程
b)
Demonstration selection,通过上一步后,对于每个任务,我们得到对应的主题隐变量,可 以计算在给定每个训练数据中x跟y的条件下主题隐变量的概率,选择其中概率最大的K个样本作为该任务下的demonstration示例。并且 计算这K个样本的不同排序下主题隐变量的概率,从而对这K个样本进行排序,得到最终的demonstration。
图5: 几种demonstration selection效果对比
这种将语言模型视作主题模型的方式看起来还是蛮合理的,从效果上也是明显优于随机选择或者根据语义相似度选择的无监督方法,并且也 **发现了在GPT2任务推断出的demonstration也能泛化到GPT3中,这说明了这种方式还是学到了数据的真实分布。除此之外,也发现了demonstration中的label信息y必须是正确的,否则会严重损害ICL表现。**
4 Markov Decision process
由于demonstration的空间跟样本库数量是一个指数关系,很难考虑所有可能的排列,于是有研究提出 **将demonstration的选择跟排序视作一个序列决策问题,利用马尔可夫决策过程去解决。给定一个样本池,每次选择一个样本加入当前的demonstration中,重复这个过程直到demonstration里包括k个样本或者遇到停止信号。**
**在这个场景下,状态state是当前的demonstration内容(不完整),action空间是样本池中所有样本以及停止信号,reward是语言模型利用state+当前action构成的demonstration在验证集中的准确率** 。定义好强化学习里这几部分内容后,利用一个三层MLP网络就可以训练对应的Q网络。
通过这种方式训练得到的Q-network可以泛化到新任务,但是在新模型上的泛化能力就有所差异,不一定适用。
总结
Demonstration selection中监督学习方法,相比于无监督方法在效果上有明显提升,而且大多也考虑了demonstration中样本的顺序。但是目前而言,还是对训练数据有一定要求,需要进一步考虑到在新任务,新模型上的的泛化能力,如果从高资源场景下训练的模型可以很好的迁移到低资源场景,就更符合ICL在few-shot甚至zero-shot任务下的定位了。
参考文献
Learning To Retrieve Prompts for In-Context Learning
https://aclanthology.org/2022.naacl-main.191.pdf
Large language models are implicitly topic models: Explaining and finding good demonstrations for in-context learning.
https://arxiv.org/pdf/2301.11916.pdf
Active Example Selection for In-Context Learning