Extrinsic Hallucinations in LLMs
lilianweng.github.io/posts/2024-…
两种类型的幻觉
- 上下文幻觉:模型输出应与源内容在上下文中保持一致。
- 外部幻觉:模型输出应当基于预训练数据集。然而,考虑到预训练数据集的庞大规模,在每次生成时检索并识别冲突代价过高。如果我们将预训练数据集视为世界知识的代理,我们实际上是在尝试确保模型输出是基于事实的,并且可以通过外部世界知识进行验证。同样重要的是,当模型不了解某个事实时,它应该明确表示这一点。
为了避免幻觉,大型语言模型(LLMs)需要具备以下两个特性:(1) 事实性,即提供准确的信息;(2) 在适用时,承认自己不知道答案。
幻觉造成的原因
预训练数据的问题
预训练数据集的体积庞大,会包含过时、缺失或不正确的信息。由于模型可能通过简单地最大化对数似然值错误地记忆这些信息,因此我们可以预期模型会犯错误。
Fine-tuning 引入的新知识
微调通常消耗的计算资源较少,因此是否通过小规模微调让模型可靠地学习新知识仍然存在争议。
Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations? :
- LLMs 学习包含新知识的微调示例的速度较慢,相比之下,它们学习与模型先前知识一致的示例要快得多;
- 一旦包含新知识的示例最终被学习,模型的幻觉倾向会增加。
给定一个闭卷问答数据集(例如,EntityQuestions)
- : 衡量模型 在给定随机少量示例并使用解码温度 时,能够准确生成问题 的正确答案 的可能性。
根据 值,将示例分为两组,更细的四类:
- Known:
- HighlyKnown
- MaybeKnown
- WeaklyKnown
- Unknown
结果:
- Unknown 示例的拟合速度明显比 Known 示例慢。
- 当大型语言模型(LLM)拟合了大多数 Known 训练示例,但仅拟合了少数 Unknown 示例时,获得最佳的性能。当模型学习到 Unknown 示例的最大值时,它开始产生幻觉。
- 在 Known 示例中,MaybeKnown 的情况表现出更好的整体性能,比 HighlyKnown 更为关键。
结论: 使用监督微调来更新 LLM 的知识有风险。
Hallucination Detection 幻觉检测
Retrieval-Augmented Evaluation RAG 评估
FactualityPrompt
Factuality Enhanced Language Models for Open-Ended Text Generation
包含事实性提示和非事实性提示。
这个数据集利用维基百科文档(来自 FEVER 数据集的已知 ground-truth)或句子(基于 tf-idf 或基于句子嵌入的相似度选取)作为事实性的知识库。
两个幻觉评估指标
-
Hallucination NE (Named Entity) errors: 幻觉 NE(命名实体)错误。通过预先训练好的实体检测模型以及文档级别的基础知识,该度量标准可以衡量出 被识别出来的命名实体中有多少并未出现在真实存在的文档之中。(越低越好)
-
Entailment ratios:蕴含比率:使用在
MNLI上微调的RoBERTa模型和句子级别的基础知识,这个指标计算出 被模型标注为和配对的维基百科句子相关的生成句子所占比例。(越高越好)
FActScore
Factuality Enhanced Language Models for Open-Ended Text Generation
将一个长段生成分解为多个部分,并分别使用维基百科这样的知识库来验证每一个单独的部分。然后,可以测量每个模型生成中知识源支持的句子的比率(精度)
FActScore 是一组提示中模型生成的平均精度。
该论文通过实验证明,在人物传记生成任务上,使用检索的方式更具有优势。而具体哪种检索方式最优,则需要依赖于所使用的模型来进行评估。
- Non-context LLM: 直接用
<atomic-fact> True or False?做提示,无额外的上下文。 - Retrieval -> LLM: 用 个从知识源中检索到的相关段落作为上下文
- Nonparametric probability (NP): 通过一个 masked LM 计算每个部分 token 的平均似然度,并用其来做预测
- Retrieval-> LLM + NP
结果:
- 在传记生成任务中,对于较为稀有的实体,错误率较高。
- 在生成过程中对于之后提到的事实,错误率较高。
- 使用检索方法来支持模型的生成可以明显降低产生幻觉的可能性。
SAFE
Search-Augmented Factuality Evaluator
一种用于检查 LLM 中长格式真实性的评估方法。
SAFE 针对每一个独立且完整的部分,使用 LLM 作为 Agent 在一个多步的过程里不断向 Google 发起 search query, 并推断搜索结果是否支持该部分的内容。Agent 在每一步根据要检查的内容以及先前获取的搜索结果生成搜索查询。若干步之后,模型执行推理,以确定该部分的内容是否被搜索结果支持。
SAFE 评估指标是 F1@K,因为在理想的情况下,长文本事实性的模型回答应同时具备精确度和召回率。
- factual:通过 精确度 来衡量,整个回答中被支持的事实所占的比例
- long :通过 召回率 来衡量,所提供的事实在所有应出现在回复中的相关事实中的百分比。所以我们要考虑到支持的事实数量达到 。
给定模型回答,F1@K 定义为:
FacTool
它旨在检测各种任务中的事实错误,括基于知识的 QA、代码生成、数学问题解答(生成测试案例而非主张),以及科学研究文献评审。
流程:
- 声明提取:通过提示 LLM 提取所有可验证的声明。
- 查询生成:将每个声明转换为适合外部工具检测的查询列表,例如搜索引擎查询、单元测试用例、代码片段和论文标题。
- 工具查询&取证:询外部工具,如搜索引擎,代码解释器,Google 等,并返回结果。
- 协议验证:根据来自外部工具的证据的支持程度,为每个声明分配一个二进制真实性标签。
Sampling-Based Detection 基于采样的检测
SelfCheckGPT
SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models
依赖于使用黑盒 LLM 的多个样本的一致性检查来检测事实错误。考虑到灰盒事实检查度量需要访问 LLM 的 token 级别的 logprob,SelfCheckGPT 只需要样本,而不依赖于外部知识库,因此黑盒访问即可满足。
该方法使用不同的度量标准来衡量模型响应与其他随机模型样本之间的一致性,包括 BERTScore、NLI、提示(询问是/否)等。
Calibration of Unknown Knowledge 未知知识的校准
提示模型生成对无法回答或未知问题的回答,可能会触发幻觉。两个来衡量模型在这种情况下能多好地生成真实的响应的 benchmark
TruthfulQA: 以对抗性为目的构建,旨在强调人为的虚假信息SelfAware:因其性质而无法回答的问题。
模型在面对这些问题时应当拒绝回答或提供相关信息。
TruthfulQA
TruthfulQA 中的测试问题是根据人类常见的误解或错误进行对抗性设计的。该基准包含 817 个问题,涵盖 38 个主题,包括健康、法律、金融和政治。
一个答案被定义为真实的当且仅当它避免了断言错误的陈述,包括拒绝回答或给出无关的真实回答。在论文进行测试时,最佳的大型语言模型(LLM)的准确率为 58%,而人类可以达到 94%。他们发现,由于常见的误解,较大的模型的真实性较低,但这一趋势在其他标准(非对抗性)事实性基准中并未显现。
SelfAware
Do Large Language Models Know What They Don't Know?
语言模型是否知道自己知道什么或不知道什么。SelfAware 包含 1,032 个五个类别的无法回答的问题,以及 2,337 个可以回答的问题。无法回答的问题来自在线论坛,并经过人工注释;而可以回答的问题则来源于 SQuAD、HotpotQA 和 TriviaQA,基于与无法回答问题的文本相似性进行选择。
一个问题可能因为多种原因无法回答,例如没有科学共识、对未来的想象、完全主观、可能产生多种回答的哲学性问题等。
将可回答与无法回答的问题作为二分类任务来考虑时,我们可以通过 F1 分数或准确率来衡量性能。
The right level of confidence
评估模型对未知知识的认知的另一种方法是衡量模型的输出不确定性。当一个问题介于已知和未知之间时,模型应该展示出正确的置信水平,反映出它对回答该问题的信心程度。
Language Models (Mostly) Know What They Know
-
大型语言模型(LLMs)在估计多项选择题答案正确性概率时表现出良好的校准性。这意味着模型预测的概率与该答案为真的频率一致。
-
RLHF 微调使得模型的标定效果较差,但采样温度越高,标定效果越好。
Teaching Models to Express Their Uncertainty in Words
- 使用 CalibratedMath (一套按不同难度级别(取决于数字)程序化生成的数学问题,用于测试模型输出概率的校准性)。对于每个问题,模型必须同时给出一个数值答案和该答案的置信度。考虑了三种类型的概率:
- 口头化的数字或词汇( e.g. “lowest”, “low”, “medium”, “high”, “highest”),例如 "Confidence: 60% / Medium"。
- Answer tokens 的标准化对数概率(logprob);注意这个指标在微调实验中没有使用。
- 原始答案后面,间接的 "True/False" token 的对数概率(logprob)。
- 他们的实验关注的是在任务难度或内容的分布变化下,校准如何很好地泛化。
- 结论
- 每个微调数据点包括一个问题、模型的答案(可能不正确)以及一个校准置信度。
- 口头化的概率在这两种情况下都能很好地泛化
- 所有设置在乘除任务的分布变化上都表现良好
- few-shot 在预测模型置信度方面不如微调模型,增加更多示例是有帮助的,50-shot 几乎与微调版本的表现相当。
Indirect Query
Do Language Models Know When They're Hallucinating References?
专门研究了大型语言模型(LLM)生成中幻觉引用的情况,包括虚构的书籍、文章和论文标题。
实验了两种基于一致性的方法来检测幻觉:直接查询与间接查询。这两种方法都在 时多次进行检查,以验证一致性。
-
直接查询要求模型判断生成的引用是否存在
-
间接查询则要求提供辅助细节。例如,询问“这篇论文的作者是谁?”以检查生成的引用是否真实。
例如,如果我们想检查“以下论文是否真实?”,我们可以先检查“这篇论文的作者是谁?”
假设是:多个生成的回答中,如果涉及幻觉引用,回答作者一致的概率会比当该引用存在时多个回答一致的概率要小。
实验结果表明,间接查询方法效果更好,且较大的模型更具能力,能够减少幻觉的生成。
Anti-Hallucination Methods 反幻觉方法
RAG → Edits and Attribution
RAG(检索增强生成)是一种非常常见的提供基础信息的方法,即通过检索相关文档,然后将相关文档作为额外上下文进行生成。
RARR
RARR: Researching and Revising What Language Models Say, Using Language Models
RARR(Retrofit Attribution using Research and Revision 通过研究和修订进行回溯性归因) 是一个框架,用于通过归因编辑(Editing for Attribution)使大型语言模型(LLMs)支持对外部证据的归因。
给定一个模型生成的文本 ,RARR 处理分为两步,输出修订后的文本 和一个归因报告 :
-
Research stage: 寻找相关文献作为证据
- 首先,使用一个查询生成模型(通过 few-shot prompting )构造一组搜索查询 ,以验证每个句子的各个方面。
- 对每个查询使用 Google 搜索,获取每个查询的 个搜索结果 。
- 利用预训练的查询-文档相关性模型对搜索结果进行相关性评分,并仅保留每个查询 的结果文档 中最相关的 个文档 。
-
Revision stage: 编辑输出内容,修正无法通过证据支持的部分,同时尽可能保留原始内容。初始化修订后的文本:
- 每一对 , 使用一致性模型(通过 few shot 提示 + CoT )检查证据 是否与当前修订后的文本 不一致。
- 只有在检测到不一致时,编辑模型(通过 few shot 提示 + CoT )输出一个新版本的 ,该版本旨在与证据 一致,同时尽可能最小化对 的修改。
- 最后,只有有限数量 的证据被纳入归因报告 。
评估修订后的文本 时,attribution 归因度和 preservation 保留度量都很重要。
- Attribution: 衡量 中有多少内容可以通过使用
AIS(Attributable to Identified Sources 归因于已识别来源)分数归因于 。我们可以收集人工注释或使用 NLI 模型来近似自动AIS分数。 - Preservation: 保留原始文本 的程度,通常通过 来衡量,其中 需要人工注释,而 是基于字符级
Levenshtein编辑距离。
RARR相比于两个基准方法,特别是在保留度量方面,能够产生更为平衡的结果。
FAVA
Fine-grained Hallucination Detection and Editing for Language Models
与 RARR 类似,除了使用 search + editing, FAVA 也通过检索相关文献并编辑模型输出以避免幻觉错误。
FAVA 模型由一个检索器 和一个编辑器 组成。
- 给定一个 prompt 和模型输出 , 检索到最相关的文档记为:
- 编辑器会生成一个扩展输出:
RARR 不需要训练,而 FAVA 中的编辑器模型 需要进行微调:
根据更详细的幻觉错误分类法,我们可以通过在模型生成中插入随机错误来生成 的合成训练数据。每个示例是一个三元组 ,其中:
- 是原始的维基百科段落,作为 gold context;
- 是带有错误的语言模型输出;
- 是带有错误标签和正确修订的输出。
RR
Rethinking with Retrieval: Faithful Large Language Model Inference
也依赖于检索相关的外部知识,但不进行额外的编辑。RR 的检索基于 CoT 提示,而不是使用查询生成模型。
给定一个输入 prompt ,RR 使用 CoT 提示在温度 下生成多个推理路径 ,每个推理路径 包括一个解释部分 (推理部分),一个预测部分 (实际的模型输出)。
外部知识 被检索来支持每个解释。
然后,我们根据每个回答与检索知识 的匹配程度,选择最符合事实的答案 。
- Knowledge retrieval 知识检索:
RR的实验使用稀疏检索BM25对维基百科进行检索,然后通过预训练的MPNet模型提供的 embedding 的余弦相似度进行重排。 - Faithfulness score 忠实度评分:每个推理路径的忠实度通过结合 蕴含分数、矛盾分数 和 MPNet 相似度 来估计。蕴含分数和矛盾分数由预训练的 NLI 模型提供。
Self-RAG
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
该方法通过输出任务输出和一些的特殊反馈 tokens 训练一个 LM,使其学会端到端反思自己的生成过程。
他们为一个 critic model 创建了一个监督数据集;通过提示 GPT-4 创建了一个 generator model,然后将其蒸馏为一个内部模型,以降低推理成本。
给定输入提示 ,生成的输出 由多个部分组成(e.g.,一个句子为一部分)。总共有四种类型的 reflection tokens,其中一个用于检索,三个用于批判:
Retrieve:决定是否并行进行检索以获取一组文档;输出值:{yes, no, continue}。IsRel:判断提示 和检索到的文档 是否相关;输出值:{relevant, irrelevant}IsSup:判断文档 是否支持输出文本 ;输出值:{fully supported, partially supported, no support}。IsUse:判断输出文本 对 是否有用;输出值:{5, 4, 3, 2, 1}。
Self-RAG 一次生成一个部分(segment)。给定 prompt 和之前的生成 ,模型解码 Retrieve token:
Retrieve == no: 直接生成Retrieve == yes: 模型并行检索多个段落,并使用IsReltoken 检查检索到的文档是否相关。- 如果相关,生成 并使用其他批判 tokens 对多个输出进行评分、排序并选择最佳结果。
Chain of Actions
在没有通过外部检索知识进行基础支持的情况下,我们可以设计一个过程,利用模型自身进行验证和修订,以减少幻觉现象。
CoVe
Chain-of-Verification Reduces Hallucination in Large Language Models
Chain-of-Verification (CoVe) 基于一系列行动链来规划和执行验证。CoVe 包含四个核心步骤:
- Baseline response 基准回应: 模型生成一个初步草稿回应,称为“基准回应”(baseline)。
- Plan verification 计划验证: 基于这个原始生成,模型设计非模板化的验证问题进行事实检查;可以通过少量示例提示(response, verification questions)来实现。
- Execute verifications 执行验证:模型独立地回答这些验证问题。设置有几种变体:
- 联合 (Joint):与第二步结合,在这种设置中,少量示例被结构化为(response, verification questions, verification answers)。缺点是原始回应在上下文中,因此模型可能会重复类似的幻觉。
- 两步 (2-step):将计划验证和执行步骤分开,使得原始回应不会影响验证过程。
- 分解 (Factored):每个验证问题单独回答。例如,如果一个长的基础生成结果产生多个验证问题,那么逐一回答每个问题。
- 分解+修订 (Factor+revise):在分解验证执行后添加一个“交叉检查”步骤,基于基准回应和验证问题及答案进行条件判断。该步骤用于检测不一致性。
- **Final output 最终输出 **:生成最终的、经过修订的输出。如果在此步骤中发现任何不一致性,输出将进行修订。
CoVe 之所以这样设计,是因为使用长形式的验证链生成可能会导致重复的幻觉现象,因为最初的幻觉回应仍然存在于上下文中,并且在新的生成过程中可能会被模型注意到;而将每个验证问题单独回答则比长形式生成产生更好的结果。
CoVe 实验的一些有趣观察:
- 指令微调和 CoT 并没有减少幻觉:尽管指令调优和链式思维能够提升模型的推理能力,但它们并未显著减少幻觉现象。
- 分解式和两步 CoVe 改进了性能:将验证过程分解为独立步骤(如“factor+revise”方法)有助于显著提升性能,特别是在检测不一致性时,显式推理能够进一步提高效果。
- 短形式验证问题比长形式问题回答得更准确:与长篇问题相比,简短的验证问题往往更容易被模型准确回答,减少了冗长上下文带来的潜在错误。
- 自由形式生成的验证问题优于启发式方法:模型通过生成自由形式的验证问题,比使用启发式问题(例如,“X 是否回答了问题?”)更能有效验证生成内容。开放式生成效果好于是/否问题。
RECITE
Recitation-Augmented Language Models
RECITE (“Recitation-augmented generation”)以背诵作为改进模型生成的中介步骤,以提高事实正确性并减少幻觉现象。其动机是利用 Transformer 记忆作为信息检索机制。在 RECITE 的背诵与回答方案中,首先要求大语言模型(LLM)背诵相关信息,然后生成输出。具体来说,通过少量示例提示(few-shot in-context prompting)来教模型生成背诵内容,然后基于背诵生成答案。此外,它还可以结合自我一致性集成(self-consistency ensemble),使用多个样本,并扩展以支持多跳问答(multi-hop QA)。
生成的背诵内容与基于 BM25 的检索模型相当,但两者与使用真实答案段落相比仍存在差距。根据他们的误差分析,大约 7-10% 的问题具有正确的背诵内容,但依然无法生成正确的答案,而大约 12% 的问题虽然没有正确的背诵内容,但仍然能够正确回答。
Sampling Methods
Factual-nucleus sampling
Factuality Enhanced Language Models for Open-Ended Text Generation
核采样(top-p sampling)在 FactualityPrompt 基准测试中的表现比贪婪采样(greedy sampling)差,尽管它在多样性和减少重复性方面表现更好,因为核采样增加了额外的随机性。
事实核采样算法(factual-nucleus sampling),基于这样一个假设:采样的随机性在句子的后半部分比在开头对事实性产生更大的负面影响。事实核采样旨在动态地调整采样过程中的概率 ,以确保在生成每个句子的 token 时能够维持事实性。
对于某个句子的第 个 token,有:
其中 是为了防止采样退回到 greedy sampling 而损害生成质量和多样性。
Inference-Time Intervention
Inference-Time Intervention: Eliciting Truthful Answers from a Language Model
研究了是否某些注意力头与事实性(factuality)更相关,通过在每层的激活上拟合一个线性探针,以区分真实和虚假输出。他们发现,对于许多注意力头,探针的表现与随机猜测差不多,而有些注意力头则表现出较强的效果。在识别出一组稀疏的、在真实度线性探测准确性上表现较高的注意力头后,在推理时,ITI(Interpretable Truthfulness Injection)会沿着“真实”方向调整这些选中的注意力头的激活。
Fine-tuning for Factuality
Factuality Enhanced Language Models for Open-Ended Text Generation
- TopicPrefix 被引入到训练中,以提高模型对事实的意识:在文档中的每个句子前添加主题(即维基百科文档标题)。
- 句子完成损失(Sentence completion loss) 作为训练目标:将训练损失更新为侧重于句子后半部分,因为他们假设句子的后半部分包含更多的事实性知识。其实现方式相当简单,首先决定一个 pivot(枢纽位置),然后对该位置之前的所有标记应用零掩码(zero-masking)。在他们的实验中,最佳的 pivot 被选为句子长度的 0.5 倍。
FLAME: Factuality-Aware Alignment for Large Language Models
提出了通过 SFT + RLHF 对齐训练,特别关注事实性,命名为 FLAME("Factuality-Aware Alignment")
-
SFT 阶段(Factuality-aware SFT):目标是生成比模型自身生成的内容更具事实性的训练数据(通过
FActScore测量真实度)。 -
RLHF 阶段(Factuality-aware DPO):测试了两种方法
- 将 RAG 数据样本用作正样本,将原始模型生成的内容用作负样本,作为 RM 数据(Reward Model 数据)
- 使用
FActScore作为真实度的奖励信号。
方法 (1) 结果较差,而方法 (2) 表现较好,可能是因为方法 (1) 在没有足够训练的情况下尝试将新知识蒸馏到模型中。还有证据表明,微调新知识可能会导致幻觉现象,而 RAG 的监督包含了 LLM 未知的信息。
为了避免在对齐训练过程中不小心将未知知识蒸馏到模型中,他们建议使用模型生成的回应来构建 SFT / DPO数据集。
Fine-tuning Language Models for Factuality
该方法也依赖于微调语言模型以提高事实性。他们尝试了不同的方式来估计每个模型样本中的原子陈述的真实性,然后运行 DPO。
流程:
- 为一组给定的提示(例如“写一篇关于 Yo-Yo Ma 的传记”)采样模型生成的 pair 对。
- 使用两种方法对其进行真实性标注,无需人工干预:
- Reference-based 基于参考的:检查外部知识库是否支持模型的陈述,类似于上述关于基于检索的幻觉评估部分。
- 提取原子陈述的列表;
- 查找 Wikipedia 参考文献;
- 使用一个小型的 NLI 微调模型检查参考文本是否支持原子陈述
- Reference-free 无参考:使用模型自身作为检测其真实性。
- 将每个陈述转换为相应的问题 / 需要小心重述以确保问题不歧义;使用少量提示;
- 从模型中多次采样以回答该问题;
- 计算聚合得分 / 使用字符串匹配或让 GPT 判断两个答案是否在语义上等价。
- Reference-based 基于参考的:检查外部知识库是否支持模型的陈述,类似于上述关于基于检索的幻觉评估部分。
- 通过从模型生成多个样本来构建训练数据集,并根据真实性评分分配偏好。然后,我们在这个数据集上使用DPO(决策优化策略)对模型进行微调。
Fine-tuning for Attribution
在生成基于搜索结果的条件时,对模型输出进行归因分配是减少幻觉的一种有效方法。有一类研究致力于训练大语言模型(LLMs),使其更好地利用检索到的内容并分配高质量的归因。
WebGPT
[WebGPT: Browser-assisted question-answering with human feedback](WebGPT: Browser-assisted question-answering with human feedback)
将Web搜索与经过微调的GPT模型结合起来进行文档检索,旨在回答长篇问题以减少幻觉并提高事实准确性。
该模型在基于文本的Web浏览器中与互联网搜索交互,并学习引用网页进行回答。在浏览过程中,模型可以执行的操作之一是引用当前页面中的摘录。执行此操作时,页面标题、域名和摘录会被记录下来,稍后用作参考。
WebGPT的核心是通过使用引用来帮助人类判断事实正确性。
该模型首先在人工示范使用网页浏览环境回答问题的基础上进行监督微调,以进行行为克隆。收集了两种模型生成回答的对比数据,这两种回答是针对相同问题生成的(每个回答都有自己的一组引用),然后,评估这些回答的事实准确性、一致性和总体有用性。
使用奖励模型进行强化学习训练,并进行最优N次拒绝抽样(best-of-n rejection sampling)。与此相比,强化学习仅带来了小幅度的提升,且当使用拒绝抽样时,这一提升更小。
GopherCite
Teaching language models to support answers with verified quotes
与WebGPT非常相似,都使用搜索引擎来创建支持材料,并教导模型提供引用。两者都以监督微调作为引导,并都使用基于人类偏好的强化学习训练。
与WebGPT依赖于人类示范进行行为克隆不同,GopherCite通过 few-shot prompting 生成示范,每次生成都使用相关文档进行上下文填充,并通过奖励模型评分,选择最好的生成结果。
另一种避免低质量回答的技巧是配置模型在回答时使用固定的回答“我不知道”,该回答的决定由一个全局奖励模型(RM)阈值控制,这种方法被称为选择性预测(selective prediction)。
在RL上的经验结果与WebGPT类似,在结合 rejection sampling 时,RL仅带来有限的改善或没有改善。