type
status
date
slug
summary
tags
category
icon
password
URL
 
 
Preview
notion image
 

1.Motivation & Background

 
比起小模型,大模型有一个很重要的涌现能力(Emergent ability)就是In-Context Learning(ICL),指在不进行参数更新的情况下,只在输入中加入几个示例就能让模型进行学习。这样大模型可以根据需要,只在prompt中加入不同的input-ouput示例,就完成众多不同的任务,此外,ICL对于标注数据稀缺的领域有至关重要的作用,它大大降低了对标记数据的需求。
ICL的能够有效学习的关键在于选择示例的质量,更高质量的In-context示例可以更充分的发挥LLM的能力,而低质量的In-context示例可能对任务没有帮助,甚至降低LLM生成质量。人工检验高质量In-context样本效率低且工作量大。
 
有没有一种方法可以训练一个大模型用以鉴别In-context样本中的高质量样本?
 
 
 

2.Contribution

 
LLM-R:一套给LLM提取高质量上下文样本的训练框架。
 

3.Method

3.1 Overview

Method Pipeline
Method Pipeline
 
Dense Retrieval & Sparse Retrieval
Dense Retrieval: 用密集向量进行query和document之间的语义匹配 (Language model embeddings)
Sparse Retrieval: 用稀疏向量进行query和document之间的语义匹配(Bag of Words representations[TF-IDF(词频-逆文档频率), BM25])
Diff/Retrieval
Dense Retrieval
Sparse Retrieval
vector
Dense
Sparse
match
semantic-match
exact-match
Open-domain QA
Open-domain question answering(QA)任务是使用大量文档的集合回答事实性问题。现今常用的解决方法可以抽象成两个组成部分:context retriever + machine reader。其中,context retriever根据问题筛选相关文档子集,machine reader基于相关文档子集得到问题的答案。
notion image
Cross-Encoder & Bi-Encoder
Bi-Encoder & Cross Encoder 示意图
Bi-Encoder & Cross Encoder 示意图
  • Bi-Encoder:语句A和B独立的传给BERT, 得到二者对应的Embeddings, 通过对语句Embeddings上做余弦相似度得到语句A和语句B的相似度。
  • Cross-Encoder:两条语句同时传给Transformer网络,得到一个介于0和1之间的数(相似度),Cross-Encoder不会产生Embeddings
    • 通常基于交互式模型(cross-encoder)的段落精排模型比基于双塔模型(dual-encoder)的段落检索模型具有更强的排序能力
    • 受限于计算效率,cross-encoder通常只被应用于精排阶段,而bi-encoder由于Faiss等检索工具的出现,拥有更高的大规模检索效率,通常被应用于检索(召回)阶段。
    • 我们可以蒸馏能力更强的cross-encoder的知识到bi-encoder中,从而提升bi-encoder的能力
  • Sentence-BERT这篇paper中:Cross-Encoder取得了Bi-Encoder更好的性能
  • 小结:
    • 在需要Embeddings的应用中使用Bi-Encoder, 如Information Retrieval , Semantic Search, CLustering(方便scale,性能稍弱)
    • 对于小规模获取语义相似度的时候可以用Cross—Encoder(性能好,scale能力差)
Cross-Encoder架构的reward model和Bi-Encoder架构的dense retrieval的原因
  • cross-encoder 能力更强, 通过蒸馏将reward model的能力传到dense retrieval
  • 为了更高效的Inference,需要用Bi-Encoder做retrieval
  • cross-encoder计算效率低,但是对于retrieve出来的k个candidate,数据量小,可以有很好的performance
Reward Model & Dense Retrieval
Reward Model → Cross Encoder
Dense Retrieval → Bi-Encoder

3.2 Training Data Generation

 
notion image

3.3 Reward Modeling

 
Reward model 用于捕捉LLMs对于抽取到的候选In-context 样本的偏好性,并且对dense retriever提供一种细粒度的监督
detail
与基于Bi-Encoder的Dense Retrieval 模型相比,Reward Model能够实现输入之间的全面交互,并因此可以充当教师模型。
LLM-R这套pipeline每次用最新的dense retrieval抽取出一个新的candidate集合,并进行多轮迭代,reward model因此可以为蒸馏过程提供更多soft-labels
 
notion image
 
  • 训练样本:
  • 正样本:
  • 个负样本:
reward model 将作为输入, 得到其分数, 负样本同理
 
最小化以下Cross-Entropy损失函数:
reward model 对 dense retriever提供了监督并且可以访问真实标签
 
 

3.4 Training LLM Retrievers with Knowledge Distillation

 
Distil:
  • why: 传递两个模型的信息
  • how: 自适应地减少两个分布的差异
 
KL散度作为蒸馏的loss, 评估reward model分布和dense retriever分布匹配的程度:
detail
只在Hard Negative Examples上进行计算
Hard Negative Example
在训练一个分类器的时候,对数据的要求是class balance,即不同标签的样本量都要充足且相仿。然而,这个要求在现实应用中往往很难得到保证。
why hard negative:
类别不平衡时,无用的易分反例样本(easy negative sample)会使得模型的整体学习方向跑偏,导致无效学习,即只能分辨出没有物体的背景,而无法分辨具体的物体。(因为在使用cross-entropy loss做mini-batch SGD时,是大量的样本产生的loss average之后计算gradient以及实施参数update。这个average的操作是有问题的,因为一个batch里面easy sample占绝大多数,hard sample只占很少部分,如果没有re-weighting或者importance balancing,那么在average之后,hard sample的contribution完全就被easy samples侵蚀平均抹掉了。事实上,往往这些hard samples,才是分类器性能进一步提升的bottleneck(hard sample:很少出现但是现实存在的那些极端样本,比如车辆跟踪中出过事故的车辆。))
what:
困难负样本(Hard Negative Example)是指哪些容易被网络预测为正样本的proposal,即假阳性(false positive)
  • 分类任务:虽然是负样本,但其预测为正的概率较高(如果p=0.5则判断为正样本,那么p=0.49就属于hard negative)
  • 检测任务:如roi里有二分之一个目标时,虽然它仍是负样本,却容易被判断为正样本,这块roi即为hard negative;
  • 度量学习:与anchor(正样本)距离较近的负样本就是hard negative
Confusion Matrix
Confusion Matrix
Hierarchy of Metrics from raw measurements / labeled data to F1-Score.
notion image

InfoNCE loss作为对比损失,将reward分数最高的样本作为正样本, Retriever的损失函数是上述两种loss的加权和:
Contrastive loss
对于一个对比预测任务, 个i而定包含正样本对(如)的集合, 对比预测的任务就是给定, 从数据集合 中找到
采样个样本作为一个minibatch,通过数据增强,得到数据点, 对于一组正样本对, 其他个样本都将被看作负样本,
正样本对间的损失函数:
其中是温度参数
 
  • 迭代式训练
    • 轮的retriever可以用来选取第轮的In-context样本
    • 初始的retriever采用BM25
    • 用迭代的方式更好的挖掘正样本(positive examples)和难反例(hard negative examples)
 

3.5 Evaluation of LLM Retrievers

Task Pipeline
Task Pipeline
 

4.Experiment & Analysis

 

4.1 Setup

  • 数据集:9个领域30个数据集
黄色数据集包含在训练数据中
黄色数据集包含在训练数据中
  • LLM: LLaMA-7B
  • reward model: 初始为
  • baseline:
    • zero-shot prompting
    • k-means clustering
    • random selection
    • BM25
    • 现有的两种优秀retriever:
      • SBERT(all-mpnet-base-v2)
      • E5-base
       

4.2 Results

 
notion image
 
  • BM25算法式一个较强的Baseline, 与现有两种retriever方法差距很小
  • LLM-R在BM25进行retrieve的基础上胜过了现有retriever(62.1 → 65.7)
  • LLM-R两轮迭代后进一步提升了Avg score
  • LLM-R再继续迭代并没有产生显著的性能提高, 可能是模型已经收敛。
 

4.3 LLM-R的泛化性

 
  1. LLM-R在未见过数据集上进行retrieve的性能
notion image
 
  • 与现有retriever模型相比有平均5.4的提升
 
  1. 用其他LLM下LLM-R的表现
    1. LLM-R是基于LLaMA-7B(Frozen LLM)训练的,为了评估其在不同LLM上的泛化能力, 选取了:
      • GPT-Neo-2.7B
      • LLaMA-13B
      • GPT-3.5-Turbo
      notion image
 
Result:
  • 不同LLM下的LLM-R都胜过了同情况下的BM25算法
  • LLM-R对不同参数量级的模型有不同程度的提升
    • 小量级模型提升显著,大量级模型提升较小
    • 小量级模型没有那么强大,高质量的In-context样本可以大幅提升其表现
 
 

4.4 LLM-R何时是有效的?

 
之前的实验都是用多个数据集/任务下的平均值(avg)来衡量LLM-R的表现 忽视了LLM-R在特定任务上的表现 ⭐ LLM-R在某些任务上的表现会比baseline更好, 在一些任务上甚至有反作用(下降)
 
Task split:
Knowledge-Intensive:
(知识密集)
解决任务需要模型具备一些常识(commonsense)、复杂推理(complex reasoning)或者需要记住事实知识(memorized factual knowledge)
  • Knowldege-Intensive: NQ(Natural Question) dataset, OpenBook QA
  • Not Knowledge-Intensive:
notion image
 
LLM-R在两类任务下的性能提升:
notion image
  • LLM-R在知识密集型任务上性能提升普遍较低,这些任务更依赖于LLM的推理和知识记忆的能力
    • NQ
      关于NQ数据集, 由于其train data和test data有一部分重合(test 问题一部分是train问题的改写),这可能是其表现较好的原因
      SQuAD v1
      在SQuAD上, LLM-R的表现比随机选择In-context样本的baseline性能还差,可能是由于SQuAD很多问题用同样的一段文本作为上下文, 这导致LLM-R获取到的样本的多样性有限,从而导致LLM-R的性能弱于baseline
 

5.Conclusion

 
论文介绍了LLM-R, 一种迭代式的为LLM提取高质量in-context样本的训练框架,这个框架利用冻结的LLM对提取到的上下文样本进行排序,之后用reward model捕捉大模型排序的偏向性,对reward model进行知识蒸馏得到提取器(dense retriever)。
Method Pipeline
Method Pipeline
 
LLM-R在多种任务下进行实验的结果证明了LLM-R对LLM推断有不同程度的提升,文章还分析了不同因素对于LLM-R的影响,并给出来了LLM-R对于不同任务的适用性分析。
 
 
 

Reference:

  1. Qu, Yingqi, et al. "RocketQA: An optimized training approach to dense passage retrieval for open-domain question answering." arXiv preprint arXiv:2010.08191 (2020).
  1. Ren, Ruiyang, et al. "Rocketqav2: A joint training method for dense passage retrieval and passage re-ranking." arXiv preprint arXiv:2110.07367 (2021).
  1. Karpukhin, Vladimir, et al. "Dense passage retrieval for open-domain question answering." arXiv preprint arXiv:2004.04906 (2020).
  1. InfoNCE loss: https://zhuanlan.zhihu.com/p/506544456
  1. Bi-Encoder & Cross-Encoder: https://www.sbert.net/examples/applications/cross-encoder/README.html
  1. EMNLP 2021 | RocketQAv2:https://zhuanlan.zhihu.com/p/424177642
  1. Hard Negative Mining: https://blog.csdn.net/xys430381_1/article/details/92801787
  1. SimCLR | Contrasitive Loss: https://zhuanlan.zhihu.com/p/258958247
  1. Chen, Ting, et al. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.
  1. Relation of precision, F1-Score and Recall:https://towardsdatascience.com/a-look-at-precision-recall-and-f1-score-36b5fd0dd3ec
 
Review of AgentbenchReview of WizardLM

  • Twikoo
  • Giscus
  • Utterance