type
status
date
slug
summary
tags
category
icon
password
URL
1.Motivation & Background2.Contribution3.Method3.1 Overview3.2 Training Data Generation3.3 Reward Modeling3.4 Training LLM Retrievers with Knowledge Distillation3.5 Evaluation of LLM Retrievers4.Experiment & Analysis4.1 Setup4.2 Results4.3 LLM-R的泛化性4.4 LLM-R何时是有效的?5.ConclusionReference:
Preview
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
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基于相关文档子集得到问题的答案。
Cross-Encoder & Bi-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
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
- 训练样本:
- 正样本:
- 个负样本:
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
Hierarchy of Metrics from raw measurements / labeled data to F1-Score.
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
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
- BM25算法式一个较强的Baseline, 与现有两种retriever方法差距很小
- LLM-R在BM25进行retrieve的基础上胜过了现有retriever(62.1 → 65.7)
- LLM-R两轮迭代后进一步提升了Avg score
- LLM-R再继续迭代并没有产生显著的性能提高, 可能是模型已经收敛。
4.3 LLM-R的泛化性
- LLM-R在未见过数据集上进行retrieve的性能
- 与现有retriever模型相比有平均5.4的提升
- 用其他LLM下LLM-R的表现
- GPT-Neo-2.7B
- LLaMA-13B
- GPT-3.5-Turbo
LLM-R是基于LLaMA-7B(Frozen LLM)训练的,为了评估其在不同LLM上的泛化能力, 选取了:
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:
LLM-R在两类任务下的性能提升:
- 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)。
LLM-R在多种任务下进行实验的结果证明了LLM-R对LLM推断有不同程度的提升,文章还分析了不同因素对于LLM-R的影响,并给出来了LLM-R对于不同任务的适用性分析。
Reference:
- Qu, Yingqi, et al. "RocketQA: An optimized training approach to dense passage retrieval for open-domain question answering." arXiv preprint arXiv:2010.08191 (2020).
- Ren, Ruiyang, et al. "Rocketqav2: A joint training method for dense passage retrieval and passage re-ranking." arXiv preprint arXiv:2110.07367 (2021).
- Karpukhin, Vladimir, et al. "Dense passage retrieval for open-domain question answering." arXiv preprint arXiv:2004.04906 (2020).
- InfoNCE loss: https://zhuanlan.zhihu.com/p/506544456
- Bi-Encoder & Cross-Encoder: https://www.sbert.net/examples/applications/cross-encoder/README.html
- EMNLP 2021 | RocketQAv2:https://zhuanlan.zhihu.com/p/424177642
- Hard Negative Mining: https://blog.csdn.net/xys430381_1/article/details/92801787
- SimCLR | Contrasitive Loss: https://zhuanlan.zhihu.com/p/258958247
- Chen, Ting, et al. "A simple framework for contrastive learning of visual representations." International conference on machine learning. PMLR, 2020.
- Relation of precision, F1-Score and Recall:https://towardsdatascience.com/a-look-at-precision-recall-and-f1-score-36b5fd0dd3ec
- 作者:GTX
- 链接:https://blog.gongtx.org/article/7b3d5c56-ff11-4a11-b313-2905cb16a3c0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章
2023-11-03
Woodpecker: Hallucination Correction for Multimodal Large Language Models
2023-10-25
Automatically Correcting Large Language Models: Surveying the landscape of diverse self-correction strategies
2023-10-20
RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation
2023-09-06
Review of Agentbench
2023-08-25
Review of WizardLM
2023-08-24
LLM for Science — An Attempt to Solve Partial Differential Equations